Przekierowanie 301

Czym jest stałe przekierowanie 301, dlaczego Google twierdzi, że nie powoduje utraty PageRank, jak długo je utrzymywać, jak wdrożyć je w Apache, nginx, WordPressie i Cloudflare oraz jakie błędy fałszywego 301 po cichu kosztują sygnały.

Opublikowano po raz pierwszy: 2 lip 2026 · Ostatnia aktualizacja: 9 sie 2026 · Advanced
Języki
1 sygnał dowodowy na tej stronie

Przekierowanie 301 to kod stanu HTTP oznaczający stałe przeniesienie (301 Moved Permanently). To najsilniejszy i najprostszy sposób wysyłania użytkowników oraz botów ze starego adresu URL do nowego i konsolidowania sygnałów rankingowych na stronie docelowej. Google wyraźnie mówi, że stałe przekierowania nie powodują utraty PageRank — zignoruj więc stary mit o „utracie 10–15% na każdym przeskoku” i nie podawaj konkretnego odsetka przekazywanej wartości linków, bo Google go nie publikuje. Użyj prawdziwego serwerowego 301 (nie obejścia z JavaScriptem ani opóźnionym odświeżeniem meta), przekieruj stare adresy URL do odpowiednich zamienników 1:1 (nie wszystko na stronę główną — grozi to soft 404), utrzymuj krótkie łańcuchy (poniżej około 5 przeskoków) i pozostaw przekierowanie aktywne zwykle co najmniej rok, aby przenieść wszystkie sygnały. Po stronie serwera działa natychmiast; konsolidacja indeksu trwa od tygodni do mniej więcej roku.

TL;DR — 301 (HTTP „301 Moved Permanently”) to odpowiedź po stronie serwera, która trwale przenosi adres URL i jest najsilniejszym sygnałem konsolidowania rankingu na stronie docelowej. Google wyraźnie mówi, że stałe przekierowania nie powodują utraty PageRank — zasada „utraty około 15% na każdym przeskoku” jest nieaktualna i nie istnieje żadna opublikowana wartość procentowa przekazywanej wartości, więc nie należy jej wymyślać. Wdrażaj je na serwerze (Apache, nginx, kod aplikacji) albo na brzegu sieci (Cloudflare), a nie przez JavaScript lub opóźnione odświeżenie meta. Przekierowuj stare adresy URL do odpowiednich zamienników 1:1 — nie wszystko na stronę główną, bo Google może przeklasyfikować takie adresy jako soft 404. Utrzymuj krótkie łańcuchy (Google śledzi do 10 przeskoków, ale zaleca mniej niż około 5; Mueller mówił o około 5 przy jednym crawlu). Na serwerze działa natychmiast; pełna konsolidacja indeksu i sygnałów zajmuje tygodnie do zwykle co najmniej roku.

Czym właściwie jest 301

A 301 doesn't just forward visitors — it consolidates a page's signals onto its new home. Źródło: /technical-seo/http-status-codes/redirects/301-redirect/

© Patrick Stox LLC · CC BY 4.0 ·

301 to kod stanu HTTP — „301 Moved Permanently” — zwracany przez serwer (lub brzeg CDN) w nagłówkach odpowiedzi, przed jakimkolwiek ciałem strony. To najważniejsza część: prawdziwy 301 działa na poziomie protokołu, w odpowiedzi na żądanie. Nie jest funkcją wtyczki, tagiem <meta> ani fragmentem JavaScript — to obejścia na sytuacje, w których nie możesz wykonać przekierowania na serwerze, i zachowują się inaczej (o czym niżej).

Google ujmuje definicję prosto: “The 301 and 308 status codes mean that a page has permanently moved to a new location.” (tłumaczenie) „Kody stanu 301 i 308 oznaczają, że strona została trwale przeniesiona do nowej lokalizacji.” (308 to nowszy kod stałego przekierowania, który zachowuje także metodę żądania; z punktu widzenia SEO Google traktuje 301 i 308 tak samo — “use HTTP permanent redirects if possible, such as 301 and 308.” (tłumaczenie) „jeśli to możliwe, używaj stałych przekierowań HTTP, takich jak 301 i 308.”)

Evidence for this claim RFC 9110 defines 301 Moved Permanently as meaning the target resource has a new permanent URI and future references ought to use one of the enclosed URIs. Scope: HTTP semantics for 301 responses; user agents may change POST to GET for historical reasons. Confidence: high · Verified: IETF: RFC 9110 §15.4.2 — 301 Moved Permanently

