
四海為家
用WordPress架站的好處就是你喜歡放哪裡就可以放哪裡,甚至是連網址(域名)一起換都很簡單,這也就是自架站的魅力所在,甚至有所謂的「免空殺手」專門在各家免費主機空間游走。
而高登並不是很推免費空間的,因為既然是不花錢那下場跟放在免費的BSP應該都差不多,甚至於無預警被關站都很有可能,但是不管你是免費空間還是付費主機,搬家的過程其實都差不多的,但是看到許多人搬家之後就會多一篇「Hellow World」的文章出來實在是很奇怪,因為搬家這樣子搬就不對了!
備份舊主機的資料
搬家的意思就是把舊主機的資料包括檔案和資料庫搬到新主機空間,所以你在搬家之前一定要確定舊主機裡面的資料都已經備份出來了,現在就讓我們來看看如何搬出舊主機的資料。
備份檔案資料
雖然在cPanel後台的「Files」有「Backups」這個功能,但是這個功能並不適用於不同主機之間的搬家,所以主機的檔案還是乖乖的用FTP程式來備份吧。
請你用FTP程式將所有「主機根目錄」裡面的檔案下載到本機硬碟,要注意到「主機根目錄」一般都不是「FTP根目錄」,兩者不要搞混了,以cPanel來就是「public_html」,Plesk的話是「httpdocs」,至於其他的管理後台程式就看主機商給你的資料了。
備份MySQL資料庫
WordPress網站的組成除了上述的檔案之外,另一個就是MySQL資料庫,而要備份SQL資料庫則是要用主機管理後台的phpMyAdmin來作,雖然cPanel後台的Backups那邊也有脩份資料庫的選項,但是那是給同一台主機的備份及回存用的,換了一台主機或是主機空間,那SQL資料庫的名稱、使用者這些都會不一樣,所以是不能用那裡回存的。
一樣在cPanel管理後台找到「Databases」這一項裡面的「phpMyAdmin」:

進入phpMyAdmin之後如果你有好幾個資料庫,請選取WordPress所用的資料庫,然後按上面的「輸出Export」來匯出資料庫。
接下匯出選項這裡選「全選」再勾選「下載儲存」然後按「執行」。
將.sql資料庫檔案存至本機磁碟備用。

新家的準備工作
接下來在你要搬去的新主機空間要先作一些準備動作:
一.DNS更新:
如果是原網址不動的搬家,那就要將你的DNS主機指向新的主機,然後到新主機空間新增這個網址的帳號,如果是新買的就設為主帳號,或者也可以設成「附加網域Addon Domain」(這一項就是國外主機的特點了),但是不是用「寄放網域Parked Domain」喔,那是暫時逃難用的,我會另外在專門談主機的那一站再發文詳細說明。
還有DNS的更新是要時間的,像這一次高登工作室的搬家,有的ISP的DNS主機花了三天的時間才更新完成,所以在這個時候可能有些人會連到你的舊主機,有的人會連到你的新主機,因此網站先不要有太多的更新動作,另外這一次好像有兩位讀者留言在舊主機那裡了,所以留言不見了請不要見怪喔!
二.新增資料庫:
一樣在cPanel管理後台的「Databases」找到「MySQL Database Wizard」這一項,再來輸入資料庫名稱、資料使用者名稱及密碼這些資料。

然後在使用者權限這裡勾選「ALL PRIVILEGES」指派所有權限新增一個資料庫,記得要記下新的資料庫的名稱這些資訊(一定會跟原來的不一樣)。

