Dlaczego źródło strony i jej widok mogą się różnić

Gdy otwierasz stronę, przeglądarka najpierw otrzymuje odpowiedź serwera, zwykle zawierającą dokument HTML. Następnie może pobrać arkusze stylów, uruchomić JavaScript i zmienić zawartość dokumentu. Dlatego tekst widoczny na ekranie nie musi znajdować się w początkowym HTML. Może zostać dodany dopiero po wykonaniu skryptu albo po pobraniu danych z osobnego adresu.

Sama różnica nie oznacza błędu. W wielu serwisach JavaScript obsługuje menu, filtry czy interaktywne elementy. W audycie warto jednak sprawdzić, czy od niego zależą podstawowe informacje: opis produktu, główna treść artykułu, tytuł podstrony lub linki prowadzące do innych ważnych adresów. Jeśli skrypt się nie uruchomi albo pobranie danych się nie powiedzie, te elementy mogą być niedostępne.

Ustal punkt odniesienia: co wysyła serwer

Wybierz konkretną podstronę, na przykład kartę produktu, i zapisz jej adres wraz z ewentualnymi parametrami. Otwórz ją w przeglądarce, a następnie użyj polecenia „Wyświetl źródło strony”. Wyszukaj charakterystyczny fragment opisu, nazwę produktu oraz adresy kilku linków wewnętrznych. To pozwoli ustalić, czy znajdują się w początkowym HTML, czy pojawiają się później.

Nie myl widoku źródła z panelem „Elementy” w narzędziach deweloperskich. Ten drugi pokazuje bieżącą strukturę dokumentu, którą skrypty mogły już zmienić. Jeśli potrzebujesz dokładniej sprawdzić odpowiedź serwera, zajrzyj do panelu „Sieć”, wybierz główne żądanie dokumentu i obejrzyj jego odpowiedź. Zwróć też uwagę, czy nie nastąpiło przekierowanie: porównywanie źródła jednego adresu z widokiem innego prowadzi do mylnych wniosków.

Porównaj dokument po wykonaniu JavaScriptu

Teraz przejdź do panelu „Elementy” i ponownie wyszukaj te same fragmenty tekstu oraz linki. Jeśli nie było ich w odpowiedzi serwera, ale są w bieżącym dokumencie, zostały dodane lub zmienione po załadowaniu strony. Sprawdź również, czy są zwykłym tekstem i odnośnikami w strukturze strony. Napis narysowany na obrazie albo element reagujący na kliknięcie, lecz pozbawiony adresu linku, to coś innego niż tekst i odnośnik w HTML.

Powtórz próbę po odświeżeniu strony oraz, jeśli ma to znaczenie, po wejściu bezpośrednio na badany adres w nowej karcie. Serwis może działać inaczej podczas przechodzenia między podstronami niż przy pierwszej wizycie. Na próbę wyłącz JavaScript w przeglądarce i odśwież adres. Taki test szybko ujawnia zależność od skryptów, ale nie jest dokładną symulacją działania robota wyszukiwarki. Nie wyciągaj z niego samodzielnego wniosku, że treść nie może zostać zaindeksowana.

Gdy czegoś brakuje, szukaj przyczyny krok po kroku

Jeśli ważna treść nie pojawia się nawet po wyrenderowaniu strony, sprawdź konsolę błędów oraz panel „Sieć”. Zwróć uwagę na nieudane żądania skryptów i danych, odpowiedzi z błędami oraz zasoby, które ładują się wyjątkowo długo. Ustal, czy opis jest dostępny od razu, czy dopiero po kliknięciu, przewinięciu strony lub zaakceptowaniu komunikatu. Zanotuj warunki, w których problem występuje; ułatwi to jego odtworzenie osobie rozwijającej serwis.

Jeśli treść jest widoczna w przeglądarce, lecz nie ma jej w początkowym HTML, oceń znaczenie tej zależności. Dla głównego opisu kategorii lub listy linków do produktów ryzyko jest większe niż dla ozdobnego panelu. Jeżeli korzystasz z narzędzia wyszukiwarki umożliwiającego sprawdzenie konkretnego URL-a, porównaj jego podgląd lub wynik inspekcji z własnym testem. Pamiętaj, że pojedynczy podgląd pokazuje stan badanej strony w określonych warunkach, a nie gwarancję jej przyszłej widoczności.

Krótka checklista przed zgłoszeniem problemu

Przed przekazaniem ustaleń sprawdź: czy test dotyczył dokładnie tego samego adresu; czy ważne teksty i linki są w odpowiedzi serwera; czy pojawiają się w strukturze strony po uruchomieniu skryptów; czy działają przy bezpośrednim wejściu na podstronę; oraz czy konsola lub panel „Sieć” pokazują błędy. Zapisz po jednym przykładzie brakującego tekstu i linku, zamiast opisywać problem jedynie jako „strona jest pusta dla robota”.

Możliwym rozwiązaniem bywa udostępnienie kluczowej treści już w początkowym HTML, a użycie JavaScriptu do wzbogacenia interakcji. Nie zawsze wymaga to przebudowy całego serwisu: wybór sposobu renderowania zależy od jego architektury. Najpierw potwierdź konkretny brak i jego przyczynę, a potem ustal z zespołem technicznym zmianę, którą da się ponownie sprawdzić tymi samymi krokami.

Wróć do kategorii ↗