Linki wewnętrzne — zepsute linki, przekierowania i jak Google odkrywa podstrony
Linki wewnętrzne to odnośniki między podstronami Twojej witryny: menu, stopka, linki w treści. Po nich chodzą użytkownicy i po nich Googlebot odkrywa kolejne podstrony. Link prowadzący do błędu 404 to ślepa uliczka dla obu, a link przez przekierowanie to zbędny objazd — mniej groźny, ale też do posprzątania.
Co dokładnie sprawdził audyt
Audyt bierze pierwsze 30 linków ze strony głównej (w kolejności, w jakiej stoją w kodzie) prowadzących do Twojej domeny i każdy z nich odwiedza. Zwykle są to linki z nagłówka, menu i górnej części strony — przy rozbudowanym menu stopka może się w próbce nie zmieścić. To próbka, a nie przegląd całej witryny.
- Pomijane są: linki do innych domen, kotwice (
#sekcja), linkimailto:itel:, pliki (obrazy, PDF, ZIP, filmy, CSS, JS), link do samej strony głównej oraz linki techniczne — logowanie, koszyk, konto klienta, rejestracja, lista życzeń, panel administracyjny. Te z natury przekierowują i nie ma sensu ich zgłaszać. - Link nie działa (do poprawy) — adres zwraca błąd 4xx (np. 404 „nie znaleziono”, 410 „usunięto”; poza 401/403, o nich niżej) albo błąd serwera 5xx. Lista w raporcie pokazuje kod i adres. Zepsuty link to ślepa uliczka dla użytkownika i dla robota, który przez niego odkrywa podstrony. Do zepsutych audyt zalicza też link, który przekierowuje na niedziałający adres (np.
301→404) albo wpada w pętlę przekierowań. - Link prowadzi przez przekierowanie (kosmetyka) — adres odpowiada kodem 3xx (np. 301) i odsyła gdzie indziej. Audyt śledzi przekierowanie do końca i pokazuje adres docelowy (przy dużej liczbie przekierowań — dla pierwszych pięciu; przy pozostałych tylko pierwszy krok). Jeśli to właściwa podstrona, wystarczy podmienić link na adres docelowy. Jeśli podstrona przekierowuje na stronę główną, audyt dopisuje „podstrona mogła zniknąć” — wtedy link jest w praktyce zepsuty i trzeba go naprawić. Audyt nie zgłasza przekierowań, które zmieniają tylko
httpnahttps, dodają lub usuwająwwwalbo ukośnik na końcu adresu. - „Nie udało się sprawdzić” — serwer nie odpowiedział w czasie albo ograniczył liczbę zapytań (kod 429 lub 503). To nie jest błąd na stronie, tylko informacja, że część linków pozostała niesprawdzona.
- „Zablokowało nasze narzędzie kodem 401/403” — zapora, ochrona przed botami albo logowanie odrzuciły nasze zapytanie. Audyt nie liczy takich linków jako zepsutych, bo nie wie, czy działają dla ludzi i dla Google — sprawdź je ręcznie w przeglądarce.
Gdy na liście są i zepsute linki, i przekierowania, raport pokazuje je razem jako jeden punkt „do poprawy”. Same przekierowania trafiają do kosmetyki.
Przy dwóch częstych pomyłkach audyt dopisuje podpowiedź: zepsuty link telefonu (np. literówka href="tel.:123...", przez którą przeglądarka traktuje numer jak adres podstrony) i adres e-mail bez mailto: (np. href="biuro@firma.pl"). Poprawny zapis to <a href="tel:+48123456789"> i <a href="mailto:biuro@firma.pl">.
Dlaczego linki wewnętrzne są ważne
- Odkrywanie podstron. Google znajduje nowe adresy głównie przez linki z już znanych stron i z mapy strony XML. Według Google każda strona, na której Ci zależy, powinna mieć co najmniej jeden link z innej strony Twojej witryny. Podstrona, do której nic nie linkuje, jest dla robota trudna do znalezienia.
- Kontekst. Tekst linku mówi Google i użytkownikowi, czego się spodziewać po kliknięciu. „Kalendarz nasadzeń na wiosnę” mówi dużo, „kliknij tutaj” — nic.
- Użytkownicy. Klient, który z menu trafia na 404, zwykle nie szuka dalej, tylko wraca do wyników wyszukiwania.
Link musi być linkiem: <a href>, a nie onclick
Google przechodzi tylko po linkach zapisanych jako element <a> z atrybutem href zawierającym prawdziwy adres. Takie linki działają:
<a href="https://firma.pl/oferta/">Oferta</a>
<a href="/oferta/">Oferta</a>
Takich Google może nie odczytać:
<a onclick="goTo('/oferta/')">Oferta</a>
<span href="/oferta/">Oferta</span>
<a href="javascript:goTo('oferta')">Oferta</a>
Problem dotyczy najczęściej menu i przycisków zrobionych w kreatorach stron albo w aplikacjach opartych na JavaScripcie. Jeśli przycisk „Zobacz ofertę” działa tylko po kliknięciu myszką, a w kodzie nie ma href, robot nie dowie się, dokąd prowadzi. Więcej o stronach budowanych przez JavaScript: treść i JavaScript.
Jak sprawdzić samemu
- Linki z raportu. Otwórz każdy adres z listy w oknie prywatnym przeglądarki. Jeśli widzisz stronę „nie znaleziono”, link jest do poprawy. Uwaga na linki, które audyt oznaczył jako zablokowane kodem 401/403: jeśli w przeglądarce strona działa, najpewniej zapora lub ochrona przed botami zablokowała nasze zapytanie — wtedy przeczytaj o blokadzie botów, bo Googlebot może trafić na to samo.
- Gdzie jest ten link. Na stronie głównej naciśnij Ctrl+U (Mac: Cmd+Option+U), potem Ctrl+F i wpisz fragment zepsutego adresu. Zobaczysz, czy siedzi w menu, stopce, banerze czy w treści.
- Google Search Console. W raporcie Strony (Indeksowanie) w sekcji stron niezindeksowanych szukaj powodu „Nie znaleziono (404)”. To adresy, na które Google trafił, a które zwracają błąd — także z linków wewnętrznych. Po wpisaniu takiego adresu w Sprawdzenie adresu URL zobaczysz m.in., skąd Google go zna (strona odsyłająca, mapa witryny).
- Cała witryna naraz. Audyt sprawdza tylko stronę główną. Żeby znaleźć wszystkie zepsute linki, użyj programu do przeszukiwania strony, np. Screaming Frog SEO Spider (darmowa wersja sprawdza do 500 adresów). Po przeskanowaniu przefiltruj adresy z błędami 4xx i przekierowaniami 3xx i sprawdź, z których podstron do nich linkujesz.
Jak naprawić
Zasada jest jedna: zmień link tam, gdzie jest, żeby prowadził prosto do działającego adresu. Przekierowanie 301 to zabezpieczenie dla starych linków z zewnątrz i z Google, a nie zamiennik poprawnego linku w menu. Jeśli strona docelowa zniknęła na dobre i nie ma odpowiednika — usuń link.
Menu i stopka (każda platforma)
Większość zepsutych linków ze strony głównej siedzi w menu, stopce i banerach — po zmianie adresu kategorii lub usunięciu strony nikt ich nie zaktualizował. W WordPressie sprawdź Wygląd → Menu (w motywach blokowych: Wygląd → Edytor → Nawigacja) oraz widżety i bloki stopki. W sklepach — ustawienia menu w motywie i bloki strony głównej.
WordPress i WooCommerce
- Pojedyncze linki w treści — popraw w edytorze wpisu lub strony.
- Zmiana adresów hurtem (np. po zmianie struktury permalinków, przeniesieniu z
httpnahttpsalbo zmianie nazwy kategorii) — wtyczka Better Search Replace podmieni stary fragment adresu na nowy w całej bazie. Najpierw zrób kopię bazy i uruchom ją w trybie próbnym (opcja „dry run”), który tylko pokazuje, ile zmian by zrobiła. - Przekierowania 301 ze starych adresów — wtyczka Redirection albo moduł przekierowań w Rank Math (Rank Math SEO → Przekierowania, po włączeniu modułu w Panelu Rank Math). Redirection potrafi też zapisywać, które adresy zwracają 404, co pomaga wyłapać kolejne zepsute linki. WordPress sam przekierowuje wpis po zmianie jego „przyjaznego adresu”, ale nie obejmuje to wszystkich przypadków (zmiana struktury, usunięte strony), więc nie licz na to w ciemno.
Shopify
Przy zmianie uchwytu adresu (URL handle) produktu, kolekcji lub strony w sekcji SEO Shopify proponuje pole Create a URL redirect — zostaw je zaznaczone. Przekierowania dodasz też ręcznie w Zawartość → Menu → Przekierowania URL (Content → Menus → URL redirects). Pamiętaj, że przekierowanie zadziała tylko ze starego adresu, który już nie istnieje. Linki w menu popraw osobno w Zawartość → Menu.
PrestaShop
Dla wyłączonego produktu w karcie produktu, w zakładce SEO, ustawisz przekierowanie (301 na kategorię lub inny produkt) zamiast błędu 404. Przekierowania dowolnych starych adresów (np. po zmianie kategorii) zwykle robi się modułem SEO albo regułą w .htaccess (niżej). Linki w menu poprawisz w module menu używanym przez motyw.
Shoper
Przekierowania 301 dodasz w Ustawienia → Zaawansowane → Przekierowania → Dodaj przekierowanie. Podajesz stary adres i cel: produkt, kategorię, producenta, stronę informacyjną, wpis lub kategorię bloga albo dowolny adres URL. Funkcja jest dostępna od wersji oprogramowania 5.8.26.
Serwer (Apache, nginx, Cloudflare)
Gdy platforma nie ma panelu przekierowań, pojedyncze przekierowanie 301 w Apache (plik .htaccess):
Redirect 301 /stara-oferta/ https://firma.pl/oferta/
W nginx (w bloku server, potem przeładowanie konfiguracji):
location = /stara-oferta/ { return 301 https://firma.pl/oferta/; }
Jeśli domena działa przez Cloudflare (z włączonym proxy), przekierowania ustawisz bez dotykania serwera: pojedyncze w regułach przekierowań (Single Redirects, sekcja Rules), a długą listę starych i nowych adresów — w Bulk Redirects. Obie funkcje są dostępne także w darmowym planie.
Unikaj łańcuchów (A → B → C) — przekieruj od razu na adres końcowy. Szerzej o przekierowaniach: HTTPS i przekierowania.
Jak sprawdzić, że naprawione, i ile to trwa
- Wyczyść cache strony (wtyczka cache, LiteSpeed, Cloudflare) i uruchom audyt ponownie — linki z listy powinny zniknąć.
- Kliknij poprawione linki w oknie prywatnym. Przy przekierowaniach sprawdź w F12 → Network (Sieć), że stary adres zwraca 301 i prowadzi prosto do celu.
- Jeśli masz program do przeszukiwania strony, przeskanuj całą witrynę jeszcze raz.
Dla użytkowników poprawka działa od razu. Raport Strony w Search Console aktualizuje się wolniej: Google musi ponownie odwiedzić te adresy, co trwa od kilku dni do kilku tygodni. Adresy 404, do których nic już nie linkuje, z czasem same znikają z raportu — pojedyncze 404 dla stron, które naprawdę nie istnieją, są normalne i nie szkodzą reszcie witryny.
Kiedy warto poprosić o pomoc
Jeśli zepsutych linków są setki (np. po migracji sklepu albo zmianie platformy), trzeba przygotować pełną mapę przekierowań stary adres → nowy adres i hurtowo poprawić linki w treści. To praca na arkuszu i bazie danych, w której łatwo o pomyłkę. W IF.PL zajmujemy się SEO i stronami WWW — możemy przeskanować witrynę, przygotować przekierowania i poprawić linkowanie.
Źródła
- Google Search Central: Sprawdzone metody dotyczące linków (linki możliwe do zindeksowania, tekst linku)
- Google Search Central: Jak działa wyszukiwarka Google
- Google Search Central: Przekierowania i wyszukiwarka Google
- Pomoc Search Console: Raport Indeksowanie stron
- Pomoc Search Console: Narzędzie do sprawdzania adresów URL
- WordPress.org: Better Search Replace
- WordPress.org: Redirection
- Rank Math: Setting up redirections
- Shopify: URL redirects
- PrestaShop: zakładka SEO produktu (przekierowanie)
- Shoper: Przekierowania 301
- Cloudflare: URL forwarding (Single Redirects, Bulk Redirects)
- Screaming Frog SEO Spider