Google indiziert Seiten mit #! obwohl wir keine haben

11

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/barund 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.

Benjamin Gruenbaum
quelle
Haben Sie dieses Problem bei Google angesprochen? In ihrem Forum?
Jérôme Verstrynge
@JVerstry ja - das habe ich sofort getan, nachdem ich diese Frage gestellt habe: productforums.google.com/forum/… Meine erste Annahme ist jedoch, dass wir das Protokoll nicht richtig verstanden haben, anstatt dass etwas mit ihrem Produkt nicht stimmt, also meine Chancen, es zu bekommen Hilfe hier ist ziemlich anständig, zusätzlich zu dieser Frage, die für eine große Zielgruppe hier relevant ist (Jeder mit einer einzelnen Seitenanwendung, die kein #! in den URLs verwendet und möchte, dass Google sie indiziert). Danke übrigens für den Vorschlag.
Benjamin Gruenbaum
1
Haben Sie kanonische URLs durch definiert rel="canonical"?
kqw
3
# umleiten! URLs und das Verschleiern der hässlichen URLs scheinen nicht der Spezifikation zu folgen.
Tony McCreath
1
Ich frage mich nur, #!warum Sie _escaped_fragment_und die Google AJAX-Spezifikation verwenden , wenn Sie keine URLs verwenden .
MrWhite

Antworten:

2

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.

Phil Tune
quelle
Kann er in diesem Sinne eine robots.txt-Datei verwenden?
eyoung100
Wir haben diese, sie haben in diesem Fall nicht geholfen.
Benjamin Gruenbaum
1

Ich verstehe Javascript nicht wirklich.
In der Google-Indizierung<head> sagt uns die kanonische URL wie @philtune. Aber wenn Sie nicht erwarten können http://www.example.com/foo/bar, von abgeholt zu werden http://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/barauch Google http://www.example.com/foo/bar.

Wenn Sie möchten, dass der Google-Index Ihre Seite ist, fügen Sie dieses Skript hinzu in <head>:

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

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/barWeiterleiten" http://www.example.com/foo/barangezeigt wird, wird Google indizieren, http://www.example.com/foo/barda " http://www.example.com/?_escaped_fragment_=/foo/barWeiterleiten an" http://www.example.com/foo/bar.

Mitchell
quelle