2012-12-06 15 views
5
rozmowa

Miejmy o AJAX indeksowania przez google:history.js + Google

Od history.js jest miłą alternatywą dla brzydkich hashbang adresów URL Zastanawiałem się jeden pewien problem: dla przeglądarek HTML5, ładne adresy URL są tworzone jeśli ajax -content jest załadowany i powinien być indeksowany przez google. Dla przeglądarek bez HTML5 (np. IE 9 nie obsługuje history.pushState) używany jest stary hashbang.

Która wersja jest widoczna w google? Czy istnieje ryzyko, że Google zobaczy duplikaty treści (jeden raz z fajnym adresem URL, jeden raz z hashbangiem)?

Dziękuję za wszelkie przemyślenia na ten temat.

Odpowiedz

0

Jeśli strona ajax musi być indeksowana za pomocą google, musimy przesłać migawkę HTML strony z serwera.

Dla ex: xyz.com/page1#!name=john

Robot Google znajdzie to #! identyfikator i żądania http://xyz.com/page1?_escaped_fragment_=name=john W ten sposób nasz serwer może serwerować migawkę HTML strony.

Teraz, gdy nasze adresy URL zostały ulepszone i dołączone do #! Strony ajax zostaną zindeksowane.

Dla stron zawierających tylko # dołączone w adresach URL, robot indeksujący google wygrał; t może zobaczyć zawartość załadowaną przez ajax i nie będzie indeksowany. Tak więc nie będzie możliwości duplikacji

Możemy również użyć tagu linku w sekcji head strony z rel-cannonical url wskazując adres URL poczty. Patrz: http://googlewebmastercentral.blogspot.in/2009/02/specify-your-canonical.html w celach informacyjnych.

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); 
}) 

Dla klienta z JavaScript włączona, hisotory.js zajmie to do żądania AJAX dla klienta bez JavaScriptu, to zwrócić się do normalnej strony.

0

Polecam używać wyłącznie interfejsu API historii HTML5 dla przeglądarek obsługujących interfejs API (około 70% przeglądarek) podczas wyświetlania zwykłych stron statycznych przeglądarkom, które tego nie obsługują. W ten sposób nie będzie żadnej możliwości, aby wyszukiwarki widziały coś innego niż pełne statyczne statyczne adresy URL.

Powiązane problemy