SEO pour Développeurs React | Fondamentaux Techniques | Incrona
Revenir en arrière
Image d'aperçu de l'article

SEO pour les Développeurs React

Voici un guide pratique des essentiels du SEO que tout développeur web React se doit de maîtriser.

De nombreux développeurs, même expérimentés, ignorent tout de l’optimisation pour les moteurs de recherche (SEO). J’ai moi-même été dans ce cas pendant longtemps. Le SEO est souvent invisible, ce qui le rend facile à négliger, même si cela peut être une erreur coûteuse.

Google est bien souvent la source de trafic la plus cruciale pour une entreprise. En tant que développeur Reactvotre rôle est de prendre en charge l’aspect technique du SEO.

Chaque développeur web qui se respecte devrait connaître au moins les bases du SEO.

Au fil des ans et de la création d’applications web, j’ai acquis une certaine expertise sur la manière de les faire bien se classer sur Google, et je suis là pour partager ces connaissances avec vous.

La Checklist Technique SEO en 12 Étapes Essentielles Avant le Lancement

1) Ajouter un Titre et une Description Pertinents

Le titre et la description sont les premières choses qu’un utilisateur verra dans les résultats de recherche.

Ajouter un titre et une description à une page

Personne ne cliquera sur votre lien s’il affiche simplement « React App ». Si le taux de clics (CTR) est faible, votre classement Google chutera. Il est donc inutile de préciser que le titre et la description sont d’une importance capitale pour le SEO.

Heureusement, leur ajout est simple :

  • Dans votre fichier HTML (généralement index.html), à l’intérieur de la balise <head>, ajoutez la balise <title>avec le nom de votre page.
  • De même, à l’intérieur de <head>, ajoutez la balise <meta name="description" content="...">, où content est la description de votre page.

Voici à quoi cela ressemble en code :

<html>
  <head>
    <meta
      name="description"
      content="Conseils et guides quotidiens en développement web JavaScript..."
    />
    <title>Code Frontend - Devenez un Meilleur Développeur Web</title>
  </head>
  <body>
    ...
  </body>
</html>

L’exemple ci-dessus définit un titre global pour toutes les pages de votre application React. Si vous souhaitez les personnaliser pour chaque page, je vous suggère d’utiliser la librairie react-helmet (ou une alternative moderne comme react-helmet-async).

Quelques bonnes pratiques :

  • Rendez le titre descriptif, mais ne dépassez pas 75 caractères pour éviter qu’il ne soit tronqué. Visez environ 60 caractères par sécurité.
  • La longueur de la description ne doit pas excéder 160 caractères.
  • Gardez à l’esprit que Google décidera en dernier ressort de ce qu’il affiche dans les résultats. Ne soyez donc pas surpris si le rendu diffère de ce que vous avez spécifié. Google considère ces éléments comme une recommandation.

2) Intégrer les Méta-Balises Open Graph (OG)

Bien que les balises Open Graph (OG) n’affectent pas directement votre classement de recherche, elles modifient l’apparence de vos liens sur les réseaux sociaux. Cela peut impacter votre trafic et, par conséquent, votre classement Google.

Balises méta Open Graph

Facebook, Twitter, LinkedIn et d’autres plateformes ajoutent automatiquement un titre, une image et une description lorsque vous partagez des liens vers votre site.

Les méta-balises OG vous permettent de contrôler ces informations.

Voici comment les ajouter :

<html>
<head>
<meta property= »og:title » content= »Code Frontend – Devenez un Meilleur Développeur Web »>
<meta property= »og:image » content= »https://codefrontend.com/content/images/image-social.png »>
<meta property= »og:type » content= »website »>
<meta property= »og:url » content= »https://codefrontend.com/ »>
</head>

</html>

À l’intérieur de la balise <head> de votre page, ajoutez des balises <meta> avec les attributs property="og:<propriété>"et content="valeur". Les propriétés nécessaires, telles que spécifiées sur https://ogp.me, sont :

  • og:title – Le titre de la page.
  • og:type – Généralement website.
  • og:image – L’URL de l’image de prévisualisation pour vos liens.
  • og:url – L’URL canonique. C’est généralement le lien vers votre page, sauf s’il s’agit d’une copie d’une autre page, auquel cas vous pointez vers l’original.

3) Utiliser le Balisage de Données Structurées

Les sites de recettes, d’avis ou de e-commerce devraient impérativement utiliser le balisage de données structurées (Schema Markup). Cela enrichit les résultats de recherche en ajoutant des prix, des évaluations et d’autres métadonnées.

Vous n’avez pas besoin de l’écrire manuellement. Vous pouvez le générer via la Google’s Structured Data Markup Helper ou le générer dynamiquement avec react-helmet.

