Unser Unternehmen hat eine Single-Page-Anwendung mit AngularJS und deren Routing entwickelt. Google hat unsere Website anständig mit JavaScript indiziert, einige Seiten jedoch nicht sehr gut indiziert. Daher haben wir eine reine HTML-Version entwickelt.
Wir haben die hier veröffentlichte Ajax-Crawling-Spezifikation befolgt und haben ein <meta name='fragment' content='!'>
Tag und kanonische URLs. Wir erwarten http://www.example.com/foo/bar
, von abgeholt zu werden http://www.example.com/?_escaped_fragment_=/foo/bar
.
Wir haben jedoch herausgefunden, dass beim Rollen der AJAX-Spezifikation jetzt alle Seiten zweimal indiziert wurden, einmal mit der JavaScript-Version als http://www.example.com/foo/bar
und einmal mit der neuen Version als http://www.example.com/#!/foo/bar
. Dies ist schädlich für uns, da es sich um doppelten Inhalt handelt und die Website auch falsch dargestellt wird.
Ich habe versucht, hier und im Google-Produktforum nach ähnlichen Fragen zu suchen, konnte aber nichts finden.
quelle
rel="canonical"
?#!
warum Sie_escaped_fragment_
und die Google AJAX-Spezifikation verwenden , wenn Sie keine URLs verwenden .Antworten:
Im Zweifelsfall verwenden
rel="canonical"
. Dies kann so einfach sein wie das Einfügen<link rel="canonical" href="http://blog.example.com/dresses/green-dresses-are-awesome" />
Ihres<head>
. Weitere Informationen finden Sie bei Google.Dies verhindert nicht, dass Bots beide "Versionen" crawlen, weist Google (und andere SERPs) jedoch an, nur das kanonische Dokument zu indizieren.
quelle
Ich verstehe Javascript nicht wirklich.
In der Google-Indizierung
<head>
sagt uns die kanonische URL wie @philtune. Aber wenn Sie nicht erwarten könnenhttp://www.example.com/foo/bar
, von abgeholt zu werdenhttp://www.example.com/?_escaped_fragment_=/foo/bar
.Google Fetch hat gerade die abgerufen
canonical url
.In diesem Fall lautet die URL
http://www.example.com/foo/bar
auch Googlehttp://www.example.com/foo/bar
.Wenn Sie möchten, dass der Google-Index Ihre Seite ist, fügen Sie dieses Skript hinzu in
<head>
:und dann erneut mit dem holen
Google Fetch
.Note
:google wird die Website verfolgen und crawlen und allen Links auf der Seite folgen. Wenn auf Ihrer Seite ein Link wie "
http://www.example.com/?_escaped_fragment_=/foo/bar
Weiterleiten"http://www.example.com/foo/bar
angezeigt wird, wird Google indizieren,http://www.example.com/foo/bar
da "http://www.example.com/?_escaped_fragment_=/foo/bar
Weiterleiten an"http://www.example.com/foo/bar
.quelle