Jak przez drugą wersję językową wywaliłem stronę z Google
Dzisiaj małe, bolesne case study z mojego własnego podwórka.
Od jakiegoś czasu Google zaczął wyindeksowywać stronę, którą się opiekuję. Nie powiem, żeby to było miłe uczucie – frazy z TOP 1–10 wyleciały z wyników, a ruch organiczny zanurkował znacznie mocniej niż zwykle.
Nie miałem wcześniej chwili, żeby usiąść do tego na spokojnie. Wczoraj wreszcie znalazłem ten czas, połączyłem kropki i w parę minut znalazłem przyczynę.
Okazało się, że popełniłem dwa błędy przy wdrażaniu wersji angielskiej – i to dokładnie te, przed którymi oficjalna dokumentacja Google wprost ostrzegała.
Oczywiście miałem ku temu powody, aby wdrożyć nieco inaczej niż standardowo, ale… wina ostatecznie i tak jest moja.
Żeby nikt nie musiał powtarzać mojej chujozy, to tak:
Struktura URL i zapomniane kanoniki
Wersję językową zawsze stawiaj w osobnym podkatalogu (np. /en/), a nie na parametrze ?lang=en. U mnie początkowo wisiał parametr, a po migracji na podkatalog nikt nie zaktualizował tagów kanonicznych. Na podstronach w /en/ zostały stare adresy kanoniczne wskazujące na wersję z parametrem. Wyszukiwarka dostała sprzeczne sygnały, zgłupiała i zaczęła gubić podstrony z indeksu.
Zasada jest prosta – każda wersja językowa musi mieć samoreferujący adres kanoniczny wskazujący dokładnie na jej własny adres URL.
Automatyczne przełączanie języka przez przeglądarkę
To był główny winowajca. Na stronie włączono automatyczne przełączanie na język angielski, gdy przeglądarka użytkownika zgłaszała taki język. Brzmi to prosto i wygodnie dla człowieka, ale dla SEO to prosta ścieżka do… no tego, co Patryczek zrobił.
Boty Google (Googlebot) indeksują strony niemal wyłącznie z amerykańskich adresów IP i wysyłają domyślne nagłówki dla języka angielskiego.
Co w takim razie widział robot Google, wchodząc na polskie podstrony?
System od razu traktował go jak użytkownika z USA i serwował mu angielskie treści, angielskie title i angielskie metaopisy. W efekcie robot uznał, że polskie treści przestały istnieć (no może nie do końca). Zaczął je mocno mieszać – polska treść, META opisy eng. Polskie frazy natychmiast wyleciały z indeksu, a w ich miejsce weszły niedopasowane wersje angielskie.
Dokumentacja Google Search Central (dawniej webmasters) mówi o tym wprost – nigdy nie wolno stosować automatycznych przekierowań ani podmiany treści na podstawie adresu IP czy nagłówka języka przeglądarki.
Zamiast automatu daje się użytkownikom nienachalny baner z wyborem języka albo zwykły przełącznik w menu, a robotom podaje poprawne tagi hreflang.
Sytuację wczoraj ogarnąłem i naprawiłem, ale na powrót pozycji przyjdzie mi teraz trochę poczekać.