Analiza techniczna witryn internetowych przy użyciu crawlerów takich jak Screaming Frog czy Sitebulb generuje obszerne pliki z danymi o setkach, a nierzadko tysiącach podstron. Ręczne przeszukiwanie takich arkuszy w celu znalezienia stron z za krótkimi lub brakującymi znacznikami <title>, opisami <meta description>, błędami nagłówków <h1>, podstron ze statusem HTTP 200 blokowanych przed indeksacją (tag noindex lub blokada w robots.txt), podstron z brakującym lub nieprawidłowym tagiem canonical, niedostępnych stron HTTP 404/403, a także nienaturalnie ciężkich podstron (> 2 MB) wpływających negatywnie na Core Web Vitals bywa żmudne i czasochłonne.
Aby usprawnić ten proces, stworzyłem przy pomocy Jules oraz Antigravity dedykowane narzędzie w Pythonie, które automatycznie wczytuje plik Excel z crawlera, filtruje podstrony (typy text/html; charset=utf-8, text/html lub puste pola z wykluczeniem plików graficznych i adresów ze znakiem ?), wykrywa błędy tagów SEO, problemy z indeksacją, tagami canonical, uszkodzone linki HTTP 404/403 oraz nienaturalnie ciężkie podstrony (> 2 MB), a następnie eksportuje wyniki do siedmiozakładkowego raportu Excel.
Przetestuj działanie algorytmu bezpośrednio w przeglądarce. Wgraj plik Excel (.xlsx) lub CSV z crawlera zawierający kolumny URL, TITLE, DESCRIPTION, H1, META_ROBOTS, ROBOTS_BLOCKED, CANONICAL, SIZE, CONTENT_TYPE i HTTP_STATUS, lub wczytaj dane testowe, aby przejrzeć wykryte błędy (analizowane są podstrony HTML; adresy ze znakiem ? i pliki graficzne są automatycznie pomijane).
Przeciągnij i upuść plik .xlsx lub .csv z crawlera tutaj
lub kliknij, aby wybrać plik z dysku
1. Zakładka Short_Titles (TITLE_LEN < 40 lub brak)
| URL | TITLE | TITLE_LEN |
|---|
2. Zakładka Desc_Errors (DESCRIPTION_LEN < 70 lub brak)
| URL | DESCRIPTION | DESCRIPTION_LEN |
|---|
3. Zakładka H1_Errors (Brak, < 15 zn., > 70 zn., Wielokrotne H1)
| URL | H1 | H1_LEN | Error_Type |
|---|
4. Zakładka Indexability_Errors (HTTP 200 + noindex w META_ROBOTS lub blokada ROBOTS_BLOCKED)
| URL | META_ROBOTS | ROBOTS_BLOCKED | Error_Type |
|---|
5. Zakładka Canonical_Errors (HTTP 200 + brak canonical lub canonical wskazujący na inny URL)
| URL | CANONICAL | Error_Type |
|---|
6. Zakładka HTTP_Errors (Wykryte błędy statusu HTTP 404 oraz 403)
| URL | HTTP_STATUS | Error_Type |
|---|
7. Zakładka Page_Size_Errors (HTTP 200 + rozmiar strony > 2 MB)
| URL | SIZE (Ciężar) | Error_Type |
|---|
Krótkie lub brakujące znaczniki title
Znacznik <title> to jeden z najważniejszych elementów oceny strony przez algorytmy wyszukiwarek, ponieważ wprost informuje, o czym jest dana podstrona. Brak tego tagu lub jego zbyt krótka treść sprawia, że Google ma trudności z prawidłowym dopasowaniem witryny do zapytań użytkowników. W efekcie strona może tracić potencjalny ruch organiczny, a w wynikach wyszukiwania wyświetli się przypadkowy, mało zachęcający fragment tekstu. Warto zadbać, aby tytuł miał unikalny charakter, wyczerpywał limit około 60 znaków i zawierał najważniejsze słowa kluczowe.
Opisy meta description
Choć tag <meta description> nie wpływa bezpośrednio na pozycję w wynikach wyszukiwania, pełni kluczową funkcję w budowaniu wysokiego współczynnika klikalności (CTR). Brakujące, powielone lub zbyt krótkie opisy sprawiają, że wyszukiwarka samodzielnie dobiera tekst ze strony, co w wynikach często wygląda mało zachęcająco i chaotycznie. Dobrze zoptymalizowany opis powinien działać jak zwięzła reklama, zawierająca wezwanie do działania (CTA) oraz obietnicę odpowiedzi na intencję użytkownika. Idealna długość to około 150-160 znaków, co gwarantuje pełną widoczność komunikatu na urządzeniach mobilnych i desktopach.
Błędy nagłówków H1
Nagłówek <h1> to główny tytuł widoczny dla czytelnika, który pomaga zarówno użytkownikom, jak i robotom indeksującym zrozumieć hierarchię oraz główny temat treści. Najczęstsze błędy to całkowity brak tego nagłówka, umieszczanie go w postaci grafiki bez odpowiedniego opisu alternatywnego lub stosowanie wielu tagów H1 na jednej podstronie. Poprawna optymalizacja wymaga, aby na każdej stronie znajdował się dokładnie jeden unikalny nagłówek H1, ściśle powiązany z główną frazą kluczową. Taki zabieg nie tylko wspiera działania SEO, ale również znacząco poprawia dostępność witryny.
Podstrony ze statusem HTTP 200 blokowane przed indeksacją
Status HTTP 200 oznacza, że podstrona ładuje się poprawnie, ale równoczesne blokowanie jej tagiem noindex lub w pliku robots.txt uniemożliwia jej pojawienie się w Google. Taka sytuacja jest pożądana dla wewnętrznych stron logowania czy regulaminów, jednak w przypadku kluczowych podstron ofertowych stanowi krytyczny błąd optymalizacyjny. Roboty wyszukiwarek omijają te zasoby, przez co marnowany jest cały potencjał rankingowy i biznesowy wartościowych treści.
Brakujący lub nieprawidłowy tag canonical
Tag canonical jest dyrektywą informującą wyszukiwarki, która wersja danego adresu URL jest tą główną, oryginalną i przeznaczoną do wyświetlania w wynikach. Jego brak lub błędna implementacja prowadzi do problemu duplikacji treści, zwłaszcza w sklepach internetowych z rozbudowanym filtrowaniem i sortowaniem produktów. W efekcie algorytmy Google mogą indeksować wiele niemal identycznych podstron, co rozmywa moc rankingową witryny i sztucznie wyczerpuje tzw. crawl budget. Właściwe wskazanie adresów kanonicznych pomaga utrzymać porządek w indeksie i kieruje autorytet linków dokładnie tam, gdzie jest on potrzebny.
Niedostępne strony HTTP 404 i HTTP 403
Błędy typu HTTP 404 (nie znaleziono) oraz HTTP 403 (odmowa dostępu) to jedne z najbardziej frustrujących problemów z perspektywy doświadczenia użytkownika. Kiedy potencjalny klient lub robot Google natrafia na niedostępny adres URL, drastycznie zwiększa to współczynnik odrzuceń i przerywa proces płynnego indeksowania witryny. Duża liczba uszkodzonych linków wewnętrznych sygnalizuje algorytmom, że strona jest zaniedbana pod kątem technicznym. Skutecznym rozwiązaniem jest regularne monitorowanie błędów i wdrażanie przekierowań 301 na najbardziej zbliżone, w pełni aktywne podstrony.
Nienaturalnie ciężkie podstrony (> 2 MB) a Core Web Vitals
Waga pojedynczej podstrony przekraczająca 2 MB to poważne obciążenie dla serwera oraz łącza użytkownika, co bezpośrednio przekłada się na długi czas jej ładowania. Takie opóźnienia drastycznie obniżają wskaźniki z grupy Core Web Vitals, w szczególności Largest Contentful Paint (LCP), który jest oficjalnym czynnikiem rankingowym. Najczęstszą przyczyną tego problemu są ogromne, nieskompresowane grafiki, osadzone filmy wideo oraz nadmiar zbędnego, nieużywanego kodu JavaScript i CSS. Odchudzenie zasobów, wdrożenie formatów nowej generacji (np. WebP) i zastosowanie leniwego ładowania (lazy loading) są niezbędne, aby strona była szybka i przyjazna dla SEO.