WordPress költöztetés új domain alá

Új domain alá költözni nem mindig fájdalommentes feladat. Az ember könnyen szembekerülhet eltérő szerverbeálításokkal és más nyalánkságokkal amelyek elszaporítják ősz hajszálaink számát. Lássuk lépésenként, hogy mit is kell tennünk ha egy működő worpress alapú weboldalt új domainra mozgatjuk. A történet apropója, hogy az rrd.1108.cc domainról áttelepültem a webmania.cc domainre.

Először is be kell regisztrálnunk egy az új domaint és szerezni egy tárhelyet valahogy így. Persze elképzelhető az is, hogy maradunk a jelenlegi tárhelyen csak a domain változik meg.

Ha az új domain elérhetővé válik, akkor nekiláthatunk a munkának. A következő kihívásokkal kell megküzdenünk.

  • Fileok átmásolása
  • Adatbázis másolás
  • Hivatkozás cserék
  • Átirányítás
  • Kiértesítés

Fileok átmásolása

Ez a legegyszerűbb ügylet. Fogjuk magunkat rácsatlakozunk a régi szerverre, és ftp-vel letöltünk mindent. Attól függően, hogy mennyire használjuk képek, hangok és videók feltöltésére az oldalunkat akár elég nagy lehet a szóban forgó adatmennyiség. Ezt a rakat adatot jól elmentjük magunknak, hogy ha esetleg valami galiba történik akkor legyen egy biztonsági másolatunk.

A letöltött állományokat én bemásoltam a mentések közé, illetve létrehoztam nekik egy másik munkakönyvtárat a hivatkozás cserékhez.

Adatbázis mozgatás

Ez már nem feltétlenül lesz olyan egyszerű mutatvány mint az előző. Szerencsés esetben hozzáférünk valamilyen MySQL adminisztrációs felülethez, mondjuk egy PHPMyAdminhoz, még szerencsésebb esetben a MySQL parancssorához és ezekkel készítünk egy dumpot. A dump egy SQL parancsokat tartalmazó file. PHPMyadminnál az export menü környékén kell keresgélnünk, paranccsor esetében pedig a mysqldump adatbazisneve > adatbazis.sql -u felhasznalonev -p parancs lesz a segítségünkre. Akár így, akár úgy a végén a kezünkben lesz egy sql kiterjesztésű file ami a jelenlegi adatbázisunkat tartalmazza. Mielőtt belebonyolódnánk a következő lépésekbe jó ha ezt is eltesszük a mentések közé.

Ezután felmegyünk az új domainhez tartozó sql adminisztrációs felületre és létrehozunk egy új adatbázist a wordpress számára. Jó eséllyel ennek más felhasználónevet és jelszót fogunk adni. Nyissuk meg a munkakönyvtárunkban lévő /wp-config.php filet és írjuk át benne a mysql csatlakozáshoz használandó felhasználónevet és jelszót.

Ha ezzel megvagyunk, akkor bele kell tenni a dumpból a lementett adatbázis adatokat az új adatbázisba. Ha PHPMyAdminnal dolgozunk akkor figyelembe kell venni, hogy többnyire 2MB-ban limitálják a feltölthető sql fileokat. Tehát ha nagyobb a dump fileunk, akkor szét kell kisebbre darabolnunk. Szerencsére az sql nem hisztis, csak arra kell figyelnünk, hogy lehetőleg egy parancsot lezáró ; (pontosvessző) karakter után vagdaljunk ne valahol egy sor közepén. A másik dolog amire figyelni kell, hogy lehetőleg olyan sorrendben eresszük rá a darabolt filejainkat a PHPMyAdminra mint ahogy eredetileg a dump fileban voltak, vagyis az elejét előszőr, aztán a következő részt, és így tovább egészen a végéig.

Ha hozzáférünk a mysql parancssorához akkor némileg könnyebb dolgunk van, mivel nincs a 2MB-os korlát. Ebben az esetben az alábbi parancsokat kell kiadnunk.

mysql -u felhasznalonev -p
use adatbazisnev;
source adatbazis.sql

