diff --git a/springfield/base/templates/includes/canonical-url.html b/springfield/base/templates/includes/canonical-url.html index b190eefd4..0c3eb4a0e 100644 --- a/springfield/base/templates/includes/canonical-url.html +++ b/springfield/base/templates/includes/canonical-url.html @@ -12,7 +12,7 @@ {% if CANONICAL_LANG != LANG or do_not_index or (page is defined and page.noindex) %} {% endif %} - {% if is_homepage %}{% endif %} + {% if available_languages -%} {%- for code, label in available_languages|dictsort -%} {#- Skip alias locales that don't have their own content -#} @@ -26,7 +26,6 @@ {%- set loop_canonical_path = canonical_path -%} {%- endif -%} {%- if code == 'en-US' -%} - {% elif code == 'es-ES' -%} diff --git a/springfield/cms/templates/cms/base-flare26.html b/springfield/cms/templates/cms/base-flare26.html index 5644c76f4..542105952 100644 --- a/springfield/cms/templates/cms/base-flare26.html +++ b/springfield/cms/templates/cms/base-flare26.html @@ -7,7 +7,7 @@ + + diff --git a/springfield/cms/tests/test_locale_fallback_rendering.py b/springfield/cms/tests/test_locale_fallback_rendering.py index 58212d4bc..1a88c712d 100644 --- a/springfield/cms/tests/test_locale_fallback_rendering.py +++ b/springfield/cms/tests/test_locale_fallback_rendering.py @@ -478,8 +478,8 @@ def test_non_cms_page_hreflang_alternates(client): # Canonical should be self-referencing (en-US). assert f'rel="canonical" href="{settings.CANONICAL_URL}/en-US{page_path}"' in html assert '' not in html - # en-US should emit both hreflang="en" and hreflang="en-US". - assert f'hreflang="en" href="{settings.CANONICAL_URL}/en-US{page_path}"' in html + # en-US should emit hreflang="en-US" only (duplicate bare hreflang="en" was removed for SEO clarity). + assert f'hreflang="en" href="{settings.CANONICAL_URL}/en-US{page_path}"' not in html assert f'hreflang="en-US" href="{settings.CANONICAL_URL}/en-US{page_path}"' in html # Locales in active_locales should appear. assert f'hreflang="fr" href="{settings.CANONICAL_URL}/fr{page_path}"' in html