三.更改wp-config.php設定
因為新家跟舊家的SQL設定一定會不一樣(除非你是自己架站才可能設一樣),所以要先把網站檔案裡面的「wp-config.php」拿來改成新主機的設定,要改的地方有:
define('DB_NAME', '新的資料庫名稱');
define('DB_USER', '新的資料庫使用者');
define('DB_PASSWORD', '新的資料庫使用者密碼');
define('DB_HOST', 'localhost');
最後這一項「DB_HOST」不一定要改,像高登之前試過的免費空間000webhost還有現在用的NetFirms他們都是網站主機跟料資料庫主機不同台,所以這一項就要改。
變更域名(網址)
有時候搬家也順便換個網址,而這一項工程可能很大也可能很簡單,單就以WordPress變更網址這一項來就,最簡單的作法就是一樣在「wp-config.php」裡面加上二列:
define('WP_SITEURL', 'http://新的網址');
define('WP_HOME', 'http://新的網址');
這兩項就是WordPress後台「設定」裡面的「WordPress網址」和「網誌網址」這兩個設定,改這裡就好了不用像高登之前發的另一篇文那樣去改SQL資料庫,算是最簡單的改法。
如果你的網址有更改,那資料庫檔案就還要動一下手術:
請用Notepad++或是EmEditor之類支援UTF8編碼的編輯程式開啟你下載回來的資料庫.sql檔,用一個全部取代的動作將舊網址改成新網址。
例如你的舊網址是:「abc.com」,新網址是「def.com」,那就下一個「http://abc.com」改為「http://def.com」的指令,然後將資料庫檔案另存為其他檔名,以備稍後的回存之用。
這些準備動作都好了之後就可以開始將檔案及資料庫上傳到新主機了。
上傳至新主機
首先將資料庫倒回新的主機,請一樣由後台的管理程式找到「phpMyAdmin」程式。

選到你剛才新建立的資料庫,裡面應該是空的,請你用「輸入Import」資料庫檔案。

選擇你所備份的資料檔案或是已經更改過的資料庫檔案,然後按「執行」倒回資料庫。

完成後應該像這樣子:

再來把整個網站的檔案上傳到新的主機空間根目錄,這樣子就大功告成了!
注意事項及說明
- 為什麼不用先安裝WordPress程式?因為這樣子就可以運作了,而且保證跟原來網站的功能一模一樣,你新裝一個WordPress然後再來設定一定會有遺漏的。。
- 圖片怎麼辦?如果你是用WordPress後台下傳圖片的,那這樣子是最正確的作法,否則光改圖片網址就改死你。如果是外連圖片的那連改都不用改。
- 還有什麼後續要處理的?有!檔案或目錄及sitemap的屬性要重新檢查一下。。
- 換網址的話那後續的事情就多了,像網站驗證、部落格觀察、FunP哈部落還有部落軌道之類的一些都要重新再來,所以記得一件事:「要申請網址請考慮仔細一點」!因為最近又有人因為要換網址在傷腦筋!
- 不管有沒要搬家,日常的備份一定要作,因為就算是付費的空間還是有出槌的可能,千萬要記得喔!












