Notre entreprise a développé une application de page unique utilisant AngularJS et son routage. Google a correctement indexé notre site avec JavaScript, mais il n'a pas très bien indexé certaines pages, nous avons donc développé une version HTML uniquement.
Nous avons suivi la spécification d'exploration Ajax publiée ici et avons une <meta name='fragment' content='!'>
balise et des URL canoniques. Nous nous attendons http://www.example.com/foo/bar
à être récupérés http://www.example.com/?_escaped_fragment_=/foo/bar
.
Cependant, nous avons découvert que lorsque nous avons déployé la spécification AJAX, nous avons maintenant toutes les pages indexées deux fois, une fois avec la version JavaScript as http://www.example.com/foo/bar
et une fois avec la nouvelle version as http://www.example.com/#!/foo/bar
. Cela nous nuit car il s'agit d'un contenu en double et d'une représentation erronée du site.
J'ai essayé de rechercher des questions similaires ici et sur le forum des produits Google, mais je n'ai rien trouvé.
la source
rel="canonical"
?#!
URL, pourquoi utilisez-vous_escaped_fragment_
et la spécification Google AJAX?Réponses:
En cas de doute, utilisez
rel="canonical"
. Cela pourrait être aussi simple que de mettre<link rel="canonical" href="http://blog.example.com/dresses/green-dresses-are-awesome" />
votre<head>
. Voir Google pour plus d'informations.Cela n'empêchera pas les robots d'explorer les deux "versions", mais cela indiquera à Google (et aux autres SERP) d'indexer uniquement le document canonique.
la source
Je ne comprends pas vraiment le javascript.
Dans l' indexation de Google , nous
<head>
utilisons l' URL canonique comme @philtune dit. Mais si vous ne pouvez pas vous attendrehttp://www.example.com/foo/bar
à être récupéréhttp://www.example.com/?_escaped_fragment_=/foo/bar
.Google Fetch vient de récupérer le fichier
canonical url
.Dans ce cas, l'URL est
http://www.example.com/foo/bar
, google indexerahttp://www.example.com/foo/bar
aussi.Si vous voulez indexer votre page Google, ajoutez ce script dans
<head>
:puis récupérer à nouveau en utilisant le
Google Fetch
.Note
:google va crwal et suivre et explorer le site Web et suivre tous les liens sur la page. Si dans votre page vous avez un lien comme
http://www.example.com/?_escaped_fragment_=/foo/bar
et rediriger vershttp://www.example.com/foo/bar
, google va indexerhttp://www.example.com/foo/bar
carhttp://www.example.com/?_escaped_fragment_=/foo/bar
redirigez vershttp://www.example.com/foo/bar
.la source