Je travaille sur une application qui implémente la navigation en fonction d'événements de hashchange. Le contenu est principalement chargé via des appels ajax après les modifications de hachage (et affiché par les injections DOM).
Du point de vue du référencement, les moteurs de recherche peuvent-ils indexer ce contenu injecté?
Les moteurs de recherche peuvent-ils suivre mes liens de hachage (e.x. href = "# page = 1")?
Sinon, y a-t-il des solutions de contournement en plus du contenu statique dans mes pages uniquement pour des raisons de référencement?
THX
J'ai trouvé des sujets similaires sur SO, mais je n'ai trouvé aucune réponse satisfaisante, alors pardonnez-moi de vous le demander à nouveau.
https://github.com/balupton/history.js/wiki/Intelligent-State-Handling
^ Va dans les avantages et inconvénients des URL hachées et hasbhangs et fournit des solutions alternatives
Il est possible de permettre à Google de suivre vos liens de hachage , mais cela nécessite quelques modifications côté serveur.
les moteurs de recherche peuvent-ils indexer ce contenu injecté?
Ans - Oui et non.
Non: Si vous injectez le contenu par il vous suffit de changer le hashtag , alors le robot ne sera pas en mesure d'indexer le contenu. Ces hashtags normaux étaient destinés à la navigation de la même page (bien avant l'avènement d'AJAX) et non à la modification de l'état de la page. Ainsi, afin d'éviter de réindexer plusieurs fois les mêmes pages, les robots d'exploration ont été programmés intentionnellement pour tout ignorer après le hashtag dans l'URL.
Oui: vous avez deux solutions:
En ce qui concerne le référencement, les solutions de contournement/solutions fonctionnent également bien si elles sont correctement implémentées. Mais lequel des deux est meilleur en dehors de la SEO est ne autre discussion .
Pour compléter la réponse de legoscia ( https://stackoverflow.com/a/11582278/151842 ), vous pouvez utiliser une bibliothèque de navigateur sans en-tête côté serveur afin de donner du code HTML statique à Google Bot.
Comme vous utilisez beaucoup d’ajax, il semble que vous aimez le javascript. Voici donc un navigateur sans tête javascript utilisable à partir de node.js: http://zombie.labnotes.org/
J'espère que cela fonctionne pour vous, amusez-vous!
Bien que certains moteurs de recherche prennent en charge l'analyse du contenu ajax, les URL classiques et le contenu de page statique sont encore plus fiables pour la visibilité des moteurs de recherche.
Lorsqu'une partie importante (grande) d'une page doit être rechargée, il est généralement souhaitable que le contenu ajax soit explorable. Dans de tels cas, cependant, une redirection constituerait généralement une alternative viable (mais indésirable).
Je suggérerais de coder initialement la page de telle sorte qu'elle redirige lorsque des portions importantes/significatives de la page doivent être rechargées (Step1). Cela signifie que nous sommes une ancre avec une URL traditionnelle <a href="/page/1">
(ou quelque chose de similaire) plutôt que <a href="#page=1">
.
Ensuite, écrivez javascript (jQuery) pour intercepter la redirection et utilisez ajax pour recharger la partie de la page qui changerait si la page était redirigée (Step2).
<a id="page1" href="/page/1">Page 1</a>
<script>
$("#page1").click(function () {
/*
* Perform ajax here to replace a portion of the page.
*/
return false; // prevent redirection
});
</script>
La première étape consiste à créer des pages Web avec un contenu statique et des URL classiques qui fonctionnent même sans JavaScript, tandis que la deuxième étape rend la page Web dynamique (évite le contenu statique).