WordPress更换网站空间详细攻略

2015-03-19发布在 Wordpress16530 次访问

maggie-simpson-友情提示:选择极简(Bigger)模式阅读,体验更好。(Position:文章标题下方)

WordPress网站使用过程中,你可能会遇到因为各种原因而需要更换空间和转移数据。虽然是件很小的事情,但是有时候我们没有考虑周全,往往会在网站搬迁的过程中碰到很多麻烦。别么怎样能完美地把现有的Wordpress网站更换到新的网站空间呢?

整个过程分为四个部分:

一.原空间数据库的备份
二、备份Wordpress 相关文件
三.新空间数据的导入
四、安装Wordpress 程序

现在分别详细介绍:

一、原空间数据备份

基本上常见的美国主机空间商的网站控制面板都带有在线解压缩和mysql的phymyadmin 数据库管理的功能。备份有三种方式可以选择:

1)  Phpmyadmin 备份数据库
2)  WP数据库备份插件 WordPress Database Backup
3)  利用ssh链接Mysql数据库进行备份

推荐第一种方式 phpmyadmin。

注意备份数据库之前,先记录下来你启用了哪些wordpress插件,然后把你的网站所有的插件全部禁用(为了防止意外的插件冲突)。

其次是mysql 数据库的备份,这个登陆 phpmyadmin 后对整个数据库进行导出(注意,你要把数据库从一个空间搬到另一个空间),在导出文件格式那里选择 gzip 压缩,压缩的格式可以在新空间的导入。在“导出”中选择“自定义”方式,然后注意字符集为UTF-8,如果支持 gzip压缩就选择它。如果你的数据不多也可以不选择压缩。其他的不用选择,直接拖到最下面,点击“执行”。

 

phpmyadmin-backup

二、备份Wordpress 相关文件

利用FTP或者空间的Cpanel 等管理面板,备份 wordpress程序文件(网站根目录下的所有文件)。一旦网站的迁移过程中遇到故障,还可以恢复原来的程序文件。

可能你会说我重新安装wordpress就好,不过重新安装过后你会发现很多文件都不在了。比如上传到媒体库中的图片,音频,以及插件,你的主题文件等等也没有。

所以还是推荐一定要备份一下原有的wordpress文件,至少 wp-content 目录下的 plugins, themes 以及 uploads 这3个文件夹直接使用 ftp或者别的方式下载下来。因为这些数据可能正是你花很多时间和精力去修改或者丰富的文件。

当然,如果空间支持ssh当然你也可以直接转移,更省事。

三、新空间数据还原

在新空间中创建新的数据库,把原空间中做的备份数据库导入到新数据库当中。可以在phpmyAdmin工具中直接上传导入。如果你备份是通过WordPress Database Backup插件备份的,也可以在phpmyAdmin中导入数据库。

四、安装Wordpress 程序

这是很关键的一步,很多人也容易出错。

方法有两种:一种是直接FTP上传前面备份的Wordpress程序。另一种方式是安装新的wordpress程序,再用原来备份的 wordpress 程序进行FTP部分覆盖或上传补充。

不建议直接上传之前备份的WP程序,很容易造成一些意外的网页错误,导致网站无法正常显示空白一片。

造成这种情况的原因有几种:

1.简单地用打开方式“记事本”,而不是专门的文本编辑器 修改了WP-config.php文件。比如记事本修改的话,经常会把字符格式丢失,而且还可能自动加一个头部代码到文件中,跟Wordpress文件的UTF-8编码冲突,造成显示错误。
解决方式:利用Notepad++ / Editplus 等进行编辑,确保保存的编码格式为UTF-8。

2.原安装的主题或者插件出现冲突。
解决方式是通过ftp改掉所有已安装的插件文件夹名,比如sitemap改成sitemap2,依次加个2。之后进入WP后台,把插件全部禁用。再通过ftp工具一个个依次改回插件文件名,启用该插件。通过这一系列步骤判断是哪个插件的冲突。

推荐的安装wordpress的方案是:安装新的wordpress程序。

在新的空间上直接安装一个和原空间一样版本的wordpress程序。记住是新安装而不是把原来的wordpress程序直接FTP上传了事。

其次把 plugins, themes 以及 uploads 这3个文件包下文件夹(或文件)FTP上传到对应的新的wordpress 目录下。

假如你新空间用了新域名(或者你是从本地调试搬迁到网站空间),还要再进行几步必要的步骤:

1. 进入WordPress博客管理后台——“设置”——“常规选项”——站点地址(URL) 写你的新域名。如果你之前在本地调试需要把 http://127.0.0.1 改成新域名。
2. 在phpmyAdmin下SQL批量更新数据表中老域名为新域名,否则会出现链接地址仍然为老域名的情况。

OK,现在访问你的新空间的网站就会发现和原来的一模一样了,不需要再重新安装任何东西,包括插件等等。

