Popularność WordPressa stale rośnie… Coraz częściej jest wykorzystywany nie tylko do prowadzenia (prywatnych) blogów, ale są na nim tworzone witryny firmowe. Dużą zaletą WordPressa 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 WordPressa…
Spis treści w artykule
- 1 Przenosimy WordPressa pod nowy adres
Przenosimy WordPressa pod nowy adres
Na początek kilka „założenia”, które zostały przyjęte na potrzeby tego wpisu/poradnika:
- Stara domena to: stara_domena.pl
- Nowa domena to: nowa_domena.pl
DNSy, jak i ustawienia serwera dla obydwu domen są już za nami…
BackUp
Warto wykonać, bo, mimo że metoda sprawdzona, zawsze coś może pójść nie tak. Można to wykonać na kilka sposobów, 3 najpopularniejsze to:
- Eksport bazy danych z phpMyAdmin
- BackUp z panelu zarządzania serwerem (np. cPanel, Direct Admin)
- Odpowiednia wtyczka
Dla pewności można skorzystać z kilku metod naraz.
Google – Narzędzia dla Webmasterów
Za pomocą Narzędzi dla Webmasterów (po)informujemy 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.
Przekierowanie 301 w pliku .htaccess
Ten etap jest tym ważniejszy, im 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.
Zmiana adresu w panelu zarządzania WordPressem
Sama zmiana adresu w ustawieniach WordPressa wydaje się prosta:
W polach:
- Adres URL WordPressa
- Adres witryny (URL)
wystarczyłoby wpisać nowy adres, i – teoretycznie – po sprawie…
Krok po kroku
Najpierw skopiuj (np. po FTP/SFTP) całą stronę z:
stara_domena.pl/public_html
do:
nowa_domena.pl/public_html
Następnie zaloguj się do WordPressaa (poprzez stara_domena.pl/wp-admin) 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 stroną, ale tylko pod starym adresem (stara_domena.pl). Wystarczy wpisać nowy adres (nowa_domena.pl) i zalogować się do panelu zarządzania…
Awaryjnie, jakby coś poszło nie tak, możesz jeszcze dokonać modyfikacji tych 2 wartości, dodając w pliku „wp-config.php” te 2 linijki:
define('WP_HOME','http://stara_domena.pl');
define('WP_SITEURL','http://stara_domena.pl');
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. Niestety, nie wszędzie są wykorzystywane zmienne, ale o tym za chwilę…
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…
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 (konkretnie ich treść).
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
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łaby zbyt uciążliwa. W tym momencie najszybszą metodą będzie praca bezpośrednio na „zrzucie” bazy danych…
Niektóre wtyczki (np. popularny Revolution Slider) w bazie danych adres strony zapisując z dodatkowymi tzw. ukośnikami wstecznymi (backslash). Dlatego przy modyfikacji bazy danych warto również to uwzględnić, korzystając dodatkowo z takiego schematu:
Stara domena:
https:\/\/stara_domena.pl
Nowa domena:
https:\/\/nowa_domena.pl
Dzięki czemu nie będziecie musieli później ręcznie poprawiać np. slajderów…
phpMyAdmin
W następnym kroku 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…
Eksport bazy danych
Najpierw zapiszemy (eksport) bazę danych na komputer, w tym celu skorzystamy z opcji „export” w phpMyAdmin:
Ważne, by zaznaczyć opcję „zapisz jako plik”, co pozwoli pobrać plik o nazwie „nazwa_bazy.sql”.
Edycja pliku z kopią bazy danych
Taki plik można otworzyć np. za pomocą praktycznie dowolnego edytora HTML, ja najczęściej korzystam z 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 bazie nie został wpis „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
Polecam również zaktualizować/zmodyfikować ścieżki bezwzględne (systemowe), jeśli takie istnieją, np.:
/var/www/stara_domena.pl/public_html
zmieniamy na:
/var/www/nowa_domena.pl/public_html
Gdy już wszystko zostanie zmienione, można plik zapisać – tu zwracam uwagę na kodowania znaków, by cały czas (eksport, edycja, import) posługiwać się tym samym zestawem znaków (np. UTF-8).
Import zmodyfikowanej bazy danych
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, DirectAdmin) 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 z poziomu phpMyAdmin zaimportować zmodyfikowane dane do (nowej) bazy:
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 jednego z następnych punktów, dotyczącego wp-config.php (główny plik konfiguracyjny WordPressa).
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');
Ścieżki bezwzględne:
UPDATE wp_posts SET post_content = REPLACE (
post_content,
'/var/www/stara_domena.pl/public_html',
'/var/www/nowa_domena.pl/public_html');
W tym przypadku kolejny punkt należy ominąć…
Parametry bazy danych, czyli „wp-config.php”
WordPress przechowuje podstawową konfiguracje strony – w tym parametry bazy danych – w pliku wp-config.php, o którym już wspominałem wcześniej.
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 WordPressa, po ściągnięciu na dysk (np. za pomocą FTP) można go otworzyć w dowolnym edytorze HTML, np. we wspomnianym wyżej Notepad++ (korzystając z połączenia SCP można edytować bezpośrednio, bez pobierania na dysk).
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ć. Po wymaganych modyfikacjach 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.
Jeszcze 2 uwagi
Na koniec jeszcze 2 istotne elementy każdej „przeprowadzki”:
- Użytkownicy – pamiętaj, by poinformować ich wcześniej o nadchodzącej zmianie, jak i uprzedzić ich o możliwych problemach…
- BackUp – w razie czego, masz BackUp…
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01
Bardzo ciekawy artykuł który może wielu osobom pomóc.
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..
@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)
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?
@Bilety:
1. Dziękuje…
2. Tak, konfiguracja będzie zachowana…
3. Anchor nie przeszedł ;-)
Witam,
Zrobiłem tak jak w poście.Strona ładuje się i zostaje puste tło.Co zrobiłem źle.Proszę o szybką odpowiedź
@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:
na
Bez „http://” itp… Powinno pomóc…
Niestety nie pomogło.Co mam teraz zrobić ?
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:
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ć…
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:
A prędzej powinno być raczej coś w stylu:
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…
Kurczę to też nie pomogło.Jakbyś podał e-mail to mogę wysłać hasło i login i konta ftp i phpmyadmin.
Zawsze jest formularz: https://webinsider.pl/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ć…
To chociaż powiedz gdzie mam jeszcze ew. szukać.
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…
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 ;)
:-)
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:
Pozdrawiam
A ja cały czas zmieniałem domenę ręcznie ;)
Dzięki za art. ;)
A co jesli wszystko dobrze dziala na nowej domenie a brakuje panelu admina?
ok juz dobrze wszystko ;-) tylko do konca nie wiem jak stary adres przekierowac na nowy ;/
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ł…
@Patryk
wlasnie jest problem ze jak przekieruje tak jak jest w pkt. 3 to nie dziala strona ani na nowej domenie ani na starej ;/
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ę…
/htdocs edytuj
/htdocs edytuj / usuń dodaj alias
obie domeny sa w tym samym katalogu…
to zle?
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…
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
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).
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
To chyba dobrze masz ustawione:
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… ;-)
Witam, mam taki problem że po zmianie domeny na nową niestety wywala mi błąd „Błąd nawiązywania połączenia z bazą danych”
Tak wygląda .htaccess
# BEGIN WordPress
RewriteEngine on
RewriteBase /
RewriteRule ^index.php$ - [L]
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^[_0-9a-zA-Z-]+/(.*.php)$ $1 [L]
RewriteRule . index.php [L]
# END WordPress
Wszędzie gdzie się dało zmienić w bazie danych zmieniłem ze starej domeny na nową. Niestety problem nie zniknął.
Jakieś koncepcje?!
Witam!
Na podstawie komunikatu błędu jaki się wyświetla na stronie:
zaczął bym od sprawdzenia pliku wp-config.php, czy tam są poprane parametry dotyczące bazy (nazwa bazy, nazwa użytkownika i hasło, adres hosta serwera MySQL – tu zazwyczaj „localhost”)
Bo może przy okazji zmiany domeny zmieniłeś też „hosting/serwer”, bądź skasowałeś „starą” bazę danych…
Same wpisy w .htaccess dotyczące WP wyglądają raczej OK – choć kojarzą mi się z WP MU/MD (Multi User/Multi Domain)
Ja sam używam najczęściej:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Plik wp-config.php został ten sam, zmieniłem tylko nazwę bazy i usera (dane na 100% są poprawne). A na poprzedniej domenie działało.
końcówka wp-config.php
define('WP_DEBUG', false);
define('WP_ALLOW_MULTISITE', true);
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
$base = '/';
define( 'DOMAIN_CURRENT_SITE', 'nazwa_domeny.pl' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
Jeśli chodzi o serwer to wszystko zostało na tym samym, a nie wiem czy to ma znaczenie, ale jak chciałem jeszcze na starej domenie zmienić w administracji sieciami-> witryny zmienić domene, to pole to miałem zablokowane, w wersji angielskiej za to było aktywne, dlatego wszystko poprawiałem ręcznie w bazie.
Po drugie wcześniej podczas instalacji miałem wskazaną subdomene na katalog główny(public_html/user w którym jest katalog wordpress i wszędzie było wskazanie na podkatalog /wordpress/ teraz domenę podpiąłem bezpośrednio do katalogu public_html/user/wordpress
Strona leży pod domeną http://[—].pl
A musisz to jako WP MU robić?
Bo być może niepotrzebnie komplikujesz sobie robotę…
Ogólnie ból jest taki, że nie ja stawiałem stronę tyko inna osoba która robiła strona na moim wykupionym serwerze, ja jestem osobą teraz odpowiedzialną za tą stronę i muszę się z tym męczyć. A docelowo ma być w kilku językach strona dlatego MU.
Już rozmyślam czy by nie zainstalować jeszcze raz samemu WP :/
Nie trzeba MU, by zrobić kilka języków…
Czyty WP pewnie nie zaszkodzi, choć nie wiem czy pomoże (ale opieram się tylko na tym co napisałeś, i na „pobieżnym” przejrzeniu strony (od strony „klienta/internauty”) o której mowa)
Na pewno baza + skórka + wtyczki (te potrzebne) warto skopiować, by „na nowym WP” strona szybko uzyskała „wyjściowy” wygląd…
Stara baza danych została, zrobiłem backup wprowadziłem poprawki, stworzyłem nową bazę i usera i wgrałem bazę. Dane do łączenia z bazą zgadzają się na 100%.
Wszystko jest na tym samym serwerze, tylko inną domenę podpiołem, bo WP był instalowany na subdomenie usera.
Może ma wpływ na to to że subdomena była skierowana na /public_html/user i wszędzie w były odnośniki /wordpress/ a teraz domena jest podpięta bezpośrednio na /public_html/user/wordpress
między innymi dlatego musiałem zmienić w .htaccess
RewriteBase /wordpress/
na
RewriteBase /
i linki w bazie z
http://stara_domena.pl/wordpress/
na
http://nowa_domena.pl/
A nie /home/user/domains/domena/public_html/?
Jeśli jesteś pewien danych dostępowych do bazy danych, to bym pliki skopiował tak jak podałem wyżej, do tego w bazie danych korekta „linków” + .htaccess jaki podałem…
Choć ja bym jednak stawiał na bazę danych, a nie .htaccess
W ramach testów wgrałem sobie „Twój .htaccess” do jednej ze stron na WP, skonfigurowanej na zasadzie:
/home/user/domains/domena/public_html/index.php
...
/home/user/domains/domena/public_html/wp-content
I działa OK…
Witam, od ostatnie posta troszkę czasu minęło, ale są i postępy.
Teraz utkwiłem w miejscu że wszystko strona uruchamia się na domenie http://[—].pl i działają podstrony, ale niestety strona główna wywala błędy i tylko ona i wpisując http://[—].pl/wp-admin przekierowuje do strony głównej.
Podejrzewam że to .htaccess tylko nie wiem co to może być. Hellp me
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^[_0-9a-zA-Z-]+/(.*.php)$ $1 [L]
RewriteRule . index.php [L]
# END WordPress
Ślicznie dziękuję za ten artykuł! Oszczędził mi mnóstwo roboty! =)
A co z danymi zserializowanymi w bazie np w tabelach wp_postsmeta, wp_options gdzie przechowywana jest rowniez dlugosc stringu? Po zamianie strigow pole takie nie nie zostanie odserializowane. Zserializowanych danych w bazie WordPressa moze byc mnostwo, np w dodatkowych tabelkach pluginow (setki, a nawet tysiace rekordow). Przypominam tez, ze dlugosc stringu to ilosc bytow, a nie znakow co dodatkowo komplikuje sprawe.
Szczerze, to przy zmianie adres/domeny w serwisie opartym o CMS WordPress nigdy nie przejmowałem się „długościami stringów” i zawsze – a już takich przenosin mam na swoim koncie sporo – wszystko było OK. Zresztą przenosin WP (chodzi o konkretny serwis, a nie ogólnie WP) na inną domenę nie robimy codziennie – no chyba, że w ramach testów/rozrywki/praktyki ;-)
PS. A co do śmieci w bazie – to zawsze jakieś się znajdą, czy to po wtyczkach, czy po… Można czyścić ręcznie, może są jakieś „automaty” – ale po „swoich DB” widzę, że nie ma tego aż tak dużo… No chyba, że testujemy sporo dodatków, zwłaszcza „językowych” – ale to lepiej robić chyba na „deweloperskiej kopii” ;-)
Bardzo dobry poradnik, nie ma co się bać, ja jechałem wszystko na czuja :D I wszystko pięknie się skopiowało i baza danych też zaimportowana, wszystko gra! Świetny poradnik, pozdrawiam!
Ciesze się, że się wszystko udało… I choć faktycznie – zazwyczaj nie ma problemów, to jednak polecam kopie zapasowa. Pracy niewiele więcej, a w razie czego… :-)
Również pozdrawiam
Cześć, gubię się trochę w tym wszystkim. Mam stronę na serwerze http://cośtam.home.pl/mojastrona i chcę zmienić ją aby była dostępna pod wykupioną nazwą mojastrona.pl, czy te artukuł właśnie to opisuje? Nie rozumiem kroku z kopiowaniem strony przez FTP jak w przykładzie z: stara_domena.pl/public_html do: nowa_domena.pl/public_html.
Proszę o pomoc.
Prawdopodobnie to jest poradnik właśnie dla Ciebie :-)
Z kopiowaniem plików chodzi o to, że jak dodałeś nową domenę do serwera, to prawdopodobnie (choć to też zależy jak była dodawana) wyświetla się tam coś innego – a powinny pliki strony. Stąd „pliki strony” kopiujemy do nowej lokalizacji. Alternatywa to link symboliczny, lub przypisanie nowej domeny do starej – ale nie wiem czy w Home.pl mają takie „bajery” ;-)
Ja chciałabym prosić o powrót do ustawień DNS ponieważ rozpoczęłam właśnie przygodę z WordPressem i zdecydowałam się na wykupienie swojej domeny. Jednak portal cały czas krzyczy mi o update DNS i informuje o:
„Your nameservers need to be set to NS1.WORDPRESS.COM and NS2.WORDPRESS.COM for these DNS records to work.”
Weszłam nawet w ustawienia domain menegenent ale nie wiem jak i co zmienić. Bardzo proszę o pomoc.
Serwis WordPress.com – gdzie można postawić bloga/serwis hostowany „u nich” (Automattic) to co innego niż WordPress (WordPress.org) do instalacji na własnym serwerze.
Z treści komentarza wnioskuje (bo troszkę tam chaosu się wdarło ;-)), że chodzi właśnie o stronę na WordPress.com, a komunikat informuje, że dodana domena ma ustawione inne DNS’y niż wymagane (na1/na2.wordpress.com) i zapewne wystarczy w konfiguracji domeny (u rejestratora) dokonać stosownej modyfikacji. Od razu dodam, że taka zmiana może potrwać teoretycznie nawet do 48 godzin…
Pod koniec września zmieniałem domenę z „cba.pl” na „com.pl”. Miałem wrażenie, że wszystko działa poprawnie, gdyż blog jak i wszystkie podstrony na nim działają pod nowym adresem (LINK1). Pojawił się jednak mały problem, który zauważyłem parę dni temu. Wśród moich stałych czytelników są blogi na domenie blogspot.com, które posiadają u siebie „widgety” z informacjami o najnowszych wpisach na danych stronach (przykład np. tu: LINK2). Poprosiłem ich o zmianę adresu bloga na „com.pl” na swoich blogach. Od czasu zmiany domeny przestały się one jednak aktualizować i przy nazwie mojego bloga ciągle widnieje u nich post z 29 września, mimo że po nim pojawiło się kilka kolejnych.
Co jest tego powodem? Czy problemem jest podwójna domena (bo blog działa zarówno pod domeną „com.pl”, jak i „cba.pl”)? Czy może w jakiś ustawieniach powinienem nanieść jeszcze jakieś zmiany?
Proszę o pomoc
Trzeba raczej pisać do nich, by sprawdzili jak to wygląda. Nie wiem jak pobierają informacje o nowych wpisach, ale podejrzewam, że po RSS, więc warto sprawdzić czy tu jest wszystko OK, ew czy nie ma jakiegoś dziwnego przekierowania…
Witam,
Mam następujący problem – przenosiłem stronę na inny adres. W bazie danych było mnóstwo zdjęć. Po przeniesieniu bazy stare adresy zostały podmienione – jednak w mediach nie wyświetlają się miniatury zdjęć! Po wejściu na stronę gdzie znajduje się galeria wyświetlane są tylko etykiety zdjęć – po kliknięciu w etykietę zdjęcie się otwiera normalnie – nie ma tylko jego miniatury na stronie oraz w panelu (media). Co może być tego przyczyną?
We wpisie (poradniku) jest fragment dotyczący aktualizowania ścieżek bezwzględnych (systemowych). Może to być przyczyną. Ew. można spróbować wygenerować ponownie miniatury dla wszystkich plików z galerii multimediów. Można to zrobić za pomocą WP-CLI i polecenia:
Lub korzystając z jakiejś wtyczki, np. Regenerate Thumbnails.
Próbowałem to i to, niestety nic nie pomogło… :(
Ciężko mi coś konkretnego powiedzieć/napisać nie widząc jak to wygląda faktycznie na stronie… Ale zerknij do źródła strony, będziesz miał tam adres (URL) pliku miniatury, i sprawdź czy jest on poprawny, a jeśli tak, to czy taki plik faktycznie istnieje.
Tak sprawdziałem – plik istnieje, jest na serwerze, jego ścieżka jest poprawna. Problem dotyczy miniatur zdjęć – nie ma ich ani w panelu (media) ani na stronie docelowej – wyświetlają się tylko tytuły zdjęć a po kliknięciu w tytuł zdjęcie wyświetla się normalnie tyle że w lightboxie. Nie ma jego miniatury w galerii – i weź bądź tu mondry :(
To, że plik graficzny istnieje, to wiadomo po tym, że wyświetla się choćby po kliknięciu na miniaturę, której nie ma. Pytanie, czy jest plik miniaturki (z rozszerzeniem w nazwie). I to chyba tyle, ile mogę pomóc bez wglądu do strony.