Niedziałające linki to usterka techniczna, która szybko odbija się na doświadczeniu użytkownika, powoduje spadki ruchu i może generować problemy z indeksacją. W praktyce nie dotyczy to wyłącznie stron zwracających 404, lecz także błędnych przekierowań, pętli, usuniętych plików, obrazów oraz odnośników do zasobów zablokowanych albo chwilowo niedostępnych. Tego typu błąd bywa obecny w treści, menu, stopce, nawigacji, modułach szablonu czy w linkach wychodzących. Kluczowe nie jest samo zauważenie usterki, lecz ustalenie jej przyczyny, skali oraz realnego wpływu na użytkownika i SEO. Dopiero wtedy można dobrać właściwe działanie naprawcze: podmianę linku, ustawienie przekierowania, przywrócenie strony albo usunięcie odnośnika. W tym poradniku skupimy się na tym, jak identyfikować problemy, nadawać im priorytety i nie „naprawiać” ich w sposób, który pogorszy sytuację.
Czym są niedziałające linki i dlaczego są problemem?
Niedziałające linki to odnośniki prowadzące do adresów URL lub zasobów, które nie otwierają się prawidłowo albo zwracają niewłaściwą odpowiedź serwera. Najczęściej kojarzy się je z błędem 404, jednak w praktyce wchodzą w grę także 410, 403, 500, pętle przekierowań, długie łańcuchy 3xx, błędne kotwice oraz adresy względne, które w efekcie prowadzą donikąd. Problem może dotyczyć nie tylko podstron, lecz również obrazów, plików PDF, skryptów czy elementów ładowanych dynamicznie.
Z perspektywy użytkownika oznacza to przerwanie ścieżki działania. Ktoś klika w pozycję w menu, produkt, wpis albo przycisk i zamiast oczekiwanej treści widzi pustą stronę lub komunikat o błędzie. Szczególnie dotkliwe są broken links w menu, nawigacji, kartach produktów oraz na stronach docelowych kampanii, ponieważ uderzają w obszary o największym znaczeniu biznesowym.
W SEO problemem jest nie tylko sam kod błędu, ale również jego otoczenie. Gdy linki wewnętrzne prowadzą do niedostępnych adresów, robot marnuje budżet na zbędne przejścia, a istotne strony mogą być rzadziej odkrywane i słabiej powiązane w strukturze serwisu. Jeśli błędne adresy występują w mapie witryny, w szablonie lub w wielu sekcjach, skala kłopotu potrafi urosnąć w krótkim czasie.
Warto też odróżnić błąd rzeczywisty od pozornego. Crawler może raportować problem inaczej niż przeglądarka, a logi serwera potrafią pokazać jeszcze inny obraz, zwłaszcza przy JavaScript, CDN, blokadach dostępu lub niestandardowej konfiguracji odpowiedzi HTTP. Sam błąd 404 nie wystarcza, trzeba ustalić, skąd pochodzi link, na jaki zasób wskazuje oraz czy dotyczy pojedynczego miejsca, czy całego szablonu.