Ez szépen kiolvassa az előbb létrehozott adatbazis.sql fileból a benne lévő sql parancsokat és szépen végigfuttatja őket.

Hivatkozás cserék

A látszat ellenére nem vagyunk készen, mert a wordpress és mi magunk is jópár helyen abszolút hivatkozásokat tettünk a kódba.

Hivatkozás cserék a fileokban

Át kell futnunk, hogy mi magunk kézzel használtunk-e valahol abszolút hivatkozásokat a használt filokban. Többnyire a themes könyvtárban használt fileok, saját fejlesztésű pluginek és egyéb wordpress rendszeren kívüli fileok jöhetnek szóba. Ha olyan webszerkesztő alkalmazást használunk ami kezel projekteket, akkor egyszerű a dolgunk, megnyitjuk a projektet és a projekten belül rákeresünk a regidomain.hu stringre és lecseréljük azenujdomainem.hu stringre.

Hivatkozás cserék az adatbázisban

A fileok melett az adatbázisunkban is lesz jópár hely ahol szerepel a régi domainünk neve. Vagy fogjuk az sql dumpfileunkat és egy egyszerű szövegszerkesztővel kicseréljük a regidomain.hu string összes előfordulását azenujdomainem.hu-ra mielőtt belepaszíroznánk az új adatbázisba, vagy munkába fogjuk az sql replace parancsát.

Amit biztosan meg kell tennünk azok a következők.

UPDATE wp_options SET option_value = replace(option_value, 'http://regidomain.hu', 'http://azenujdomainem.hu') WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET guid = replace(guid, 'http://regidomain.hu','http://azenujdomainem.hu');

UPDATE wp_posts SET post_content = replace(post_content, 'http://regidomain.hu', 'http://azenujdomainem.hu');

Ezen felül a használt pluginektől függően még előfordulhat pár más helyen is, szóval ezeket még végig kell futnunk.

A fenti két módszer közül az első a kényelmetlen és biztos, a második a kényelmes és bizonytalan. Válasszon mindenki kedve szerint.

Ha most feltöltjük a munkakönyvtárból a módosított filejainkat tartalmazó csomagocskát az új szerverre, és bepötyögjük a http://azenujdomainem.hu címet akkor mindennek kifogástalanul működnie kell. Nem árt ellenőrizni, hogy a /uploads és más eredetileg írhatónak jelölt könyvtárak és fileok a felmásolás után is írhatóak-e.

Átirányítás

Jelen pillanatban van két azonos tartalmú független wordpress blogunk. A régit akár törölhetnénk is, de elképzelhető, hogy ténykedésünkről nem értesült a világon mindenki. Valahogyan meg kel oldanunk, hogy az összes régi linkünk elérhető maradjon és átirányítódjon az új helyre. Ehhez a régi szerver gyökerében a .htaccess filet kell átalakítanunk. Bármi is legyen benne töröljük ki és tegyük bele a következő sorokat.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule    (.*) http://azenujdomainem.hu/$1 [R=301,L]
</IfModule>

Emberi nyelvre lefodítva ezzel azt közöljük a böngészőkkel, keresőrobotokkal és minden egyéb user agenttel, hogy az oldalunk mindenestől és véglegesen átköltözött az azenujdomainem.hu domain alá.

Az R=301 hatására a webszerver kiküld egy 301-es Permanently Removed headert ami azért hasznos, mert ezzel a googlebot és más keresők tudtára adjuk, hogy vegyék ki a régi domain elérhetőséget az indexükből és cseréljék ki az újra. A RewriteRule első fele meg arról gondoskodik, hogy bármilyen címet is hívjanak meg az a megfelelő párjára legyen átirányítva. Ez azt jelenti, hogy ha valaki lekéri a http://regidomain.hu/valami/semmi url-t akkor át fog irányítódni a http://azenujdomainem.hu/valami/semmi oldalra.

Kiértesítés