Przed wdrożeniem warto znać kilka szczegółów protokołu: odpowiedź 301 jest domyślnie heurystycznie zapisywana w pamięci podręcznej, więc przeglądarka lub pośredni cache może ją przechować — właśnie dlatego „naprawione” przekierowanie może nadal wysyłać testerów do starego celu, dopóki pamięć podręczna się nie wyczyści. Ponieważ 301 istnieje od czasów HTTP/1.0, klient użytkownika może zmienić żądanie POST na GET, gdy za nim podąża — nie zakładaj więc, że 301 zachowuje pierwotną metodę formularza; jeśli ma to znaczenie, użyj 308. Sam nagłówek Location musi zawierać jedynie odwołanie URI (technicznie może być względne), choć w praktyce absolutny adres URL usuwa niejednoznaczność.

Jak Google przetwarza 301 (kanonizacja i indeksowanie)

Stałe przekierowanie jest jednym z najsilniejszych sygnałów kanonizacji, jakie ma Google. Gdy Googlebot podąża za 301, potok indeksowania używa przekierowania jako sygnału, że cel przekierowania powinien być kanonicznym adresem URL. Google zachowuje zapis obu końców: “When you redirect a URL, Google keeps track of both the redirect source (the old URL) and the redirect target (the new URL). One of the URLs will be the canonical… The other URL becomes an alternate name of the canonical URL.” (tłumaczenie) „Po przekierowaniu adresu URL Google śledzi zarówno źródło przekierowania (stary adres URL), jak i jego cel (nowy adres URL). Jeden z adresów URL będzie kanoniczny, a drugi stanie się alternatywną nazwą kanonicznego adresu URL.”

Evidence for this claim Google treats 301 and 308 as permanent redirects and uses a permanent redirect as a strong signal that the target should be canonical. Scope: Google Search redirect and canonicalization behavior; a redirect remains one signal among others. Confidence: high · Verified: Google: Redirects and Google Search

Dlatego po przeniesieniu przez pewien czas możesz nadal widzieć w wynikach stary adres URL — Google przechowuje go jako „alternatywną nazwę”. Google uspokaja: “it’s very likely that Google will continue to occasionally show the old URLs in the results, even though the new URLs are already indexed. This is normal… the alternate names will fade away without you doing anything.” (tłumaczenie) „jest bardzo prawdopodobne, że Google nadal będzie od czasu do czasu wyświetlać stare adresy URL w wynikach, mimo że nowe są już zindeksowane. To normalne — alternatywne nazwy z czasem znikną bez żadnego działania z Twojej strony.”

Przekierowanie ma większą wagę niż słabsze sygnały kanonizacji. Gary Illyes ujął tę hierarchię dosadnie — przekierowanie “should be much higher weight… than whether the page is on an http URL or https.” (tłumaczenie) „powinno mieć znacznie większą wagę niż to, czy strona znajduje się pod adresem http czy https.” Dlatego pojedynczy 301 może po cichu nadpisać tag kanoniczny lub preferencję HTTPS wskazującą w inną stronę. (Pełne omówienie znajduje się w artykule o kanonizacji.)

Warto precyzyjnie rozumieć, czego ten sygnał nie obiecuje: 301 to silny sygnał celu kanonicznego, a nie gwarancja. Wskazuje Google, który adres URL powinien być kanoniczny — nie gwarantuje, że ten adres zostanie zindeksowany, będzie się pozycjonował, przyniesie ruch ani że każdy inny sygnał (linki, jakość treści, autorytet witryny) przeniesie się automatycznie. Traktuj „wybór kanonicznego adresu” oraz „wyniki indeksowania, rankingu i ruchu” jako osobne pytania; 301 odpowiada bezpośrednio tylko na pierwsze.

Mit PageRank — trzeba to ująć dokładnie

To najbardziej zniekształcany fakt dotyczący 301, więc przedstawmy go precyzyjnie.

Dokładne stwierdzenie Google: “301 and other permanent redirects don’t cause a loss in PageRank.” (tłumaczenie) „301 i inne stałe przekierowania nie powodują utraty PageRank.” To wszystko. Nie „zachowujesz 85%”, nie „tracisz 10–15% na każdym przeskoku”. Żadnej straty.

Zasada „utraty około 15% na każdym przeskoku” wywodzi się ze starych, sprzed 2016 roku wypowiedzi o tłumieniu PageRank przy przekierowaniach (powszechnie przypisywanych Mattowi Cuttsowi). Google publicznie odwróciło to stanowisko około 2016 roku — jak wówczas informowano, Google przestało stosować rozcieńczanie PageRank przy przekierowaniach 30x, a strona docelowa otrzymuje autorytet.

