Jak zmienić adres strony w WordPress?

by | Lut 13, 2012 | Wordpress | 34 comments

Najbardziej znanym problemem przy przenoszeniu wordpress’a na nową domenę, czy katalog – jest zmiana adresu strony.

Niestety przy przenoszeniu bloga na inny serwer musimy własnoręcznie zmienić adresy url na nowe. Dzieje się tak, ponieważ WordPress przechowuje adres strony w swojej bazie danych. Więc kiedy przenosisz bazę danych, równocześnie zachowujesz również stary adres url strony.

UWAGA: Pamiętaj, aby przed każdą zmianą/edycją na stronie WordPress wykonać solidną kopię zapasową bazy danych i edytowanych plików!

W tym wpisie chciałbym opisać trzy podstawowe sposoby na zmianę adresu bloga WordPress:

  1. Zmiana url za pomocą Velvet Blues Update URLs
  2. Zmiana adresu za pomocą Search and Replace
  3. Edycja w pliku wp-config.php
  4. Zmiany w bazie danych WordPress (phpmyadmin)

Wszystkie metody przetestowałem. W tutorialu „Jak przenieść bloga WordPress na nowy serwer” opisałem zmianę adresu strony za pomocą wtyczki Search and Replace, lecz jeśli chcesz tylko zmienić adres strony, polecam opcję pierwszą – zmiana adresu strony za pomocą wtyczki Velvet Blues Update URLs. Jest to najprostsza, najbardziej popularna obecnie na świecie metoda, a co najważniejsze – skuteczna.

1. Zmiana adresu strony za pomocą Velvet Blues Update URLs

Aby zmienić wszystkie adresy na blogu(wpisy, kategorie, tagi, załączniki, multimedia) na nowe, wystarczy zainstalować wyżej wymienioną wtyczkę Velvet Blues Update URLs i za pomocą kilku kliknięć rozwiązać problem.

Po instalacji wtyczki wybierz Ustawienia z prawego panelu i następnie Update URLs

SCREENSHOT #1

