Live · status OK
Retour au blog
SEO & AEO13 min

SEO technique d'un site statique Next.js : checklist complète 2026

TL;DR

Un site Next.js static export atteint un SEO score 100/100 en cochant 8 points : metadataBase, generateMetadata par page, sitemap.ts + robots.ts, hreflang multi-langue, JSON-LD @graph unifié, BreadcrumbList, FAQPage/HowTo schemas, et llms.txt pour les LLMs.

Julien Daniel
ParJulien Daniel
Founder & CTO, OptionWeb
Partager
Dashboard Google Search Console avec courbes de performance

Next.js App Router rend le SEO technique radicalement plus simple qu'en 2020. Avec la Metadata API, sitemap.ts et robots.ts natifs, plus besoin de plugins ou bidouilles. Mais atteindre 100/100 en Lighthouse SEO exige encore de connaître les 8 points ci-dessous. Checklist appliquée chez OptionWeb sur tous nos projets.

1. Metadata API de Next.js

La fondation. Depuis Next.js 13, la Metadata API native couvre 100% des besoins SEO on-page. Deux objets : metadata (statique) et generateMetadata (dynamique).

app/layout.tsxtsx
export const metadata: Metadata = {
  metadataBase: new URL('https://optionweb.dev'),
  applicationName: 'OptionWeb',
  generator: 'Next.js',
  referrer: 'origin-when-cross-origin',
  formatDetection: { telephone: true, address: true, email: true },
};

Dans chaque route, exporter un generateMetadata asynchrone qui produit des métadonnées contextualisées par URL et par langue.

2. sitemap.ts et robots.ts natifs

Fini le plugin next-sitemap. Next.js App Router expose une route spéciale pour émettre un sitemap dynamique.

app/sitemap.tsts
import type { MetadataRoute } from 'next';

export const dynamic = 'force-static';
export const revalidate = false;

export default function sitemap(): MetadataRoute.Sitemap {
  return SUPPORTED_LANGS.map(lang => ({
    url: `https://optionweb.dev/${lang}`,
    lastModified: new Date(),
    changeFrequency: 'weekly',
    priority: 1.0,
    alternates: { languages: buildLangMap('Home') },
  }));
}

3. Hreflang multi-langue

Pour un site multilingue, hreflang est critique. Chaque URL doit lister toutes ses versions linguistiques ET inversement (clusters réciproques). Sans ça, Google ignore les hreflang.

Vérifier avec le Hreflang Tags Testing Tool (Merkle) que chaque URL pointe bien vers toutes ses variantes et que chaque variante pointe en retour.

4. JSON-LD @graph unifié

L'approche moderne : un seul <script type="application/ld+json"> contenant un @graph qui rassemble Organization, LocalBusiness, WebSite, WebPage, Person, Article, liés par @id. Plus simple à maintenir qu'une dizaine de scripts séparés.

Le sameAs est critique : il lie ton entité au Knowledge Graph de Google. Inclure au minimum Wikidata (créer une Q-entity), LinkedIn, Crunchbase, et les réseaux sociaux officiels.

Émettre BreadcrumbList sur chaque page de contenu. Améliore le SERP (miettes de pain visibles) et le contexte d'extraction LLM.

6. FAQPage et HowTo pour l'AEO

Google a réduit le rich display de ces schemas en 2023, mais les LLMs les consomment massivement pour générer leurs réponses. Continuer à les implémenter — c'est du capital pour AEO/GEO.

Règle stricte : les Q/R doivent être visibles à l'écran. Sinon pénalité manuelle possible. Pour un HowTo, structurer chaque étape avec name, text, éventuellement image.

7. Speakable pour voice search

Schema en beta chez Google mais utilisé par Siri (depuis iOS 18.2 intégré ChatGPT) et Alexa. Marque les zones du site que les assistants vocaux doivent prononcer en priorité.

Ajouter l'attribut HTML data-speakable="true" sur les résumés TL;DR, les premières phrases de section, les réponses clés.

8. llms.txt pour les LLMs

Standard émergent (Jeremy Howard, septembre 2024) adopté par Anthropic, Mintlify, Stripe, Cloudflare, Vercel. Un fichier Markdown à la racine de public/ qui résume curé le site pour les LLMs.

Créer aussi un llms-full.txt plus étendu avec le contenu complet des pages clés pour les LLMs qui ne peuvent pas crawler.

Comment vérifier le résultat

  • Lighthouse SEO scoreviser 100/100 via Chrome DevTools ou PageSpeed Insights.
  • Google Rich Results Testvalide tous les schemas. URL : search.google.com/test/rich-results.
  • Schema.org Validatorvalidation complète des JSON-LD avec détection de warnings.
  • Hreflang Tags Testing Tool (Merkle)vérifie la réciprocité des clusters multi-langue.
  • Google Search Console'Couverture' pour indexation, 'Rich Results' pour schemas détectés, 'Core Web Vitals' pour métriques CrUX.
  • Bing Webmaster Toolsà ne pas négliger, c'est la source de retrieval pour ChatGPT Search via OAI-SearchBot.
Tags#seo#nextjs#json-ld#schema#aeo