Wniosek, który prowadzi ludzi do błędów w przeciwnym kierunku: nie twierdź, że 301 „przekazuje 90–99% wartości linków”. Google nie publikuje takiej liczby. „Nie powoduje utraty PageRank” to stwierdzenie kierunkowe, a nie procent — każdy konkretny odsetek, który zobaczysz, jest folklorem, a nie czymś potwierdzonym przez Google. Cytuj sformułowanie o „braku utraty”; nigdy nie wymyślaj wartości procentowej.

Dodam własną uwagę ostrzegawczą. Sam sprawdziłem twierdzenie, że „sygnały utrzymują się po roku”, usuwając przekierowania 301 z czterech dobrze podlinkowanych artykułów Ahrefs i obserwując wynik (Czy można usunąć przekierowania 301 po roku? Sprawdziliśmy to). Liczba domen odsyłających wyraźnie spadła po usunięciu przekierowań, a ruch organiczny był mieszany — jeden artykuł zyskał, jeden stracił, a dwa pozostały mniej więcej bez zmian; przy jednym pozornym „spadku” okazało się, że zaczął się jeszcze przed usunięciem. Mój uczciwy wniosek brzmi: “I’m not willing to conclusively say that permanent redirects pass value even after one year, but what Gary said seems to mostly hold true.” (tłumaczenie) „Nie jestem gotów kategorycznie stwierdzić, że stałe przekierowania przekazują wartość nawet po roku, ale to, co powiedział Gary, wydaje się w większości prawdziwe.” Mała próba, więc zachowuję ostrożność — praktyczny wniosek jest jednak banalny: nie usuwaj przekierowań.

Czas — trzy różne zegary

A 301 has three different clocks: server, index, and full signal consolidation. Źródło: /technical-seo/http-status-codes/redirects/301-redirect/

© Patrick Stox LLC · CC BY 4.0 ·

„Jak długo trzeba czekać, aż 301 zacznie działać?” zależy od tego, o którym zegarze mówisz:

  • Serwer: natychmiast. W chwili, gdy reguła działa, każde żądanie otrzymuje 301, a użytkownik trafia pod nowy adres URL. Nie trzeba czekać.
  • Indeks: dni lub tygodnie. Google musi ponownie pobrać stary adres URL, zobaczyć przekierowanie i przetworzyć cel. Własne ujęcie Google brzmi: “a small to medium-sized website can take a few weeks for most pages to move, and larger sites take longer,” (tłumaczenie) „mała lub średnia witryna może potrzebować kilku tygodni, aby większość stron się przeniosła, a większe witryny potrzebują więcej czasu” oraz “visibility of your content in Search may fluctuate temporarily during the move. This is normal.” (tłumaczenie) „widoczność treści w wyszukiwarce może tymczasowo zmieniać się podczas przenosin. To normalne.”
  • Pełna konsolidacja sygnałów: zwykle co najmniej rok. Google: “Keep the redirects for as long as possible, generally at least 1 year. This timeframe allows Google to transfer all signals to the new URLs… From users’ perspective, consider keeping redirects indefinitely.” (tłumaczenie) „Utrzymuj przekierowania tak długo, jak to możliwe, zwykle co najmniej rok. Ten czas pozwala Google przenieść wszystkie sygnały na nowe adresy URL; z perspektywy użytkowników rozważ utrzymywanie przekierowań bezterminowo.” To ta sama roczna wartość, którą podał Illyes, mówiąc, że pełne przejście sygnałów ze źródła do celu zajmuje około roku.

Praktyczna zasada: utrzymuj przekierowania 301 co najmniej przez rok, a najlepiej po prostu na zawsze, jeśli adresy URL nic Cię nie kosztują.

Wdrażanie 301

Zrób to możliwie blisko serwera. Poniższe cztery ścieżki obejmują prawie wszystkich. (To przykłady; dostosuj ścieżki i nazwy hostów, a karta Scripts zawiera wersje do skopiowania oraz instrukcje testowania.)

Przed edycją wykonaj kopię istniejącej konfiguracji .htaccess lub nginx — błędna reguła może wyłączyć całą witrynę, a nie tylko jeden przekierowywany adres URL.

Apache (.htaccess)

Dla pojedynczego adresu URL z użyciem mod_alias:

Redirect permanent "/old-page" "https://example.com/new-page"

Dla reguł opartych na wzorcach z użyciem mod_rewrite:

RewriteEngine on
RewriteRule "^/service$" "/about/service" [R=301,L]

nginx

