Strona zindeksowana bez zawartości
Status w Search Console: Strona zindeksowana bez zawartości
Adres jest w indeksie Google, ale robot nie odczytał treści strony: dostał kod 200 i pusty albo nieczytelny dokument. To ostrzeżenie, nie status „niezindeksowana”. Najczęstsze przyczyny to inna wersja strony dla robota niż dla ludzi, treść wstrzykiwana wyłącznie przez JavaScript, zablokowane zasoby, pusty szablon z cache albo format, którego Google nie czyta. Potwierdzisz to, oglądając zindeksowany HTML w narzędziu do sprawdzania adresów URL.
Co oznacza ten status
Google opisuje go tak: strona pojawia się w indeksie, ale nie udało się odczytać jej zawartości; możliwe przyczyny to maskowanie albo format, którego Google nie może zindeksować, a problem nie wynika z robots.txt (raport Indeksowanie stron). Status należy do ostrzeżeń, które według tej samej dokumentacji nie blokują indeksowania, ale ograniczają zrozumienie strony.
W praktyce robot dostał kod 200 i dokument bez tekstu. Dokumentacja (podstawy SEO dla JavaScriptu) mówi, że Google indeksuje tylko to, co widać w wyrenderowanym HTML. Pusta strona z kodem 200 może też skończyć jako soft 404, więc oba statusy sprawdzaj razem.
Najczęstsze przyczyny
Inna wersja dla robota niż dla użytkownika
Ochrona przed botami albo reguła CDN zwraca robotom pusty szkielet strony. Dla Google to maskowanie, czyli pokazywanie wyszukiwarce innej treści niż ludziom (zasady dotyczące spamu). Nawet niezamierzone kończy się pustą stroną w indeksie.
Treść tylko w JavaScripcie
Aplikacja renderowana po stronie klienta pobiera treść z API po załadowaniu. Jeśli skrypt zgłosi błąd albo API odpowie wolno, Google widzi pusty kontener div. Proces opisuje hasło o renderowaniu JavaScriptu.
Zablokowane zasoby
Robots.txt blokuje katalog /api/ albo /static/. Sama strona jest dostępna, ale skrypty i dane budujące treść już nie. Po renderowaniu zostaje nagłówek i stopka.
Pusty szablon z cache
Wtyczka cache zapisała odpowiedź z chwili awarii bazy danych. Użytkownicy z ciasteczkiem sesji widzą pełną stronę, robot dostaje pustą kopię z cache.
Format albo typ treści, którego Google nie czyta
Plik binarny wysłany z nagłówkiem Content-Type: text/html, obraz z tekstem zamiast tekstu albo zły zestaw znaków, który zamienia treść w ciąg znaków zapytania.
Treść za limitem rozmiaru
Według dokumentacji (Googlebot) Googlebot pobiera pierwsze 2 MB pliku, a resztę pomija. Gdy HTML zaczyna się od setek kilobajtów osadzonych skryptów, treść może nie zmieścić się w limicie.
Jak to potwierdzić
W Search Console sprawdź adres i kliknij „Wyświetl zindeksowaną stronę”. Zobaczysz HTML zapisany w indeksie, zrzut ekranu i w zakładce „Więcej informacji” listę zasobów, których nie udało się wczytać (narzędzie do sprawdzania adresów URL). Potem uruchom test wersji opublikowanej. Pusta wersja zindeksowana przy pełnej testowej wskazuje na cache albo chwilowy problem.
Z terminala porównaj, co dostaje robot i co dostaje przeglądarka:
curl -s -A "Googlebot/2.1" https://example.com/strona/ | wc -c- rozmiar odpowiedzi dla klienta z nazwą Googlebota,curl -s -A "Mozilla/5.0" https://example.com/strona/ | wc -c- rozmiar dla przeglądarki, duża różnica wskazuje na maskowanie,curl -sI https://example.com/strona/ | grep -i content-type- typ treści i zestaw znaków.
Potem zasoby: sprawdzarka robots.txt pokaże, czy ścieżka skryptu albo API jest zablokowana dla Googlebota. Z kolei sprawdzarka meta tagów czyta surowy HTML bez skryptów: jeśli nie znajdzie tytułu ani H1, treść powstaje dopiero w przeglądarce.
W logach znajdź żądania z czasu skanowania i sprawdź rozmiar odpowiedzi. IP zweryfikuj zgodnie z dokumentacją (weryfikacja żądań Googlebota), zanim uznasz, że pustą stronę dostawał Google.
Jak to naprawić
- Maskowanie: wyłącz reguły CDN i ochrony przed botami, które serwują robotom inną wersję strony.
- JavaScript: przenieś treść do HTML zwracanego przez serwer, przez renderowanie po stronie serwera albo prerenderowanie. Napraw błędy skryptów z zakładki „Więcej informacji”.
- Zasoby: usuń z robots.txt reguły blokujące skrypty, style i API potrzebne do zbudowania treści.
- Cache: wyczyść cache i ustaw, by pusta odpowiedź nigdy nie była zapisywana.
- Format: zwracaj HTML z poprawnym
Content-Typeicharset=utf-8. - Rozmiar: wynieś osadzone skrypty i style do osobnych plików.
- Po naprawie uruchom test wersji opublikowanej, kliknij „Poproś o zindeksowanie”, a w raporcie „Sprawdź poprawkę”.
Kiedy to w porządku, a kiedy działać
| Sytuacja | Ocena | Co zrobić |
|---|---|---|
| Adres techniczny bez treści | w porządku | dodać noindex albo usunąć z linków |
| Strony produktów albo wpisów z tym statusem | działać | sprawdzić renderowanie i cache |
| Status na całej domenie po wdrożeniu | awaria | wycofać wdrożenie, sprawdzić WAF i CDN |
Status jest nieszkodliwy tylko wtedy, gdy strona naprawdę nie ma treści. W każdym innym przypadku Google ma w indeksie pusty adres, który nie odpowie na żadne zapytanie. Następnym krokiem bywa status Strona zeskanowana, ale jeszcze niezindeksowana, gdy Google po kolejnym skanowaniu wyrzuci pustą stronę z indeksu. Warunki wejścia do indeksu zbiera hasło o indeksowalności.
Jak pilnować na co dzień
IndexRise co noc pobiera surowy HTML monitorowanych stron i porównuje tytuł, nagłówek H1, meta robots i canonical z zapisanym wzorcem. Zniknięcie tytułu albo H1 ze strony, która je miała, to sygnał, że szablon albo cache oddają pustą stronę, zanim Search Console pokaże ostrzeżenie. Kod 4xx na stronie, która odpowiadała 200, to zdarzenie krytyczne potwierdzane w kolejnym sprawdzeniu (5xx zgłaszamy od razu), osobne od „nie udało się sprawdzić”. Szczegóły opisuje strona o monitoringu SEO.
Najczęściej zadawane pytania
Czy strona z tym statusem jest widoczna w wynikach?
Formalnie jest w indeksie, ale Google nie zna jej treści, więc nie ma na co dopasować zapytań. W praktyce taka strona nie przynosi ruchu, dopóki nie naprawisz treści i nie doczekasz ponownego skanowania.
Czym różni się ten status od soft 404?
Soft 404 to strona z kodem 200, którą Google uznał za komunikat „nie znaleziono” i nie zindeksował. Tutaj strona jest w indeksie, ale robot nie odczytał z niej treści. Puste strony potrafią trafić do obu statusów, zależnie od tego, co Google zobaczył po renderowaniu.
Czy to przez robots.txt?
Nie. Dokumentacja Google mówi wprost, że ten status nie wynika z blokady w robots.txt. Blokada zasobów, na przykład skryptów albo API, może jednak sprawić, że po renderowaniu strona jest pusta.
Jak zobaczyć, co Google odczytał?
W narzędziu do sprawdzania adresów URL kliknij „Wyświetl zindeksowaną stronę”. Zobaczysz kod HTML, zrzut ekranu i listę zasobów, których nie udało się wczytać. Test wersji opublikowanej pokaże to samo dla bieżącej wersji.
Czy renderowanie po stronie serwera rozwiąże problem?
Zwykle tak, bo treść trafia do odpowiedzi HTTP bez czekania na wykonanie skryptów. Google renderuje JavaScript, ale każdy błąd skryptu albo zablokowany zasób zostawia pustą stronę.
Po naprawie status wciąż jest. Co robić?
Uruchom test wersji opublikowanej i sprawdź wyrenderowany HTML. Jeśli treść jest widoczna, kliknij „Poproś o zindeksowanie”, a w raporcie „Sprawdź poprawkę”. Status zniknie po ponownym skanowaniu.
Aktualizacja: 2026-10-20