2012-12-06 9 views
5

reden Lassen Sie uns über AJAX-Crawling von Google:history.js + Google

Seit history.js ist eine schöne Alternative zu hässlich hashbang Urls ich über ein bestimmtes Thema fragen: Für HTML5-Browser, schöne URLs erstellt werden, wenn Ajax -content ist geladen und sollte von Google indiziert werden. Für keine HTML5-Browser (z. B. IE 9 unterstützt history.pushState nicht) wird der alte Hashbang verwendet.

Also welche Version wird von Google gesehen? Gibt es irgendwelche Risiken, die Google sieht, doppelte Inhalte (einmal mit netten URL, einmal mit Hashbang)?

Vielen Dank für Ihre Gedanken dazu.

Antwort

0

Wenn eine Ajax-Seite mit Google indexiert werden muss, müssen wir einen HTML-Snapshot der Seite vom Server servern.

Für Ex: xyz.com/page1#!name=john

Google-Crawler findet diese #! Bezeichner und Anfragen http://xyz.com/page1?_escaped_fragment_=name=john Auf diese Weise kann unser Server den HTML-Snapshot der Seite Server.

Jetzt, wenn unsere URLs verschönert und mit # angehängt sind! Ajax-Seiten werden indiziert.

Für Seiten mit nur # in den URLs angehängt, Google Crawler gewonnen, t in der Lage zu sehen, den Inhalt über Ajax geladen und es wird nicht indiziert werden. Es gibt also keine Möglichkeit der Duplizierung

Wir können auch das Link-Tag im Kopfbereich der Seite mit rel kanonischen URL auf die Mail-URL verweisen. Siehe http://googlewebmastercentral.blogspot.in/2009/02/specify-your-canonical.html als Referenz.

0

HTML

<a href="http://some/other/page/1" data-history='{"some":"data"}' title="...">link1</a> 
<a href="http://some/other/page/2" data-history='{"some":"data"}' title="...">link2</a> 

JavaScript

$(document).on('click', '[data-history]', function(e){ 
    e.preventDefault(); 
    History.pushState($(this).data().history, this.title, this.href); 
}) 

Für Client mit JavaScript aktivieren, damit die hisotory.js wird damit umgehen zu einem AJAX-Request, für Client ohne JavaScript, es wird die normale Seite anfordern.

0

Ich würde empfehlen, nur HTML5 History API für Browser zu verwenden, die die API unterstützen (etwa 70% der Browser), während die regulären statischen Seiten für Browser bereitgestellt werden, die dies nicht tun. Auf diese Weise wird es keine Möglichkeit geben, dass Suchmaschinen etwas anderes als vollständige kanonische statische URLs sehen.