Najczęstsze przyczyny powstawania broken links
Broken links najczęściej pojawiają się po zmianach w strukturze serwisu, treściach albo konfiguracji technicznej. Często są konsekwencją migracji domeny, przebudowy adresów URL, usunięcia produktów, zmiany kategorii czy ręcznej edycji treści bez aktualizacji starszych odnośników. W praktyce problem zwykle wychodzi na jaw tam, gdzie wdrożenie zmian wyprzedziło kontrolę linkowania.
- migracja domeny lub zmiana struktury URL bez pełnego planu przekierowań,
- usunięcie strony, produktu, wpisu lub pliku bez poprawienia miejsc, które nadal do niego prowadzą,
- nieprawidłowe reguły 301, 302, pętle przekierowań oraz łańcuchy kilku przekierowań ustawionych jedno po drugim,
- ręczne dodanie linków w CMS z literówką, błędnym adresem względnym lub nieaktualną kotwicą,
- zmiany w menu, breadcrumbach, stopce albo szablonie, które rozprowadzają jeden wadliwy link na setki podstron,
- odnośniki generowane przez JavaScript, filtry, parametry URL, wersje językowe i moduły, których prosty crawl nie obejmuje.
Często źródłem problemu bywają również automatyczne decyzje naprawcze. Typowy przykład to przekierowanie wszystkich usuniętych adresów na stronę główną albo do zbyt ogólnej kategorii, mimo że użytkownik szukał konkretnej treści. Nie każdy usunięty adres powinien dostać przekierowanie 301 — jeśli nie ma sensownego odpowiednika, lepsze bywa usunięcie linku albo kontrolowany status 410.
W większych serwisach sytuację dodatkowo komplikuje warstwa techniczna. Link może wyglądać poprawnie w kodzie źródłowym, a po renderowaniu prowadzić w inne miejsce, działać niepoprawnie tylko w jednej wersji językowej albo zwracać odmienny status po przejściu przez CDN czy warstwę cache. Prosty skan strony często nie wykrywa linków generowanych przez JavaScript, filtry, parametry, pliki i wersje językowe.
Warto analizować nie tylko adres docelowy, ale także punkt, z którego bierze się błąd. Jeżeli wadliwy link znajduje się w komponencie globalnym, np. w menu lub stopce, ten sam problem będzie widoczny na dużej części serwisu. Jeśli ten sam błędny link występuje w szablonie, jedna poprawka w pojedynczej treści nie rozwiąże problemu globalnie.
Jak przeprowadzić audyt linków w praktyce
Audyt linków w praktyce sprowadza się do zebrania wszystkich adresów URL z kilku źródeł, sprawdzenia odpowiedzi serwera i wskazania, gdzie dokładnie pojawia się nieprawidłowość. Sam crawl strony to za mało, ponieważ część błędów wychodzi dopiero w logach, w Google Search Console albo podczas ręcznego przejścia ścieżki użytkownika. Najczęstszy błąd to praca tylko na jednej liście 404, bez sprawdzenia źródła linku i skali problemu.
Na początku należy określić zakres audytu. W małym serwisie zazwyczaj wystarczy pełny crawl oraz kontrola najważniejszych sekcji. W większym warto dodatkowo uwzględnić wersje językowe, paginację, filtry, pliki PDF, obrazy, linki generowane przez JavaScript oraz elementy szablonowe, takie jak menu, stopka i breadcrumbs.
Dane do audytu dobrze jest zestawić z kilku miejsc, ponieważ każde z nich pokazuje inny wycinek problemu. Crawler wyłapie relacje między stronami, Search Console pokaże błędy widziane przez Google, analityka wskaże podstrony z realnym ruchem, a logi serwera potwierdzą, co faktycznie było wywoływane przez użytkowników i roboty.
- crawl całego serwisu i ważnych sekcji ręcznie wskazanych,
- mapy witryny XML i adresy kanoniczne,
- Google Search Console, w szczególności raporty stron z błędami i wykluczeniami,
- analityka obejmująca ruch na stronach wejścia oraz stronach transakcyjnych,
- logi serwera pokazujące rzeczywiste żądania i statusy HTTP.
W trakcie weryfikacji nie ograniczaj się wyłącznie do błędu 404. Należy rozróżnić strony usunięte świadomie od tych, które „zniknęły” przez nieprawidłowe przekierowanie, pętlę 3xx, odpowiedź 500, błędny adres względny lub odnośnik do zasobu zablokowanego. To, że przeglądarka wyświetla błąd, nie zawsze oznacza to samo, co odpowiedź serwera widoczna w logach.
Po zebraniu listy błędów trzeba je posegregować pod kątem wpływu. W pierwszej kolejności naprawia się linki wewnętrzne z menu, stron kategorii, kart produktów, landing page’y oraz treści, które generują ruch. Dopiero później przechodzi się do pojedynczych przypadków w starych wpisach czy mniej istotnych linkach wychodzących.
Warto też za każdym razem ustalić, czy problem ma charakter lokalny, czy wynika z szablonu. Jeżeli ten sam błędny link pojawia się w nawigacji albo w komponencie CMS, korekta jednej podstrony nie rozwiąże sprawy. Jedna usterka w szablonie potrafi wygenerować setki lub tysiące błędnych odnośników.

