Home > Information Technology > Transfering WordPress to a new URL

Transfering WordPress to a new URL

October 20th, 2009 Leave a comment Go to comments




Ahad lepas, aku terpaksa transfer blog pie2020 ke hosting lain sebab disk space dia dah nak sampai limit dah. Ye lah, visitor dia memang tinggi dan ramai yang beri komen di setiap posting yang pie buat. Sekejap je posting-posting di blog pie tu memenuhkan space di webhosting lama.

So, tugas untuk memindahkan data-data dalam blog lama pun dimulakan. Mulanya aku guna tools yang disediakan dalam WordPress iaitu “WordPress RSS Export (WRX)”, tapi ada masalah bila nak import ke website baru. Content yang berjaya diimport tak lengkap. Ada sebahagian posting dari bulan 2/2009 sehingga posting terkini bulan 10/2009 tak ada dalam export fail WRX.

Search di google, cari apa punca ada data tak diexport guna tool yang wordpress sediakan. Ada yang cadangkan, kalau data export lebih besar dari 2MB, elok pecah-pecahkan fail utama kepada beberapa bahagian guna program yang dinamakan WPSplitter. WPSplitter akan bahagikan fail utama kepada beberapa fail yang bersaiz 1MB setiap satu. Lepas dah siap proses splitting tu, barulah gunakan Tool Import dari WordPress untuk select fail-fail tadi.

Malangnya, cara split fail WRX tu masih gagal menyelesaikan masalah. Ada la beberapa posting baru berjaya dimasukkan, tapi masih tak dapat copy kesemua content.

Pencarian diteruskan menerusi Google. Last-last jumpa tips dari support forum WordPress sendiri. Cara terbaik untuk pindahkan content dari satu laman ke laman baru (URL berubah) ialah dengan backup database wordpress asal menggunakan PhpMyAdmin. Aku ikut je steps yang diberikan dari panduan tu untuk create backup fail content blog asal pie2020.

Memandangkan saiz content blog pie nih besar, utiliti import atau restore database dalam PhpMyAdmin tak boleh digunakan. Error request timeout terhasil sebab data besar sangat menyebabkan browser dan application PhpMyAdmin macam idling. Gagal lagi.

Tiba-tiba aku teringat satu aplikasi penyelesaian untuk restore big database – BigDump. BigDump ialah skrip PHP yang akan membantu kita restore fail backup database MySQL yang bersaiz besar. Teknik dia hampir sama macam WPSplitter di mana kandungan fail asal akan dibaca sedikit demi sedikit semasa proses restoration. Dengan cara ni, skrip BigDump akan memastikan masalah resource/server time out kerana lebih masa tidak berlaku.

Cuma, sebelum kita boleh guna skrip BigDump ke atas fail backup database yang kita ada, semua table dalam database yang kita ingin masukkan data-data baru perlu dihapuskan (empty) terlebih dahulu. Dia nak empty tables, baru skrip tu boleh jalan. Takde masalah, since memang aku nak buat fresh restoration, aku guna PhpMyAdmin untuk empty semua table dalam database blog baru tu.

Settle tugas untuk restore kandungan database. Sekarang kena check content dalam blog baru. Bila aku taip URL blog baru, tiba-tiba page kosong je keluar. Emmm.. apa lagi ni. Aku login ke Admin page wordpress dan check ada apa2 lagi yang aku terlupa.

Oh ya, theme directory kena upload ke website baru. Takpun, just install theme yang sama masa kita backup database di blog asal, boleh jugak. Lepas tu kena update “permalink” setting supaya dia reflect all posting dan komen kepada URL website yang baru.

Satu lagi, ada tips suruh tambah 2 line berikut dalam fail wp-config.php untuk pastikan semua directory dan fail akan menggunakan alamat URL baru.

define('WP_SITEURL', 'http://www.example.com');
define('WP_HOME', 'http://www.example.com');

Kalau masih ada masalah ada page atau directory yang masih tak boleh view selepas korang dah update permalinks, dah edit wp-config.php dan sebagainya, cuba guna plugins berikut untuk update automatically semua URL dalam blog baru. Mungkin berjaya.

Ada satu lagi masalah yang aku notice, ada posting-posting yang mempunyai character  kat dalam dia. Nampak serabut jugak. Nak settle masalah ni, just remark (letak //) pada 2 line berikut dalam fail wp-config.php:

// define(’DB_CHARSET’, ‘utf8′);
// define(’DB_COLLATE’, ”);

Dah selesai semua tu, untuk pastikan semua visitor yang masih belum update URL blog yang baru akan ditransfer secara automatik ke laman web baru, kita boleh masukkan parameter berikut dalam fail .htaccess di laman blog lama:

Redirect 301 /blog/ http://www.newdomain.com/

Selesai!

Rujukan (reference):

1) 10 Steps to move your WordPress to new domain

2) How to migrate a monster blog

3) How to Move Your WordPress to new domain

4) Backing-up Your WordPress Database using PhpMyAdmin

5) BigDump – The Staggered MySQL dump Importer

6) How to move  character from your blog

Selamat mencuba!

  1. November 8th, 2009 at 22:30 | #1

    Good tips bro! aku pun harap2 takyah pindah hosting, manyak keje woor…so far so good..cumanya aku plan nak tukar theme tu jer, tapi kena transfer plugin2 tu jugak, leceh tul..so aku maintain jer la.. happy blogging!

  2. January 15th, 2010 at 16:13 | #2

    Wahh.. patutla blog pie dah www2… baru tau..

    Uncle dodi.. hari tu sy ada cuba2 satu hotel reservation system ni.. uncle nak test?

    Anyway link saya kat blog pie masih link lama.. boleh tukarkan ke emasdantanah.com? Thank you

  1. No trackbacks yet.