location = /service {
  return 301 https://example.com/about/service;
}

WordPress

WordPress nie ma wbudowanego menedżera przekierowań, więc trzeba dodać jeden z poniższych wariantów:

  • Wtyczka Redirection (bezpłatna) — najczęstszy wybór; dodajesz źródło → cel w interfejsie.
  • Yoast SEO Premium — jego Redirect Manager może automatycznie utworzyć przekierowanie, gdy usuwasz slug adresu URL lub go zmieniasz. Pamiętaj, że bezpłatna wersja Yoast nie ma menedżera przekierowań (wiele poradników to pomija).
  • Poziom serwera — jeśli możesz edytować .htaccess/nginx bezpośrednio, reguła serwerowa jest szybsza niż wtyczka oparta na PHP, która uruchamia się przy każdym żądaniu.

Cloudflare

Jeśli korzystasz z Cloudflare, możesz przekierować na brzegu sieci, zanim żądanie dotrze do serwera źródłowego:

  • Single Redirects — pojedyncze reguły w panelu.
  • Bulk Redirects — lista przekierowań (tysiące par źródło → cel) stosowana na poziomie całego konta. To naprawdę przydatne przy pełnej migracji, bo nie trzeba w ogóle dotykać konfiguracji serwera źródłowego — wygodne, gdy stary serwer jest wycofywany.

Kod aplikacji (przykład w PHP)

header('HTTP/1.1 301 Moved Permanently');
header('Location: https://www.example.com/new-url');
exit();

„Fałszywe” 301 — tryb awarii, którego nikt nie sprawdza

To zaskakujący przypadek, który warto zapamiętać: adres URL może zwracać 200 OK i nadal przekierowywać. Jak napisałem w artykule 11 typów przekierowań i ich wpływ na SEO, “A redirect can still be happening with any status code. You may have a page that shows as a 200 OK status code, but still actually be redirecting” (tłumaczenie) „Przekierowanie może nadal zachodzić przy dowolnym kodzie stanu. Strona może wyświetlać kod stanu 200 OK, a mimo to faktycznie przekierowywać” — przez JavaScript, po załadowaniu strony. Takie „przekierowanie” jest niewidoczne przy szybkim sprawdzeniu kodu stanu i nie ma żadnej z gwarancji 301.

Wytyczne Google porządkują te metody następująco:

  • Po stronie serwera (301/308): najlepiej. Używaj zawsze, gdy jest to technicznie możliwe.
  • Odświeżenie meta: zależy od czasu. Google: natychmiastowe odświeżenie meta jest interpretowane jako stałe przekierowanie, a opóźnione odświeżenie meta (uruchamiane po N sekundach) jako tymczasowe. Dlatego odświeżenie content="5;url=…" nie zastępuje 301.
  • JavaScript: ostateczność. Google: “Only use JavaScript redirects if you can’t do server-side or meta refresh redirects… if you set a JavaScript redirect, Google might never see it if rendering of the content failed.” (tłumaczenie) „Używaj przekierowań JavaScript tylko wtedy, gdy nie możesz zastosować przekierowania serwerowego ani odświeżenia meta; jeśli ustawisz przekierowanie JavaScript, Google może go nigdy nie zobaczyć, gdy renderowanie treści się nie powiedzie.” Jeśli renderowanie się nie zakończy, przekierowanie praktycznie nie istnieje dla Google.
  • „Crypto” / pseudo-przekierowania oparte wyłącznie na linku: nie. Strona, która tylko prowadzi do nowego adresu URL bez kodu stanu i bez odświeżenia, jest — słowami Google — czymś, “not all search engines may recognize… as an official redirect.” (tłumaczenie) „czego nie wszystkie wyszukiwarki mogą rozpoznać jako oficjalne przekierowanie.” Nie polegaj na tym.

Wniosek: jeśli zależy Ci na SEO, potwierdź, że przekierowanie jest prawdziwym serwerowym 301, a nie kodem 200 przekierowującym w przeglądarce. Karta Scripts pokazuje, jak sprawdzić to za pomocą curl.

