Mariusz Gąsiewski

Jak nauczyć Google indeksować witrynę Ajax?

Google wprowadziło nowy mechanizm pozwalający indeksować treści witryny zbudowane za pomocą Ajax-u.

Indeksowanie treści Ajax

1. Potwierdzenie,że witryna Ajax obsługuje mechanizm indeksowania treści Ajax

W pierwszym kroku wskazujemy robotowi Google, że witryna wspiera mechanizm Google indeksowania treści Ajax. Robimy to poprzez umieszczenie w URL podstron witryny tokenu „#!”. Zamieniamy w adresach url znak „#” na „#!”.

Przykład dla witryny Ajax

Jeżeli w naszej witrynie Ajax mamy adres „www.strona.pl/#podstrona” powinien zostać on przekształcony na „www.strona.pl/#!podstrona”.

W ten sposób wskażemy Google, że ten adres może zostać zindeksowany.

2. Dostarczenie wersji HTML treści

W drugim kroku dostarczamy robotowi Google wersję HTML poszczególnych podstron.

W domyślnych ustawieniach robot miałby problem z zapytywaniem o adresy URL zawierające znak „#”. Z drugiej strony serwer witryny miałby problem z rozpoznaniem sytuacji, w których ma przekazać robotowi wersję HTML podstrony (uwzględniającą również wszelkie zdarzenia z wykorzystaniem zmiennych dynamicznych).

Z tego względu w celu pobrania określonej treści robot będzie zapytywał server witryny Ajax o zmodyfikowany adres tej treści.
Przykład dla witryny Ajax

Przy adresie podstrony „www.strona.pl/#!podstrona” zostanie on przekształcony przez robota na „www.strona.pl/?_escaped_fragment_=podstrona”

3. Indeksowanie treści bez znaku „#”

W przypadku, kiedy w obrębie witryny mamy adresy URL, które nie zawierają znaku „#”. Jeżeli chcemy, aby podstrony były indeksowane pod swoim oryginalnym adresem, a nie tym zmodyfikowanym przez robota (czyli tym zawierającym „?_escaped_fragment_”) powinniśmy zawrzeć w headerze podstrony tag:

<meta name="fragment" content="!">

Opis indeksowania treści Ajax w Centrum Pomocy Google

W przypadku, kiedy uznasz strone za przydatna dodaj na swojej stronie link do niej.
Po prostu skopiuj i wklej link podany nizej (Ctrl+C to copy)
Wyglad linku po wklejeniu na stronie: Jak nauczyć Google indeksować witrynę Ajax?

Dodaj link do:
| | | Y! MyWeb | +Google

11 komentarzy to “Jak nauczyć Google indeksować witrynę Ajax?”

  1. Grzegorz Dufajnon 07 mar 2010 at 20:26

    Jeżeli w naszej witrynie Ajax mamy adres “www.strona.pl/#podstrona” powinien zostać on przekształcony na “www.strona.pl/#podstrona”

    Czym różnią się te dwa adresy powyżej ?

  2. Mariusz Gąsiewskion 07 mar 2010 at 21:32

    Dzięki za uwagę! Wkradła się literówka.

  3. Pawelon 08 mar 2010 at 09:09

    Ciekawe. Tylko po co ten wykrzyknik?

  4. paweluton 08 mar 2010 at 09:14

    Przy adresie podstrony “www.strona.pl/#podstrona” zostanie on przekształcony przez robota na “www.strona.pl/?_escaped_fragment_=podstrona”

    a nie powinno być “www.strona.pl/#!podstrona” ?

  5. Mariusz Gąsiewskion 10 mar 2010 at 05:32

    Tak, to dokładnie ten sam błąd. Ktoś już implementował te rozwiązanie?

  6. jaco23on 12 mar 2010 at 20:04

    Ciekawe materiały

  7. Kornelon 26 mar 2010 at 11:19

    Witaj Mariuszu – zaimplementowaliśmy testowo to rozwiązanie pod adresem http://www.weblocus.pl/testy/ – całość została poprawnie zaindeksowana przez Google.

  8. Mariusz Gąsiewskion 26 mar 2010 at 16:14

    Fantastycznie! Możesz podać więcej informacji na temat implementacji?

  9. .firmyw1miejscu.plon 31 sie 2011 at 11:40

    witam, dzięki za artykuł, przydał mi się przy mojej stronce:)

  10. Dudixon 26 paź 2012 at 21:28

    Witam,
    ciekawi mnie jedna rzecz. Tworzymy w indexie wersję strony działającą na ajaxie i taką by wyświetlała to samo na linkach ?_escaped_fragment_, lecz czy przy wersji drugiej, podczas jej wyświetlania musimy zamienić linki na ?_escaped_fragment_=test czy mają pozostać #!test.

    Opisując dokładniej:
    – użytkownik widzi link #!test
    – google bot widzi link #!test, przerabia go na ?_escaped_fragment_=test, odwiedza przerobiony link i widzi kolejne linki, lecz w jakiej formie? Nadal #! czy już przerobione?

    Pozdrawiam

  11. proadaxon 10 lis 2013 at 14:36

    Witam,
    mam problem z indeksowaniem strony w Ajax
    a mianowicie chodzi o taki przypadek http://profesjonalneszkolenie.pl/

    google nie chce zindeksować podstron tej strony, widzi tylko główną witrynę.
    Próbowałem już różnych sposobów i w indeksie nadal tylko strona główna
    Plik index.html zawiera tylko opisy meta oraz link do podstron, a same podstrony są w katalogu „pages” bez znaczników html,head,body

    Spróbowałem też dostarczyć google wersji html http://profesjonalneszkolenie.pl/o-mnie.html
    I zrobiłem przekierowanie 301 na http://profesjonalneszkolenie.pl/#!O-mnie.html
    ale nadal nie pomogło.
    Może ktoś doradzić co zrobić?
    pozdrawiam