web-dev-qa-db-fra.com

Google uniquement index page principale

Mon site est une application à une seule page construite avec AngularJS. Mon objectif est de le rendre crawlable ( https://developers.google.com/webmasters/ajax-crawling/docs/specification ).

C'est ce que j'ai utilisé: -

  • Pages sans fragments de hachage
  • AngularJS configuré pour utiliser les URL HTML5
  • <meta name="fragment" content="!" /> inséré dans la tête

Comme mentionné dans la spécification, en utilisant la méthode ci-dessus, le robot est capable de lire mon URL,

www.domainname.com comme www.domainname.com?_escaped_fragment_=

Mon URL ressemble à ceci:

http;//www.domainname.com/about

A transféré la demande si la demande inclut _escaped_fragment_ dans mon répertoire htmlfiles

RewriteEngine On

Options +FollowSymLinks

RewriteCond %{QUERY_STRING} ^_escaped_fragment_=$                              
RewriteRule ^(.*)$ /htmlfiles/index.html? [NC,L]  

RewriteCond %{QUERY_STRING} ^_escaped_fragment_=/?(.*)$
RewriteRule ^(.*)$ /htmlfiles/%1.html? [NC,L]

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Avec les réécritures ci-dessus, les fichiers HTML désirés ont pu être obtenus comme suit: -

www.domainname.com?_escaped_fragment_= reçoit www.domainname.com/htmlfiles/index.html

et

www.domainname.com/?_escaped_fragment_=about reçoit www.domainname.com/htmlfiles/about.html

Note: ces tests ont été réalisés en désactivant javascript sur le navigateur

Le plan du site soumis à Google est le suivant:

<url>
<loc>http://www.domainname.com/</loc>
</url>
<url>
<loc>http://www.domainname.com/about</loc>
</url>

Problème

Ce que Google a fait, c’est qu’elle n’indexe que correctement ma page principale www.domainname.com. Cependant, il n'indexe pas les autres pages, dans ce cas, www.domainname.com/about.

3
wfaa

Il est impossible de le savoir sans consulter votre site, mais je pense que vous utilisez le schéma d'exploration AJAX de manière incorrecte.

Si vous avez http://example.com/about et ajoutez la balise méta fragment à cette page (ainsi, lorsque vous curl http://example.com/about, la balise méta sera renvoyée dans la réponse), l'URL à extraire pour l'indexation serait http://example.com/about?_escaped_fragment_=, pas http://example.com/?_escaped_fragment_=about.

2
John Mueller
0
David Garcia