Przekierowanie 301 a 302 w WordPress – czym się różnią?

Przekierowanie 301 i 302 to kody odpowiedzi HTTP, które informują przeglądarki i roboty wyszukiwarek, że dany zasób jest teraz dostępny pod innym adresem URL. Różnią się tym, czy zmiana ma charakter stały czy tymczasowy — i to ma realne konsekwencje dla SEO.

Przekierowanie 301 — stałe (Moved Permanently)

Kod 301 informuje: „ten zasób na stałe zmienił adres”. Przeglądarka i robot Google automatycznie przechodzą pod nowy adres i zapamiętują, że stary adres już nie istnieje.

Z punktu widzenia SEO:
– Stary adres jest usuwany z indeksu Google i zastępowany nowym
– Autorytet rankingowy (PageRank) wypracowany przez stary adres jest przenoszony na nowy

Google deklaruje, że przekierowania 3xx nie powodują utraty mocy rankingowej, ale proces jej przenoszenia nie jest natychmiastowy — może trwać od kilku dni do kilku tygodni.

Kiedy używać 301:
– przy trwałej zmianie struktury adresów URL (np. po zmianie permalinków w WordPress)
– przy migracji strony na nową domenę
– przy wdrożeniu certyfikatu SSL — przekierowanie http:// na https://
– po zmianie sluga opublikowanego wpisu

Przekierowanie 302 — tymczasowe (Found / Moved Temporarily)

Kod 302 informuje: „ten zasób jest tymczasowo dostępny pod innym adresem”. Przeglądarka przechodzi pod nowy adres, ale dla robotów wyszukiwarek jest to sygnał, że pierwotny adres nadal może być właściwą, docelową wersją strony.

Kiedy używać 302:
– przy tymczasowej niedostępności produktu w sklepie WooCommerce (np. wyprzedany wariant)
– przy tymczasowej przebudowie konkretnej podstrony
– przy testach A/B, gdy nie chcesz sygnalizować trwałej zmiany adresu

Błąd, który często się zdarza: stosowanie 302 przy trwałej migracji (np. przy wdrożeniu HTTPS). W takim przypadku Google może dłużej traktować stary adres jako właściwy i wolniej uporządkować indeksację nowej wersji. Przy trwałych zmianach bezpieczniejszym wyborem jest 301.

Kody 307 i 308 — nowsze odpowiedniki

Nowoczesna specyfikacja HTTP definiuje dwa dodatkowe kody:

  • 307 (Temporary Redirect) — tymczasowe przekierowanie z zachowaniem metody żądania HTTP (np. POST). Bezpośredni odpowiednik 302, ale bardziej rygorystyczny technicznie.
  • 308 (Permanent Redirect) — stałe przekierowanie z zachowaniem metody żądania. Odpowiednik 301 dla zapytań POST.

W kontekście typowych stron WordPress (formularze, strony produktów, wpisy) różnica między 301/302 a 307/308 rzadko ma praktyczne znaczenie. Standardowo używa się 301 i 302.

Czego nie mylić

Przekierowanie ≠ tag canonical. Tag canonical to wskazówka dla robota — użytkownik nadal widzi oryginalny adres w pasku przeglądarki. Przekierowanie fizycznie przenosi użytkownika. Więcej o canonical: Canonical URL w WordPress.

Przekierowanie ≠ rewrite rules. Mechanizm rewrite rules w WordPress przepisuje adresy wewnętrznie — przeglądarka widzi „ładny” adres, ale serwer obsługuje go inaczej. To technika generowania przyjaznych adresów URL, nie przekierowanie do innej lokalizacji. Więcej: Rewrite rules w WordPress.

Jak ustawiać przekierowania w WordPress

Są trzy metody:

1. Wtyczki — najprostsze podejście dla użytkowników bez dostępu do plików serwera. Popularne opcje: Redirection, 301 Redirects, Simple 301 Redirects. Wtyczki przechowują przekierowania w bazie danych i obsługują je przez kod PHP.

2. Plik .htaccess (serwery Apache) — przekierowania konfigurowane bezpośrednio w pliku serwera. Działają szybciej niż wtyczkowe, bo nie wymagają uruchomienia WordPressa. Wymaga ostrożności — błędna konfiguracja może zablokować dostęp do całej strony.

3. Plik konfiguracyjny Nginx (serwery Nginx) — analogicznie do .htaccess, ale dla serwerów Nginx. Wymaga dostępu do pliku .conf i uprawnień na serwerze.

Dla typowych użytkowników WordPress bez technicznego dostępu do serwera wtyczka jest wystarczającym i bezpiecznym rozwiązaniem. Dla stron z dużym ruchem warto rozważyć konfigurację na poziomie serwera.

Struktura adresów w WordPress i ustawienia permalinków mają wpływ na to, jakie przekierowania mogą być potrzebne po zmianach konfiguracji: Permalink w WordPress.

Podsumowanie

Zasada jest prosta: 301 = trwała zmiana, 302 = tymczasowa. Stosowanie 302 tam, gdzie powinno być 301, spowalnia przeniesienie autorytetu SEO i utrudnia Google prawidłowe zaindeksowanie nowego adresu. Wdrożenie SSL i zmiana struktury adresów URL to przypadki, które niemal zawsze wymagają przekierowania 301.