La plupart des fondateurs SaaS pensent au SEO trop tard. Ils construisent le produit, le lancent, obtiennent quelques utilisateurs via des démarches directes, puis réalisent des mois plus tard que leur site n'a aucun trafic organique et une fondation SEO technique pleine de problèmes.
Mettre en place la bonne fondation SEO technique dès le premier jour ne coûte rien de plus si vous partez de zéro. La corriger ensuite coûte des semaines et implique souvent des modifications qui cassent des choses.
Les Core Web Vitals que Google mesure vraiment
L'algorithme de classement de Google utilise les Core Web Vitals comme signaux de classement directs. Les trois qui comptent :
Largest Contentful Paint (LCP) : À quelle vitesse le plus grand élément de contenu visible se charge. Objectif : moins de 2,5 secondes. Solution : React Server Components (contenu dans le HTML initial, pas d'attente d'hydratation JS), priority={true} sur les images hero, images optimisées via next/image.
Cumulative Layout Shift (CLS) : Combien la page se décale visuellement pendant le chargement. Objectif : moins de 0,1. Solution : toujours spécifier width et height sur chaque image, réserver l'espace pour le contenu chargé dynamiquement.
First Input Delay / Interaction to Next Paint (INP) : À quelle vitesse la page répond aux interactions utilisateur. Objectif : moins de 100ms. Solution : minimiser le JavaScript côté client, utiliser des Server Components partout où c'est possible.
generateMetadata : SEO par page dans Next.js 14
La fonction generateMetadata du Next.js 14 App Router vous donne un contrôle total sur les métadonnées SEO de chaque page. Pour les pages statiques, exportez un objet metadata. Pour les pages dynamiques (pages produits, articles de blog), utilisez la fonction async generateMetadata pour récupérer des données et générer des métadonnées basées sur le contenu réel.
Chaque page publique a besoin de : un titre unique (50 à 60 caractères), une meta description unique (150 à 160 caractères), titre et description Open Graph, image Open Graph (1200x630px), métadonnées Twitter card, et une URL canonique.
Manquer l'un de ces éléments sur une page, c'est laisser du potentiel de classement sur la table.
Données structurées JSON-LD : l'avantage sous-utilisé
Les données structurées JSON-LD disent exactement à Google ce qu'est votre contenu, permettant des rich results dans les résultats de recherche : notes en étoiles sur les pages produits, accordéons FAQ, fils d'Ariane, boîtes de recherche sitelinks.
Les types de données structurées qui comptent pour un SaaS ou une boutique de produits numériques :
- •WebSite + SearchAction sur la page d'accueil (active la boîte de recherche sitelinks)
- •Organization sur la page d'accueil (active le knowledge panel)
- •Product + Offer + AggregateRating sur les pages produits (active les notes en étoiles dans les résultats de recherche)
- •BreadcrumbList sur toutes les pages internes
- •BlogPosting sur les articles de blog
- •FAQPage sur toute page avec une section FAQ
Implémenter cela correctement nécessite un rendu côté serveur — les données structurées doivent être dans le HTML initial, pas injectées par JavaScript après le chargement.
Sitemap dynamique et robots.txt
Un sitemap dynamique qui extrait toutes les pages publiques de votre base de données (produits, articles de blog, pages légales) et se met à jour automatiquement quand vous ajoutez du contenu est significativement mieux qu'un sitemap statique qui devient obsolète.
Votre robots.txt doit bloquer les routes admin, les routes dashboard et les routes API en production. Exposer celles-ci à Google gaspille le budget de crawl et peut exposer des informations sensibles.
Hreflang pour le SaaS multilingue
Si votre SaaS cible plusieurs langues, les balises hreflang dans le sitemap indiquent à Google quelle page afficher pour quelle langue. Une implémentation hreflang correcte prévient les pénalités de contenu dupliqué quand vous avez des versions EN et FR de la même page.
AliyaSaas : SEO intégré dès le premier jour
AliyaSaas implémente tout cela correctement. generateMetadata sur chaque route publique. Données structurées JSON-LD pour la page d'accueil, les pages produits, les articles de blog et les pages FAQ. Sitemap dynamique avec hreflang pour EN/FR. Robots.txt bloquant les routes admin et API. next/image partout avec width et height appropriés. React Server Components pour un minimum de JavaScript client.
La fondation SEO est faite. Vous vous concentrez sur le contenu.