web-dev-qa-db-fra.com

Google indexant des pages avec #! bien que nous n'avons pas de

Notre société a développé une application à une seule page en utilisant AngularJS et son routage. Google a correctement indexé notre site avec JavaScript mais n’indexant pas très bien certaines pages, nous avons donc développé une version uniquement HTML.

Nous avons suivi le Ajax Crawling Specification posté ici et avons une balise <meta name='fragment' content='!'> et des URL canoniques. Nous nous attendons à ce que http://www.example.com/foo/bar soit extrait de http://www.example.com/?_escaped_fragment_=/foo/bar.

Cependant, nous avons découvert que lorsque nous avons lancé la spécification AJAX, toutes les pages ont maintenant été indexées deux fois, une avec la version JavaScript en tant que http://www.example.com/foo/bar et une fois avec la nouvelle version en tant que http://www.example.com/#!/foo/bar. . Cela nous est préjudiciable car il s'agit d'un contenu en double et d'une mauvaise représentation du site.

J'ai essayé de rechercher des questions similaires ici et sur le forum des produits Google, mais je n'ai rien pu trouver.

11
Benjamin Gruenbaum

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" /> dans 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) de n'indexer que le document canonique.

2
Phil Tune

Je ne comprends pas vraiment le javascript.
Dans index de Google, utilisez l'URL canonique dans <head> comme @philtune le dit. Mais si vous ne pouvez pas vous attendre à ce que http://www.example.com/foo/bar soit récupéré à partir de http://www.example.com/?_escaped_fragment_=/foo/bar.

Google Fetch vient d'extraire le canonical url.

Dans ce cas, l'URL est http://www.example.com/foo/bar, Google indexera également http://www.example.com/foo/bar.

Si vous voulez que Google index soit la page, ajoutez ce script dans <head>:

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

puis récupérez à nouveau à l'aide du Google Fetch.

Note:
google va suivre et explorer le site Web et suivre tous les liens de la page. Si dans votre page, vous avez un lien comme http://www.example.com/?_escaped_fragment_=/foo/bar et une redirection vers http://www.example.com/foo/bar, Google indexera http://www.example.com/foo/bar car http://www.example.com/?_escaped_fragment_=/foo/bar sera redirigé vers http://www.example.com/foo/bar.

1
mitchell