web-dev-qa-db-fra.com

"Fetch as Google" ne trouve pas l'instantané HTML pour mon contenu AJAX

Pour ma page Web, je génère le contenu via JavaScript. Je souhaite donc utiliser ?_escaped_fragment_ pour rediriger Google vers mon instantané HTML.

J'ai un RewriteRule pour mon Apache

 RewriteEngine on
 RewriteCond %{REQUEST_URI}  ^/$
 RewriteCond %{QUERY_STRING} ^_escaped_fragment_=/?(.*)$
 RewriteRule ^(.*)$ /snapshot/.snapshot_.html [NC,L]

Ce qui redirige ?_escaped_fragment_= vers /snapshot/.snapshot_.html (http://example.com/?_escaped_fragment_=). Cela fonctionne bien.

J'ai aussi ajouté <meta name="fragment" content="!"> à ma page d'accueil.

Lorsque je "recherche en tant que Google" dans mes outils pour les webmasters, le contenu de l'URL laide n'est pas récupéré, mais par exemple.com.

Y a-t-il quelque chose que je n'ai pas considéré?

5
misantronic

"Fetch as Google" ne va pas chercher de la même manière que Google. "Fetch as Google" ne vérifie pas la balise META sur la page. (L'algorithme d'analyse fait)

Une solution de contournement consiste à l'ajouter manuellement dans l'instruction "chercher en tant que Google". ex:

www.example.com/?_escaped_fragment_=

4
Toon Gijbels

John Mueller de Google a répondu à une question similaire dans les forums sur les produits Google :

Pour les URL qui utilisent le schéma AJAX-crawling, vous devez soumettre les versions "fragment échappé" dans Fetch en tant que Google. Les URL "hash-bang" elles-mêmes ne fonctionneront pas là.

Il semble que "Fetch as Google" ne puisse pas gérer les URL de hachage ni les balises META fragmentées.

1