web-dev-qa-db-fra.com

Les robots d'exploration de Googlebot et d'autres moteurs de recherche peuvent-ils détecter si l'élément est masqué après le chargement de la page par JavaScript?

Donc, nous savons tous que Google déteste les éléments cachés, et à juste titre. Mais je suis curieux de savoir si l’élément est présent dans DOM normalement sous forme statique, mais après le chargement de la page, il est masqué par JavaScript?

Autant que je sache, Googlebot (et d’autres bots d'ailleurs) ne peut pas interpréter JavaScript, ils ne devraient donc pas détecter cette altération, non?

Et considérons le cas où il ne s’agit pas de bourrer de mots-clés ni de spammer, mais du texte probablement caché à insérer dans une autre partie de la page lors d’un événement utilisateur pertinent et sollicité.

3
The Law

Googlebot affiche désormais les pages et affiche la page telle que la voit l'utilisateur lors de son chargement, y compris l'application de CSS et l'exécution de JavaScript. Google détectera le texte masqué à l'aide de CSS ou de JavaScript.

Google va pénaliser un site pour avoir caché du texte riche en mots clés qui ne peut pas être consulté par les utilisateurs. Ils appellent la pratique cloaking : montrer le contenu aux robots des moteurs de recherche, mais pas aux utilisateurs.

Notez que le masquage de texte pouvant être affiché via une interaction utilisateur ne sera pas pénalisé. Il existe de nombreuses raisons légitimes de masquer le texte initialement mais de l'afficher lorsque l'utilisateur en a besoin. Les appareils interactifs populaires tels que les carrousels, les boîtes à lumière et les fly-outs doivent tout d’abord masquer du contenu.

Lorsque le texte est initialement masqué, mais peut être visualisé par les utilisateurs via une interaction, Google peut choisir de ne pas indexer les mots qu'il contient. S'il les indexe, cela peut leur donner moins de poids que les mots affichés aux utilisateurs en charge.

Ces dernières années, Googlebot ayant acquis la capacité de rendre des pages, Google a modifié ses directives concernant AJAX. Auparavant, si vous vouliez un site Web AJAX crawlable, vous deviez implémenter des URL des URL "hash bang" avec des instantanés HTML . Désormais, Google peut explorer AJAX les sites Web qui implémentent un "État Push" pour modifier les URL lorsque le contenu de la page change. L’état Push est beaucoup plus facile à implémenter que les instantanés HTML car il n’exige pas de production HTML côté serveur qui imite le code JavaScript côté client.

Même si Google peut maintenant très bien explorer AJAX, si vous voulez un site AJAX bien indexé, vous devez fournir une URL différente pour chaque élément de contenu. Les applications de page unique où l'URL ne change jamais ne sont toujours pas adaptées au référencement, car Google n'a aucun moyen de créer des liens profonds avec le contenu correspondant aux recherches.

3
Stephen Ostermiller