Ce que Googlebot voit lors de l'exploration de Discourse

TL:DR, il est semi-humainement possible de répliquer le crawl de Googlebot sur Discourse. Voici comment commencer…

Devenez un avec Googlebot

  1. Ouvrez une fenêtre de navigation privée (commencez toujours à zéro)
  2. Ouvrez DevTools
  3. Ouvrez Network Conditions dans DevTools
  4. Décochez « Utiliser les paramètres par défaut du navigateur »
  5. Dans le menu déroulant, choisissez Googlebot Smartphone
  6. Ensuite, allez sur https://meta.discourse.org (cela a l’air très différent ; ce n’est pas grave car votre Googlebot et les bots ne s’en soucient pas)
  7. Allez dans Affichage > Développeur > Afficher la source
  8. Copiez-le et collez-le dans un fichier .html

Bon travail ! Vous avez créé le fichier que les humains référencent pour voir ce que Googlebot a crawl et mis en cache.

Le travail de Googlebot est terminé. Il est maintenant temps de rendre le fichier mis en cache dans un navigateur.

Devenez un avec Chrome

  1. Ouvrez le terminal et exécutez npx http-server
  2. Naviguez jusqu’au fichier
  3. Ouvrez Chrome DevTools
  4. Dans le panneau Elements, faites un clic droit sur <html>... et sélectionnez Copier outerHTML.
  5. C’est le contenu qui sera indexé, pas mis en cache, indexé.

En résumé, Googlebot récupère le HTML et Chrome le rend. Le HTML rendu est de l’or. Assurez-vous que votre contenu et vos liens précieux y apparaissent.

2 « J'aime »

Quel est le but des étapes sous « Devenez un avec Chrome » ?

Ne pourriez-vous pas effectuer l’étape « Copier outerHTML » à la place de l’étape 7 de la première liste ?

Je pense que vous pouvez également le récupérer avec curl :

curl -s https://meta.discourse.org/ > page.html

(Il contiendra les classes \"crawler\".)

Ensuite, ouvrez le fichier page.html dans un navigateur.

Ou pour inspecter le code dans un éditeur :

curl -s https://meta.discourse.org/ | vim -
2 « J'aime »

Le HTML mis en cache est rendu dans Chrome (sans interface graphique). Lors du rendu, du contenu et des liens supplémentaires peuvent être introduits via JavaScript, dans le DOM. Google prendra en compte les informations qu’il rend pour l’indexation.

C’est ainsi que Googlebot obtient le contenu des applications fortement basées sur JavaScript. Allez sur Google et recherchez quelque chose dont vous savez qu’il rend le contenu uniquement avec JavaScript > cliquez sur l’icône à 3 points > cliquez sur le bouton Cache > cliquez sur Afficher la source > copiez-le et rendez-le dans Chrome pour voir quel contenu apparaît dans le DOM.

Remarque : Mettez à jour tous les chemins relatifs (ressources CSS et JS) en chemins absolus avant de les rendre dans Chrome ^^

Utiliser curl le rend plus facile, sympa !

Assurez-vous d’inclure la chaîne d’agent utilisateur Googlebot, par exemple : Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html). Le serveur peut envoyer à Googlebot un HTML différent.

Je pense que c’est la même sortie, mais ça ne coûte rien d’ajouter l’agent utilisateur. Je ne suis pas sûr pour Chrome, mais dans Firefox, vous pouvez faire un clic droit sur la requête dans l’onglet réseau et choisir « copier en tant que curl » pour un ensemble complet d’en-têtes qui imiteront une requête de navigateur.