Jak przenieść WordPressa na inny serwer? – część 3

Blog WordPress

W tym wpisie zobaczysz ostatnią część filmu, w którym pokazuję co dalej robię, aby przenieść WordPressa na inny serwer. W poprzedniej części skończyłem na skopiowaniu plików z katalogu wp-content. Teraz czas na zmiany w obu kluczowych plikach WordPressa i serwera.

 

Jak przenieść WordPressa na inny serwer? – część 3

 

Jak zmodyfikować plik wp-config.php?

Zacznę od edycji pliku wp-config.php. Trzeba będzie porównać obie wersje tego pliku. Jeden plik wp-config.php pochodzi z serwera, z którego przenoszę bloga, a drugi powstał po nowej instalacji WordPressa na serwerze, na który przenoszę bloga.

Wskazówka do modyfikacji pliku

Proponuję do porównania plików skorzystać z edytora Notepad++.  Otwórz oba pliki w tym programie. Otworzą się w oddzielnych zakładkach.

Edycja pliku wp-config.php WordPressa

Do sprawnego ich porównania skorzystaj z dwóch opcji jaką daje ten program. Kliknij prawym przyciskiem myszy na jedną z zakładek pliku i wybierz z menu Pokaż/Ukryj drugi widok. Po tej czynności pliki znajdą się w oddzielnych oknach programu tak, że będziesz widział zawartość obu plików jednocześnie.

Drugim krokiem będzie sprawienie, aby zawartość obu plików przeglądać jednocześnie. Gdy będziesz przesuwał pasek przewijania, to będzie przewijać się zawartość obu plików w tym samym tempie. W tym celu z menu na górze kliknij Widok, i z tego menu wybierz Synchronizuj przewijanie pionowe.

Przy przeglądaniu plików szukaj kodu, który mógł zostać wstawiony przez działanie wtyczek. W moim przypadku zainstalowałem wtyczkę W3 Total Cache. W konsekwencji na początku tego pliku pojawił się kod wstawiony przez tą wtyczkę. Taki kod kopiuję i wklejam do drugiego pliku. Najszybsza metoda to zaznaczyć myszą tekst tego kodu. Następnie użyj skrótu klawiaturowego Ctrl+C (jednocześnie wciśnij oba klawisze) do skopiowania tekstu. Ustaw kursor myszy w drugim pliku w tym samym miejscu, co w pliku w którym się znajduje i wtedy wciśnij jednocześnie klawisze Ctrl+V, aby wkleić ten skopiowany tekst.

Poza wstawienie dodatkowego kodu, który mógł się pojawić w tym pliku ze względu na zainstalowane wtyczki, należy zmienić tylko jedną rzecz w tym pliku. Resztę kodu nie zmieniasz. Chodzi o prefiks tabel w bazie danych, czyli ciągu znaków, który jest wstawiony przed nazwą każdej tabeli.

Gdy załadowałeś kopię bazy danych, to wstawiłeś tabele o takich nazwach, jakie miałeś na swoim blogu, który przenosisz. Należy powiedzieć WordPressowi od jakiego prefiksu zaczynają się nazwy tabel. Bez tej zmiany baza danych nie będzie Ci działała.

Prefiks jest zapisany za tekstem $table_prefix =. To co masz zapisane po znaku równości należy skopiować i podmienić w drugim pliku.

Te zmiany powinny wystarczyć w tym pliku, aby Twój blog poprawnie działał. Zapisz zmiany w pliku i podmień go na swoim hostingu, gdzie przenosisz swojego bloga.

 

Jakie zmiany zrobić w pliku .htaccess?

Został jeszcze drugi plik, w którym też mogły zajść zmiany, jeśli wykonałeś pewne zmiany w ustawieniach WordPressa lub zainstalowałeś wtyczki, które wykorzystują ten plik. Ten plik nazywa się .htaccess. W moim przypadku w tym pliku dokonały zmian wtyczki Better WP Security oraz W3 Total Cache. Dlatego teraz potrzebuję przenieść ten plik na mój hosting, gdzie mam mieć bloga.

Pewne ustawienia w tym pliku wynikłe z działania tych wtyczek będzie trzeba zmienić. W treści pliku są zawarte adresy do starej strony, a więc trzeba to zmienić podobnie jak  przy modyfikacji pliku kopii bazy danych.