W polu Old URL wpisz stary adres bloga, z kolei w polu New URL wpisz nowy adres bloga wordpress. Pod spodem zaznacz, jakie adresy mają być zmienione. Jeśli przenosisz całego bloga na inną domenę, polecam zaznaczyć 4 pola od góry(SCREENSHOT #2) GUIDs lepiej zostaw w spokoju, chyba że chcesz wkurzyć swoich czytelników kanału RSS 😛

SCREENSHOT #2

2. Zmiana adresu strony za pomocą wtyczki Search and Replace

Jak zmienić wszystkie adresy URL opisałem w 7 kroku artykułu jak przenieść bloga WordPress. Search and Replace ma szerokie zastosowanie i służy nie tylko do zmiany adresów. Posiada również nieco trudniejszy do zrozumienia interfejs, dlatego jednak dla początkujących polecam 1 sposób 😉

3. Edycja pliku wp-config.php

Jeśli nie chcesz używać wtyczek, możesz również dodać dwie linijki kodu do pliku wp-config.php:

define('WP_HOME','http://twojanowastrona.pl');
define('WP_SITEURL','twojanowastrona.pl');

Nie zapomnij zmienić twojanowastrona.pl na swój poprawny adres.

4. Zmiany w bazie danych WordPress przez phpMyAdmin

Aby zmienić adresy na stronie wordpress, zaloguj do bazy danych na nowym hostingu przez phpMyAdmin, wybierz odpowiednią bazę danych(tą, którą podłączyłeś pod przeniesiony blog) i następnie kliknij SQL.

Zobacz 4 Krok – Przenoszenie Bloga na Nowy Serwer

Aktualizacja Opcji WordPress’a:

KOD #1 – aby zaznaczyć cały kod, kliknij 2 razy na kodzie.

UPDATE wp_options SET option_value = REPLACE(option_value,
'http://staradomena.pl', 'http://nowadomena.pl')
WHERE option_name = 'home' OR option_name = 'siteurl';

Aktualizacja adresów wpisów i stron w WordPress:

KOD #2

UPDATE wp_posts SET guid =
REPLACE(guid, 'http://staradomena.pl','http://nowadomena.pl');

Aktualizacja linków na stronach i we wpisach

KOD #3

UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://staradomena.pl', 'http://nowadomena.pl');

Aby przekierować pozostałe adresy url, które nie zostały zmienione, utwórz nowy plik .htaccess w nowym folderze i dodaj poniższy kod:

KOD #4

RewriteEngine on
RewriteCond %{HTTP_HOST} ^.old-domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.old-domain.com
RewriteRule ^/?(.*)$ "http://www.new-domain.com/$1" [R=301,L]

Nie zapomnij zmienić (staradomena.pl & old-domain.com na stary adres oraz nowadomena.pl & newdomain.com na nowy adres 😉

To wszystko, jeśli udało Ci się zmienić adres z powodzeniem, lub może masz swój sposób na zmianę adresu strony w wordpress, podziel się z nami w komentarzu.

34 komentarze

  1. Witia

    Najlepszy jest sposób na zmianę adresu strony przez Velvet Blues Update URLs tylko jest jeden problem.Trzeba zapłacić za taką zmianę tym sposobm :/

    Reply
    • Szymon Janik

      Tak? kiedy pisałem ten artykuł, wtyczka była za darmo, używałem ją przy kilku zmianach adresu. Dzięki za wiadomość, sprawdzę to 😉
      Ale inne sposoby również nie są trudne, natomiast skuteczne są w takim samym stopniu.
      Pozdrawiam.

      Reply
    • Mariusz Orczykowski

      Potwierdzam, że to skuteczny i szybki sposób na zmianę adresu strony. Co do płatności, to nie jest ona obowiązkowa, tylko jeśli wtyczka okazała się pożyteczna, to autorzy proszą o jakiś datek – proszą, nie nakazują :).

      Reply
  2. Tomek

    Hej, dzięki za ten bardzo przydatny wpis. Zastanawiam się czy jako 5 opcja na zmianę site url nie zadziałałby klasyczny „find and replace” na dumpie z bazy danych (w sumie to zwykły plik .sql ze zeskryptowanymi insertami oraz wartościami) korzystając z jakiegoś dowolnego edytora plików?
    pozdrawiam

    Reply
    • Mirek

      Działa find & replace na dumpie z bazy – robiłem tak 🙂

      Reply
  3. Franek Nowak

    Jeśli chcę zmienić domeną, bez przenosin na inny hosting to wystarczy że zastosują wtyczkę Velvet Blues Update URLs ?

    Reply
  4. Klik

    Ja nie wiem co ja źle robię. Próbowałem na wszystkie sposoby i cały czas odnośniki postów i stron prowadzą na stary adres. Tak samo na zapleczu cały czas jest jako „bezpośredni odnośnik jest widoczny stary adres”.
    Czy ktoś ma pomysł co z tym zrobić.

    Reply
    • Szymon Janik

      Być może jeszcze nie zaktualizowały Ci się DNSy, poczekaj 24h i wszystko powinno działać. Jak nie, zapodaj adres Twojej strony 😉

      Reply
  5. matrus

    Dzięki za wpis.
    Trzeci sposób sam nie działa. Musiałem skorzystać ze sposobu 4.

    Reply
  6. Bartek

    Jak najlepiej zmienic adres? Ściągnąć bazę na dysk, otworzyć ją np w notepad++, wybieramy ctrl+f -> zakładka zamień -> w polu szukany tekst wpisujemy swoja stara domene -> zamień na: adres nowej domeny klikamy zamien i to wszystko. Ja wole taki sposób niż zabawa wtyczkami, mój wordpress świetnie działa po takim zabiegu 🙂

    Reply
  7. Paweł Nowak

    W przykładzie trzecim, druga definicja dla [code](‚WP_SITEURL’,’twojanowastrona.pl’); [/code] też ma być z protokołem http://
    😉

    Reply
  8. BC

    Jaka to jest „odpowiednia baza”? Na zrzucie ekranu jest obrazek z zupełnie innego tematu :/

    Reply
    • Szymon Janik

      Odpowiednia baza danych, to ta, która jest podłączona do nowo zainstalowanej strony. Możesz to sprawdzić w pliku wp-config.php
      Więcej informacji we wpisie Jak przenieść WordPress na Nowy Serwer
      Jeśli chodzi o screenshot, dzięki za zwrócenie uwagi 😉

      Reply
  9. Łukasz

    Witaj,
    Mam pewien problem, może będziesz w stanie mi pomóc. Otóż przy instalacji strony niepotrzebnie chciałem dla celów „beta” zainstalować stronę w subdomenie: „sub.nazwa.pl”. Teraz zarówno w ustawieniach strony jak i menu, logo itd przenosi na ten właśnie adres. Tymczasem podłączyłem również domene główną pod ten sam katalog na którym jest wordpress i również działa – jednak gdy kliknę na logo, menu lub dany artykuł to główny adres pojawia się właśnie sub.nazwa.pl.
    Korzystałem z metody 1, oraz 3, jednak w przypadku pierwszej nie dało to żadnego efektu (Zaznaczałem pierwszy kwadrat w opcjach jedynie) a w przypadku 3 sposobu wywaliło mi błąd. Dodam jeszcze że korzystam dodatkowo z dodatku „Hide My WP”.
    Proszę powiedz mi jak mogę w prostu sposób poradzić sobie z tym problemem?

    Pozdrawiam,
    Łukasz

    Reply
  10. Michał

    Aktualizacja Opcji WordPress’a OPCJA 4 wersja szybka: 🙂

    DECLARE @staradomena varchar(50)
    DECLARE @nowadomena varchar(50)
    ———–TUTUAJ ZMIENIAMY DANE———————————-
    set @staradomena = ‚STARA_NAZWA_DOMENY_WPISAC_TYLKO_TUTAJ’
    set @nowadomena = ‚NOWA_NAZWA_DOMENY_WPISAC_TYLKO_TUTAJ’
    —————————————————————————

    UPDATE wp_options SET option_value = replace(option_value, @staradomena, @nowadomena)
    WHERE option_name = ‚home’ OR option_name = ‚siteurl’;

    UPDATE wp_posts SET guid = replace(guid, @staradomena, @nowadomena);

    UPDATE wp_posts SET post_content = replace(post_content, @staradomena, @nowadomena);

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^.@staradomena$ [OR]
    RewriteCond %{HTTP_HOST} ^@staradomena
    RewriteRule ^/?(.*)$ „@nowadomena$1” [R=301,L]

    Reply
  11. Bartek

    Pozmieniałem urle F&R ale w źródle strony w miejscu gdzie jest pobiera mi stary adres strony…

    Reply
  12. Karol

    No i poszło pomyślnie! Prawie….
    Coś jednak zawaliłem, wysypały się obrazki – nie działa ni jak.
    W postach próbuje zamieszczać nowe – i te też nie działają. Z jakiś powodów wysypuje się slider – ni ma jakby nigdy nic nie było.
    We wpisach to samo- wrzucam nowy wpis z nowym zdjęciem- nie ma i jeszcze pisze wielkość O.
    Ktoś podpowie co spieprzyłem?

    Reply
  13. Kevinbray

    Witam, probowałem zmienić adres sposobem trzecim ale bez powodzenia. U mnie wygladalo to tak ze wygasła mi domena i niemogłem jej odzyskac i kupilem nowy adres,zmienilem go w panelu na nowy i chcialem zastosowac to uzywajac sposoby trzeciego ale nie wyszlo.Czy cos zrobilem zle? Serwer wykupiony mam w Hoseo.

    Reply
  14. Robert

    Witam, czy pomożecie mi rozwiązać problem:
    Postawiłem wp na swoim serwerze w katalogu w ale jeszcze bez domeny (bo ta była skierowana na blogspota) tylko w http://user.provider.pl/wp

    Po ustawieniu stron, zaimportowałem bloga z blogspota, dokonałem zmian i przekierowałem domenę na mój serwer i odpowiedni katalog. DNSy się odświeżyły i domena wskazuje stronę główna, ale wszystkie linki i grafiki wskazują na stary adres. W panelu admina wp adresy również mam stare wprowadzone.

    Teraz pytanie w jakiej kolejności powinienem teraz coś zmieniać? Dziękuję

    Reply
  15. Atia

    Witam! A jak można dokonać zmiany adresu bloga w obrębie wordpressu? Mam dwa blogi na wordpress (darmowe) ale tylko w jednym mam treść, chciałabym posługiwać się domeną bloga bez treści. Czy to jest tylko kwestia przerzucenia treści z jednego na drugi? Jak najprościej można tego dokonać?

    Reply
    • Szymon Janik

      Polecam wtyczkę Velvet Blues Update URL. Link jest w artykule 😉

      Reply
  16. techniczny

    Witam, jeżeli migruję na inny serwer, ale domena będzie taka sama to nie ma potrzeby nic zmieniać i instalować wtyczkę o której mówisz?

    Pozdrawiam

    Reply
  17. Sunako

    Skorzystałam ze sposobu 4. Wszystko działa jak należy, jednak mam problem z dodawaniem nowych komentarzy wyskakuje mi: Not Found The requested URL /megi/wp-comments-post.php was not found on this server. Tutejszy adres wciąż odwołuje się do starej domeny. Może mi ktoś coś doradzić?

    Reply
  18. Czarek

    A mam pytanie jeśli chcę zmienić tylko adresy linków do dokumentów podpiętych w serwisie na wordpressie to czego użyć? muszę przenieść podlinkowaną dokumentację na inny serwer i mam do podmiany kilkaset linków.

    Reply
  19. BPaczkowski

    Witam.

    Mam jednak pytanie, zrobiłem wszystko tak jak należy.
    I mam już odpowiednie przekierowania do strony.
    Problem leży w tym, że nie mogę zalogować się do WP-admin…
    – Podaje prawidłowy login oraz hasło do nowo utworzonej wersji WordPressa, jest ładowanie kolejnej strony i znów ekran logowania, bez żadnych błędów.
    Jakaś rada?

    Pozdrawiam,
    Bartek 🙂

    Reply
  20. Mariczanka

    Hej mam problem,
    użyłam wtyczki Velvet Blues, ale nie zmieniło to stanu rzeczy. Postanowiłam zadziałać ze zmianą w pliku functions.php (w folderze mojego obecnego motywu). Od tego momentu padły mi obrazki, nawet w zakładce mediow w kokpicie nie wyświetlają się. Próbowałam też dodać nowe ale to nic nie daje. Nadal w kokpicie i na sssamej stronie www dwa obrazki się wyświetlają a reszta nie. Macie jakiś pomysł jak uratować tą sytuację?

    Reply
  21. K. Leszczyszyn

    Witam również od jakiegoś czasu zmagam się z tym problemem i nic nie wiem co robię źle

    Reply
  22. Marcin

    Zrobiłem kilka stron w Joomla a teraz walczę z przeniesieniem strony wordpressa (zrobioną przez kogoś innego) na serwer lokalny. Cały weekend w plecy – nie mam już siły. Takiej walki i takiej męki nie doświadczyłem z żadnym innym cms z jakim się zetknąłem. Niestety nawet po aktualizacji url, grzebaniu w bazie, zmianach kilku php, dziesiątki forów z poradami itp. dalej działa tylko strona frontowa. Akkeba oczywiscie zgłasza błąd – nie działa – porażka. Wiem, że może to być odebrane negatywnie, albo, że jestem lamer czy taki tam, ale niestety miażdżąca przewaga Joomla wychodzi choćby w takich momentach. Nigdy więcej Wordrpess. W Joomla! – kopiujemy pliki, bazę MySQL i … gotowe.

    Reply
    • Szymon Janik

      Marcin, zarówno w WordPress, jak i Joomla kopiujemy pliki oraz bazę MySQL i…. jeśli nie zrobimy głupich błędów, albo nie pomieszamy jakiś konfiguracji serwera, to wszystko powinno być OK 🙂

      Reply
  23. transport

    Po przeniesieniu strony na inny serwer miałem problemy z podstronami ale jakoś sobie z tym poradziłem 😉 dzieki za poradnik

    Reply
  24. Bazgrol

    wystarczy w option_name zmienic siteurl i home na aktualną. U mnie działa póki co bez zarzutu nie było problemów z bazą danych czy logowaniem się na wp.

    home

    Reply

Submit a Comment

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Subskrybuj Newsletter

Otrzymuj najnowsze treści prosto na skrzynkę email:

Optin
Zamknij Okienko