Przekierowanie domeny najszybciej zrobisz, dodając odpowiednią regułę w pliku .htaccess na serwerze lub klikając opcję w panelu administracyjnym swojego hostingu. Użyj przekierowania 301 do trwałej zmiany adresu, żeby zachować pozycje w Google, a przekierowania 302 stosuj wyłącznie do krótkich, tymczasowych testów. Zmiana adresu strony wymaga technicznej precyzji na poziomie nagłówków HTTP. Inaczej zablokujesz sobie cały ruch z wyszukiwarek.
Czym właściwie jest przekierowanie domeny i jak działa pod maską?
Kiedy wpisujesz adres w przeglądarce, twój komputer pyta serwer o konkretne pliki. Serwer odpowiada specjalnym kodem statusu HTTP. Przekierowanie to po prostu instrukcja z serwera, która mówi przeglądarce, że poszukiwane zasoby leżą pod zupełnie innym adresem URL. Przeglądarka posłusznie wykonuje to polecenie i ładuje nową lokalizację. To trwa ułamki sekund. Użytkownik rzadko zauważa sam moment przeskoku. Z punktu widzenia maszyn i botów indeksujących Google to jednak potężny sygnał decyzyjny.
Musimy odróżnić przekierowania na poziomie protokołu HTTP od zmian w rekordach DNS. Ludzie nagminnie mylą te dwa pojęcia. Zmiana rekordu A w strefie DNS po prostu kieruje ruch na inny adres IP maszyny w serwerowni. Przekierowanie HTTP to komenda wydawana już przez sam serwer WWW, na przykład Apache lub Nginx, która obsługuje logikę żądań i przenosi autorytet starego adresu na nowy. Nie. To nie są zamienne metody. To dwa różne światy techniczne.
Czym różni się przekierowanie 301 od 302?
Różnica sprowadza się do deklaracji czasu. Przekierowanie 301 informuje maszyny, że stary adres umarł i nigdy nie wróci. Przekierowanie 302 mówi, że stary adres jest na chwilę niedostępny, ale niedługo znów zacznie działać. To fundamentalna rozbieżność dla robotów Google, które na podstawie tych kodów decydują, co zrobić z historią i mocą linków prowadzących do twojej witryny.
| Cecha | Przekierowanie 301 (Moved Permanently) | Przekierowanie 302 (Found / Temporary) |
| Przekazywanie mocy SEO (PageRank) | Przekazuje niemal całą moc ze starego adresu na nowy. | Nie przekazuje mocy. Wyszukiwarka czeka na powrót starego adresu. |
| Zapis w pamięci cache przeglądarki | Przeglądarki agresywnie zapamiętują ten kod. | Przeglądarki wymuszają ponowne sprawdzenie przy kolejnej wizycie. |
| Indeksowanie w Google | Stary adres wypada z indeksu, nowy zajmuje jego miejsce. | Stary adres zostaje w indeksie Google. |
Zastosowanie niewłaściwego kodu zniszczy widoczność twojego biznesu w sieci. To prosta matematyka. Użyjesz 302 zamiast 301 przy zmianie domeny, a Google potraktuje nową stronę jako zupełnie obcy byt bez żadnej historii zaufania.
Kiedy użyć przekierowania 301 na stronie internetowej?
Zawsze, gdy intencja zmiany jest ostateczna. Kupiłeś nową domenę z lepszą nazwą i przenosisz tam całą firmę. Łączysz dwa stare serwisy w jeden duży portal branżowy. Przebudowałeś strukturę kategorii w sklepie internetowym i stare adresy URL przestały istnieć. We wszystkich tych scenariuszach 301 to jedyny technicznie poprawny wybór. Wymuszasz na botach aktualizację ich baz danych.
Przekierowanie 301 ratuje również sytuacje związane z kanibalizacją słów kluczowych. Masz cztery podobne artykuły, które walczą ze sobą o pozycje w wyszukiwarce. Wybierasz jeden najmocniejszy, a pozostałe trzy przekierowujesz kodem 301 na ten główny tekst. Konsolidujesz w ten sposób cały ruch i linki przychodzące (tzw. link juice) w jednym punkcie. Wyniki rosną. Zmieniliśmy te zasady na robocie u kilku klientów i skoki w widoczności były natychmiastowe.
W jakich sytuacjach przekierowanie 302 ma sens?
Zastosowań dla kodu 302 jest niewiele, ale są bardzo specyficzne. Wyobraź sobie, że prowadzisz sklep i brakuje ci towaru na magazynie. Chcesz na dwa tygodnie przenieść użytkowników z karty produktu na stronę główną kategorii. Używasz 302. Inny przykład to testy A/B. Kierujesz połowę ruchu na nowy wariant strony landing page, żeby sprawdzić konwersję, ale nie chcesz, by Google indeksowało ten testowy wariant.
A prawda jest taka, że błędy ludzkie przy kodach statusu to codzienność w naszej branży. Pamiętam migrację dużego sklepu odzieżowego w zeszłym roku. Wdrożeniowiec o 3 nad ranem we wtorek pomylił numery. Wpisał 302 zamiast 301 w głównym pliku konfiguracyjnym serwera po ciężkiej batalii z bazą danych na produkcji. Poszedł spać. Rano ruch organiczny z Google spadł bez mała o połowę, bo wyszukiwarka uznała, że cała nowa domena to tylko chwilowy kaprys. Naprawienie tego błędu i ponowne przeliczenie mocy przez algorytmy zajęło nam bite cztery tygodnie strat w przychodach. To błąd. Bolesny.
Jak przekierować domenę krok po kroku?
Masz do wyboru kilka ścieżek technologicznych. Wybór zależy od tego, jaki masz dostęp do infrastruktury serwerowej i na jakim oprogramowaniu działa twój hosting. Unikaj rozwiązań opartych o język JavaScript czy meta tagi HTML (tzw. meta refresh). Są powolne, zawodne i wyszukiwarki ich nienawidzą. Skup się wyłącznie na przekierowaniach po stronie serwera.
- Dodanie dyrektyw w pliku konfiguracyjnym serwera (np. .htaccess dla Apache lub plik vhost dla Nginx). To najszybsza i najbardziej wydajna metoda, bo serwer przetwarza żądanie zanim jeszcze dotknie bazy danych czy skryptów PHP.
- Wyklikanie reguł w panelu zarządzania hostingiem typu cPanel lub DirectAdmin. Mechanizm pod spodem i tak edytuje pliki serwera za ciebie.
- Użycie kodu PHP w nagłówku pliku index.php. Wymaga wywołania funkcji header() przed wysłaniem jakiegokolwiek znaku do przeglądarki.
- Instalacja dedykowanej wtyczki w systemie CMS, np. Redirection dla WordPress. Wygodne dla redaktorów, ale generuje narzut na bazę danych przy każdym żądaniu HTTP.
Jak ustawić przekierowanie domeny w pliku .htaccess?
Plik .htaccess to ukryty plik tekstowy w głównym katalogu twojego serwera Apache. Kontroluje zachowanie całego katalogu i podkatalogów. Żeby przekierować całą starą domenę na nową, otwierasz ten plik w zwykłym notatniku lub przez menedżer plików na hostingu i wklejasz na samej górze cztery linijki kodu.
Wygląda to następująco:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^staradomena\.pl$ [OR]
RewriteCond %{HTTP_HOST} ^www\.staradomena\.pl$
RewriteRule ^(.*)$ https://nowadomena.pl/$1 [R=301,L]
Zasada działania jest prosta. Uruchamiasz silnik przepisywania adresów. Sprawdzasz, czy żądanie dotyczy starej domeny z przedrostkiem www lub bez niego. Jeśli tak, przechwytujesz całą ścieżkę (to robi zmienna $1) i doklejasz ją do nowego adresu głównego, odsyłając kod 301. Znacznik [L] oznacza „Last” – serwer przerywa czytanie kolejnych reguł w tym pliku. To oszczędza zasoby procesora.
Jak wdrożyć przekierowanie w serwerze Nginx?
Nginx w ogóle nie czyta plików .htaccess. Został zaprojektowany inaczej, by obsługiwać ogromny ruch sieciowy bez sprawdzania konfiguracji w każdym katalogu. Konfigurację trzyma się w głównych blokach serwera (server blocks), zazwyczaj w lokalizacji /etc/nginx/sites-available/.
Żeby zrobić 301 w Nginx, musisz edytować plik vhost. Dodajesz nowy blok dla starej domeny:
server {
listen 80;
server_name staradomena.pl www.staradomena.pl;
return 301 https://nowadomena.pl$request_uri;
}
Po zapisaniu pliku musisz zrestartować usługę komendą w konsoli: systemctl restart nginx. Działa to znacznie szybciej niż Apache, bo reguły są ładowane do pamięci RAM przy starcie serwera. Czas odpowiedzi do pierwszego bajtu (TTFB) spada drastycznie.
Czy zmiana rekordów DNS to to samo co przekierowanie HTTP?
Zdecydowanie nie. To najczęstsze nieporozumienie na forach technicznych. System DNS (Domain Name System) to książka telefoniczna internetu. Kiedy zmieniasz rekord A u swojego rejestratora domeny, mówisz tylko: „od teraz domena moja-strona.pl znajduje się na serwerze o numerze IP 192.168.1.100”. Nie ma tu żadnego kodu 301. Nie ma przekazywania mocy SEO. Jeśli stara strona miała podstrony, a nowy serwer ich nie ma, użytkownicy zobaczą błędy 404. DNS nie przepisuje ścieżek URL.
Przekierowanie HTTP to inteligentny mechanizm. Wie, że użytkownik szukał /stary-artykul i potrafi go przenieść na /nowy-artykul. DNS działa ślepo. Kieruje cały ruch z domeny na wyznaczony adres fizyczny maszyny. Dlatego przy migracji serwisu najpierw konfigurujesz kody 301 na starym serwerze, a dopiero potem zmieniasz rekordy DNS, żeby przepiąć ostatecznie ruch na nową infrastrukturę.
Prawda jest zresztą absolutnie taka, że te wszystkie wykresy z narzędzi SEO często kłamią w żywe oczy, a my i tak musimy tłumaczyć przed zarządem, dlaczego pozycje skaczą. Klienci chcą gwarancji z kosmosu, a my siedzimy nad plikami logów z serwera, szukając jednej brakującej spacji w regule, która położyła cały koszyk zakupowy. To u nas w sumie chyba hipoteza z wczoraj bo pewności do tych trendów rynkowych nikt obecnie nie ma o 2025 r. Zostawmy domysły i trzymajmy się twardych logów z dostępu do serwera.
Jak błędy w przekierowaniach niszczą pozycjonowanie w Google?
Złe zarządzanie kodami statusu to sabotaż własnej pracy. Najgorszym zjawiskiem są tak zwane łańcuchy przekierowań (redirect chains). Występują, gdy strona A kieruje na stronę B, strona B na stronę C, a strona C dopiero na docelową stronę D. Roboty Google mają określony budżet indeksowania (Crawl Budget). Jeśli każesz im skakać po pięciu adresach, by dotrzeć do treści, po prostu zrezygnują w połowie drogi. Moc linków wycieka na każdym takim przeskoku.
Drugim błędem są pętle (redirect loops). Zdarza się to, gdy strona A kieruje na B, a B z powrotem na A. Przeglądarka wyświetla wtedy komunikat o błędzie ERR_TOO_MANY_REDIRECTS, a użytkownik odchodzi do konkurencji. Pętle powstają najczęściej, gdy nałożysz regułę wymuszającą HTTPS w pliku .htaccess, podczas gdy twój dostawca CDN (np. Cloudflare) wymusza już HTTP na poziomie brzegu sieci. Systemy zaczynają ze sobą walczyć. NIGDY nie zostawiaj konfiguracji bez przetestowania nagłówków w narzędziach deweloperskich.
Kolejny problem to przekierowania na miękkie 404 (Soft 404). Masz stary artykuł o oponach zimowych z 2018 roku. Usuwasz go. Zamiast przekierować ten adres 301 na nową kategorię z oponami zimowymi, wrzucasz z lenistwa 301 na stronę główną całego sklepu. Google widzi, że treść docelowa (strona główna) nie ma nic wspólnego z intencją pierwotnego adresu. Algorytm ignoruje takie przekierowanie. Traktuje je jako błąd 404. Straciłeś historię tego adresu całkowicie.
Panel hostingu i cPanel – droga na skróty
Jeśli nie potrafisz edytować plików na serwerze, użyj interfejsu graficznego. Większość firm hostingowych dostarcza cPanel lub DirectAdmin. W cPanelu szukasz sekcji „Domeny” i klikasz ikonę „Przekierowania” (Redirects).
Formularz jest banalny w obsłudze:
- Wybierasz typ: Trwałe (301) lub Tymczasowe (302).
- Z listy rozwijanej wybierasz starą domenę, którą chcesz przenieść.
- W polu „Przekierowuje do” wpisujesz pełny, nowy adres URL z prefiksem https://.
- Zaznaczasz opcję przekierowania z www i bez www.
System sam wygeneruje odpowiedni kod i wstrzyknie go do pliku .htaccess. Minus tego rozwiązania? Masz mniejszą kontrolę nad kolejnością reguł. Jeśli masz bardzo rozbudowany plik z niestandardowymi dyrektywami, automat cPanelu może wrzucić swoją regułę na sam dół, przez co zostanie ona nadpisana przez coś wyżej. Zawsze weryfikuj działanie w trybie incognito przeglądarki.
Zmiana adresu w WordPress – wtyczki czy serwer?
WordPress to specyficzne środowisko. Użytkownicy uwielbiają instalować wtyczki do każdego najdrobniejszego zadania. Wtyczki takie jak Redirection są świetne, jeśli masz redakcję, która codziennie zmienia adresy pojedynczych artykułów i musi łatać błędy 404 na bieżąco. Mają wbudowane logi i ładny interfejs.
Ale do globalnego przekierowania całej domeny A na domenę B nie używaj wtyczek. Oprogramowanie PHP ładuje się długo. Zanim wtyczka WordPressa zareaguje na żądanie, serwer musi uruchomić rdzeń systemu, połączyć się z bazą danych MySQL i odpytać tabelę wp_options. To marnotrawstwo zasobów. Zrób to twardo na poziomie Apache lub Nginx. Zostaw PHP w spokoju. Serwer wypluje kod 301 w milisekundy.
Zastanawiacie się zresztą, dlaczego to na produkcji tak wyje na testach po drodze u klientów? Sam się nad tym borykałem dzisiaj u siebie we wtorek. Narzędzia analityczne biją na alarm, a my szukamy winnego w kodzie motywu. Prawda jest taka, że narzut wtyczek przekierowujących dusi serwery przy skokach ruchu. Usuń zbędny kod i zejdź poziom niżej do infrastruktury.
Wejdź teraz w konsolę przeglądarki (F12), otwórz zakładkę Network i sprawdź nagłówki sieciowe swojej strony przy zmianie adresu. Zobaczysz tam bałagan. Napraw to, zanim Google wyindeksuje twoje najważniejsze podstrony.
Najczęściej zadawane pytania (FAQ)
- Jak najszybciej przekierować domenę?
Najszybszą metodą jest dodanie dyrektywy RewriteRule w pliku .htaccess na serwerze Apache lub użycie opcji Przekierowania w panelu administracyjnym hostingu (np. cPanel). - Kiedy używać przekierowania 301?
Przekierowanie 301 (Moved Permanently) stosujemy przy trwałej zmianie adresu strony, migracji na nową domenę lub zmianie struktury URL, aby przenieść moc SEO z przeszłości. - Co oznacza kod statusu 302?
Kod 302 oznacza przekierowanie tymczasowe. Informuje wyszukiwarki, że stary adres wkrótce wróci, dlatego boty nie przekazują mocy rankingowej na nowy adres. - Czy zmiana serwerów DNS to przekierowanie domeny?
Nie. Zmiana rekordów DNS kieruje ruch na inny adres IP maszyny fizycznej. Przekierowanie HTTP (301/302) zachodzi na poziomie serwera WWW i przepisuje ścieżki adresów URL. - Co to jest łańcuch przekierowań?
Łańcuch przekierowań powstaje, gdy strona wielokrotnie odsyła z adresu na adres (np. A -> B -> C). Spowalnia to ładowanie witryny i powoduje wyciek mocy SEO w oczach wyszukiwarek. - Czy wtyczki do WordPressa są dobre do przekierowania całej domeny?
Do przekierowania całej domeny zaleca się użycie reguł po stronie serwera (.htaccess/Nginx). Wtyczki obciążają bazę danych i wydłużają czas odpowiedzi serwera (TTFB).
Bibliografia
1. Naukowa i Akademicka Sieć Komputerowa (NASK) – https://nask.pl
2. Oficjalna Dokumentacja Serwera Apache HTTP – https://httpd.apache.org
3. Oficjalna Dokumentacja Nginx – https://nginx.org
4. Rejestr Domen Internetowych EURid – https://eurid.eu
5. Baza Wiedzy Google Search Central – https://developers.google.com
6. World Wide Web Consortium (W3C) – https://www.w3.org
