Zastosowanie na stronie internetowej techniki AJAX pozwala na szybkie i sprawne przeładowywanie treści bez konieczności przeładowywania całej strony, co poprawia jej funkcjonalność i interakcję z użytkownikiem. Ponieważ jednak AJAX opiera się na dynamicznym generowaniu treści pojawia się problem z ich odczytywaniem przez roboty wyszukiwarek. W związku z tym w 2009 r. Google przedstawił zestaw propozycji, które umożliwiają robotom przeszukiwanie i indeksowanie treści generowanych za pomocą AJAX’a. Zalecone zostało wtedy m.in. stosowanie tzw. „HTML snapshot” czy adresów URL zawierających specjalne oznaczenie „_escaped_fragment_”. Pełne wytyczne dostępne są na stronie: http://googlewebmastercentral.blogspot.com/2009/10/proposal-for-making-ajax-crawlable.html.
Kilka dni temu Google ogłosił jednak, że omawiane zalecenia nie są już rekomendowane. Obecnie Google jest w stanie odczytywać i renderować strony tak samo jak nowoczesne przeglądarki internetowe. Warunkiem jest odblokowanie robotom Google dostępu do plików JavaScript i CSS strony. Z tego względu zmienione zostały techniczne wskazówki dla webmasterów oraz wysyłane były powiadomienia, w których zalecano by nie blokować tych zasobów strony przed Googlebotem poprzez plik robots.txt.
W związku z dezaktualizacją wytycznych z 2009 r. Google w najnowszym komunikacie zarekomendował stosowanie takich technologii jak np. History API pushState(), która zapewnia dostępność stron z AJAX’em dla szerszej grupy przeglądarek internetowych, a także dla systemów Google.
Poniżej wyjaśniamy pewne wątpliwości, które mogą pojawić się w efekcie zmiany zaleceń Google:
- Jeśli strona wykorzystuje nierekomendowane już adresy URL obejmujące „_escaped_fragment_” to nie przestanie być ona indeksowana. Google zamierza jednak przeszukiwać, renderować i indeksować adresy URL zawierające „#!”, dlatego podczas przeprowadzania aktualizacji serwisu wskazane jest wdrożenie najlepszych praktyk stosowanych w tworzeniu stron z technologią AJAX.
- Gdy tworzona będzie nowa strona lub przebudowywana obecna i nie będą w niej już stosowane adresy „_escaped_fragment_” to nie jest konieczne ustawianie przekierowań ze starych adresów.