2009年04月05日 23:45:34
可能明年三月前會用到搬家,也可能不會
真希望三月有多一點優惠 (幻想中..)
感謝分享搬家經驗
2009年04月06日 00:05:19
自己架的要搬很簡單啦!
2009年04月06日 01:57:11
可以請問為什麼不繼續放在藍藍路了呢?
2009年04月06日 11:03:35
搬來測測有什麼差異及主機的速度和容許瀏覽人數等等,還是會再搬回去的啦!
2009年04月06日 03:01:45
Good!Good!非常棒的教學文,終於讓我搞懂SQL資料庫那邊怎麼用了。
2009年04月06日 11:04:18
找時間試試看囉!
2009年04月06日 03:09:46
我是wordpress的新手,這幾天還在想,如果要搬家怎麼辦,結果今天就看到這麼完整的一篇文章。真是太好了,過幾天來搬搬看,希望一切順利。
2009年04月06日 11:04:52
新家比較好搬,因為東西不多,呵呵!
2009年04月06日 06:26:28
前陣子才從美國搬回台灣
其實搬家還蠻簡單的
我半夜當小偷搬光光
2009年04月06日 11:05:16
我也是都用半夜搬家的
2009年04月06日 22:36:06
現在要用到了XD
2009年04月07日 00:29:38
我是未卜先知喔!
2009年04月07日 12:12:57
這篇要推一下,以後一定用的到。
2009年04月07日 14:54:19
能不用最好啦!
2009年04月09日 01:46:15
高登您好:
因為在Google上key了關鍵字「wordpress搬家 後台 指向」後才發現這篇的!
原本我不慎在舊站後台改了「WordPress 網址」與「網誌網址」設定,更改後登入舊站後台,就被強迫指向我所更改的網址(因此無法改回來),幸好有您這一篇的指引,我才知道該怎麼改回來。
事實上,我正在幫我的WordPress搬家,也因此,搜尋到這篇之後心中大喜;但在我依照您的教學一一照做之後,卻發現我的部落格所有文章網址都失效了(只是,首頁仍然正確顯示),幸好我到後台一看,移轉過來的文章和設定都正常,這個情形目前我還無解,所以只好上來跟您求助了!
網址:www.kenjufc.url.tw(只有首頁正常,其他文章一律無法連結)
不好意思麻煩了!
ps.新站使用的主機是智邦,我同時也會跟他們客服聯絡。
2009年04月09日 02:07:45
應該是你的固定網址跟原來的不一樣,或是.htaccess的屬性沒設好(777),固定網址沒有生效
2009年04月09日 10:50:20
謝謝您的回覆喔!(真是太即時了)
我剛剛直接跟客服確認了,這是智邦自己設定的問題,
他們的主機要更改.htaccess設定為777的話,
一律要工程師更改,
而且要user自己發mail給他才行,
而且這屬於「排程作業」,
大概是累積一天之後再交由下一班工程師去做設定...
所以,我只能等吧...
ps.書我也有買,對我這個門外漢來說,獲益良多,實在感謝!
2009年04月09日 10:56:12
那就再等等囉!
謝謝您的支持!
2009年04月11日 07:14:14
我跟上面的James情形不知道是不是一樣!
因為我是WD新手 所以想來練習從a搬到b
搬到b後 首頁都正常
1) 可是如果我要登入到WD的後台 就會連結到a後台
2) 其他在首頁上的鏈結 也都會連回a的連結
請問高登 我需要改什麼設定嗎? 要去哪裡改
a空間的網址: http://synalumni.hostrator.com/
b空間的網址: http://jiunmingyeh.hostse.com/blog/
2009年04月11日 07:43:19
你這種情形可能是siteurl沒設吧,或者是你用了Parked Domain?
2009年04月11日 10:35:15
不好意思~~ 想請問..siteurl是要wordpress裡面設嗎?
2009年04月11日 15:11:29
我這篇文章裡面有如何修改wp-config.php裡面
2009年04月11日 17:10:26
歹勢~~歹勢~~~ 漏掉這段
define('WP_SITEURL', 'http://新的網址');
define('WP_HOME', 'http://新的網址');
還有資料庫裡的網址修改
再來試試~~謝謝 高登^^
2009年04月11日 17:45:55
改wp-config.php就不用改資料庫,改資料庫就不用在wp-config.php加這一段,兩者擇一就可以了
2009年04月12日 00:59:14
可以了~~ (不過我是兩樣都改了之後,才看到這篇的) 這樣下次就知道了 謝謝高登
2009年04月12日 01:48:54
一回生兩回熟,大家都是這樣的
2009年04月13日 06:01:07
利用周末的這兩天,把高登工作室裡的wordpress分類,終於全部拜讀完畢,真的很讚!! 好想馬上架一個真正屬於自己的WP ^^
2009年04月13日 09:36:14
歡迎加入WP的行列
2009年04月15日 13:11:16
一定要先匯入再上傳檔案嗎?
2009年04月15日 14:03:57
匯入就是上傳啊
2009年04月15日 13:12:11
而且我之前有用快取外掛 怎麼辦
還有 點每一個地方都會有404錯誤
2009年04月15日 14:04:47
wp-config.php或是.htaccess出問題了,看一下前面的留言回覆
2009年04月15日 18:29:44
這是我看過最簡易的WP資料庫備份、回復的方法了。
藉由此文,我也順利搬家OK,感恩!
2009年04月15日 18:32:55
找對方法事實上是很簡單的!
2009年04月17日 10:06:16
[...] 「抱歉,因主機穩定性的關係,目前的版本暫時沒有考慮升級成php5。」就是因為這句主機業者的答覆,我開始思考將部落格搬家的問題,其實我很早就有搬家的念頭了,但是我對Wordpress資料庫回復始終有著莫名的障礙,曾經試過幾次,都無功而返,直到我拜讀了「WordPress 如何搬家及換網址」一文,經過實地測試國外免費主機無誤,這才開始我的部落格搬家之路。 [...]
2009年04月20日 16:33:41
真希望我在十多个小时前看到这篇文章啊!!
太感激你了!!!
2009年04月20日 16:39:22
呵呵!
希望下一次用得上
2009年04月20日 18:43:30
[...] 在万念俱灰的情况下随便搜寻,有点垂死挣扎的意味。却意外的让我发现了这篇教学。 [...]
2009年07月16日 20:52:53
您好,我想請問如果如果已經使用一段時間的WP了,裡面也PO了不少文章及圖片,如果向上述那樣改wp-config.php,網站會掛掉嗎?底下的連結會跟著變動嘛?還是只有首頁會變動而已?不好意思問題有點多@_@"
先謝謝您囉:)
2009年07月16日 21:57:13
用更考wp-config.php換網址是沒有問題的,除非你的網址改錯了,但是如果你文章中有站內的連結或是圖片網址可能無法同時更新,但是請找我一篇天空圖片搬家的文,裡面有教你如果在資料庫中更改你原有文章中的連結網址
2009年07月29日 10:06:45
哈哈這是一篇很棒的文章!
我第一次搬家就搞定了
2009年07月29日 10:30:27
搬到哪裡也讓我們知道一下嘛!
2009年09月27日 19:42:17
不好意思~
請問一下~
為啥我搬家後,會出現這樣...
Fatal error: Out of memory (allocated 62914560) (tried to allocate 35 bytes) in /home/justngco/public_html/wp-includes/pomo/mo.php on line 170
爬了點文
香腸的這篇 http://sofree.cc/wordpress-memory-limit/
跟我有點類似
不過 php.ini 中的 memory_limit 早就是 64m 啦...
(ps.我用的主機是http://www.fibre-hosting.com/ 本身可以調php.ini)
拜託幫幫我囉!
2009年09月27日 20:37:23
先把外掛停用看看
另外memory_limits我都直接設128m
2009年09月27日 22:32:10
停用外掛是指
在原主機先停用外掛在備份上傳?
2009年09月27日 23:04:08
先用FTP程式或是主機後台程式把有問題的外掛(錯誤訊息中的那一個)目錄砍掉或是改一個名稱讓他讀不到這個外掛
2009年09月28日 19:08:24
可是
我是在主頁就這樣了
http://www.just-ng.co.cc/
怎辦
2009年09月28日 19:51:13
上次沒看仔細這不是外掛的問題,這個函數是語系檔的功能,可能是你的語系檔.mo或.po有什麼問題
是不是你的wp-config.php裡面有錯字?
2009年10月03日 12:52:07
又來打擾了
我的狀況和james一樣
我的部落格所有文章網址都失效了(只有首頁正確顯示)
我也改了.htaccess的屬性
但依舊失效
麻煩囉
http://www.just-ng.co.cc/
2009年10月03日 14:46:54
這是固定網址設定無效,因為有一些免空不讓你使用.htaccess,所以只能用預設的回定網址?p=123這種
2009年10月03日 17:14:30
感謝~
祝中秋佳節愉快^O^
2009年12月11日 00:46:13
您好,不好意思我又來發問了。
關於搬家的程序上,
我把舊的資料庫下載下來並且取代完所有網址之後,上傳到新的資料庫裡一直出現一個錯誤訊息,我不知道這個該怎麼解決,可以請您撥空幫我看看嗎?不知道是否是原本資料庫的資料就出問題了呢,還是是在取代的過程中出現問題?截圖在這裡:http://sites.google.com/site/elecsheep127/Home/sql-wrong.jpg?attredirects=0
另附上文字檔:http://sites.google.com/site/elecsheep127/Home/sql-wrong.txt?attredirects=0&d=1
請問這有沒有什麼方法可以解決呢?
先謝謝您!
2009年12月11日 00:55:31
要匯入的資料庫是要一個空的資料庫,也就是說要完全沒有資料表(數目為0)才可以匯入
你這種錯誤是因為在新站已經裝好了一套WP,所以已經有資料在資料庫裡面,跟我說的搬家的作法是不一樣的,搬家是不需要安裝WP的,只要你該改的地方改好了,網站就上線了
2009年12月11日 01:11:26
喔喔!可是我有把資料庫清空!並且確認他是空的資料庫(數目0筆),
不然我等下再開另一個資料庫試試好了,因為換個方法(我留在下面了:P)也還是不成功說。
先謝謝您的即時解答//
2009年12月11日 01:09:34
您好,我剛剛試著用另一個方式:
資料庫使用原本沒取代過的原始資料,上傳成功且沒有任何問題,
再將主機資料也上傳到目標目錄下,然後修改wp-config.php讓他轉址到B的網址底下。
資料看似都上去了,但出現幾個也是眼下無法解決的問題...
1)前台字元編碼全部變成亂碼了。
2)無法登入到新站的後台........
請高登幫幫忙了,我能想到的都做了,可是怎麼就是不成功...
整個快乾枯了!謝謝你的幫忙!!!
2009年12月11日 01:14:27
亂碼是因為原來舊主機的資料庫編碼有設錯,你可以改用壓縮格式匯出應該就可以了,但是只能先用改wp-config.php來改網址,等可以上線之後再進phpmyadmin去改
2009年12月11日 01:20:36
請問,使用壓縮格式的意思是在
輸出底下的[下載儲存]的地方選zipped的意思嗎?
另外請問『等可以上線之後再進phpmyadmin去改』是指說強制轉址之後,必須等一段時間才能用原帳號密碼登入後台並且從後台修改網址的意思嗎?不知道這樣理解有沒有錯誤,謝謝您^ ^
2009年12月11日 01:22:44
1. 選gzip
2. 搬好就可以用原帳密進後台
3. phpmyadmin用主機cpanel或是plesk的
2009年12月11日 01:41:28
我真的資質駑鈍(撞牆)
選好gzip下載後,清空資料庫再重新放進去之後,
字元亂碼跟無法登入後台的狀況依然沒有改變...。
另外因為資料庫是智邦托管提供的,因此我不太確定使用phpmyadmin是要修改哪個部份?
目前看起來有五個資料庫都是開好的,所以看起來帳密設定的那個部份似乎不用做。
而我只是把另外四個空的隨意挑一個點進去上傳資料。
並且將wp-config.php裡資料庫的名稱改成新的......
還是說這個部份我少做了什麼該做的動作呢......?
另外謝謝您這麼晚了還回覆我!真的!
2009年12月11日 11:01:25
很遺憾還是沒能成功,只有再試試囉!
2009年12月11日 23:07:52
您好,後來試了很多方法解決了,我用另一個方式登入mysql資料庫,將設定語系和連線校正語系設定成一樣輸出之後,再匯入就沒問題了:)
所以我發現問題是在一開始輸出的檔案,編碼和校正方式不一樣的樣子^ ^
還是謝謝你,很有耐心的跟我說明:D
感覺學到很多經驗,謝謝!
2009年12月12日 00:16:54
這是許多主機商一開始MySQL的語系沒設好,或者是說他們原先是用PHP4後來升級為PHP5,所以還是留在PHP4的語系設定所致,我也遇過很多次了,但是都是搬完家現場就破壞了,不過最近有一個站的資料還留著,我會再找時間好好研究一下正確的解決方式並告訴大家
2010年05月07日 01:08:21
我是將WP全部都安裝完成且安裝完畢後才執行匯入資料庫動作,可是為什麼我將SQL檔案全選匯出之後,將資料表匯入新主機的SQL資料庫會出現以下問題?
-----以下是SQL顯示出來的錯誤訊息----
錯誤
SQL 語法:
-- phpMyAdmin SQL Dump
-- version 2.6.4-pl2
-- http://www.phpmyadmin.net
--
-- 主機: mysql4.freehostia.com
-- 建立日期: May 06, 2010, 05:05 PM
-- 伺服器版本: 4.1.22
-- PHP 版本: 5.2.0-8+etch13
--
-- 資料庫: `lihhon_toppy368`
--
-- --------------------------------------------------------
--
-- 資料表格式: `wp_commentmeta`
--
CREATE TABLE `wp_commentmeta` (
`meta_id` bigint( 20 ) unsigned NOT NULL AUTO_INCREMENT ,
`comment_id` bigint( 20 ) unsigned NOT NULL default '0',
`meta_key` varchar( 255 ) COLLATE utf8_unicode_ci default NULL ,
`meta_value` longtext COLLATE utf8_unicode_ci,
PRIMARY KEY ( `meta_id` ) ,
KEY `comment_id` ( `comment_id` ) ,
KEY `meta_key` ( `meta_key` )
) ENGINE = MYISAM AUTO_INCREMENT =4 DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci AUTO_INCREMENT =4;
MySQL 傳回: 說明文件
#1050 - Table 'wp_commentmeta' already exists
2010年05月07日 01:11:57
你要匯入的是要一個空的資料庫,就是沒有任何資料表的資料庫才可以匯入
2010年05月07日 01:24:13
所以我現在應該把資料庫的內容全部刪除再匯入摟?
2010年05月07日 01:27:03
是滴!
是資料表哦!也說是說你在phpMyAdmin看到資料庫名稱後面的數字要是 0
2010年05月07日 01:31:50
刪掉還原之後出現以下錯誤訊息,佈景也被換掉了
可是我記得我當初匯出時選擇"全選",怎麼還是失敗:
$cfg['Servers'][$i]['pmadb'] ... 未能確定 [ 說明文件 ]
$cfg['Servers'][$i]['relation'] ... 未能確定 [ 說明文件 ]
一般關聯功能: 未啟動
$cfg['Servers'][$i]['table_info'] ... 未能確定 [ 說明文件 ]
功能顯示: 未啟動
$cfg['Servers'][$i]['table_coords'] ... 未能確定 [ 說明文件 ]
$cfg['Servers'][$i]['pdf_pages'] ... 未能確定 [ 說明文件 ]
建立 PDF: 未啟動
$cfg['Servers'][$i]['column_info'] ... 未能確定 [ 說明文件 ]
顯示欄位註解: 未啟動
瀏覽器轉換方式: 未啟動
$cfg['Servers'][$i]['bookmarktable'] ... 未能確定 [ 說明文件 ]
SQL 語法書籤: 未啟動
$cfg['Servers'][$i]['history'] ... 未能確定 [ 說明文件 ]
SQL 歷程: 未啟動
$cfg['Servers'][$i]['designer_coords'] ... 未能確定 [ 說明文件 ]
Designer: 未啟動
2010年05月07日 10:00:33
這類的錯誤可能要找主機商了,我是沒遇過這種錯誤
2010年06月15日 07:34:32
高登大哥,剛搬到了Fibre-Hosting.com,但是出現了不能上傳附件的問題,主題啊,插件啊都能正常的在綫安裝,就是我在後臺上傳圖片時就出現了
[檔案上傳已被擴充功能暫停。]的錯誤,請問問題出現在哪裡呢?我已經重裝了,問題還是健在.
2010年06月15日 10:17:26
無法上傳可能是資料夾的權限不對,你先將後台上傳資料夾的設定清空,再將 wp-content/uploads 的權限設為777看看
還是不行就要找主機商幫忙了,可能他們的權限沒開
2010年06月15日 10:50:09
謝謝你的回答,應該是ISP的問題,我另外安裝了一個小程序,一樣不能上傳,而且他常常出現500,可能要換ISP了!(777等我都試過了)
2010年08月25日 00:21:51
非常感謝大大這篇文
本來我什麼都不知道 重新安裝wp 然後再載入wp的備份檔 結果只有文章有 其他格式都不對
真的是非常感謝大大詳細的步驟 讓我得以成功搬家
大推~
2010年08月25日 01:05:28
嗯!不客氣!