细节问题:

1. 如果使用的空间带 wordpress 一键安装,那么转移起来就可以实现无缝转移。首先使用一键安装把 新的wordpress 安装好,然后按照以上步骤把网站转移。转移成功之后对域名进行解析,因为你换了主机空间,必然IP已经变化了,需要重新做解析A记录。

2. 如果空间不带 wordpress 一键安装,那么在转移过程中你的网站会断开一段时间。如果你的网站访问量大就避开访问高峰再转移。把所有文件上传到新空间对应位置再解析新的空间IP地址,域名解析生效以后立即安装新博客导入数据库,一般导入数据库也不会费时很久,顶多十分钟。注意域名的解析记录生效可能需要1-4小时,耐心等候。

3. 如果你原来wordpress有些特别的内容存放在原空间的某个目录路径下,在备份的时候也注意FTP下载备份转移。务必检查没有遗漏任何重要文件再丢弃原空间数据。

4. 如是采用新域名,则只需要让新域名定向到新的博客主机空间上,而且新域名的解析可以放在wordpress迁移的准备阶段进行。

以上即为 wordpress 搬家搬迁的完美方案。如有更好方法,欢迎补充。

 

本站所有文章除注明“转载”的文章之外,均为原创。未经本站允许,请勿随意转载或用作任何商业用途,否则依法追究侵权者法律责任的权利。

分享到微信朋友圈

LiaoSam
LiaoSam
外贸综合症患者

相关文章

    暂无

25条评论

发表我的评论

取消评论

邮箱白名单说明:最近料网自动提醒邮件经常会被一些邮件服务商拦截。为了您顺利并及时地收取留言被回复的提醒邮件,请在您邮箱中把料网 liaosam.com 加入白名单域名。

已读说明
设为私密评论
添加表情

Hi,您需要填写昵称和邮箱!