Ha mindezzel megvagyunk akkor már csak annyi dolgunk maradt hátra, hogy a változásról kiértesítsük azokat akiket jó kiértesíteni, illetve átállítsuk azokat a külsős alkalmazásokat amelyek függnek az url-től. Egy wordpress blog esetében a feedburner és a google analytics jó eséllyel pályázik erre. Szerencsére mindkettőben két klikkel át lehet állítani a beregisztrál domain nevet a régiről az újra.

Ha nem megy minden simán

Persze ahogy azt a számítástechnika rejtelmes világában megszokhattuk ahány lépésből áll egy folyamat minimum annyi helyen követhetünk el hibát. Amivel a legkönnyebben szembesülhetünk az az, hogy valamelyik lépésnél átállítódnak a karakterkódolásaink és az oldalon nem jól jelennek meg. Az ilyen és ehhez hasonló esetekben nem lehet mást tenni, mint előkapni a polcról a porosodó google-t és keresni. Vagy esetleg meg lehet várni, hogy egyszer erről is írjak 🙂

13 thoughts on “WordPress költöztetés új domain alá

  1. Hát, nekem valahol a kettő közötti megoldás kellene. Meg akarom tartani a régi oldalt a régi domainen, és átmásoltam egy új helyre egy aldomainre, hogy majd ott csináljak egy teljesen másik oldalt. Mindent meg akarok változtatni. De az aldomain-hez kellene egy MÁSIK adminfelület, mert egyelőre mindig az eredetihez jutok… Ezt hogy kell? (Most van két tökegyforma oldalam, eddig jutottam).

  2. Sziasztok.

    Most szeretném ingyenes wordpress oldalamat saját domainre költöztetni.
    Inkább szöveget tartalmaz és youtube linkeket.
    Nagyon nem értek hozzá, de a domain szolgáltatató segít és ezeket kéri tőlem:
    névszerverek hostnevére vagy a webszerver ip címére.

    Ezeket hol találom?

    Köszi.

  3. Nagyon hasznos leírás!
    Le is húztam egy wp blogot localhostra (továbbfejlesztés céljából) működik is az oldal rendesen, csak az admin felületre nem tudok belépni 😀

    Ha jó felhasz + jelszót írok nem történik semmi, ha (direkt) rosszat akkor hibaüzenet a form felett.

    HIBA!: A(z) admin felhasználónévhez megadott jelszó nem megfelelő. Mi lehet a jelszó?
    HIBA: A sütik blokkolva vannak, vagy nem támogatja őket a böngésző. A WordPress használatához engedélyezni kell a sütiket.

    te futottál már bele ilyenbe?

  4. Sziasztok!

    Átköltöztettem az oldal, de csak egy fehér oldal jelenik meg, nem tölti be, hibaüzenet nincsen. Mit ronthattam el? 🙁

    Köszönöm!

    • Sok minden lehet. Az admin felületnél is csak egy fehér oldal jelenik meg? Kapcsold be a szerveren a php hibaüzenetek megjelenítését és ki fogja írni.

  5. Hali!
    Azt szeretném megoldani, hogy a valami.hu domain nevemet lecseréljem valami.cc-re. A valami.hu domain alatt található tartalmat szeretném megtartani, és ami a legfontosabb hogy a seo is maradjon meg. Tehát, a legfontosabb hogy a helyezésem ne essen vissza mert jelenleg nagyon jó helyen vagyok a keresőkben. Meglehet ezt oldani valahogy, hogy a valami.cc domain jöjjön be ha valaki a valami.hu domaint írja be, vagy a keresőben klikkel rá?
    A választ várom, és előre is köszönöm!
    Üdv.: Tomi

    • @Tamás. Addig amíg te birtoklod a valami.hu-t addig igen. egcsinálod az átköltözést, aztán egy permanent rediectet a régi oldalon. Ez átirányítja a kereső botokat is és az embereket is. De ez SEO kérdés, azon a területen keresgélj.

  6. Szia!
    A cikked alapján költöztettük át a megnevezett oldalunkat, configban felhasználó és jelszó átírva, mégsem tökéletes az oldal. Kérhetünk egy kis segítséget? Köszönöm!
    Gábor

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.