Blog

Zmiana adresu URL WordPressa

Wielu początkujących użytkowników WordPressa, podczas poznawania panelu administracyjnego, niechcący zmienia adres URL i adres bloga -z ciekawości, aby sprawdzić co się stanie.

Po takim zabiegu niestety nie dzieje się nic dobrego, gdyż od tego momentu nie można się już dostać do kokpitu aby cofnąć zmiany, a do tego strona/blog gubią obrazki, tła oraz style.

 

Jak zmienić adres URL WordPressa?

Są różne sposoby na cofnięcie tych zmian, najpopularniejszym z nich jest użycie phpMyAdmina, i zmiana pól home oraz siteurl w tabeli _options. Jednakże większość tych początkujących użytkowników nie ma jeszcze opanowanego phpMyAdmina, a próby grzebania w bazie mogły by się zakończyć jeszcze większą katastrofą, dlatego użyjemy innego sposobu, a mianowicie edycji pliku wp-config.php. W panelu administracyjnym, w Ustawieniach > Ogólne, wpisane adresy są przetrzymywane w bazie danych, natomiast jeśli zdefiniujemy owe adresy ręcznie w pliku konfiguracyjnym, wtedy zastąpią one te z ustawień.

Pliki .php w WordPressie edytujemy oczywiście jakimś edytorem obsługującym kodowanie UTF-8 bez BOM, np. Notepad++.

 

Edycja pliku wp-config.php

Od wersji 2.2 WordPress pozwala na zdefiniowanie swojego adresu w pliku wp-config.php poprzez WP_HOME oraz WP_SITEURL. Aby to zrobić wystarczy w dowolnym miejscu wstawić poniższy kod, np. w taki sposób:

/* To wszystko, zakończ edycję w tym miejscu! Miłego blogowania! */
define('WP_HOME', 'http://wordpress-polska.pl');
define('WP_SITEURL', 'http://wordpress-polska.pl');

W obu przypadkach, przed adresem należy dodać http:// , a na końcu adresu nie wstawiamy /

Teraz wystarczy już tylko zapisać zmiany w pliku, i zaktualizować plik na serwerze.

Taka zmiana w wp-config.php powoduje sztywne przypisanie adresów ze stałych WP_HOMEWP_SITEURL, przez co w Ustawienia > Ogólne odpowiednie pola będą zablokowane.
Od teraz adresy są pobierane z pliku, a nie z bazy danych.

 

Edycja pliku functions.php

Innym rozwiązaniem jest użycie funkcji update_option(), dzięki której nie ustawia się adresów strony/bloga na sztywno, tylko aktualizuje się te w bazie danych. Aby to zrobić należy do pliku functions.php, tuż za tagiem <?php, dodać poniższy kod:

update_option('siteurl','http://wordpress-polska.pl');
update_option('home','http://wordpress-polska.pl');

Oczywiście zamiast wordpress-polska.pl trzeba wpisać swoją domenę.

Następnie należy wejść na stronę główną lub do wp-admina, i odświeżyć stronę aby funkcja update_option() zadziałała.

Od teraz strona powinna już działać pod poprawnym adresem. Jeżeli wszystko działa poprawnie, powinno się ponownie edytować plik functions.php i usunąć te dwie dodane linijki.

Jeśli spodobał się Wam ten wpis albo okazał się przydatny, pomóżcie nam go wypromować aby trafił do jak największej ilości osób - wystarczy że podzielicie się nim z innymi:

