Aller au contenu

Module v1.6.1

Configurer SEO

Aide votre site à apparaître dans Google et à être compris par les moteurs de recherche.

seo Ce que ce module apporte →

Ce qu'il fait

Référencement : meta tags par page/article/projet/produit (hub multi-type via le filtre seo.items), audit qualité (score 0-100), génération images Open Graph, Schema.org JSON-LD, plan du site, redirections des anciennes adresses, notification des moteurs (IndexNow), relevé de la Search Console et versions par langue (hreflang).

  • Aperçu Google en direct pendant l'écriture
  • Score et conseils page par page
  • Redirections des anciennes adresses
  • Données structurées (Schema.org)
  • Search Console reliée : vos positions et les mots tapés pour vous trouver, relevés chaque jour
  • Plan du site tenu à jour, et moteurs prévenus des adresses modifiées (IndexNow)
  • Journal des adresses introuvables (404) à côté des redirections
  • Versions par langue déclarées aux moteurs (hreflang)
  • Titres et descriptions pré-remplis à partir du contenu : on corrige, on ne part pas d'une page blanche (jamais de description générique)
  • « À corriger d'abord » : cinq lignes au plus, classées par ce qu'elles coûtent, chacune menant à l'endroit où la réparer
  • Fondations vérifiées sur la page réellement servie : HTTPS, « noindex », balise de mesure d'audience, image de partage, plan du site, robots.txt

Où le trouver

Les écrans que ce module ajoute à l'administration, une fois activé.

  • Référencement /admin/seo
Référencement
Référencement

Ses réglages

Ils se modifient depuis l'administration. La clé est donnée pour qui pilote le site en ligne de commande ou par l'API.

Réglage Clé Type Par défaut
Densité cible (min,max %) seo.target_keywords_density string 0.5,3.0

Ses droits

Ce que chaque rôle peut faire par défaut. Modifiable rôle par rôle depuis l'administration.

Droit Clé Administrateur Éditeur
Voir le SEO seo.read ✓ ✓
Modifier les méta seo.write ✓ ✓
Régénérer images OG seo.regenerate ✓ —

Ce qu'il suppose

Le désactiver arrêterait aussi :

Piloter par une IA

Ce que ce module sait faire quand on le lui demande en langage naturel, et ce que chaque action engage.

  • a_corriger lecture seule

    Ce qu'il faut corriger EN PREMIER sur le référencement, dans l'ordre de l'écran : ce qui rend le site invisible, les contenus hors suivi, les pages qui se battent sur le même mot-clé, les adresses mortes, les titres vides. Chaque chantier dit pourquoi et où le corriger.

    « qu'est-ce que je corrige en premier sur mon SEO ? »

  • pages lecture seule

    Les fiches de référencement suivies : titre et description pour Google, mot-clé cible, score d'audit (0 à 100), page cachée ou non. Filtre par type (page, article, project, product) ; faibles_d_abord trie par score croissant.

    « quelles pages ont le moins bon score SEO ? »

  • modifier écrit, annulable

    Modifie le titre pour Google (meta_title), la description (meta_description) ou le mot-clé cible (focus_keyword) d'une fiche. Journalisé, donc annulable ; la page est ré-auditée et signalée aux moteurs. Ne cache ni ne montre jamais une page à Google.

    « réécris la description Google de la page d'accueil » « donne un meilleur titre à l'article sur les bougies »

Ses points de branchement

Pour greffer du code sans toucher au module : ce qu'il annonce, et ce qu'il écoute.

Ce qu'il annonce 10
seo.head.mesure
Event — dans le <head>, juste après Google Analytics (views/head.php, 2026-10-11). Args: [string $slug, ?string $type]. Le module qui écrit une balise de mesure vérifie LUI-MÊME, côté serveur, le consentement de sa catégorie avant d'écrire quoi que ce soit (les pixels : « marketing »). Rendu HTML direct (écho).
seo.branchements
Filter — les lignes du panneau « Est-ce que tout est branché ? » (Branchements::tous, 2026-10-11). Args: [array $lignes, string $base]. Un module y ajoute la sonde de ce qu'il branche, même forme de ligne : cle, titre, etat (ok|warn|fail), constat, action, url, plus `fondation` (true : listée dans les fondations de la vue d'ensemble) et `bloquant` (false : un rouge n'est pas un chantier qui rend le site invisible). Vérifié sur la page, jamais déclaré.
seo.image_du_contenu
Filter — l'image de partage d'un contenu dont la fiche SEO n'en a pas choisi (2026-10-10). Args: [string $image, string $contentType, string $sourceRef, string $slug] (la référence peut être vide : un contenu sans fiche SEO encore se retrouve par son slug). Le module qui possède le contenu rend son image (chemin médiathèque) si le type est le sien, sinon rend $image tel quel. La boutique : la photo principale ; les articles : la couverture ; les projets : l'image.
seo.audited
Émis après audit SEO d'une page. Args: [string $slug, int $score, array $details]
seo.redirect_created
Émis après création d'une redirection 301/302. Args: [int $id, string $source, string $target]
seo.redirect_deleted
Émis après suppression d'une redirection. Args: [int $id, string $source]
seo.og
Filter — les balises Open Graph propres au contenu (2026-10-16). Args: [array $balises, string $slug, ?string $type], propriété => valeur. Un og:type remplace « website », les autres (og:audio, music:duration…) s'ajoutent ; seules les propriétés og:/music:/video:/article: passent. Démo : modules/musique.
seo.jsonld
Filter — ajoute des blocs JSON-LD schema.org au <head> public (modules/seo/views/head.php). Args: [array $blocks, string $slug]. Chaque bloc = tableau schema.org complet (@context/@type). Démo : modules/faq ajoute un bloc FAQPage.
seo.sitemap_urls
Filter — ajoute des URLs à sitemap.php. Args: [array $urls]. Chaque entrée : ['loc'=>string, 'lastmod'=>?string Y-m-d, 'changefreq'=>?string, 'priority'=>?string].
seo.items
Filter — chaque module de contenu ajoute ses items PUBLIÉS au tableau. Item: ['type'=>page|article|project|product, 'ref'=>string (id/slug stable, jamais vide), 'slug'=>string (slug front courant), 'url'=>string (URL absolue ou path), 'title'=>string, 'meta_title'=>?string, 'meta_description'=>?string, 'og_image'=>?string, 'focus_keyword'=>?string, 'noindex'=>0|1]. Args: [array $items] → array. Un module inactif/sans listener ne contribue simplement rien (no-op).
Ce qu'il écoute 1
dashboard.blocs
priorité 20

Ses prises front

Les morceaux de page que ce module fournit, et les classes qu'ils posent. Un thème les habille par ces classes : il ne recopie pas le balisage, sinon il rate les corrections des versions suivantes.

views/head.php 0 classes

Aucune classe littérale : cette prise construit son balisage en PHP.

Ses données

Les tables que ce module crée. Désactiver un module ne les efface pas : ses données restent en base et reviennent s'il est réactivé.

Les tables 5
  • page_seo
  • seo_404_log
  • seo_indexnow_queue
  • seo_redirects
  • seo_score_history