
Jak działa przekierowanie 307?
Przekierowanie 307 działa tak, że serwer zwraca status 307 i nagłówek Location ze wskazaniem tymczasowego adresu. Przeglądarka automatycznie wysyła pod ten adres to samo żądanie. Jeśli pierwotnie był to POST z danymi formularza, drugie żądanie też będzie POST z tymi samymi danymi. Przy kolejnych wizytach klient nadal używa starego adresu, bo przeniesienie jest tylko chwilowe.
Typowa odpowiedź serwera wygląda tak:
- linia statusu: HTTP/1.1 307 Temporary Redirect
- nagłówek: Location: https://example.pl/wyprzedaz
Według serwisu http.dev odpowiedź 307 domyślnie nie jest zapisywana w pamięci podręcznej, więc przeglądarka przy następnej wizycie znów sprawdza pierwotny adres.
Przekierowanie 307 w RFC 9110
RFC 9110 definiuje kod 307 jako tymczasowe przekierowanie, przy którym klient nie może zmienić metody żądania (sekcja 15.4.8). To jedyny powód, dla którego ten kod powstał. Starsze przekierowanie 302 też oznacza tymczasowe przeniesienie, ale dawne przeglądarki zamieniały po nim POST na GET, a specyfikacja z przyczyn historycznych nadal to dopuszcza. MDN Web Docs zaznacza, że przy zwykłych żądaniach GET kody 302 i 307 działają identycznie.
Jak Google traktuje przekierowanie 307?
Google traktuje 307 jako tymczasowe przekierowanie, które nie jest sygnałem kanoniczności dla adresu docelowego. Dokumentacja Google Search Central umieszcza kody 302, 303 i 307 w jednej grupie tymczasowych przekierowań: Googlebot za nimi podąża, ale system indeksowania nie wybiera na ich podstawie adresu docelowego jako kanonicznego. Pierwotny URL zwykle zostaje w wynikach, a strona docelowa może trafić do indeksu tylko wtedy, gdy wskazują na nią inne sygnały, np. linki wewnętrzne, tag canonical czy mapa witryny.
W audytach z zakresu technicznego SEO najczęściej widzę stałe przeniesienie wdrożone jako 307, bo tak ustawił je framework. Pozycje zostają wtedy przy starym adresie przez tygodnie, bo Google czeka na powrót strony.
Wewnętrzne przekierowanie 307 i HSTS
Kod 307 widoczny w Chrome DevTools lub w crawlerze często wcale nie pochodzi z serwera, tylko z przeglądarki stosującej HSTS. HTTP Strict Transport Security (RFC 6797) każe przeglądarce łączyć się z domeną wyłącznie przez HTTPS. Po zapisaniu tej polityki przeglądarka sama zamienia linki http:// na https:// i oznacza to jako „307 Internal Redirect”. Screaming Frog wyjaśnia, że prawdziwą odpowiedzią serwera jest zwykle 301 z HTTP na HTTPS i to przekierowanie trzeba zostawić dla nowych użytkowników i Googlebota.
Kiedy stosować przekierowanie 307?
Przekierowanie 307 pasuje do krótkich, odwracalnych zmian, w których pierwotny adres ma zachować pozycje. Typowe przypadki:
- prace serwisowe, gdy strona na kilka godzin kieruje na komunikat o przerwie,
- testy A/B, które wysyłają część ruchu na wariant strony,
- formularze i endpointy API przeniesione chwilowo, które muszą zachować dane POST,
- kierowanie ze strony głównej na wersję językową, gdy adres główny ma pozostać w indeksie.
Przy stałej zmianie wybierz przekierowanie 301 lub przekierowanie 308 i unikaj długich łańcuchów przekierowań, w których mieszają się kody tymczasowe i stałe.
Jak ustawić przekierowanie 307: przykłady
Przekierowanie 307 ustawia się jedną linijką w konfiguracji serwera lub aplikacji. Przykłady:
- Apache (.htaccess): Redirect 307 /stara-strona https://example.pl/nowa-strona
- Nginx: location = /stara-strona { return 307 https://example.pl/nowa-strona; }
- PHP: header(“Location: https://example.pl/nowa-strona”, true, 307);
- Next.js: przekierowania z permanent: false domyślnie zwracają 307.
Przekierowanie 307, 302 i 308: porównanie
| Kod | Typ | Czy zachowuje metodę? | Sygnał kanoniczności w Google |
|---|---|---|---|
| 302 Found | tymczasowe | nie zawsze | nie (słaby) |
| 307 Temporary Redirect | tymczasowe | tak | nie (słaby) |
| 308 Permanent Redirect | stałe | tak | tak (silny) |
| 301 Moved Permanently | stałe | nie zawsze | tak (silny) |
Nie wiesz, jakie kody zwraca Twoja strona? Audyt SEO pokazuje każde przekierowanie razem z kodem odpowiedzi.
Najczęstsze pytania: Przekierowanie 307
Czym różni się przekierowanie 302 od 307?
Oba są tymczasowe, ale 307 gwarantuje, że przeglądarka powtórzy żądanie tą samą metodą i z tymi samymi danymi. Przy 302 przeglądarki historycznie mogły zamienić POST na GET. Przy żądaniach GET i z punktu widzenia SEO działają tak samo.
Czy przekierowanie 307 szkodzi SEO?
Przekierowanie 307 nie szkodzi SEO, gdy zmiana naprawdę jest tymczasowa, bo Google zostawia w wynikach pierwotny adres. Problem pojawia się, gdy 307 służy do stałego przeniesienia, bo Google nie uznaje wtedy adresu docelowego za kanoniczny.
Skąd w Chrome bierze się 307 Internal Redirect?
Chrome pokazuje 307 Internal Redirect, gdy HSTS wymusza przejście z HTTP na HTTPS wewnątrz przeglądarki. Serwer go nie wysłał, a prawdziwe przekierowanie po stronie serwera to zwykle 301.
Czy przekierowanie 307 przekazuje moc linków?
Google podąża za przekierowaniem 307, ale nie traktuje go jako sygnału, że adres docelowy ma być kanoniczny, więc sygnały rankingowe zostają głównie przy starym URL. Do przeniesienia sygnałów użyj 301 lub 308.
Powiązane pojęcia
- RFC 9110: HTTP Semantics · IETF
- Redirects and Google Search · Google Search Central
- 307 Temporary Redirect · MDN Web Docs
- An SEO's guide to crawling HSTS and 307 redirects · Screaming Frog
- 307 Temporary Redirect · http.dev
- redirects (next.config.js) · Next.js / Vercel