L’élément crucial est d’encapsuler le schéma dans une balise <script type="application/ld+json">. Voici un exemple en React :

Exemple de balisage de données structurées

Pour plus de détails, je vous invite à consulter la documentation de Google : Structured Data Documentation.

4) Ajouter un Fichier Sitemap et un Fichier Robots.txt

Ces fichiers aident Google à explorer votre site plus facilement.

Le Sitemap indique à Google comment prioriser vos liens, tandis que le Robots.txt vous permet d’empêcher Google de visiter et d’indexer des ressources secondaires.

Attention : Le Sitemap et le fichier Robots.txt doivent être placés à la racine de votre domaine.

Voici à quoi ressemble le fichier Robots.txt pour ce blog :

User-agent: *
Sitemap: https://codefrontend.com/sitemap.xml
Disallow: /ghost/
Disallow: /p/
Disallow: /email/
Disallow: /r/

Je ne souhaite pas que Google fouille dans le panneau d’administration de mon blog, ce que les règles Disallow du Robots.txt empêchent. Les options disponibles sont documentées par Google.

Sitemap

La version la plus simple d’un Sitemap est un simple fichier texte listant les URL accessibles :

https://www.example.com/page1.html
https://www.example.com/page2.html

Cependant, la version XML est la plus courante, car elle permet d’ajouter des métadonnées, comme la date de dernière mise à jour (lastmod), ce qui est utile pour les blogs.

Vous pouvez créer votre Sitemap manuellement ou le générer via un outil comme XML-Sitemaps.com. Pour un Sitemap véritablement dynamique, vous pourriez avoir besoin d’une endpoint de serveur dédiée ou d’une génération au moment du build.

Apprenez-en davantage sur les Sitemaps avec la documentation de Google : Build a Sitemap.

5) Garantir une Excellente Performance

Google favorise les sites web avec une bonne vitesse de chargement et une excellente expérience utilisateur.

Effectuez un audit sur https://web.dev/measure/ qui vous indiquera les points à améliorer. Le temps de chargement des pages est le facteur le plus important à considérer.

Voici quelques optimisations de performance que vous pouvez appliquer en tant que développeur React :

  • Le Code Splitting peut réduire considérablement le temps de chargement initial de la page.
  • Optimisez les images au build et chargez-les en mode lazy loading à l’exécution.
  • Utilisez les attributs defer et async pour les scripts non critiques.
  • Pré-rendez votre code React côté serveur.
  • Google semble apprécier AMP.

Beaucoup de ces optimisations sont prises en charge out of the box si vous utilisez un framework React comme NextJS.

6) Utiliser le Rendu Côté Serveur (SSR)

Les Applications à Page Unique (SPA) sont notoirement peu efficaces pour le SEO, car elles envoient initialement une page HTML vide, qui est ensuite générée dans le navigateur par JavaScript.

Rendu côté serveur SSR
<html lang="en">
  <head>
    <title>React App</title>
    <script type="module" crossorigin src="/assets/index.js"></script>
    <link rel="stylesheet" href="/assets/index.css">
  </head>
  <body>
    <noscript>You need to enable JavaScript to run this app.</noscript>
    <div id="root"></div>
  </body>
</html>

Google doit attendre l’exécution des scripts avant de pouvoir analyser le contenu. Inutile de dire que ce n’est pas idéal.

Pour de nombreuses applications, ce n’est pas un problème majeur. Cependant, pour les sites web riches en contenu, vous devez pré-rendre votre code React côté serveur, puis l’hydrater sur le client. Ceci est complexe à mettre en œuvre soi-même. Des frameworks comme NextJS, Remix ou Astro peuvent grandement vous faciliter la tâche.

7) Assurer l’Utilisation de Formats de Fichiers Appropriés

Les images volumineuses sont souvent la principale cause du ralentissement d’un site.

Les images PNG sont très lourdes, souvent plus de 10 fois la taille des formats optimisés pour le web comme JPEG ou WEBP, sans différence de qualité notable. Les images SVG contiennent souvent des métadonnées qui peuvent être supprimées sans danger pour en réduire considérablement la taille.

Convertir un fichier PNG en JPG

Vous pouvez compresser les images manuellement sur des sites comme convertio.co/png-jpg/ ou configurer votre bundlerpour le faire automatiquement. NextJS propose même son propre composant <Image> que vous devriez utiliser.

Utilisation des SVG

La manière dont les images sont utilisées est également importante.

Par exemple, vous pouvez intégrer un SVG directement dans votre JSX, mais cela peut nuire considérablement au temps de chargement et à la performance, car le SVG sera lié à votre code JavaScript et ne pourra pas être chargé de manière asynchrone.

Vous devriez toujours privilégier la balise <img> pour les images.

Images Adaptatives (Responsive)