Etapy procesu naprawy niedziałających linków
Proces naprawy niedziałających linków obejmuje inwentaryzację, klasyfikację błędów, wybór sposobu naprawy, wdrożenie oraz walidację. Każdy z etapów jest istotny, ponieważ nietrafna decyzja techniczna często przenosi problem w inne miejsce, zamiast go wyeliminować. Najwięcej szkód przynosi automatyczne przekierowywanie wszystkiego na stronę główną albo pozostawianie długich łańcuchów przekierowań.
- Inwentaryzacja adresów — zbierasz URL-e z crawla, map witryny, analityki, Search Console, logów oraz sekcji uznanych biznesowo za krytyczne.
- Wykrycie i weryfikacja — sprawdzasz status HTTP, miejsce występowania linku, typ zasobu docelowego, zachowanie po renderowaniu oraz to, czy problem dotyczy wersji finalnej, czy jedynie jednego wariantu adresu.
- Klasyfikacja błędów — rozdzielasz linki wewnętrzne, wychodzące, zasoby techniczne, błędy szablonowe oraz przypadki wynikające z przekierowań albo konfiguracji serwera.
- Decyzja naprawcza — wybierasz między zmianą URL, aktualizacją linku do nowego adresu, wdrożeniem 301, przywróceniem strony, usunięciem odnośnika albo pozostawieniem prawidłowego 410.
- Wdrożenie — wprowadzasz zmiany w CMS, treściach, szablonach, regułach serwera, systemie produktowym lub konfiguracji frameworka.
- Walidacja i monitoring — ponownie crawlujesz serwis, weryfikujesz statusy finalne, brak pętli i łańcuchów, a następnie obserwujesz, czy problem nie wraca po kolejnych publikacjach lub zmianach asortymentu.
Kluczowym krokiem jest dobór właściwej metody naprawy. Jeżeli istnieje aktualny odpowiednik usuniętej strony, sensowne jest wdrożenie 301 do adresu najbardziej zbliżonego tematycznie. Gdy takiego odpowiednika brak, lepiej usunąć odnośnik albo pozostawić kontrolowany status usunięcia, zamiast odsyłać użytkownika w przypadkowe miejsce.
Wdrażanie zmian warto zaczynać od źródła problemu, a nie od jego skutków. Jeśli niedziałający adres wynika z modułu szablonu, importu produktów lub generatora linków w CMS, poprawkę należy wprowadzić właśnie tam. Naprawa objawu bez naprawy źródła zwykle kończy się szybkim powrotem tego samego błędu.
Po wdrożeniu należy zweryfikować efekt technicznie, a nie wyłącznie „na oko”. Link powinien prowadzić do finalnego URL-a bez niepotrzebnych przeskoków, być zgodny z kanonikalem i działać w środowisku produkcyjnym. Dobrym standardem jest również ponowne przejście kluczowych ścieżek, takich jak menu, filtrowanie, karta produktu, koszyk oraz formularze.
Na koniec pozostaje monitoring, ponieważ broken links potrafią wracać po zmianach treści, migracjach i porządkowaniu oferty. Warto utrzymywać stały raport nowych błędów oraz listę obszarów szczególnie podatnych na regresję. Regularna kontrola jest dużo tańsza niż naprawa dużej awarii po kilku miesiącach narastania problemu.
Strategie naprawcze dla różnych typów błędów
Strategie naprawcze dla różnych typów błędów opierają się na dopasowaniu metody do przyczyny, a nie do samego komunikatu 404. W praktyce w pierwszej kolejności ustala się, czy problem dotyczy linku wewnętrznego, wychodzącego, zasobu technicznego, przekierowania czy odpowiedzi serwera. Od tej diagnozy zależy, czy trzeba poprawić odnośnik, wdrożyć przekierowanie, przywrócić stronę, czy pozostawić kontrolowane usunięcie. Najczęstszy błąd to naprawianie adresu docelowego bez usunięcia źródła problemu.
Jeżeli link wewnętrzny prowadzi do nieistniejącej strony, najczęściej należy zaktualizować go do poprawnego adresu lub wdrożyć 301 na najbliższy odpowiednik. Ma to szczególne znaczenie w menu, breadcrumbs, listingach, kartach produktów oraz w linkach w treści, bo w tych miejscach błąd uderza jednocześnie w użytkownika i w roboty. Kiedy ten sam nieprawidłowy URL pojawia się w wielu lokalizacjach, lepiej sprawdzić szablon albo komponent, zamiast ręcznie poprawiać pojedyncze podstrony.
W przypadku stron usuniętych decyzja zależy od tego, czy istnieje sensowny zamiennik. Jeśli nowy odpowiednik rzeczywiście odpowiada tej samej intencji, 301 będzie właściwym rozwiązaniem. Jeżeli treść lub produkt zostały wycofane bez zastępstwa, lepiej usunąć linki prowadzące do tej strony albo pozostawić prawidłowy status 410. Nie warto przekierowywać wszystkiego na stronę główną, bo to zwykle pogarsza użyteczność i zaciera sygnał, co naprawdę zostało usunięte.
Linki wychodzące naprawia się nieco inaczej niż wewnętrzne, ponieważ nie masz kontroli nad serwisem docelowym. Na początek warto ustalić, czy strona zewnętrzna zmieniła adres, ogranicza dostęp, czy została trwale usunięta. Jeśli istnieje aktualny URL, podmieniasz odnośnik. Gdy źródło przestało istnieć albo budzi zastrzeżenia pod względem jakości, rozsądniej usunąć link niż zostawiać martwe lub wprowadzające w błąd przekierowanie.
Błędy zasobów technicznych, takich jak obrazy, pliki PDF, CSS czy JS, wymagają weryfikacji ścieżek oraz miejsca ich wywołania. Nierzadko problemem nie jest sam plik, lecz przeniesienie katalogu, niepoprawny adres względny, literówka albo stary odnośnik zaszyty w szablonie. W takich sytuacjach odtworzenie pliku bywa szybsze niż stawianie przekierowań, jednak warto ocenić, czy zasób nadal ma sens oraz czy nie powinien zostać zastąpiony nowszą wersją.
W przypadku przekierowań celem jest doprowadzenie użytkownika i robota do finalnego URL-a w możliwie najmniejszej liczbie kroków. Jeśli występuje łańcuch 301 albo pętla przekierowań, naprawa zwykle sprowadza się do skrócenia ścieżki i dopracowania reguł po stronie serwera, CMS-a albo CDN. Końcowy link powinien prowadzić od razu do finalnego adresu, a nie do kolejnego przekierowania. Ma to szczególne znaczenie po migracjach, przy zmianach struktury kategorii oraz podczas porządkowania produktów.
Statusy 403 i 500 należy rozpatrywać inaczej niż klasyczne 404, ponieważ najczęściej wskazują na problem z dostępem albo infrastrukturą. Przy 403 sprawdza się reguły blokad, firewalla, zabezpieczenia katalogów, limity dla user-agentów oraz konfigurację CDN. Przy 500 trzeba szukać przyczyny w aplikacji, serwerze, wtyczkach, czasie odpowiedzi lub błędach po stronie backendu. W takich przypadkach sama korekta linku nie wystarczy, bo adres może być prawidłowy, a zasób nadal pozostaje niedostępny.
Osobną kategorię stanowią błędne kotwice oraz linki generowane przez JavaScript. Kotwica może prowadzić do istniejącej strony, ale do nieistniejącego elementu, przez co użytkownik trafia nie tam, gdzie powinien. Odnośniki tworzone przez skrypty trzeba weryfikować po renderowaniu, ponieważ w prostym audycie HTML mogą wyglądać poprawnie albo w ogóle nie być widoczne. Jeśli serwis w dużym stopniu opiera się na JS, walidacja wyłącznie „surowego” kodu strony daje niepełny obraz.

