Indexation des pages Google avec #! bien que nous n'en ayons pas


11

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/baret 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é.


Avez-vous soulevé ce problème avec Google? Sur leur forum?
Jérôme Verstrynge

@JVerstry oui - je l'ai fait immédiatement après avoir posté cette question: productforums.google.com/forum/… Cependant, ma première hypothèse est que nous n'avons pas compris le protocole correctement plutôt que quelque chose ne va pas avec leur produit, donc mes chances d'obtenir l'aide ici est assez décente, en plus que cette question soit pertinente pour un large public cible ici (tout le monde avec une application d'une seule page qui n'utilise pas #! dans les URL et veut que Google les indexe). Merci pour la suggestion d'ailleurs.
Benjamin Gruenbaum

1
Avez-vous défini des URL canoniques via rel="canonical"?
kqw

3
rediriger le #! URL et masquer les URL laides ne semble pas que vous suivez les spécifications.
Tony McCreath

1
Je me demande simplement, si vous n'utilisez pas d' #!URL, pourquoi utilisez-vous _escaped_fragment_et la spécification Google AJAX?
MrWhite

Réponses:


2

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.


Dans la même veine, peut-il utiliser un fichier robots.txt ??
eyoung100

Nous les avons, ils n'ont pas aidé dans ce cas.
Benjamin Gruenbaum

1

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 attendre http://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 indexera http://www.example.com/foo/baraussi.

Si vous voulez indexer votre page Google, ajoutez ce script dans <head>:

<meta content = 'index, suivez' name = 'googlebot' />

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/baret rediriger vers http://www.example.com/foo/bar, google va indexer http://www.example.com/foo/barcar http://www.example.com/?_escaped_fragment_=/foo/barredirigez vers http://www.example.com/foo/bar.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.