Co zmienić w pliku htaccess przy przenosinach WordPressa

W moim przypadku pliki WordPressa strony, którą przenoszę znajdują się w katalogu blog na serwerze. Dlatego w pliku .htaccess w kilku miejscach tak jak zaznaczyłem na obrazku powyżej występuje słowo blog. Jeśli też masz stronę w jakimś katalogu na serwerze, to w tych miejscach pojawi się nazwa Twojego katalogu. O ile masz zainstalowane takie same wtyczki jak ja.

Możliwe opcje zmian w pliku .htaccess

 

  1. Gdy przenosisz stronę do innego katalogu, należy tą nazwę zmienić na nową. Zrób tak samo jak wcześniej Ci pokazywałem przy zmianie zawartości pliku kopii bazy danych. Użyj skrótu klawiaturowego Ctrl+F. Przejdź do zakładki Zamień. Wpisz w polu Szukany tekst ukośnik i nazwa Twojego katalogu, w którym masz pliki Twojej strony. U mnie to jest /blog. W polu Zamień na wpisz ukośnik i nazwę nowego katalogu, do którego przenosisz swoją stronę, np. /test. Na koniec kliknij przycisk Zamień wszystkie.
  2. Jeśli pliki Twojej strony były w katalogu głównym na serwerze, czyli pod domeną główną, bez żadnego podkatalogu, to tej nazwy w tym pliku nie będziesz miał, a jedynie znak ukośnika. W takim przypadku jeśli przenosisz stronę między domenami głównymi nic w tym pliku nie będziesz zmieniał.
  3. Jeśli przenosisz z domeny głównej do katalogu, to trzeba dopisać nazwę tego katalogu w odpowiednich miejscach. W takim przypadku sytuacja jest trudniejsza, ponieważ nie możesz użyć szybkiej podmiany w programie, bo trzeba w odpowiednich miejscach dopisać nazwę katalogu samemu. W takim przypadku, może okazać się lepszym rozwiązaniem, zainstalowanie wtyczek, które wprowadzają zmiany w tym pliku od nowa na serwerze, na który przenosisz stronę. Następnie wprowadzenie odpowiednich ustawień do tych wtyczek. Natomiast pliku .htaccess nie przenosisz pomiędzy serwerami, a pozwalasz, aby wtyczki same wprowadziły odpowiednie zmiany do tego pliku.
  4. Gdy przenosisz stronę z katalogu na domenę główną, to trzeba usunąć nazwę katalogu z pliku, a zostawić sam znak ukośnika. Wpisujesz w polu Szukany tekst ukośnik i nazwę katalogu, a pole Zamień na zostawiasz puste.

Na koniec zapisz zmiany w pliku i skopiuj go na hosting www, na który przenosisz swoją stronę internetową.

 

Z jakimi problemami możesz się spotkać i jak je rozwiązać?

Wiem, że trochę to zagmatwane jak się to czyta. Film powinien lepiej Ci to zobrazować. Jeśli nadal nie będziesz wiedział jak to zrobić poprawnie, to zawsze możesz wykonać kilka prób. Najpierw robisz kopię oryginalnego pliku .htaccess. Dzięki czemu będziesz mógł powrócić do poprzedniego działającego pliku.

Jeśli go nie miałeś od początku, to masz jeszcze łatwiej. Wtedy jak coś pójdzie nie tak, to usuwasz ten plik z serwera i on automatycznie się sam utworzy, gdy WordPress będzie go potrzebował do działania.

Czasem może się zdarzyć, że strona nie do końca poprawnie działa, tak jak to się stało u mnie na filmie. Łatwo przy podmianach plików i bazy danych oraz ich edycji o jakiś błąd. U mnie to była jedna litera za mało przy zamianie tekstu w pliku kopii bazy danych. Dlatego na spokojnie prześledź wszystkie kroki jakie zrobiłeś, a wychwycisz przyczynę problemu.

Tak jak widziałeś też na filmie nie zobaczysz zmian na stronie mimo, że je wykonałeś. Bierze się to z używania wtyczek, które tworzą kopię podręczną Twojej strony, aby szybciej się otwierała. Jednak jak dokonasz zmian we wtyczkach lub plikach strony, to zawsze wyczyść tą podręczną pamięć, aby zobaczyć zmiany na stronie. Taka wtyczka powinna mieć przycisk, który czyści tą kopię strony.

 