Une excellente façon de s’assurer que les images ne ralentissent pas votre site est d’utiliser différentes tailles d’image pour différentes tailles d’écran. Par exemple, une image très détaillée n’est pas nécessaire sur un écran mobile.

Normalement, l’attribut src de la balise <img> ne permet qu’une seule source. Vous pouvez toutefois fournir les attributs srcset et sizes pour changer la source en fonction de la taille de l’écran.

<img
  srcset="image-480w.jpg 480w, image-800w.jpg 800w"
  sizes="(max-width: 600px) 480px, 800px"
  src="image-800w.jpg"
/>

(Exemple de code pour des images adaptatives.)

8) Minifier Votre Code

La minification réduit considérablement la taille de votre code en supprimant les espaces blancs et en remplaçant les noms de variables par des options plus courtes. Si vous utilisez des outils de build modernes comme Vite, Parcel ou un framework tel que NextJS, cela est géré automatiquement.

Conseil : Assurez-vous toujours de builder votre code pour la production.

Si vous maintenez vos propres configurations Webpack ou utilisez des fichiers JavaScript source simples, assurez-vous de minifier votre code.

9) Assurer une Bonne Accessibilité

En rendant votre site web accessible aux mobiles et aux lecteurs d’écran, vous facilitez naturellement le travail de Google pour explorer et comprendre votre contenu.

L’accessibilité est souvent invisible. Elle comprend des éléments tels que :

  • L’attribut alt sur les balises <img>.
  • L’attribut aria-label pour les boutons qui ne contiennent que des images.
  • Le role pour les éléments interactifs autres que les boutons.
  • L’utilisation de balises de lien <a> au lieu d’appels à history.push() pour la navigation.

Vous trouverez plus d’informations sur l’accessibilité dans la documentation React.

10) Garantir une Structure de Contenu Cohérente

L’utilisation de balises sémantiques et d’une hiérarchie de contenu bien définie permettra à Google de mieux comprendre la signification de votre contenu. Il pourra alors l’afficher sous forme de listes ou de FAQ enrichies, ce qui améliorera encore le classement de votre page.

Structure d_en-tête HTML correcte

Erreur fréquente : Une erreur courante chez les débutants est d’abuser des balises <div> et de ne pas utiliser suffisamment de balises sémantiques comme <header><article><nav><p>, etc.

Quelques conseils :

  • Utilisez les balises HTML les plus appropriées pour votre contenu.
  • Utilisez les balises de titre dans un ordre hiérarchique : <h1> doit être suivi de <h2>, et non de <h3>.

11) Adopter une Bonne Structure d’URL

Google apprécie les URL courtes, claires, descriptives et pertinentes par rapport à votre contenu.

Structure des URLs correcte

Assurez-vous que vos pages sont liées entre elles de manière logique et hiérarchique. Si cela a du sens pour les humains, Google l’appréciera aussi.

Vérifiez que :

  • Vos URL ne sont pas excessivement longues.
  • Tous les doublons de pages ont des liens canoniques (Canonical Links).
  • Chaque page est accessible à partir de l’URL racine.
  • Vos URL suivent une hiérarchie en arborescence.
  • Les URL incluent les mots-clés principaux basés sur le contenu.

Ne sous-estimez pas l’importance d’une bonne structure d’URL. Cela peut faire la différence entre obtenir la première position sur Google ou ne même pas apparaître en première page des résultats de recherche.

12) Utiliser le Protocole HTTPS

Je suis toujours étonné de voir que certains sites web n’utilisent toujours pas le protocole HTTPS en 2023. Il n’y a aucune raison de s’en passer : c’est simple et gratuit.

Tout site web, surtout celui qui nécessite des identifiants de connexion, doit passer en HTTPS.

Les applications que nous développons avec React impliquent généralement la collecte de données de nos utilisateurs, donc l’utilisation de HTTPS est indispensable. De plus, Google dépriorisera votre site s’il n’est pas sécurisé.

J’utilise Cloudflare pour obtenir un certificat, gérer les enregistrements DNS et le cache — tout cela est bénéfique pour un bon SEO. Je vous recommande de faire de même.

Conclusion

En tant que développeurs web, nous devons maîtriser bien plus que le simple codage, et le SEO technique en fait partie.

Heureusement, il s’agit principalement d’un ensemble d’optimisations qui augmentent considérablement les performances de votre site, se traduisant par une meilleure expérience utilisateur et un meilleur classement Google.

Consultez cette checklist en 12 étapes avant de lancer tout nouveau site web : vous aurez couvert la majorité des problèmes techniques courants.

On vous rappelle en 1 minute
Veuillez entrer un numéro de téléphone valide.
Format requis : 06 XX XX XX XX (10 caractères maximum).