Typowe błędy przy 301

  • Przekierowanie wszystkiego na stronę główną. Klasyczny błąd. Google: “Don’t redirect many old URLs to one irrelevant single URL destination, such as the home page… This can confuse users and might be treated as a soft 404 error.” (tłumaczenie) „Nie przekierowuj wielu starych adresów URL do jednego niepowiązanego celu, takiego jak strona główna — może to zdezorientować użytkowników i zostać potraktowane jako błąd soft 404.” Przekieruj do odpowiedniego zamiennika — a jeśli naprawdę połączyłeś kilka stron w jedną, przekierowanie wszystkich do nowej połączonej strony jest w porządku.
  • Długie łańcuchy przekierowań. Google podąży za “up to 10 hops,” (tłumaczenie) „nawet za 10 przeskokami”, ale zaleca przejście prosto do końcowego celu, “ideally no more than 3 and fewer than 5.” (tłumaczenie) „najlepiej nie więcej niż 3 i mniej niż 5.” Mueller powiedział, że przy jednej próbie crawlowania Google śledzi około 5 przeskoków dla często crawlowanych adresów URL. Mój praktyczny próg jest podobny: nie martwię się łańcuchami krótszymi niż około 5 przeskoków, ale po przekroczeniu 5 widziałem problemy. Łańcuchy zwiększają też opóźnienie dla prawdziwych użytkowników. Po dodaniu nowego przekierowania zaktualizuj stare reguły tak, aby wskazywały końcowy adres URL, a nie poprzedni przeskok.
  • Użycie 302, gdy chodzi o 301. 302 mówi Google, że oryginalny adres URL powinien pozostać kanoniczny, więc stała zmiana wykonana przez 302 może pozostawić w indeksie niewłaściwy adres URL. Google może z czasem zinterpretować długo utrzymywany 302 jako stały, ale czas tego procesu jest nieznany — jak ująłem to wcześniej, nikt dokładnie nie wie, ile to potrwa, „zwykle od kilku tygodni do kilku miesięcy”. Użyj kodu stanu zgodnego z intencją.
  • Zbyt wczesne usuwanie przekierowań. Okres krótszy niż rok grozi pozostawieniem wartości na martwym adresie URL. Utrzymuj je co najmniej rok, najlepiej bezterminowo.
  • Zbyt szerokie reguły wieloznaczne. Reguła obejmująca cały folder może wysyłać adresy URL do niewłaściwego miejsca. Mapuj stare adresy na nowe 1:1, na ile to możliwe.
  • Zapominanie o zasobach innych niż HTML. Podczas migracji przekieruj także obrazy i PDF-y; plików JS/CSS/fontów nie musisz przekierowywać.
  • Zbyt wczesne wyłączenie starego hosta. Reguła przekierowania nie uratuje żądania, które nigdy do niego nie dotrze — jeśli wycofasz DNS starej domeny, pozwolisz wygasnąć certyfikatowi TLS albo wyłączysz stary serwer przed zakończeniem pracy przekierowań, odwiedzający i boty zobaczą błąd połączenia zamiast 301. Utrzymuj DNS starego hosta, certyfikat i reguły przekierowań tak długo, jak długo zachowujesz przekierowania.

Bing

Bing traktuje 301 jako silny sygnał konsolidowania rankingu na stronie docelowej i wycofywania starego adresu URL z indeksu — zasadniczy model jest taki sam jak w Google. Wieloletnie wytyczne Binga zalecają utrzymywanie stałego przekierowania przez krótsze minimum (rzędu kilku miesięcy) niż około rok zalecany przez Google, a wytyczne migracji mówią, że 301 zwykle wystarczają — narzędzie Site Move ich nie zastępuje. Jeśli obsługujesz obie wyszukiwarki (a tak jest), bezpieczny wybór to kierować się surowszą wskazówką: prawdziwe serwerowe 301 utrzymywane co najmniej przez rok.

Evidence for this claim Google treats 301 and 308 as permanent redirects and uses a permanent redirect as a strong signal that the target should be canonical. Scope: Google Search redirect and canonicalization behavior; a redirect remains one signal among others. Confidence: high · Verified: Google: Redirects and Google Search

Gdzie to się mieści

301 to jeden z kodów stanu należących do całej rodziny. Najbardziej bezpośrednio łączy się z przekierowaniem 302 (swoim tymczasowym odpowiednikiem) — wybór 301 czy 302 sprowadza się do pytania: „czy przeniesienie jest stałe?”. Jest blisko spokrewniony z kanonizacją (301 to silny sygnał kanoniczny, ale przy przenoszeniu strony, a nie przy konsolidowaniu duplikatów, które nadal pozostają aktywne — w tym drugim przypadku służy rel="canonical"). To podstawa każdej migracji witryny. Szerszy zestaw kodów — tymczasowe 302/307, stały 308, usunięte 404/410 i błędy 5xx — znajdziesz w klastrze kodów stanu HTTP, do którego należy ta strona.

Try it live

This is a real endpoint on this site — not a simulation. Hit it from the button, open it in a new tab, or curl -i it from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.