Moje doświadczenie i wskazówka

Artykuł pisałem później niż nagrałem film. Zanim go zacząłem pisać natknąłem się na dziwny problem podczas przenosin strony na WordPress między serwerem lokalnym a serwerem w Internecie. Wykonałem wszystkie kroki jak należy. Sprawdziłem po przeniesieniu kopii bazy danych, czy jej zawartość jest właściwa i taka sama jak w kopii po jej edycji. Wszystko niby się zgadza, ale strona w wielu miejscach zgubiła dane.

Nikt nie jest w stanie przewidzieć każdej sytuacji. Podejrzewam problem z ustawieniami między serwerami oraz sposobem tworzenia bazy danych na serwerze. Może to być jedna mała rzecz, o której nie wiem, a która ma znaczenie w tym przypadku. Dlatego treść jaką zamieszczam na swoim blogu zapisuję w pliku tekstowym razem z obrazkamiObrazki i filmy trzymam też na dysku. Jak kopie bazy danych się nie sprawdzą, to zawsze mogę odtworzyć zawartość strony robiąc to samemu. Zajmie to dużo czasu, ale lepiej odtworzyć stronę, niż stracić całą wieloletnią pracę, ufając bezgranicznie maszynom.

Aktualizacja! Udało mi się rozwiązać problem z motywem, o którym wspomniałem. Po wielu różnych modyfikacjach zawartości bazy danych ręcznie i korzystaniu z wtyczki do podmiany adresów URL w bazie, w końcu coś zadziałało w pełni prawidłowo.

Kiedyś użyłem jednego skryptu, aby podmienić adresy URL w bazie danych. Zapomniałem tylko, gdzie go znalazłem. Okazało się, że link był na stronie wordpress.org.

Chciałem przenieść stronę z tym motywem na inną domenę na tym samym serwerze. Oto co zrobiłem:

  1. Zrobiłem kopię bazy danych dla bezpieczeństwa.
  2. Wrzuciłem do katalogu WordPressa plik o nazwie searchreplacedb2.php. W tym pliku jest kod odpowiedzialny za poprawną podmianę adresów URL w całej bazie danych. Mi coś ręcznie nie wychodziło, bo prawdopodobnie za dużo podmieniłem danych, albo inna przyczyna, o której w tej chwili nie wiem, bo aż tak dobrze WordPressa jeszcze nie znam. Kliknij na tej stronie przycisk Download Search Replace DB. Pobierzesz wtedy paczkę zip. Rozpakuj ją i w niej jest ten plik.
  3. Dla bezpieczeństwa zmieniłem nazwę tego pliku na np. rrrreplace.php.
  4. Wpisałem w przeglądarce internetowej adres na mojej jeszcze starej domenie, czyli np. http://stara-domena.pl/rrrreplace.php, aby uruchomić skrypt z tego pliku. Jeśli masz swoją stroną w katalogu to dopisz jeszcze po nazwie domeny nazwę tego katalogu.
  5. Po uruchomieniu na górze strony pod napisem Load DB connection values from WordPress? zostaw zaznaczony pod nim kwadracik i kliknij przycisk Submit.
  6. W następnym oknie pojawią Ci się dane dostępowe do Twojej bazy danych.Kliknij przycisk Submit DB details.
  7. Następnie zostawa zaznaczone wszystkie tabele. Nie zaznaczaj kwadraciku poniżej przy napisie Leave GUID column unchanged?. Kliknij przycisk Continue. Przy pytaniu potwierdź OK, że zaznaczyłeś właściwe tabele z bazy danych.
  8. W polu Search for wpisz małymi literami adres starej domeny, czyli np. http://stara-domena.pl. Jeśli masz WordPressa w katalogu i też chcesz podmienić nazwę katalogu lub przenieść na inną domenę bez umieszczania strony w katalogu, to też napisz nazwę tego katalogu po nazwie domeny, np. http://stara-domena.pl/nazwa-katalogu.
  9. W polu Replace with: wpisz nazwę nowej domeny, np. http://nowa-domena.pl. Po ukośniku dopisz nazwę katalogu, jeśli chcesz ją zmienić lub przerzucasz stronę do katalogu.
  10. Jak jesteś pewny, że dobrze wszystko wpisałeś kliknij przycisk Submit Search string. W wyniku tego dostaniesz komunikat w ilu miejsach bazy danych zostały podmienione adresy, które podałeś w tych polach.
  11. Zostało Ci jeszcze wejść w ustawienia swojej nowej domeny i skierować ją na miejsce na serwerze, gdzie masz pliki swojej strony.
  12. Starą domenę możesz wskazać na inną stronę. Jeśli chcesz, aby stara domena kierowała na nową domenę, to możesz jej przypisać do katalogu głównego serwera, a w nim umieścić plik .htaccess, w którym wpisz taki kod: RewriteEngine On RewriteCond %{HTTP_HOST} ^stara-domena.pl RewriteRule ^(.*)$ http://nowa-domena.pl/$1 [R=301,L]

