WordPress – Zmiana adresu (domeny)

Podziel się ze znajomymi:

Popularność WordPress‘a stale rośnie…
Coraz częściej jest wykorzystywany nie tylko do prowadzenia (prywatnych) blogów, ale są na nim tworzone witryny firmowe…

Dużą zaletą WordPress’a jest przejrzysty interfejs służący do zarządzania serwisem, mnogość wtyczek jak i skórek…

Pewien problem pojawia się gdy chcemy/musimy przenieść już całkiem rozbudowany serwis pod inny adres…

Nie będę pisał „jak to zrobić”, tylko opiszę „jak to (ostatnio) zrobiłem” ;-)

Dodatkowo opisana metoda, może się przydać przy zmianie domeny nie tylko w przypadku WordPress’a…


Załóżmy, że:

Stara domena to: stara_domena.pl
Nowa domena to: nowa_domena.pl

Oraz DNS’y, jak i ustawienia serwera dla obydwu domen są już za nami…

.

1. BackUp

Warto wykonać, bo mimo, że metoda sprawdzona, zawsze coś może pójść nie tak…

Dlatego lepiej być zabezpieczonym…

Można to wykonać na kilka sposobów, 2 najpopularniejsze to:

- Export bazy danych z phpMyAdmin
- BackUp z panelu zarządzania serwerem (np. cPanel, Direct Admin)

Dla pewności można skorzystać z obu metod…

.

2. Google – Narzędzia dla Webmasterów

Za ich pomocą poinformujemy wyszukiwarkę Google, że właśnie nasza strona się „przeprowadza”, i by w wynikach wyszukiwania pojawiał się już nowy adres.

Warto wykonać ten krok, zwłaszcza gdy witryna pod starym adresem była dostępna dłuższy czas, i sporo ruchu pochodzi właśnie z wyszukiwarki…

.

3. Przekierowanie 301 w pliku .htaccess

Ten etap jest tym ważniejszy, nim dłużej stara domena będzie jeszcze funkcjonować, ponieważ to pod starym adresem umieszczamy plik .htaccess z przekierowaniem (301) do nowej strony:

RewriteEngine On
RewriteRule ^(.*)$ http://nowa_domena.pl/$1 [R=301,L]

Spowoduje to, że każde zapytanie o naszą stronę, zostanie automatycznie „przetłumaczone” i przekierowane na nowy adres.

Np. ktoś wpisuje w pasku adresu adres:

http://stara_domena.pl/jakis-wpis

zostanie automatycznie przekierowany na nowy adres:

http://nowa_domena.pl/jakis-wpis

Dodatkowo przekierowanie 301 informuje wyszukiwarki (np. Google, Bing) o tym, że zmienił się adres strony…

.

4. Zmiana adresu w WordPress’ie

To wydaje się proste:

W polach:

Adres URL WordPressa
Adres witryny (URL)

wystarczyło by wpisać nowy adres, i po sprawie…

Ale zanim to zrobisz, mała rada – by nie odciąć się od strony, a tym samym i od panelu zarządzania witryną:

Przygotuj się!

.

Dlatego warto zrobić to w ten sposób:

Najpierw skopiuj (np. po FTP) całą stronę z:

stara_domena.pl/public_html

do:

nowa_domena.pl/public_html

.

I dopiero teraz zaloguj się do WordPress’a (poprzez stara_domena.pl) i w panelu admina we wspomnianych wyżej 2 polach:

Adres URL WordPressa
Adres witryny (URL)

zmień adres na nowy (nowa_domena.pl)

Po zapisaniu zmian oczywiście stracisz kontrolę nad domeną, ale tylko pod starym adresem (stara_domena.pl)

Wystarczy wpisać nowy adres (nowa_domena.pl) i zalogować się do panelu zarządzania…

Oczywiście w tym czasie nasza strona powinna już działać normalnie (dla czytelnika) zarówno pod nowym jak i starym adresem…

.

5. WordPress i zmienne (PHP)

