Jak zrobić przekierowania JavaScript dla SEO?

Dowiedz się, jak wdrożyć przekierowania Javascript, jednocześnie minimalizując ryzyko, opierając się na dokumentacji Google. Przekierowania JavaScript to jedna z metod dostępnych dla webmasterów w komunikowaniu zarówno użytkownikom, jak i wyszukiwarkom, że żądany adres URL jest niedostępny, na stałe lub tymczasowo. Adres URL, który jest następnie obsługiwany, powinien być postrzegany jako alternatywny lub nowy stały. Zazwyczaj najlepsze praktyki echa, które należy użyć po stronie serwera 301, 302 lub 307.

 

Zazwyczaj serwery hostujące aplikacje JavaScript (JS) to serwery Nginx, z plikami konfiguracyjnymi, w których zawsze można zaimplementować przekierowania po stronie serwera, co jest zalecane przez Google. Rzućmy jednak okiem na bezgłowe architektury stron internetowych, które stają się coraz bardziej popularne. Zauważyliśmy, że nie wszystkie kompilacje headless pozwalają na przekierowania po stronie serwera i opierają się na implementacji po stronie klienta – są to przekierowania JavaScript. Podczas gdy niektóre platformy CMS typu headless mają przepisy umożliwiające konfigurowanie przekierowań na poziomie serwera lub aplikacji, jedną z korzyści przejścia na architekturę bezgłową jest to, że nie używasz już monolitu, ale model mikrousług.

 

Z tego powodu programiści będą starali się zmniejszyć zależności i stworzyć elastyczność w stosie. Zarządzanie przekierowaniami w interfejsie użytkownika (np. Vue.JS) oznacza, że ​​możesz zmienić CMS o jeden mniej uwagi. W tym miejscu, jako specjaliści SEO, musimy określić i ustanowić możliwości przekierowywania adresów URL, gdy klient chce przeprowadzić migrację do architektury bezgłowej lub innej formy stosu technologicznego JAMstack. Jeśli chodzi o sposób działania przekierowań JavaScript, zazwyczaj są one implementowane za pomocą funkcji window.location.replace i działają dobrze dla użytkowników.

 

Ale to, jak dobrze interpretują je wyszukiwarki, jest przedmiotem dyskusji. W dokumentacji Centrum wyszukiwania Google wyszukiwarka ostrzega, że ​​należy:

Używaj przekierowań JavaScript tylko wtedy, gdy nie możesz wykonać przekierowań po stronie serwera lub metaodświeżania.

Jak zrobić przekierowania JavaScript dla SEO

A wraz z ich włączeniem wymyka się, że pracują dla Google i z perspektywy SEO (mówiąc anegdotycznie, jest to zdecydowanie interpretacja, którą miało wielu programistów). Ale dla kontrastu, jeszcze w 2020 roku Gary Illyes z Google publicznie stwierdził, że przekierowania JavaScript „prawdopodobnie nie są dobrym pomysłem”.

Przekierowania Js prawdopodobnie nie są jednak dobrym pomysłem.

— Gary 鯨理/경리 Illyes (@methode) 8 lipca 2020 r

 

Było to bezpośrednią odpowiedzią na wątek związany z internacjonalizacją i przekierowaniami. Niemniej jednak rodzi to pytania, dlaczego mogą nie być dobrym pomysłem, potencjalnie potwierdzając, że dokumentacja Google ostrzega przed używaniem ich jako priorytetowego rozwiązania.

 

Jak zaimplementować przekierowania JavaScript

Najpopularniejszą metodą implementacji przekierowań JavaScript jest metoda window.location.replace, na przykład:

window.location.replace(„https://dantaylor.online”);

Jeśli otworzysz Dev Tools (CTRL + SHIFT + I) i wpiszesz powyższy wiersz w konsoli, przejdziesz do strony głównej mojej witryny. Inną metodą implementacji jest użycie window.location.href, ale może to powodować problemy z użytkownikami. Dzięki metodzie replace, gdy użytkownik kliknie z powrotem, przeglądarka załaduje poprzednią stronę – ale dzięki metodzie href przeglądarka załaduje i przekieruje użytkownika z powrotem do tej samej strony, którą właśnie próbował opuścić (ponieważ jest ona przechowywana w historia nawigacji).

 

Powoduje to pętlę/pułapkę przekierowania UX, prowadzącą użytkownika do zamknięcia karty i negatywnego doświadczenia ze stroną internetową. W przypadku wielu popularnych platform typu headless, takich jak Gatsby , istnieją gotowe metody obsługi i implementacji przekierowań. W Gatsby możesz zainstalować gatsby-plugin-gatsby-cloud i wdrożyć przekierowania 1:1, przekierowania z symbolami wieloznacznymi i przekierowania „splat”. Podobnie popularne bezgłowe systemy CMS, takie jak Jekyll i Strapi , zawierają gotowe moduły i wtyczki ułatwiające implementację przekierowań.

 

Jak Google przetwarza przekierowania JavaScript

Podobnie jak renderowanie JavaScript, Google wykonuje JavaScript w procesie dwuetapowym i korzysta z usługi renderowania stron internetowych. Możesz przeczytać więcej o tym, jak Google przetwarza JavaScript tutaj. Jednak na potrzeby tego artykułu ważne jest, aby podkreślić niuanse JavaScript i to, jak Google często mówi o nim wiele – oraz jak my, jako eksperci SEO, to interpretujemy.

W 2019 roku, podczas filmów Google Mythbusting , Martin Splitt podkreślił, że należy „odpowiedzialnie” używać JavaScript, aby zapobiec „opóźnianiu się” treści w procesie Google. W 2020 r., jak podkreślono we wcześniejszym tweecie w tym artykule, Gary Illyes był zdania, że ​​używanie przekierowań JS prawdopodobnie nie jest dobrym pomysłem. Podczas odcinka podcastu Search Off The Record z 2021 r. zwolennicy Google podkreślili, że nie powinieneś mieć żadnych problemów z JavaScript , o ile Google widzi krytyczne znaczenie strony (propozycja wartości, korzystny cel).

 

Odnosząc to z powrotem do przekierowań JavaScript i tego, jak Google je przetwarza: Kiedy Google napotka przekierowanie JS, wyszukiwarka najpierw musi wyrenderować JS, zidentyfikować go jako przekierowanie, a następnie „podążać” nową ścieżką. To kosztuje dodatkowy czas i zasoby (dwie rzeczy, które Google ogranicza na stronach internetowych, które często nazywamy po prostu budżetem indeksowania ). Z tego powodu Google zdecydowanie preferuje przekierowania po stronie serwera (tradycyjne 301, 302, 307) od przekierowań JS.

Zostało to potwierdzone przez Google dopiero w czerwcu 2022 r. w filmie dotyczącym godzin pracy SEO. W innym nagraniu godzin pracy SEO ze stycznia 2020 r. Google podkreślił, że przekierowania JavaScript trwają dłużej niż przekierowania po stronie serwera. Możesz obejrzeć ten film tutaj. Dla porównania, dokumentacja Centrum wyszukiwania Google dotycząca przekierowań po raz pierwszy zawierała przekierowania JavaScript w czerwcu 2021 r., więc pod względem ogólnej „osi czasu SEO” jest to wciąż całkiem nowe.

 

Czy przekierowania JavaScript działają w SEO?

Odwołując się do dokumentacji Centrum wyszukiwania Google i implementacji przekierowań JavaScript , rozszerza ostrzeżenie dotyczące używania przekierowań JavaScript w następujący sposób:

Chociaż Google próbuje renderować każdy adres URL indeksowany przez Googlebota, renderowanie może się nie powieść z różnych powodów. Oznacza to, że jeśli ustawisz przekierowanie JavaScript, Google może go nigdy nie zobaczyć, jeśli renderowanie treści nie powiodło się.

 

Wiąże się to z innym ulubionym technicznym SEO: renderowaniem. A dokładniej, co może się stać, jeśli usługa renderowania stron internetowych nie wykona i nie wyrenderuje kodu JavaScript dla przekierowania? Jeśli z jakiegoś powodu Google nie wykona/renderuje kodu JavaScript, załaduje początkowy adres URL żądania. W zależności od konfiguracji mogą się zdarzyć dwie rzeczy:

  • Będzie albo pusty, albo spowoduje wyświetlenie miękkiego błędu 404 w Google Search Console .
  • Zwróci oryginalną zawartość strony, przetworzy ją, a następnie zacznie przetwarzać ją jako „normalną”, co nie jest idealne, jeśli chcesz, aby ta zawartość nie była już dostępna.

 

Aby zminimalizować jak największe ryzyko, implementując przekierowania JavaScript, powinieneś:

  • Pamiętaj, że Google jest bezpaństwowcem ; wszelkie przekierowania frontonu nie powinny opierać się na pamięci lokalnej lub plikach cookie HTTP (czyli trwałości danych).
  • Nie polegaj na uprawnieniach użytkownika do inicjowania przekierowań , ponieważ Google odrzuca prośby użytkowników o pozwolenie.
  • Nie używaj fragmentarycznych adresów URL .
  • Zmniejsz wewnętrzne linki do „oryginalnego” adresu URL i usuń go z mapy witryny XML, zapewniając zamiast tego nowy „docelowy” adres URL, aby dawać spójne sygnały wyszukiwarkom.

Ostatnia uwaga, dotycząca link equity i dystrybucji PageRank/link equity. Badania nad tym mają ponad siedem lat i są dostępne za pośrednictwem Wayback Machine. Jednak logika, teoria i wcześniejsze badania sugerują, że PageRank działa na przekierowaniu JavaScript tak, jak w przypadku przekierowania po stronie serwera (kiedy Google będzie miało możliwość ich przetworzenia).