Jakie narzędzia wykorzystać do monitorowania i walidacji
Do monitorowania i walidacji broken links najlepiej korzystać z kilku narzędzi równolegle, ponieważ każde pokazuje inny wycinek problemu. Crawler pokaże skalę oraz lokalizacje występowania linków, Google Search Console wskaże kwestie widoczne dla Google, a logi serwera potwierdzą, co faktycznie wywołują użytkownicy i roboty. Dopiero zestawienie tych źródeł pozwala odróżnić pojedynczą usterkę od problemu o charakterze systemowym.
Do pełnego skanu serwisu najwygodniej sprawdzają się crawlery desktopowe lub chmurowe, takie jak Screaming Frog albo Sitebulb. Pozwalają one przeanalizować statusy HTTP, łańcuchy przekierowań, strony źródłowe, linki wychodzące, obrazy, pliki oraz elementy osadzone w szablonach. W większych serwisach liczy się również to, czy narzędzie potrafi renderować JavaScript, ponieważ bez tego część odnośników może pozostać niewykryta.
Google Search Console pomaga potwierdzić, które problemy rzeczywiście są widoczne w indeksacji oraz na jakie adresy trafia Google. To wartościowe źródło informacji o stronach zwracających 404, kłopotach z mapą witryny i adresach, które nadal są odkrywane mimo usunięcia linków wewnętrznych. Warto jednak pamiętać, że Search Console nie zastępuje pełnego audytu, ponieważ nie wskaże wszystkich miejsc, z których pochodzi błędny link.
Analityka oraz logi serwera ułatwiają ustalenie priorytetów napraw. W analityce zweryfikujesz, czy uszkodzony adres pojawia się na ścieżkach konwersji, na stronach docelowych kampanii albo w obszarach generujących duży ruch. Logi pokażą, czy błędny URL jest regularnie odwiedzany, przez kogo oraz z jaką częstotliwością. Dzięki temu łatwiej odróżnić martwy wpis archiwalny od błędu, który codziennie przerywa użytkownikowi ważną ścieżkę.
Do weryfikacji pojedynczych przypadków przydają się narzędzia techniczne: DevTools w przeglądarce, polecenia typu curl oraz testery nagłówków HTTP. Z ich pomocą szybko sprawdzisz końcowy status, sekwencję przekierowań, blokady, nagłówki cache oraz różnice między wersją desktopową a mobilną. Ma to szczególne znaczenie, gdy crawler raportuje jedno, a użytkownik w przeglądarce widzi coś innego.
Po wdrożeniu zmian warto uruchomić ponowny crawl tych samych sekcji i zestawić wyniki z pierwszym audytem. Wtedy weryfikujesz, czy 404 zniknęły, czy nie pojawiły się nowe 3xx, czy linki prowadzą do adresów docelowych oraz czy poprawki nie naruszyły innych szablonów. Dobrym nawykiem jest też kontrola na produkcji, ponieważ zmiana działająca na stagingu nie zawsze zachowuje się identycznie po wdrożeniu.
Monitoring powinien mieć charakter cykliczny, a nie jednorazowy. Najwięcej nowych broken links pojawia się po publikacjach, zmianach kategorii, wycofaniu produktów, migracjach oraz ręcznych edycjach treści. Z tego powodu warto ustawić okresowe skany, alerty dla wybranych sekcji i stałą listę adresów krytycznych do sprawdzania po każdej większej zmianie. Najlepsza walidacja to taka, która nie kończy się na jednym raporcie, tylko wyłapuje regresję zanim problem urośnie.
Typowe błędy i ograniczenia w zarządzaniu broken links
Typowe błędy i ograniczenia w zarządzaniu broken links to przede wszystkim naprawianie objawów bez zidentyfikowania źródła, nietrafna priorytetyzacja oraz mylna interpretacja odpowiedzi serwera. W praktyce wiele zespołów koncentruje się wyłącznie na liście 404, pomijając miejsce, z którego link faktycznie jest generowany. Skutkuje to pozorną korektą, bo problem znika dla jednego URL-a, a następnie pojawia się w kolejnych podstronach lub wersjach językowych. Najważniejsze jest ustalenie, czy problem powstał w treści, szablonie, przekierowaniu, konfiguracji serwera czy logice CMS.
Częstym błędem bywa traktowanie wszystkich uszkodzonych linków jednakowo. Nie każdy przypadek wymaga przekierowania 301, a tym bardziej kierowania ruchu na stronę główną. Jeżeli strona została usunięta celowo i nie istnieje sensowny odpowiednik, rozsądniej jest usunąć odnośnik albo pozostawić poprawny status usunięcia. Natomiast błędy 500, 403 czy pętle przekierowań nie mają charakteru „treściowego”, tylko techniczny, dlatego powinny trafić do innego właściciela po stronie wdrożenia.
Drugie istotne ograniczenie wynika z jakości danych. Crawler potrafi wykryć błąd niewidoczny w przeglądarce, ponieważ strona renderuje link dopiero po JavaScripcie, albo odwrotnie, to przeglądarka pokaże problem, którego prosty crawl nie wychwyci. Dochodzą do tego blokady firewalla, rate limiting, nieprawidłowe odpowiedzi z CDN oraz przejściowe awarie, które mogą zniekształcić obraz sytuacji. Dlatego pojedyncze narzędzie rzadko wystarcza; trzeba porównać crawl, Search Console, logi i zachowanie realnej strony na produkcji.
W dużych serwisach ograniczeniem pozostaje skala i złożoność. Ten sam link może jednocześnie występować w menu, module produktów, mapie witryny, stopce oraz w kilku wersjach językowych, więc ręczna korekta jednego miejsca zwykle nie domyka tematu. Dodatkowo część adresów powstaje dynamicznie przez filtry, parametry, paginację albo komponenty frameworka, przez co nie wszystkie błędy są natychmiast widoczne w standardowym audycie. Im więcej szablonów, integracji i źródeł danych, tym większego znaczenia nabiera klasyfikacja według wpływu na ruch, sprzedaż i indeksację.
Po stronie organizacyjnej problemem bywa również brak dostępu do właściwej warstwy systemu. Zespół SEO widzi błąd, ale nie ma dostępu do serwera, reguł przekierowań, konfiguracji CDN ani generatora linków w CMS. W efekcie naprawa się przeciąga albo kończy się obejściem, które nie eliminuje przyczyny. Jeśli nie da się zmienić źródła linku, warto przynajmniej udokumentować właściciela problemu, zakres wpływu i najbezpieczniejszy wariant tymczasowy.
Ostatnim częstym błędem jest pominięcie walidacji po wdrożeniu. Samo dodanie przekierowania lub korekta linku w treści nie gwarantują jeszcze, że użytkownik trafia od razu na docelowy adres, bez łańcucha 3xx, konfliktu z canonikalem czy regresji w innym module. Wprowadzone zmiany warto zweryfikować ponownym crawlem oraz ręcznie przejść kluczowe ścieżki, w szczególności menu, kategorie, produkty i strony docelowe kampanii. Naprawa broken links kończy się dopiero wtedy, gdy znika błąd źródłowy, finalny URL działa poprawnie i problem nie odtwarza się przy kolejnej publikacji lub migracji.