Google zaktualizowało dokumentację techniczną dla JavaScript SEO, wprowadzając jaśniejsze wytyczne dotyczące obsługi tagów canonical na stronach renderowanych przez JavaScript. Okazuje się bowiem, że wiele problemów z canonicalami wynikać może ze sprzecznych sygnałów przed i po wyrenderowaniu kodu JS.
Kanonikalizacja dzieje się dwa razy – i tu pojawia się problem
Google wprowadził do dokumentacji JavaScript SEO zapis o problemie, który dotąd nie był wystarczająco jasno opisany. Zmiana podkreśla, że kanonikalizacja może wystąpić dwukrotnie podczas przetwarzania strony przez wyszukiwarkę. Pierwszy raz podczas crawlowania surowego HTML, drugi raz po wyrenderowaniu JavaScript.
Matt G. Southern z Search Engine Journal wskazuje, że jeśli surowy HTML zawiera jeden canonical URL, a JavaScript ustawia inny, Google otrzymuje sprzeczne sygnały. Taka sytuacja może prowadzić do nieoczekiwanych rezultatów indeksowania. Dokumentacja potwierdza, że wstrzykiwanie tagów canonical przez JavaScript jest technicznie wspierane, ale niezalecane.
Dwie metody canonicali w JavaScript. Jedna zalecana, druga awaryjna
Według zaktualizowanej dokumentacji Google, deweloperzy mogą wybrać jedno z dwóch rozwiązań. Wybór zależy od architektury strony:
- Metoda preferowana: ustawienie canonical URL w surowym HTML tak, aby pasował do URL, który ostatecznie wyrenderuje JavaScript. Google otrzymuje wtedy spójne sygnały przed i po renderowaniu.
- Metoda awaryjna: jeśli JavaScript musi ustawić inny canonical URL, Google zaleca całkowite pominięcie tagu canonical w początkowym HTML. To minimalizuje ryzyko sprzecznych sygnałów między fazą crawlowania i renderowania.
- Zasada uniwersalna: tylko jeden tag canonical może istnieć na stronie po zakończeniu renderowania. Wiele tagów lub modyfikacje istniejącego tagu prowadzą do problemów z indeksowaniem.
Search Engine Journal podkreśla, że narzędzie URL Inspection w Google Search Console pokazuje zarówno surowy, jak i wyrenderowany HTML. Deweloperzy mogą tam porównać, czy implementacja canonical jest spójna w obu fazach przetwarzania.
Frameworki JavaScript w centrum uwagi
Aktualizacja dotyczy szczególnie stron zbudowanych na React, Vue lub Angular. Według Search Engine Journal, frameworki te obsługują routing i strukturę strony po stronie klienta, co stwarza lukę czasową między crawlowaniem a renderowaniem. Właśnie w tej luce sygnały canonical mogą się rozbiegać.
Matt G. Southern wskazuje, że to nie jest zmiana w sposobie działania Google – to jedynie wyjaśnienie zachowania, które mogło wcześniej nie być oczywiste. Jeśli w Search Console pojawiają się nieoczekiwane wybory canonical URL w raportach indeksowania stron, warto sprawdzić zgodność między surowymi a wyrenderowanymi tagami canonical. W wielu przypadkach fix sprowadza się do zsynchronizowania implementacji server-side i client-side, żeby wysyłały ten sam sygnał w obu fazach przetwarzania Google.
Źródło
Te artykuły powinny Cię zainteresować
O autorze
Nazywam się Michał Małysa i od wielu lat zajmuję się zawodowo SEO oraz analizą treści, a od 2023 roku w zakres moich obowiązków i zainteresowań dość naturalnie weszło AI. Na stronie MałySEO porządkuję wiedzę o pozycjonowaniu stron internetowych, AI Search oraz działaniu LLM-ów. Prowadzę również MałySEO Newsletter, do którego subskrypcji serdecznie Cię zachęcam na podstronie najlepszego w Polsce newslettera SEO.
Jako że przygotowanie materiałów do MałySEO Newslettera oraz na bloga zajmuje nieco czasu, może zaświtać Ci w głowie dość miły z mojej perspektywy pomysł drobnego rewanżu. Jeżeli uznasz, że lektura tego wpisu była dla Ciebie czymś więcej, niż tylko szybkim odklepaniem randomowej internetowej treści, możesz postawić mi kawkę na buycoffee.to. Z góry dziękuję!
Jeżeli z jakiegoś powodu potrzebujesz się ze mną skontaktować, wyślij mail na adres kontakt[at]michalmalysa.pl
