Renderowanie JavaScript i indeksacja
Renderowanie JavaScript — proces, w którym robot wyszukiwarki wykonuje skrypty strony, aby zobaczyć zawartość, której nie ma w oryginalnym HTML. Google to potrafi, ale robi to w dwóch etapach i nie natychmiast; inne roboty i parsery nie zawsze potrafią.
Jak to się dzieje
- Robot pobiera oryginalny HTML i od razu indeksuje to, co w nim jest.
- Strona trafia do kolejki do renderowania.
- Kiedy nadejdzie kolej, skrypty są wykonywane, a indeks jest uzupełniany.
Między pierwszym a trzecim krokiem mija od godzin do tygodni. Dla wiadomości i szybko zmieniających się stron jest to krytyczne, dla reszty — do zniesienia.
Kiedy pojawiają się problemy
| Sytuacja | Ryzyko |
|---|---|
| Cała zawartość ładowana jest przez skrypt | Opóźnienie indeksacji, czasami utrata części tekstu |
| Linki są zrobione nie tagiem a, a obsługą kliknięcia | Robot po nich nie przechodzi — strony nie są znajdowane |
| Zawartość pojawia się po działaniu użytkownika | Robot jej nie zobaczy: nie klika |
| Skrypty są zablokowane w robots.txt | Renderowanie niemożliwe |
| Skrypt zawiódł na wolnym połączeniu | Strona indeksowana jest pusta |
Jak sprawdzić swoją stronę
Najprostszy sposób — wyłączyć JavaScript w przeglądarce i otworzyć stronę: to, co zostanie, robot widzi od razu i na pewno. Drugi sposób — porównać oryginalny kod strony z wyrenderowanym drzewem w narzędziach dewelopera. Jeśli krytyczny tekst i linki są tylko w drugim — jest nad czym się zastanowić.
Co robić
Nie rezygnować z JavaScript, a trzymać w oryginalnym HTML to, co najważniejsze: tekst, nagłówki, wewnętrzne linki i metadane. Wszystko inne może być ładowane w dowolny sposób. Dla dużych stron zazwyczaj stosuje się renderowanie po stronie serwera lub wstępną generację stron.
Inne roboty potrafią mniej
Robot Google renderuje strony, ale wiele innych — crawlerzy mediów społecznościowych, zbieracze podglądów linków, część agentów AI — czyta tylko oryginalny HTML. Jeśli tytuł i opis pojawiają się na stronie przez skrypt, link do twojej strony w komunikatorze wydaje się pustą kartą.