25 Komentarzy

  1. No, super, że pojawiają się tu nowe wpisy. I od razu ciekawe. Nie znałam tej sztuczki z edycją wp-configu.php. Dzięki za ciekawy wpis!

  2. Wszystko fajnie pięknie, zrobiłem jak opisano tutaj, lecz po zmianie i powrocie do strony w ustawienia>ogólnie tam mi się wyświetla na szaro i nie mogę tego usunąć?

    • Faktycznie tak jest, dziękuję za zgłoszenie błędu.
      Poprawiłem i zaktualizowałem wpis, dodając kolejną – lepszą metodę.

      • :) Potestowałem trochę i po zmianie w wp.config musimy przejść do pHp admin i tam zmienić wp-options stronę, która jest błędna w pozycji (home oraz coś tam, nie pamiętam. :)) I później można wykasować te 2 linijki z wp-config i wrzucić na ftp.

        Druga opcja, tak jak opisane wyżej, na sztywno z wp-config. :)

  3. Jestem jak to jest napisane na początku jednym z „Wielu początkujących użytkowników WordPressa”oraz „większość tych początkujących użytkowników nie ma jeszcze opanowanego phpMyAdmina”.
    Nie chciałem modyfikować „na sztywno” wp-config.php wiec skorzystałem z drugiej opcji dopisku w pliku functions.php. Dodałem proponowane kody zaraz na początku, gdzie po raz pierwszy pojawia się tag: <?php. Niestety po zaktualizowaniu strony wyskoczył mi komunikat:
    "Fatal error: Call to undefined function sanitize_option() in /wp-includes/functions.php on line 527"
    Ta linijka ma wygląd: "$newvalue = sanitize_option( $option, $newvalue );"

    • Jakiej wersji WordPressa używasz? Jeśli najnowszej to ponownie ściągnij i wgraj katalog wp-includes. Jeśli jakiejś starszej, to po prostu zaktualizuj WordPressa do obecnie najnowszej wersji – 3.5.1

    • Na pewno nie miałem / nie mam 3.5.1, bo chwilę przed moim fatalnym błędem (jak w temacie) widziałem na kokpicie wiadomość, żeby aktualizować do najnowszej wersji. Pewnie wówczas byłoby to banalne. Obecnie nie mając dostępu do kokpitu, nie wiem (jeszcze) jak wgrać aktualizację nie usuwając zmodyfikowanych plików z serwera. Jak pisałem wcześniej jestem dość zielony w tej materii.
      Wordpress zastałem na serwerze i zajmuję się aktualizacją danych jakie są na stronie tam utworzonej.

    • Pobierz WordPressa z tego linka, wypakuj, a następnie wrzuć na serwer wszystkie pliki luzem, oraz katalogi wp-admin i wp-includes, nadpisując stare pliki.

      Nic nie rób z katalogiem wp-content, tam nie ma plików WordPressa, tylko wtyczki i szablony, je sobie zaktualizujesz już przez panel admin.

    • Obecnie sytuacja wygląda tak:
      Strona główna wyświetla się tak jak wcześniej, czyli bez tła, styli, slajdera, innych niż podstawowa czcionek i wszystko w 1 słupku. Podobnie podstrony.
      Żeby przejść na inne podstrony, przekierowuje mnie na zmodyfikowany adres domeny i mogę je zobaczyć dopiero jak poprawię adres domeny (w praktyce to jest tylko skasowanie 1 znaku).
      Podstrona …pl/wp-admin/ nie chodzi na żadnym z tych adresów.
      (powyżej opisuję obecną sytuację, po ówczesnym wykonaniu: pobrania, wypakowania, wrzucenia na serwer opisanego wyżej.)

    • Jesteś pewien że ponownie dodałeś kod do zmiany adresu? Jeśli tak adres powinien być poprawny i wszystko powinno wrócić do normy. Komentarze tutaj nie są włączone z myślą aby prowadzić w nich wątki jak na forum, dlatego proponuję Ci abyś Twój problem opisał tutaj:
      http://pl.forums.wordpress.org/

      Od razu podaj tam adres do strony, jak wygląda obecny link i jak ma wyglądać poprawiony, dzięki temu łatwiej będzie udzielić Ci pomocy.

  4. Fatal error: Call to undefined function update_option() in /home/oh183615/public_html/costam.com/wp-includes/functions.php on line 2

    co zrobilem zle?

    • Funkcja update_option() powinna być w wp-includes/options.php a nie functions.php
      Jaką masz wersję WordPressa? Spróbuj ją zaktualizować, albo jeszcze raz wysłać pliki na serwer nadpisując obecne.

  5. Hej, mam pytanie dot. tego adresu URL. Rzeczywiście na początku chciałem się tym pobawić i się zepsuło. Po zmianie configu jest ok. Mam jednak problem z wyświetlaniem tego adresu. Kiedy wstawiam na przykład adres na facebook, to pokazuje się adres serwera zamiast „czysty” adres domeny. Wszystko działa jak trzeba, ale chciałbym, żeby nie pokazywało adresu serwera tylko adres domeny http://www.sztukawystapien.pl. Jak można to zmienić??

    • Obecnie Twoja domena działa jako alias, zaciąga stroną z innej domeny i wyświetla ją w ramce. Możesz sobie sam to sprawdzić, kliknij na dowolny link na stronie – adres jest cały czas ten sam, nie zmienia się.

      Zmiana samego adresu URL WordPressa może jedynie popsuć Twoją stronę, wpierw musisz domenę skierować na konkretny katalog gdzie stoi WP, a potem zmienić domenę WP.

      Poszukaj czegoś w stylu ‚jak zmienić domenę wordpress’, albo skorzystaj z tego:
      http://rembiejewski.pl/blog/wordpress-zmiana-adresu-domeny/

  6. Całkiem zgrabnie przepisany artykuł z kodeksu WordPressa – szkoda tylko że zaledwie część podstawowa.

    Dla tych którzy napotkają problemy ze zmianą URL WordPressa ( ja niestety zmarnowałem sporo czasu na odtwarzanie bazy i próby zmiany domeny – na szczęście zabezpieczyłem bazę).
    Metoda Buletproof na zmianę url’a:
    1. backup bazy danych KONIECZNIE!!!
    2. wyłączyć wszystkie wtyczki wordpressa (bez wyjątków – szczególnie wtyczki bezpieczeństwa jak BetterWPSecurity strasznie znosi zmianę adresu i możecie stracić dostęp do panelu administratora)
    3. zmiana URL według metod przedstawionych w artykule lub dla anglojęzycznych w kodeksie WordPressa
    4. po zalogowaniu się już z nowymi ustawieniami włączamy wtyczki ponownie
    5. sprawdzić po kolei wszystkie strony czy nie uciekły jakieś grafiki i skorygować ich linki – czasami WP wstawia media z pełnym adresem URL a nie tylko ścieżką względną.

    Sam temat wtyczek zgłoszę jako problem do wordpressa – wydaje mi się że w przypadku zmiany adresów blogu powinien sam najpierw je dezaktywować i po zmianie aktywować ponownie żeby zapewnić konfiguracji „idioto-odporność”.

    • A w jakim celu Ty zmieniałeś adres WordPressa? Wydaje mi się że mówimy o dwóch różnych przypadkach, ten artykuł nie dotyczy zmiany domeny xxxx.pl na yyyy.pl, a dotyczy bardziej błędu początkujących – ktoś nie czytał uważnie.

      Ten wpis jest dla tych którzy myśleli że mając bloga np. subdomena.domena.pl, czyli średnio ciekawy adres, w ustawieniach sobie wpiszą sobie np. imienazwisko.com – i będą mieli bloga czy stronę pod własną domeną, bez nawet płacenia za nią – ale rzeczywistość szybko ich rozczarowuje. Wpis ten popełniłem jak jeszcze miałem czas aby świadczyć support na polskich forach WordPressa, i często użytkownicy zgłaszali się tam z takim problemem i prośbą o pomoc.

      Dla Twojego problemu najprostszym rozwiązaniem będzie:
      1. Zainstaluj http://wordpress.org/plugins/wp-migrate-db/
      2. Użyj
      3. Ciesz się że właśnie zaoszczędziłeś sporo czasu

  7. witam, aby uruchomic strone musze wpisac; http://www.mojastrona.pl/word

    ze wzgledu na to ze WP jest zainstalowane w folderze word. Pytanie co zrobic aby strona uruchamiala sie pod linkiem http://www.mojastrona.pl

    probowalem opcji powyzej i nic z tego

    • Aby WordPress działał pod główną domeną, musisz go zainstalować w katalogu na który ona kieruje, a nie dodatkowo w podkatalogu word. Dlatego przenieś pliki WordPressa katalog wyżej, i zainstaluj go ponownie, lub zmień adres na nowy.

  8. bez kitu, powinni wydać jakiś konkretny poradnik wordpressowy…sporo tego do ogarnięcia :/

  9. Właśnie tego szukałem, dzięki

  10. Robiłem stronę znajomemu na domenie kreatywnilodz.pl teraz gdy jest zrobiona chciałem ją przerzucić na nową domenę w obrębie jednego serwera. Zrobiłem oczywiście błąd z tematu. Wpisałem na sztywno adresy w wp-config.php z powrotem na kreatywnilodz.pl…. Czy mogę przerzucić stronę na inną domenę nawet gdy home i url strony w panelu administratora są zablokowane?

    • Oczywiście, poprzez drugi sposób czyli edycje pliku functions.php, który odpowiada za aktualizację adresów w bazie – po tym zabiegu będzie można usunąć na sztywno zdefiniowane adresy w wp-configu.

  11. Dziękuję za przydatne informacje. Był błąd, skorzystałam i jest w porządku :)

  12. Nie znałem tej metody a pewnie nie raz się przyda :)

Pingback / Trackback

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Portal cały czas się rozwija, jeżeli chcielibyście nam w tym pomóc, to zapraszamy do kontaktu, nigdy za wiele rąk do pracy :)

Jeżeli macie jakieś sugestie odnośnie Portalu, jego treści, zawartości, albo znaleźliście jakieś błędy, lub literówki, nie wahajcie się napisać nam o tym.
Aby pomóc nam w promocji Portalu, podzielcie się nim na swoich blogach lub stronach. Jeżeli podoba się Wam nasza koncepcja, albo znaleźliście tutaj pomoc, to pomóżcie także innym do nas trafić.

Wystarczy nam nawet najzwyklejszy link w stopce, albo w sidebarze :)