SEO Lynx
lynxcms/seo écrit les balises title, description, canonique, robots, Open Graph, X (Twitter) et hreflang, et sert /robots.txt.
Rendu
<head>
<meta charset="utf-8">
<x-lynx-seo :page="$page" />
</head>
Il remplace <title> et @hreflang. Pour une liste filtrée, surchargez par réponse : <x-lynx-seo :page="$page" robots="noindex, follow" :canonical="$page->url" /> (clés title, description, canonical, robots ; le même tableau fonctionne pour @seo($page, [...]) et lynx()->seo($page, [...])). @seo($page) est équivalent ; lynx()->seo($page) retourne un objet SeoData pour un en-tête personnalisé.
Champs
Activez le SEO par modèle de page ; les pages obtiennent alors seo_title, seo_description, seo_image, seo_noindex et seo_canonical :
lynx()->run(\LynxCms\Seo\Actions\EnableSeo::class, ['template' => 'article']);
Les champs vides utilisent comme valeur de repli le titre de la page selon le modèle de titre du site, le premier champ de lynx-seo.description_fields contenant du texte, la première image de lynx-seo.image_fields, puis les valeurs par défaut de la page de paramètres (lynx()->settings('seo-settings')).
Hors production, chaque page indique noindex et robots.txt interdit tout (lynx-seo.block_non_production).
Données structurées
Chaque page reçoit un graphe JSON-LD (WebSite, Organization, WebPage, BreadcrumbList). Associez un modèle à un type schema.org sur la page des paramètres SEO (matrice seo_schemas, type d'élément mapping : seo_schema_template, seo_schema_type, seo_schema_map), ou sur l'onglet Données structurées de l'administration. Les lignes de cartographie lisent propriété: source, où une source est un champ, @title, @url, @published, @modified, une constante comme =EUR, ou @organization (le propriétaire du site, pour author, publisher, provider ou organizer) :
name: @title
startDate: starts
location: venue
offers.priceCurrency: =EUR
Ajoutez d'autres nœuds avec app(\LynxCms\Seo\JsonLd\JsonLd::class)->extend(fn ($page, $graph) => $graph->add([...])).
Vérification
L'outil de lecture seo_inspect donne les balises finales d'une page dans une langue. La gestion du SEO nécessite la permission seo.manage.