quelles sont les règles avec google (ou tout autre moteur de recherche) en ce qui concerne le camouflage (par exemple, affichage de contenu différent pour les robots par rapport aux utilisateurs réels)
La question est de savoir si nous voulons charger certains contenus uniquement lorsque l'utilisateur fait défiler/interagit mais que Google/bots (qui ne défile pas) explore ce contenu. Serait-il correct d'avoir une condition dans JS qui vérifie si cela est un BOT (via userAgent) et charge ce contenu .. mais pour les utilisateurs réguliers (non bots), cela ne se produira que lors de leur première interaction avec la page (par exemple, défilement de la touche mousemove).
Ce n'est pas vraiment du camouflage car à la fin de la journée le contenu sera le même pour les deux (dès que l'utilisateur interagit avec la page)
Dans cet exemple particulier, il s'agit d'un méga menu de navigation qui récupère les données et se charge uniquement lors de la première interaction de l'utilisateur. Cela augmente les performances de la page en ne récupérant pas les appels inutiles et le DOM lourd avant qu'il ne soit jamais nécessaire.
if(/bot|spider|crawler|Slurp/.test(navigator.userAgent)){
// load and render content
} else {
onFirstInteraction.then(event => {
// load and render content
});
}
Ce dont vous parlez s'appelle une page de défilement infinie (par exemple TechCrunch qui charge juste un nouvel article pendant que vous continuez à faire défiler vers le bas).
Le conseil SEO de Google à ce sujet est de vous assurer que vous disposez également d'une série paginée. Le défilement infini aidera les utilisateurs, tandis que la pagination permettra à Google de parcourir les pages et de voir le reste du contenu.
Vous pouvez en savoir plus ici: https://webmasters.googleblog.com/2014/02/infinite-scroll-search-friendly.html
Je recommande fortement de ne pas filtrer par user-agent. Il y a un risque élevé que cela soit considéré comme un camouflage.