Dzięki wykorzystaniu zmiennych w PHP wszystkie artykuły, linki wewnętrzne w menu, itp. powinny już wskazywać na nowy adres…

Ale nie wszędzie są wykorzystywane zmienne, ale o tym za chwilę…

.

6. Wtyczki i inna kosmetyka…

Dobrze przejrzeć zainstalowane wtyczki czy nie ma w ich opcjach konfiguracyjnych podanego starego adresu.

Warto też sprawdzić użytkowników, czy wszyscy mają np. ustawione adresy e-mail już z nowym adresem…

.

7. Posty/wpisy i strony – czyli operacja na bazie danych…

Jak wspominałem wyżej, po zmianie adresu strony w panelu zarządzania, WordPress dzięki zmiennym w wielu miejscach automatycznie wyświetla nowy – prawidłowy adres strony…

Są jednak miejsca, gdzie domyślnie (bez dodatkowych wtyczek) WordPress nie korzysta z PHP a tym samym nie ma tam zmiennych…

Te miejsca to wpisy i strony…

Np. wszędzie, gdzie we wpisie wstawiliśmy grafikę z wewnętrznej biblioteki, mimo zmiany adresu – jej adresem będzie stary adres, np.:

http://stara_domena.pl/wp-content/uploads/…/grafika.png

Wynika to z tego, że zawartość wpisów jest statyczna (html)

Jeśli mamy tylko kilka wpisów, nic nie stoi na przeszkodzie by zmienić to ręcznie na:

http://nowa_domena.pl/wp-content/uploads/…/grafika.png

Będzie to nawet chyba szybsze niż…

.

Co innego, gdy mamy większą ilość wpisów, i ręczna zmiana była by zbyt uciążliwa…

W tym momencie najszybszą metodą będzie praca bezpośrednio na „zrzucie” bazy danych…

.

Aby tego dokonać, skorzystamy z phpMyAdmin
- Jeśli nie masz takiej możliwości, poprosić o pomoc administratora serwera…
- A jeśli to nie pomaga, może warto pomyśleć o zmianie hostingu?!?

Zakładam jednak, że mamy dostęp do phpMyAdmin, i tak też będziemy działać dalej…

.

Najpierw zapiszemy (export) bazę danych na komputer, w tym celu skorzystamy z opcji „export” w phpMyAdmin:

Ważne, by zaznaczyć opcję „zapisz jako plik”

.

W tym momencie powinien się ściągnąć plik o nazwie „nazwa_bazy.sql”

Taki plik można otworzyć np. za pomocą praktycznie dowolnego edytora HTML, ja wybrałem Notepad++

Następnie dokonujemy podmiany adresu za pomocą opcji „Zmień”
(Menu >> Szukaj >> Zmień…)

I klikamy „Zamień wszystkie…”

.

Jeśli jesteśmy pewni swoich działań (w końcu mamy zrobiony BackUp) możemy dokonać ogólnej podmiany:

stara_domena.pl

na

nowa_domena.pl

.

Można spróbować też wariant z „http://” (jak na zrzucie powyżej) przed nazwą domeny:

http://stara_domena.pl

na

http://nowa_domena.pl

Ale wtedy warto sprawdzić, czy gdzieś w zrzucie nie został „stara_domena.pl” bez „http://”

.

Jeśli mamy jakieś wątpliwości, możemy dokonywać bardziej subtelnych zmian, jak np. tylko grafika:

http://stara_domena.pl/wp-content/uploads

na

http://nowa_domena.pl/wp-content/uploads

.

Gdy już wszystko zostanie zmienione, można plik zapisać…
Zwracam uwagę na kodowania znaków, by cały czas (export, edycja, import) posługiwać się tym samym zestawem znaków (np. UTF-8)

.

Zanim zaimportujemy zmodyfikowaną bazę danych należy wyczyścić (skasować) zawartość bazy danych na serwerze…

W tym celu najprościej za pomocą panelu zarządzania serwerem (cPanel, Direct Admin) skasować starą bazę danych i utworzyć nową…

