{"id":6981,"date":"2019-12-08T16:35:26","date_gmt":"2019-12-08T15:35:26","guid":{"rendered":"https:\/\/www.creativejuiz.fr\/blog?p=6981"},"modified":"2019-12-11T22:48:20","modified_gmt":"2019-12-11T21:48:20","slug":"bases-seo-technique-developpeurs","status":"publish","type":"post","link":"https:\/\/www.creativejuiz.fr\/blog\/referencement-seo\/bases-seo-technique-developpeurs","title":{"rendered":"Les bases du SEO technique pour les d\u00e9veloppeurs"},"content":{"rendered":"<p>Le SEO c\u2019est quelque chose que la plupart des d\u00e9veloppeurs essaient de refiler \u00e0 l\u2019\u00e9quipe marketing. De toute fa\u00e7on, \u00e7a n\u2019a pas grand chose en commun avec les activit\u00e9s quotidiennes des devs n\u2019est-ce-pas? Donc pas besoin de prendre le temps de se familiariser avec tout \u00e7a. Sauf que, conna\u00eetre les bonnes pratiques en SEO peut avoir de nombreux avantages pour un d\u00e9veloppeur.<\/p>\n<p><!--more--><\/p>\n<ul>\n<li>\u00c7a peut vous aider \u00e0 donner de la visibilit\u00e9 \u00e0 des choses utiles. Rien de pire que de passer des heures \u00e0 chercher des infos pour r\u00e9soudre un probl\u00e8me technique\u2026.et de faire choux blanc. Alors, pour aider les autres vous publiez un article sur votre blog, et l\u00e0, il se retrouve enfoui au fin fond des pages de r\u00e9sultats. Et le cycle des embrouilles continue car d\u2019autres personnes n&rsquo;auront pas acc\u00e8s \u00e0 vos conseils pour se d\u00e9patouiller.<\/li>\n<li>Cela rend votre profil plus attrayant. Et oui, un <span lang=\"en\">full stack<\/span> se doit de conna\u00eetre le SEO. De plus en plus, on voit des offres d\u2019emplois sp\u00e9cifiant le besoin de s\u2019y conna\u00eetre en r\u00e9f\u00e9rencement naturel. C\u2019est la vie !<\/li>\n<li>Il y a pas mal de choses \u00e0 apprendre en termes de performance et de <span lang=\"en\">rendering<\/span> JavaScript.<\/li>\n<\/ul>\n<h2>Le SEO c\u2019est quoi\u00a0?<\/h2>\n<p>Le SEO c\u2019est l\u2019ensemble des techniques utilis\u00e9es pour s\u2019assurer qu\u2019un site ressortent bien dans les pages de r\u00e9sultats des moteurs de recherche. Le r\u00e9f\u00e9rencement naturel (SEO) est une pratique int\u00e9ressante car elle recoupe pas mal d\u2019aspects techniques de l\u2019accessibilit\u00e9 Web tout en prenant en compte les besoins des utilisateurs d\u2019un point de vue contenu. Le but ultime est de r\u00e9pondre aux besoins des gens avec les bonnes informations au bon moment.<\/p>\n<h2>Pourquoi est-ce que le SEO, c\u2019est important\u00a0?<\/h2>\n<p>En tant que programmeur ou d\u00e9veloppeur, c\u2019est normal de se demander \u00e0 quoi sert cette pratique qu\u2019on associe au marketing en ligne. C\u2019est assez simple, Google fait la pluie et le beau temps en ce moment. Il y a des dizaines de milliards de recherche faites sur Google par mois et cela ne fait qu\u2019augmenter. R\u00e9sultat des courses, m\u00eame le plus beau site au monde, avec un code impeccable ne sert \u00e0 presque rien s\u2019il n\u2019est pas index\u00e9 correctement.<\/p>\n<h2>Notions de base pour comprendre le SEO technique<\/h2>\n<p>Pour bien se classer dans Google ou tout autre moteur de recherche, il est important d&rsquo;avoir une compr\u00e9hension de base du fonctionnement des moteurs de recherche.<\/p>\n<h3>Comment est-ce que Google lit un site ?<\/h3>\n<p>Il y 3 phases: <span lang=\"en\">crawl<\/span>, indexation, pr\u00e9sentation des r\u00e9sultats. Les bots savent ex\u00e9cuter du JS mais des fois, ils prennent votre code pour de la prose\u2026<\/p>\n<figure id=\"attachment_6983\" aria-labelledby=\"figcaption_attachment_6983\" class=\"wp-caption aligncenter\" style=\"width: 1524px\"><img decoding=\"async\" class=\"size-full wp-image-6983\" src=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/problem-with-ionic-in-seo@2x.jpg\" alt=\"\" width=\"1514\" height=\"334\" srcset=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/problem-with-ionic-in-seo@2x.jpg 1514w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/problem-with-ionic-in-seo@2x-300x66.jpg 300w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/problem-with-ionic-in-seo@2x-600x132.jpg 600w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/problem-with-ionic-in-seo@2x-768x169.jpg 768w\" sizes=\"(max-width: 1514px) 100vw, 1514px\" \/><figcaption id=\"figcaption_attachment_6983\" class=\"wp-caption-text\">Exemple de code Ionic lu comme du contenu textuel.<\/figcaption><\/figure>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_6985\" aria-labelledby=\"figcaption_attachment_6985\" class=\"wp-caption aligncenter\" style=\"width: 1610px\"><img decoding=\"async\" class=\"size-full wp-image-6985\" src=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/publish-discover-crawl-index-rank@2x.jpg\" alt=\"\" width=\"1600\" height=\"826\" srcset=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/publish-discover-crawl-index-rank@2x.jpg 1600w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/publish-discover-crawl-index-rank@2x-300x155.jpg 300w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/publish-discover-crawl-index-rank@2x-600x310.jpg 600w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/publish-discover-crawl-index-rank@2x-768x396.jpg 768w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/publish-discover-crawl-index-rank@2x-1536x793.jpg 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><figcaption id=\"figcaption_attachment_6985\" class=\"wp-caption-text\">Phases du processus de Google : Publier, D\u00e9couvrir, Parcourir, Indexer et Classer.<\/figcaption><\/figure>\n<p>Ce qui nous int\u00e9resse plus particuli\u00e8rement dans cette illustration du processus de Google, c\u2019est les phases de d\u00e9couverte, de <span lang=\"en\">crawl<\/span> et d\u2019indexation. Durant la d\u00e9couverte, le bot se balade \u00e0 travers le Web \u00e0 la recherche de contenus pertinents. Puis, le bot explore les pages sur le Web selon un processus algorithmique. Suite \u00e0 cela, chaque page est index\u00e9e selon son contenu (texte, image et code).<\/p>\n<p>Le web moderne est plus compliqu\u00e9 qu\u2019on ne le pense. Parfois, les bots ont du mal \u00e0 comprendre ce qui leur est pr\u00e9sent\u00e9 :<\/p>\n<figure id=\"attachment_6987\" aria-labelledby=\"figcaption_attachment_6987\" class=\"wp-caption aligncenter\" style=\"width: 1610px\"><img decoding=\"async\" class=\"wp-image-6987 size-full\" src=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/body-app-root-seo@2x.jpg\" alt=\"\" width=\"1600\" height=\"748\" srcset=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/body-app-root-seo@2x.jpg 1600w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/body-app-root-seo@2x-300x140.jpg 300w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/body-app-root-seo@2x-600x281.jpg 600w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/body-app-root-seo@2x-768x359.jpg 768w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/body-app-root-seo@2x-1536x718.jpg 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><figcaption id=\"figcaption_attachment_6987\" class=\"wp-caption-text\">Un extrait de code incluant la balise <code>&lt;app-root&gt;<\/code> et 3 fichiers JavaScript.<\/figcaption><\/figure>\n<h2>Google Bot et le JavaScript : tout un parcours du combattant<\/h2>\n<p>Googlebot peut lire du javascript mais il se met en place un backlog pour d\u00e9terminer quelles pages sont trait\u00e9es en priorit\u00e9.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-6989\" src=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/html-rendering-process@2x.jpg\" alt=\"\" width=\"1600\" height=\"669\" srcset=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/html-rendering-process@2x.jpg 1600w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/html-rendering-process@2x-300x125.jpg 300w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/html-rendering-process@2x-600x251.jpg 600w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/html-rendering-process@2x-768x321.jpg 768w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/html-rendering-process@2x-1536x642.jpg 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/p>\n<h3>Le rendering<\/h3>\n<p>Google a un processus d\u2019indexation en deux vagues :<\/p>\n<ul>\n<li>Le bot indexe le contenu HTML dans un premier temps apr\u00e8s le <span lang=\"en\">crawl<\/span><\/li>\n<li>Les pages avec du JS qui doivent \u00eatre rendered sont ajout\u00e9es \u00e0 une queue qui va \u00eatre affich\u00e9es des jours, semaines ou mois plus tard.<\/li>\n<\/ul>\n<p>Des pages lentes \u00e0 se charger peuvent impacter le <span lang=\"en\">crawl<\/span>. On vous conseille donc d\u2019aller vers du rendu hybride ou c\u00f4t\u00e9 serveur (SSR &#8211; <span lang=\"en\">Server Side Rendering<\/span>). Miser sur du SSR ou bien un rendering hybride<\/p>\n<p>Cela permet \u00e0 Google de mieux d\u00e9couvrir vos pages via les liens dans le contenu. Si les liens sont dans le HTML initial, Google peut commencer \u00e0 passer \u00e0 travers la liste de suite !<\/p>\n<p>Attention il faut imp\u00e9rativement s\u2019assurer que les robots et pas uniquement les navigateurs ont droit au \u201c<span lang=\"en\">rendering<\/span>\u201d !<\/p>\n<h3>Comment tester si \u00e7a fonctionne bien ?<\/h3>\n<ul>\n<li>V\u00e9rifiez le Cache Google<\/li>\n<li><span lang=\"en\">Google Mobile Test<\/span> : Google vous donne acc\u00e8s \u00e0 la m\u00eame console de debug JS que dans le navigateur<\/li>\n<li>V\u00e9rifiez <a lang=\"en\" href=\"https:\/\/www.google.com\/webmasters\/tools\/googlebot-fetch?pli=1\" hreflang=\"en\">Fetch &amp; Render<\/a> dans la Google Search Console<\/li>\n<li>Testez dans <a lang=\"en\" href=\"https:\/\/render-tron.appspot.com\/\" hreflang=\"en\">Rendertron<\/a> !<\/li>\n<li>Utilisez Fetch and Render dans <a lang=\"en\" href=\"https:\/\/www.screamingfrog.co.uk\" hreflang=\"en\">Screaming Frog<\/a><\/li>\n<li>Testez avec <a lang=\"en\" href=\"https:\/\/ngrok.com\/\" hreflang=\"en\">Ngrok<\/a> en local<\/li>\n<\/ul>\n<p>Voici un lien vers la <a href=\"https:\/\/developers.google.com\/search\/\" hreflang=\"en\">documentation officielle de Google<\/a> pour vous aider. Vous pouvez aussi contourner le probl\u00e8me avec du dynamic <span lang=\"en\">rendering<\/span> pour sp\u00e9cifier au bot avec un <span lang=\"en\">user-agent<\/span> de moteur de recherche qu\u2019il a droit \u00e0 un <span lang=\"en\">rendering<\/span> \u00e0 part. Voici les outils que l\u2019on vous conseille dans ce cas l\u00e0 : <a lang=\"en\" href=\"https:\/\/pptr.dev\/\" hreflang=\"en\">Puppeteer<\/a> et <span lang=\"en\">Rendertron<\/span>.<\/p>\n<h2>L\u2019art de tisser des liens en JS<\/h2>\n<p>Faites attention \u00e0 la fa\u00e7on dont vous mettez en place vos liens :<\/p>\n<ul>\n<li>Ne mettez pas une ancre g\u00e9n\u00e9rique qui ne donne pas de contexte.<\/li>\n<li><code>onclick<\/code> est accept\u00e9.<\/li>\n<li><b>N\u2019acceptez pas les demandes d\u2019obfusquer les liens en JS de la part des SEOs<\/b>.<\/li>\n<li>On arr\u00eate avec les fragments, ce n\u2019est pas <span lang=\"en\">SEO-friendly<\/span><\/li>\n<\/ul>\n<p>S\u2019il vous pla\u00eet ne faites pas des trucs pareils, cela me fait pleurer des larmes de sang :<\/p>\n<div class=\"code-embed-wrapper\"> <pre class=\"language-markup code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-markup code-embed-code\">&lt;a href=&quot;#&quot; onclick=&quot;goTo(&#039;stuff&#039;)&quot;&gt;Still wrong! \u0ca0_\u0ca0&lt;\/a&gt;<br\/>&lt;a href=&quot;javascript:goTo(&#039;stuff&#039;)&quot;&gt;No, just don&#039;t. \u0ca5\ufe4f\u0ca5&lt;\/a&gt;<br\/>&lt;a href=&quot;\/stuff&quot; onclick=&quot;changePage(&#039;lol&#039;)&quot;&gt;WAT?! \u0ca0\u76ca\u0ca0&lt;\/a&gt;<br\/>&lt;span onclick=&quot;goTo(&#039;stuff&#039;)&quot;&gt;WAT NO (\u256f\u00b0\u25a1\u00b0\uff09\u256f\ufe35 \u253b\u2501\u253b&lt;\/span&gt;<\/code><\/pre> <div class=\"code-embed-infos\"> <\/div> <\/div>\n<h2>Attention aux r\u00e9ponses HTTP<\/h2>\n<figure class=\"wp-caption aligncenter\" style=\"width: 956px\"><img decoding=\"async\" class=\"wp-image-6993 size-full\" src=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/http-error@2x.jpg\" alt=\"\" width=\"946\" height=\"1065\" srcset=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/http-error@2x.jpg 946w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/http-error@2x-266x300.jpg 266w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/http-error@2x-533x600.jpg 533w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2019\/12\/http-error@2x-768x865.jpg 768w\" sizes=\"(max-width: 946px) 100vw, 946px\" \/><figcaption class=\"wp-caption-text\">Ceci n&rsquo;est pas une banane avec des codes d&rsquo;erreur HTTP.<\/figcaption><\/figure>\n<ul>\n<li><span lang=\"en\">404 VS soft 404<\/span> : Google sait identitifer une page 404 m\u00eame lorsque le serveur renvoie une 200, le code 200 \u00e9tant une r\u00e9ponse classique d&rsquo;une page web bien servie. Une soft 404 est une page 200 qui pour Google ressemble \u00e0 une 404. Pour \u00e9viter de lui faire perdre son temp, pensez \u00e0 indiquer les 404 avec le bon code de retour.<\/li>\n<li>302 c\u2019est temporaire, \u00e0 ne pas utiliser si vous souhaitez faire une redirection permanente.<\/li>\n<li>301 c\u2019est permanent et \u00e7a passe les acquis SEO : c\u2019est notre fa\u00e7on favorite de faire des redirections pour cette raison.<\/li>\n<li>Les <a lang=\"en\" href=\"https:\/\/www.w3schools.com\/tags\/att_meta_http_equiv.asp\" hreflang=\"en\">meta-refresh<\/a>, c&rsquo;est d\u00e9pass\u00e9 et d&rsquo;un point de vue exp\u00e9rience utilisateur c&rsquo;est\u2026 <span lang=\"en\">nope<\/span>.<\/li>\n<\/ul>\n<p>Vous pouvez <a href=\"http:\/\/www.redirection-web.net\/\">tester vos redirections<\/a> pour vous faire une id\u00e9e, ou regarder du c\u00f4t\u00e9 de <span lang=\"en\">Search Console<\/span>, Google vous remonte ce type d&rsquo;alerte.<\/p>\n<h2>Les images et le SEO<\/h2>\n<p>Voici les quelques conseils simples \u00e0 prendre en compte quand on veut optimiser les images pour le r\u00e9f\u00e9rencement naturel :<\/p>\n<ul>\n<li><b>Formats next gen :<\/b> JPEG 2000, qui date de 1997 mais n\u2019est pas encore impl\u00e9ment\u00e9 dans nos navigateurs, JPEG XR qui lui date de 2007, et WebP qui date de 2010 &#8211; pour le moment, il n\u2019y a que WebP qui est compatible avec Chrome et Firefox. Le reste des formats n&rsquo;est pas support\u00e9 malheureusement.<\/li>\n<li><b>Compresser les images :<\/b> la compression des images, on adore \u00e7a. On vous conseille de tester Guetzli, un algorithme de compression <span lang=\"en\">Open Source<\/span> de Google qui prend en charge vos JPEG.<\/li>\n<li>Ne pas les retailler dans le navigateur : cela va am\u00e9liorer l\u2019exp\u00e9rience utilisateur ainsi que votre performance.<\/li>\n<li><b>Avoir un attribut ALT qui a du sens<\/b> pour chaque image. C\u2019est important pour l\u2019accessibilit\u00e9 mais aussi le r\u00e9f\u00e9rencement de vos images.<\/li>\n<li>Bien nommer les images : pareil pour les titres d\u2019images. 001.jpg est bien moins <span lang=\"en\">SEO-friendly<\/span> que pomme-rouge-spartan.jpg<\/li>\n<li>Il faut faire un lazy load qui charge quand m\u00eame les balises images qui ne sont pas initialement affich\u00e9es. L\u2019image doit \u00eatre trouvable par le bot de Google.<\/li>\n<\/ul>\n<h2>Conseils pour le SEO mobile<\/h2>\n<p>Fin 2017, de nouvelles r\u00e8gles arrivent pour le positionnement des sites sur Google mobile. Malheureusement, tout le monde n\u2019est pas n\u00e9cessairement au courant que Google dispose d\u2019un index mobile d\u00e9di\u00e9. Voici quelques conseils pour couvrir les bases du SEO mobile :<\/p>\n<ul>\n<li>Auditer les <span lang=\"en\">pop-ups<\/span> pour savoir si tout est OK (pour \u00e9viter une p\u00e9nalit\u00e9 Google)\n<ul>\n<li>Les <span lang=\"en\">pop-ups<\/span> ne peuvent pas faire plus que 15% de l\u2019\u00e9cran<\/li>\n<li>Pas de <span lang=\"en\">pop-up<\/span> de choix de langue<\/li>\n<li>Certains <span lang=\"en\">pop-ups<\/span> l\u00e9gaux sont permis<\/li>\n<li>Pas d&rsquo;<span lang=\"en\">overlay<\/span> massif !<\/li>\n<\/ul>\n<\/li>\n<li><b>La vitesse de chargement est un crit\u00e8re de positionnement.<\/b><\/li>\n<li>\u00c9valuer si AMP (<span lang=\"en\">accelerated mobile pages<\/span>) est pour vous.<\/li>\n<\/ul>\n<p>Validez si tout est approuv\u00e9 dans l\u2019<a href=\"https:\/\/developers.google.com\/speed\/pagespeed\/insights\/\">outil de test mobile de Google<\/a>.<\/p>\n<h2>Et si on vous emb\u00eate avec les balises meta<\/h2>\n<h3>La meta Title<\/h3>\n<p>C\u2019est un \u00e9l\u00e9ment qui compte pour le positionnement SEO, pensez \u00e0 les composer en suivant ces<\/p>\n<ul>\n<li>70 caract\u00e8res maximum,<\/li>\n<li>Unique \u00e0 chaque page,<\/li>\n<li>On utilise | <i>(pipe<\/i>, ou colonne<i>) <\/i>comme nomenclature \u00e0 la fin dans les titres (si vous avez la place bien sur)<\/li>\n<\/ul>\n<h3>Meta descriptions<\/h3>\n<p>Un argument marketing de taille, pensez donc \u00e0 respecter quelques r\u00e9gles simples :<\/p>\n<ul>\n<li>155 caract\u00e8res max,<\/li>\n<li>Unique \u00e0 chaque page,<\/li>\n<li>Encourage au clic &#8211; doit \u00eatre r\u00e9dig\u00e9 par un r\u00e9dacteur,<\/li>\n<li>Si vous n\u2019avez pas de contenu propos\u00e9 par le marketing, <b>laissez \u00e7a vide<\/b>. C\u2019est la recommandation officielle plut\u00f4t que de mettre n\u2019importe quoi. Si c\u2019est vide, le <span lang=\"en\">machine learning<\/span> de Google va composer quelque chose. Cela ne sera pas n\u00e9cessairement bon&#8230; mais \u00e7a, c\u2019est au marketing de le savoir.<\/li>\n<\/ul>\n<h2>Et si le site est bilingue ?<\/h2>\n<p>Il faut indiquer la langue en utilisant Href lang :<\/p>\n<ul>\n<li>La structure URL doit toujours comprendre la langue dans un r\u00e9pertoire d\u00e9di\u00e9 du type <code>\/fr\/<\/code> et <code>\/en\/<\/code> ou bien si vous avez plusieurs pays \u00e0 couvrir <code>\/fr-ca\/<\/code>, <code>\/fr-be\/<\/code>, <code>\/fr-fr\/<\/code>, etc.<\/li>\n<li>Pensez \u00e0 l\u2019attribut\u00a0<code>lang<\/code> dans votre code. Par d\u00e9faut celui-ci est plac\u00e9 sur l\u2019\u00e9l\u00e9ment <code>html<\/code> (root) de la page. Vous pouvez changer cet attribut \u00e0 n\u2019importe quel moment au sein de votre code si la langue change en cours de route. (et si vous utiliser WordPress, ce <a href=\"https:\/\/wordpress.org\/plugins\/juiz-lang-attributes\/\">plugin pour ajouter des attributs hreflang et lang<\/a> peut vous servir)<\/li>\n<li>Votre page d\u2019accueil doit toujours avoir une langue par d\u00e9faut pour le Google bot.<\/li>\n<li>Vous pouvez d\u00e9clarer cela dans le <code>sitemap.xml<\/code> ou bien dans l\u2019en-t\u00eate HTTP (<a href=\"https:\/\/github.com\/nfl\/react-helmet\">Helmet<\/a> est l\u00e0 pour \u00e7a en React)<\/li>\n<li>Consultez la <a href=\"https:\/\/support.google.com\/webmasters\/answer\/189077?hl\">documentation officielle pour vous aider<\/a>.<\/li>\n<\/ul>\n<h2>Les fichiers SEO \u00e0 conna\u00eetre<\/h2>\n<h3>Le fichier robots.txt<\/h3>\n<p>Un fichier <code>robots.txt<\/code> est \u00e0 la racine et indique le <code>sitemap.xml<\/code>. Il ne doit pas \u00eatre utilis\u00e9 pour d\u00e9sindexer les pages. Le meilleur moyen de vous orienter ici est de vous inviter \u00e0 lire la documentation plut\u00f4t claire de <a href=\"https:\/\/support.google.com\/webmasters\/answer\/6062596?hl=fr\">Google sur le robot.txt<\/a>.<\/p>\n<h3>Les fichiers sitemap.xml<\/h3>\n<p>Un <code>sitemap.xml<\/code> est une carte de route du site Web que l\u2019on soumet \u00e0 Google pour aider l\u2019indexation. Le maximum d\u2019URLs pouvant \u00eatre contenus dans ce fichier est de 50,000. Apr\u00e8s cela, il faut cr\u00e9er un fichier <code>sitemap_index.xml<\/code> qui va lister les autres <code>sitemap.xml<\/code> du site. Aujourd\u2019hui, beaucoup de plugins g\u00e9n\u00e8rent automatiquement plusieurs <code>sitemap.xml<\/code> avec un fichier index. Il faut \u00e9viter de lister les pages 404, canoniques ou bien no-index dans ce document. Il existe diff\u00e9rents types de <code>sitemap.xml<\/code> : son, images, vid\u00e9o, news, etc.<\/p>\n<p>Une fois n&rsquo;est pas coutume, la <a href=\"https:\/\/support.google.com\/webmasters\/answer\/183668?hl=fr\">documentation de Google<\/a> est tr\u00e8s bien faite ici.<\/p>\n<h2>Les bonnes pratiques pour vos URLs<\/h2>\n<p>Vos URLs comptent aussi dans tout cela, aussi bien pour l\u2019exp\u00e9rience utilisateur que pour l\u2019optimisation du rendu autour de Google (indexation comme pr\u00e9sentation des r\u00e9sultats). Pour vos URLs, pensez donc \u00e0 :<\/p>\n<ul>\n<li>115 caract\u00e8res grand maximum,<\/li>\n<li>Dans la bonne langue,<\/li>\n<li>On remplace les variables et les codes par des mots lisibles, (<a href=\"https:\/\/www.webrankinfo.com\/dossiers\/techniques\/tutoriel-url-rewriting\">r\u00e9\u00e9criture d\u2019URL<\/a>),<\/li>\n<li>Pas de majuscules,<\/li>\n<li>Pas d\u2019accents,<\/li>\n<li>Pas d\u2019emojis,<\/li>\n<li>Doit refl\u00e9ter la hi\u00e9rarchie du site.<\/li>\n<\/ul>\n<p>Ce sera tout pour ce tour d\u2019horizon des choses \u00e0 optimiser avant d\u2019aller plus loin. N\u2019h\u00e9sitez pas \u00e0 commenter si vous avez des astuces ou interrogations \u00e0 partager.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le SEO c\u2019est quelque chose que la plupart des d\u00e9veloppeurs essaient de refiler \u00e0 l\u2019\u00e9quipe marketing. De toute fa\u00e7on, \u00e7a n\u2019a pas grand chose en commun avec les activit\u00e9s quotidiennes des devs n\u2019est-ce-pas? Donc pas besoin de prendre le temps de se familiariser avec tout \u00e7a. Sauf que, conna\u00eetre les bonnes pratiques en SEO peut [&hellip;]<\/p>\n","protected":false},"author":708,"featured_media":6998,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_bluesky_dont_syndicate":"","_bluesky_syndication_accounts":"","_bluesky_syndication_text":"","footnotes":""},"categories":[605],"tags":[815,229,25,592],"coauthors":[814],"class_list":["post-6981","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-referencement-seo","tag-hreflang","tag-performance","tag-referencement","tag-seo"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/6981","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/users\/708"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/comments?post=6981"}],"version-history":[{"count":4,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/6981\/revisions"}],"predecessor-version":[{"id":7001,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/6981\/revisions\/7001"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/media\/6998"}],"wp:attachment":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/media?parent=6981"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/categories?post=6981"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/tags?post=6981"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/coauthors?post=6981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}