Oczywiście podmień na swoje nazwy domen w miejscach stara-domena.pl i http://nowa-domena.pl. Po całej operacji od razu usuń plik skrypty z serwera dla bezpieczeństwa.

To właśnie zrobiłem i mi to pomogło. Może u Ciebie też ten sposób zadziała, gdy będziesz miał problem z ręczną podmianą adresów URL w edytorze tekstu.

 

Napisz w komentarzu Czy udało Ci się przenieść WordPressa na inny serwer?


Jeśli podoba Ci się artykuł to kliknij poniżej przycisk „Lubię to!”.

Paweł Protaś podpis

Podziel się na:
  • Facebook
  • Wykop
  • Twitter
  • Blip
  • Śledzik
  • Google Bookmarks
  • Gadu-Gadu Live
  • Blogger.com
  • co-robie
  • Forumowisko
  • Kciuk.pl
  • LinkedIn
  • Drukuj

Ten artykuł znaleziono w wyszukiwarce Google m.in. poprzez poniższe frazy kluczowe:

  • notepad skrót klawisz pokaż/ukryj*widok

Komentarze: 5

  1. wladek pisze:

    Super artykuł. Serdeczne dzięki za włożoną pracę i udostępnienie za free.
    Proszę napisać artykuł o automatycznym robieniu kopii bloga.Wtyczka WP-DB-Backup nie działa na wordpress 3.5.Jeszcze raz dziękuję.

    • Wciąż dostaję maile z kopiami baz danych na moich stronach przez wtyczkę WP-DB-Backup. Mam strony na aktualnej wersji 3.5.1. Wtyczki czasami nie działają, bo są w konflikcie z innymi wtyczkami lub motywem. Warto wyłączać po jednej wtyczce i sprawdzać, czy coś się zmieniło. Również sprawdzić działanie strony na innym motywie. Można też wtyczkę usunąć i od nowa zainstalować. Inna powodem jest czasem serwer, na którym działa strona na WordPressie. Zauważyłem, że wtyczki trochę inaczej działają, np. w innej formie przesyłają mi maile. Drobna różnica, ale jest.

  2. Jacek Oskiera pisze:

    witam,
    skorzystałem z poradnika jak przenieść blog wordpress na inny serwer, niestety mam problem.
    Zaimportowałem bazę, skopiowałem wp-content, wp-config są identyczne (ta sama domena) i graficznie blog się wyświetla dobrze, ale kliknięcie w jakikolwiek wpis kończy się takim komunikatem:
    Not Found
    The requested URL /druga-wyplata-dla-ciebie/ was not found on this server.
    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

    Czy coś możesz poradzić?

    • Witaj Jacku.
      Rozumiem, że dane do podłączenia się do bazy danych w pliku wp-config.php są poprawne. Przy zmianie serwera zakładasz nową bazę danych, więc najczęściej dane się zmieniają.
      Druga sprawa, którą zauważyłem jest taka, że po przeniesieniu jak miałem ustawione adresy URL na czytelne dla użytkownika, to przestały działać. Wejdź do Ustawienia -> Bezpośrednie odnośniki. Przełącz tam najpierw na Domyślny, zapisz zmiany, a potem przestaw na taki jak miałem ustawione wcześniej, np. Nazwa wpisu i zapisz zmiany.
      Zobacz czy to pomoże.

  3. robert pisze:

    może trzeba zmienić w ustawieniach wordpressa sposób generowania linków, bo z automatu są ustawione, że w urlu ustawia się data
    robert ostatnio opublikował..Oprawy rastrowe i przemysłowe w zakładach pracyMy Profile

Dodaj komentarz

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

CommentLuv badge

Czemu służy to pytanie?