Oczywiście nic nie stoi na przeszkodzie, by tworząc nową bazę danych użyć takich samych parametrów (nazwa bazy, nazwa użytkownika, hasło) jak wcześniej…

Więcej na ten temat w następnym punkcie, dotyczący pliku „wp-config.php”

.

Gdy już wyczyścimy bazę danych (stworzyliśmy nową) pozostaje ponownie zalogować się do phpMyAdmin, by tym razem zaimportować zmodyfikowane dane do (nowej) bazy:

.

Baza zaimportowana, strona powinna działać...

Jeśli nie, to bardzo możliwe, że tworząc nową bazę danych użyliśmy innych danych niż przy starej…

W tym wypadku zapraszam do punktu następnego…

.

Zamiana bezpośrednio w bazie danych, z poziomy phpMyAdmin

W przypadku gdy nie zmieniamy hostingu, a tylko adres domeny, osoby bardziej zaawansowane (i jeśli serwer na to pozwala) mogą zamiast „eksport/import” bazy danych skorzystać z 2 kwerend SQL:

Adresy stron/wpisów:

UPDATE wp_posts SET guid = REPLACE (
guid,
'http://stara_domena.pl',
'http://nowa_domena.pl')

Adresy grafiki:

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

.

W tym przypadku kolejny punkt (8.) należy ominąć…

.

8. Parametry bazy danych, czyli „wp-config.php”

Jest to plik, w którym WordPress przechowuje podstawową konfiguracje strony.

Na obecnym etapie interesują nasz opcje dotyczące bazy danych, takie jak nazwa bazy, nazwa użytkownika i hasło do bazy…

Plik (wp-config.php) znajduje się w głównym katalogu WordPress’a, po ściągnięciu na dysk (np. za pomocą FTP) można go otworzyć w dowolnym edytorze HTML, np. we wspomnianym wyżej Notepad++

Interesujące nasz linie to:

define(‘DB_NAME’, ‘baza_danych‘);
define(‘DB_USER’, ‘uzytkownik‘);
define(‘DB_PASSWORD’, ‘haslo‘);

Z tego miejsca możemy pobrać dane potrzebne przy tworzeniu nowej bazy danych (na potrzeby wcześniejszego punktu), bądź jeśli użyliśmy innych danych – możemy je tu wpisać/poprawić…

Jeśli już wszystko zrobiliśmy, plik zapisujemy i wgrywamy na serwer (nadpisując stary).

.

I to właściwie koniec, strona powinna działać pod starym jak i nowym adresem, powinna także działać prawidłowo już bez starej domeny…

Na koniec jeszcze zostały 2 ostatnie punkty:

9. Użytkownicy

Pamiętaj, by poinformować ich wcześniej o nadchodzącej zmianie, jak i uprzedzić ich o możliwych problemach…

.

10. BackUp

W razie czego, masz BackUp… ;-)

.

Na koniec mała reklama:

Jeśli nie jesteś pewien czy sobie poradzisz, a strona której to dotyczy jest zbyt ważna by eksperymentować (np. strona firmowa), może warto skorzystać z pomocy profesjonalistów?!?

Polecam PRyC.pl

Podziel się na:
  • Facebook
  • Google Bookmarks
  • email
  • Gadu-Gadu Live
  • RSS
  • Twitter
  • Ulubione
  • Wykop
Podziel się ze znajomymi:
Ten wpis został opublikowany w kategorii Domeny, FAQ, Hosting, Internet, IT, WWW i oznaczony tagami , , , , , , , , , , , , , , , , , , , , , , . Dodaj zakładkę do bezpośredniego odnośnika.

Warto przeczytać również:



29 odpowiedzi na „WordPress – Zmiana adresu (domeny)

  1. U[----] online pisze:

    Bardzo ciekawy artykuł który może wielu osobom pomóc.

  2. Andrzej pisze:

    fajne, tylko co jesli dotarlo sie do niego ‘po szkodzie’?
    mam talent, zawalilem zmiane adresow i odciety jestem od panelu.
    Cuz poczac?

    caly czas jest komunikat:
    Podany w zapytaniu URL /wp-login.php nie został odnaleziony na tym serwerze.

    Jak można z tego wybrnac? Instalka byla czyst, wiec nic nie trace przeinstalowywujac..
    ale to nie pomaga z tym logowaniem..

  3. Patryk pisze:

    @Andrzej: Ale jesteś odcięty tylko od panelu administracyjnego WordPress’a?

    To wtedy skup się na zrzucie bazy danych (np. z PhpMyAdmin) i tam dokonaj stosownej zamiany (polecam pracować na kopii, przydane jest też polecenie „zamień wszystko” ;-) )

    Inna możliwość – skoro instalacja była świeża i nie ma w niej nic co musisz/chcesz odzyskać, to możesz śmiało skasować bazę danych (np. z poziomu Direct Admin, cPanel) i utworzyć nową (nawet pod taką samą nazwą i z tym samym użytkownikiem bazy)

  4. bilety pisze:

    Witaj. Ciekawy artykuł, wszystko konkretnie opisane. Właśnie muszę przenieść bloga pod inny adres i zastanawiałem się jak przenieść wszystkie wpisy. Mam jeszcze pytanie – konfiguracja pluginów będzie zapisana po imporcie bazy na nowym hoście czy muszę je konfigurować ponownie?

  5. Patryk pisze:

    @Bilety:
    1. Dziękuje…
    2. Tak, konfiguracja będzie zachowana…
    3. Anchor nie przeszedł ;-)

  6. jakub tolak pisze:

    Witam,

    Zrobiłem tak jak w poście.Strona ładuje się i zostaje puste tło.Co zrobiłem źle.Proszę o szybką odpowiedź

    • Patryk pisze:

      @jakub tolak: Wtedy warto sprawdzić, czy gdzieś w „zrzucie bazy” nie została nam stara domena…

      Jeśli tak, to należy odpowiednio dostosować polecenie „zmień”, np. tak:

      stara_domena.pl

      na

      nowa_domena.pl

      Bez „http://” itp… Powinno pomóc…

  7. jakub tolak pisze:

    Niestety nie pomogło.Co mam teraz zrobić ?

    • Patryk pisze:

      Ciężko powiedzieć tak „w ciemno”, ale może przywróć bazę z kopii i wykonaj kroki ponownie?

      Ew. sprawdź, czy możesz dostać się bezpośrednio do Panelu Administratora:

      http://twoja_domena.pl/wp-admin/options-general.php

      Jeśli tak, tam zobacz czy wyświetla się poprawnie nowy adres…

      Zwróć też uwagę na wpisy w pliku .htaccess, jeśli WP stoi na podkatalogu (np. jak u mnie: rembiejewski.pl/blog), czy tam wszystko się zgadza…

      Inne rozwiązanie, które czasem wystarcza, to z WP „źródłowego”, działającego pod adresem stara_domena.pl, skopiowanie plików do nowa_domena.pl (jeśli jest to ten sam hosting, to zazwyczaj bazy danych i „wp_config.php” nie trzeba ruszać) i w Panelu Administracyjnym WP zmiana domeny…

      Może się „chwilowo wywalić”, ale wystarczy w adresie podmienić starą domenę na nową, i jest szansa, że będzie działać…

    • Patryk pisze:

      Jeśli Twoja strona to ta z „info” które wypełniłeś wpisując komentarz, tylko przez jedno „c” to chyba gdzieś jakiś błąd zrobiłeś…

      Zwróć uwagę, jaki adres Ci się pojawia w błędzie:

      http://*.pl/wordpress/public_html/wordpress

      A prędzej powinno być raczej coś w stylu:

      http://*.pl/wordpress

      Choć nie wiem, czy przypadkiem nie chcesz by strona znajdowała się pod adresem domeny, bez żadnych „dostawek”?!?

      Wtedy zawartość „public_html” ze starej domeny (*.vot.pl) skopiuj do „public_html” dla nowej domeny (*.org.pl)

      A jeśli to ten sam hosting, to bazę danych możesz zostawić, wp_config również… Tylko po skopiowaniu plików, tak jak wcześniej pisałem – zmień adres z poziomu Panelu Administratora

      Ps. I nie baw się w ramki (chyba, że musisz), tylko normalnie skonfiguruj Domenę/DNS/hosting… Będzie Ci i teraz, i później dużo łatwiej… A bardzo możliwe, że gdzieś właśnie „na ramkach” (domena *.org.pl otwiera w ramce *.vot.pl) pojawia Ci się błąd…

  8. jakub tolak pisze:

    Kurczę to też nie pomogło.Jakbyś podał e-mail to mogę wysłać hasło i login i konta ftp i phpmyadmin.

    • Patryk pisze:

      Zawsze jest formularz: http://rembiejewski.pl/blog/kontakt/

      Tylko tak naprawdę, potrzebował bym dostępu do DirectAdmin + FTP + Panel zarządzania domeną + Panel Administratora WP… Bo nigdy nie wiadomo, gdzie siedzi błąd…

      A to niestety trochę zabawy, później ew jeszcze więcej problemów itp… Naprawdę chętnie bym Ci jeszcze pomógł, ale musisz zrozumieć…

  9. jakub tolak pisze:

    To chociaż powiedz gdzie mam jeszcze ew. szukać.

    • Patryk pisze:

      Wysłałem Ci e-mail z pomysłem rozwiązania problemu…

      [Edit]

      Wygląda na to, że tak jak pisałem – wszystkiemu winna jest błędna (dla tego rozwiązania) konfiguracja nowej domeny:

      Przekierowanie z nowej domeny na starą – a tym samym po zmianie w WP na dotychczasowej domenie „zapętlenie”

      Problem zapewne rozwiąże prawidłowe skonfigurowanie (adresów) DNS dla nowej domeny. Szczegóły w e-mailu…

  10. :) pisze:

    Heh wielkie dzięki stary dzięki twojemu artykułowi uratowałem strone ;) Jeszcze raz dziękuje :)
    Chciał bym jeszcze podkreślić że jeżeli zmieniane były Bezpośrednie odnośniki to trzeba powrócić do opcji :

    Domyślny

    A potem ustawić według swoich preferencji ;) Myślę że warto żebyś to dodał do artykułu ponieważ taka drobnostka może zaszkodzić poprawnemu działaniu strony ;)

    Jeszcze raz dziękuje i pozdrawiam ;)

    • Patryk pisze:

      :-)

      A co do „bezpośrednich odnośników”, to jak znajdę chwile, to zrobię test i zobaczę…

      Bo zawsze używam „Własny format” i jak na razie nie miałem z tym problemów, ale może faktycznie coś…

      Może zależy to od wybranej metody:

      1. Zabawa z bazą
      2. Kopia i zmiana przez panel administartora

      Pozdrawiam

  11. w[---]e pisze:

    A ja cały czas zmieniałem domenę ręcznie ;)
    Dzięki za art. ;)

  12. czupryn pisze:

    A co jesli wszystko dobrze dziala na nowej domenie a brakuje panelu admina?

  13. czupryn pisze:

    ok juz dobrze wszystko ;-) tylko do konca nie wiem jak stary adres przekierowac na nowy ;/

    • Patryk pisze:

      To dobrze, że OK…

      A co do przekierowania, to sugeruje tak jak opisałem w punkcie 3., za pomocą .htaccess i przekierowania 301

      A do tego dobrze, za pomocą na Narzędzia dla webmasterów (Google) „powiadomić” Google o tym, że zmieniłeś adres i by w swoim indeksie to uwzględnił…

  14. czupryn pisze:

    @Patryk

    wlasnie jest problem ze jak przekieruje tak jak jest w pkt. 3 to nie dziala strona ani na nowej domenie ani na starej ;/

    • Patryk pisze:

      Na wszelki wypadek: plik .htaccess z tą zawartością (oczywiście odpowiednio zmodyfikowaną, o prawidłowe adresy) umieszczasz tylko w „public_html” (lub innym, odpowiednim katalogu) starej domeny…

      A pisze to dlatego, że napisałeś, że wtedy nie działa ani nowa – ani stara… A żadne modyfikacje w pliku .htaccess na starej domenie nie powinny mieć wpływu na nowa domenę…

      • czupryn pisze:

        /htdocs edytuj
        /htdocs edytuj / usuń dodaj alias

        obie domeny sa w tym samym katalogu…
        to zle?

        • Patryk pisze:

          Ale „tym samym” w znaczeniu, że obie w htdocs – ale 2 różnych, czy, że obie wskazują na jeden/ten sam katalog?

          Jak to pierwsze, to tak jak napisałem powyżej – tylko na starej .htaccess zmodyfikuj tak, by automatycznie ruch kierował na nową – choć to krok opcjonalny by nie tracić ruchu bezpośredniego ze starej domeny czy Google zanim zaktualizuje sobie zmianę…

          Jak jest to jeden – wspólny (ten sam) katalog dla 2 domen to nie dodawaj tego do .htaccess, tylko zostaw standardowe wpisy WP…

  15. czupryn pisze:

    tak jest to ten sam katalog, bo jak dodam do .htaccess ten kod, to obie strony (stara domena i nowa) nie dzialaja. Chcialbym poprostu aby po wpisaniu starej domeny przekierowywala do nowej ;-)
    pozdr

    • Patryk pisze:

      Nie wiem dokładnie jaką masz konfiguracje, ale może najprościej rozdzielić im katalogi?

      W katalogu dla starej domeny wstawić podany .htaccess z przekierowaniem na nową domenę, a w katalogu dla nowej domeny – strona.

      W innym przypadku może zabawa z regułami itp w .htaccess by coś dała, ale musisz poszukać w Google, bo obecnie mam sporo na głowie, i nie wiem czy znajdę chwile, by coś sklecić – przetestować…

      Bo raczej unikałem ustawiania starej/kasowanej i nowej domeny na ten sam katalog (2 (itp) działające domeny owszem, np za pomocą linków, choć i bezpośrednio).

  16. czupryn pisze:

    w panelu hostingowym mam ustawione stara domene i nowa w to samo miejsce czyli /htdocs; czyli nowa domene dac pod np. /htdocs/nowa_dom
    ?
    pozdr

    • Patryk pisze:

      To chyba dobrze masz ustawione:

      …/htdocs/domena_stara/ [pliki]
      …/htdocs/domena_nowa/ [pliki]

      I po zmianie domeny w WP (panel, baza, czy inna metoda którą wybrałeś) [pliki] przenosisz z „domena_stara” do „domena_nowa”, a do „domena_stara” wgrywasz .htaccess z regułą która przekieruje np. z domena_stara.pl/art/test na domena_nowa.pl/art/test

      Tylko pamiętaj, że w „domena_nowa” dla WordPress’a też powinien znajdować się plik .htaccess z np. taką zawartością:

      # BEGIN WordPress

      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.php$ - [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]

      # END WordPress

      Oczywiście da się też zrobić to (zamianę domeny) inaczej – np. umieszczając 2 w jednym (tym samym katalogu), czy korzystając z „linków” – i zmieniając tylko w WP nazwę domeny…

      Ja wybrałem do opisania taką metodę głównie ze względu na to, że jest chyba najbardziej uniwersalna – nie wszystkie hostingi pozwalają przy dodawaniu domeny wybrać dla niej katalog/położenie…

      Dodatkowo ładnie zgarnia ruch ze „starej domeny”, a przy okazji umożliwia uruchomienie na niej innego projektu…

      A zarazem każdy może z opisu wybrać interesujący go kawałek… ;-)

  17. Pingback: Skrypt „naprawiający” Wordpress’a | Kaplonski.pl

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subskrybuj bez komentowania