Selon cette spécification , rendre AJAX un site explorable par Googlebot signifie que vous devez utiliser des liens hashbang (#!), Ce qui signifie qu'il ne se dégradera pas de manière élégante lorsque JS est activé. de. Cela pourrait signifier que la capacité d'analyse et la dégradation progressive sont mutuellement exclusives. Est-ce vraiment le cas? Peut-on faire quelque chose à ce sujet?
Oui, vous pouvez implémenter un serveur de référencement basé sur node.js qui exécute javascript du côté du serveur et présenter la page Web aux robots d'exploration de la même manière que son rendu dans les navigateurs.
Vous devez également implémenter la règle de redirection pour "_escaped_fragment_"
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$
RewriteRule ^$ /handler.php?_frag=%1 [L]
Vous devriez vérifier:
Fragment:
Lorsque cela est possible, j'aime utiliser uniquement AJAX pour charger de nouvelles pages lorsque history.pushState est disponible. Lorsque history.pushState n'est pas disponible, je retombe en mode non-AJAX. Bien que cela puisse être une expérience médiocre pour ceux qui n'ont pas history.pushState, cela permet de s'assurer que l'URL pointe toujours au bon endroit et que le site sera accessible à la fois à Google et aux utilisateurs avec JavaScript désactivé.