vendor/sulu/sulu/src/Sulu/Bundle/WebsiteBundle/Resources/views/Extension/seo.html.twig line 1
{#-
# content array
# seo array
# shadowBaseLocale string
# localizations array
-#}
{% if localizations is not defined %}
{% deprecated 'The "urls" variable is deprecated, set "localizations" instead in the "seo.html.twig".' %}
{% set localizations = {} %}
{% for locale, url in urls %}
{% set localizations = localizations|merge({
(locale): {
locale: locale,
url: sulu_content_path(url, null, locale),
}
}) %}
{% endfor %}
{% endif %}
{#- merge seo data with _seo from attributes for custom urls -#}
{% set seo = seo|default([])|merge(app.request.attributes.get('_seo', [])|default([])) %}
{#- fallback to content title when no seo title is set -#}
{% set seoTitle = seo.title|default(content.title|default()) %}
{% set seoDescription = seo.description|default() %}
{% set seoKeywords = seo.keywords|default() %}
{% set seoRobots = '' %}
{%- if seo.noIndex|default(false) -%}
{% set seoRobots = seoRobots ~ 'noIndex' -%}
{%- else -%}
{% set seoRobots = seoRobots ~ 'index' -%}
{%- endif -%}
{%- if seo.noFollow|default(false) -%}
{% set seoRobots = seoRobots ~ ',noFollow' -%}
{%- else -%}
{% set seoRobots = seoRobots ~ ',follow' -%}
{%- endif -%}
{% set seoCanonical = seo.canonicalUrl|default() %}
{%- if not seoCanonical and shadowBaseLocale and localizations[shadowBaseLocale]|default() %}
{% set seoCanonical = localizations[shadowBaseLocale].url %}
{%- endif -%}
{#- render blocks -#}
{%- block title -%}
{%- if seoTitle -%}
<title>{{ seoTitle }}</title>
{%- endif -%}
{%- endblock -%}
{%- block description -%}
{%- if seoDescription -%}
<meta name="description" content="{{ seoDescription }}">
{%- endif -%}
{%- endblock -%}
{%- block keywords -%}
{%- if seoKeywords -%}
<meta name="keywords" content="{{ seoKeywords }}">
{%- endif -%}
{%- endblock -%}
{%- block robots -%}
{%- if seoRobots -%}
<meta name="robots" content="{{ seoRobots }}">
{%- endif -%}
{%- endblock -%}
{%- block urls -%}
{#- when only one language do not show alternative -#}
{%- if localizations|length > 1 -%}
{%- for localization in localizations -%}
{%- if localization.alternate is not defined or localization.alternate -%}
<link rel="alternate" href="{{ localization.url }}" hreflang="{{ localization.locale|replace({'_': '-'}) }}">
{%- endif -%}
{%- endfor -%}
{%- endif -%}
{%- endblock -%}
{%- block canonical -%}
{#- Set canonical to itself if a bot clone the page -#}
<link rel="canonical" href="{{ seoCanonical|default(app.request.uri) }}">
{%- endblock -%}