您的邮箱地址不会公开,仅仅用于收取回复。建议填写QQ邮箱,不宜填写工作邮箱。
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (没有就留空)
呃,评论有点多呢... 料网小秘书为您玩命加载中...
  1. #16

    很不错 厉害 赞一个

    6个月前 (07-15)回复
  2. #15

    试了下 不错 很有用

    6个月前 (07-15)回复
  3. #14

    很不错 效果很好

    6个月前 (07-15)回复
  4. #13

    很有用 很喜欢

    6个月前 (07-15)回复
  5. #12

    赞一个 非常不错

    6个月前 (07-15)回复
  6. #11
    martin

    如何把GODADDY空间主机搬家到阿里云主机啊 , 阿里云没有C PANNEL, 好困惑!

    11个月前 (02-19)回复
    • Edward

      @martin 我跟你遇到同样一个问题,不知道是怎么解决的呢?

      5个月前 (08-22)回复
  7. #10
    louis

    料神你好,我按照你的方法迁移网站,迁移后CAPANEL文件已经搬过去,在新的CPANEL里面有所有旧的网站内容,但是我打开新的网站发现,里面什么都没有,这个是什么原因呢?

    1年前 (2015-10-31)回复
    • LiaoSam
      料神Sam,外贸综合症患者。
      @louis 数据库是否已经成功导入?
      1年前 (2015-10-31)回复
  8. #9
    陈巴蒂

    之前按照建议,采用了hostease的空间,3个月不到,服务器当机了4次,而且还经常更换IP,非常之不方便。不知道其他空间是否也如此?

    1年前 (2015-09-17)回复
  9. #8
    johnny

    如何在博客里设置自动回复留言功能啊!
    //评论回应邮件通知
    function comment_mail_notify($comment_id) {
    $admin_notify = ‘1’; // admin 要不要收回复通知 ( ‘1’=要 ; ‘0’=不要 )
    $admin_email = get_bloginfo (‘admin_email’); // $admin_email 可改为你指定的 e-mail.
    $comment = get_comment($comment_id);
    $comment_author_email = trim($comment->comment_author_email);
    $parent_id = $comment->comment_parent ? $comment->comment_parent : ”;
    global $wpdb;
    if ($wpdb->query(“Describe {$wpdb->comments} comment_mail_notify”) == ”)
    $wpdb->query(“ALTER TABLE {$wpdb->comments} ADD COLUMN comment_mail_notify TINYINT NOT NULL DEFAULT 0;”);
    if (($comment_author_email != $admin_email && isset($_POST[‘comment_mail_notify’])) || ($comment_author_email == $admin_email && $admin_notify == ‘1’))
    $wpdb->query(“UPDATE {$wpdb->comments} SET comment_mail_notify=’1′ WHERE comment_ID=’$comment_id'”);
    $notify = $parent_id ? get_comment($parent_id)->comment_mail_notify : ‘0’;
    $spam_confirmed = $comment->comment_approved;
    if ($parent_id != ” && $spam_confirmed != ‘spam’ && $notify == ‘1’) {
    $wp_email = ‘no-reply@’ . preg_replace(‘#^www\.#’, ”, strtolower($_SERVER[‘SERVER_NAME’])); // e-mail 发出点, no-reply 可改为可用的 e-mail.
    $to = trim(get_comment($parent_id)->comment_author_email);
    $subject = ‘Hi,您在 [‘ . get_option(“blogname”) . ‘] 的留言有人回复啦!’;
    $message = ‘

    ‘ . trim(get_comment($parent_id)->comment_author) . ‘, 您好!
    您曾在《’ . get_the_title($comment->comment_post_ID) . ‘》的留言:      ‘
    . trim(get_comment($parent_id)->comment_content) . ‘
    ‘ . trim($comment->comment_author) . ‘ 给您的回应:      ‘
    . trim($comment->comment_content) . ‘
    点击 查看回应完整內容
    欢迎再次光临 ‘ . get_option(‘blogname’) . ‘
    (此邮件由系统自动发出,请勿回复.)
    ‘;
    $from = “From: \”” . get_option(‘blogname’) . “\” “;
    $headers = “$from\nContent-Type: text/html; charset=” . get_option(‘blog_charset’) . “\n”;
    wp_mail( $to, $subject, $message, $headers );
    //echo ‘mail to ‘, $to, ‘ ‘ , $subject, $message; // for testing
    }
    这个代码已经存在于functions.php中,怎么改才能跟料神你的差不多啊,可以邮件自动回复!

    还有留言那边显示回复功能,我用的D8~ :cry: 试了好久了,不懂。。

    2年前 (2015-04-19)回复
    • LiaoSam
      料神Sam,外贸综合症患者。
      @johnny 安装一个WP_SMTP插件,设置好就行了,国人开发的。
      2年前 (2015-05-21)回复
  10. #7
    hi

    如果支持ssh其实再简单不过了。网站打包,wget下载到新服务器,解压;数据库导出,导入。ssh可以参考水煮鱼的文章。

    2年前 (2015-04-17)回复
  11. #6
    xjhwa

    料神你好. 我有一个方法, 对我我这种没有建站知识的( 只懂得安装各种插件, 不涉及任何编辑代码 ), 有一个插件可以很好的解决这个问题.

    步骤一: 下载插件 WP Clone by WP Academy, 并激活
    步骤二: 之后进去这个插件, 有一个生成备份的选项. ( 直接点击备份就行了, 然后复制生成的链接 )
    步骤三: 在新的域名或者hosting, 安装wordpress>>安装WP Clone by WP Academy插件
    步骤四: 进入这个插件, 有个恢复备份的选项, 把之前的链接黏贴进去, 点击恢复. 大概过不到15秒的时间, 恢复就完成了.

    整个过程大概3分钟能搞定. 这个方法可以把之前网站的各种模板, 文件等等全部复制过去. 包括后台登陆的账号密码.

    我用这个方法前2天刚试过, 希望也对大家有帮助.

    2年前 (2015-03-21)回复
    • LiaoSam
      料神Sam,外贸综合症患者。
      @xjhwa 谢谢分享你的方法。国外一些NB的插件的确有时候很省力!以后可以试试。
      2年前 (2015-03-22)回复
      • xjhwa

        @料神Sam 感谢料神的肯定.

        2年前 (2015-03-23)回复
        • ssn13

          @xjhwa 我点克隆为啥出现空白呢?请问是什么原因,你们也是这样吗?

          7个月前 (07-01)回复
    • 阳光的AC0

      @xjhwa 用wp数据库备份插件 WordPress Database Backup备份的。“步骤三: 在新的域名或者hosting, 安装wordpress”:这个host下面有别的wp网站了怎么办?

      2年前 (2015-03-23)回复
      • LiaoSam
        料神Sam,外贸综合症患者。
        @阳光的AC0 没关系,分不同的文件夹路径。一个host 可以放很多个网站。
        2年前 (2015-03-23)回复
  12. #5
    快鱼

    学习了,很详细实用的指导说明。留着,以后用得上。

    2年前 (2015-03-21)回复
  13. #4
    melodyding

    OK, got it. it’s kind of hard but really useful. lets try.

    2年前 (2015-03-20)回复
  14. #3

    关于网站搬家已经倒腾了一个多星期,真是天赐神贴

    2年前 (2015-03-20)回复
  15. #2

    写的真的很好啊。。。。。

    2年前 (2015-03-20)回复
  16. #1
    巴比代尔

    抢个沙发……哈哈……以后可以大胆地把网站搬家了……

    2年前 (2015-03-19)回复
    • Cibo

      @巴比代尔 料神,关注你很久了,一直没说话。今天有个问题向你请教,公司想建一个网站,不知道如何下手,希望你能指导一下,非常感谢!

      2年前 (2015-05-21)回复