Wordpress相关

WordPress 更换网站空间详细攻略

料神Sam发布于 2015-03-19阅读 38948 次评论 32

WordPress 更换网站空间详细攻略-料网 - 外贸老鸟之路

2018 年更新:这篇文章有点久了。新的更换空间网站搬家教程,请参考这篇文章:

提示:如果你是从 Bluehost 虚拟主机搬家到 Linode VPS,请参考这篇文章:

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

整个过程分为四个部分:

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

现在分别详细介绍:

一、原空间数据备份

基本上常见的美国主机空间商的网站 Cpanel 面板,都带有 File Manager 和 Mysql 数据库 的 phpMyAdmin 数据库管理的功能。

备份有两种方式可以选择:

1)  Phpmyadmin 备份数据库
2)  WP 数据库备份插件 WordPress Database Backup 或 BackupWordpress

这里介绍第一种方式 phpmyadmin。

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

其次是 Mysql 数据库的备份,这个登陆 phpmyadmin 后,对整个数据库进行导出(注意,你要把数据库从一个空间搬到另一个空间),在导出文件格式那里选择 gzip 压缩,压缩的格式可以在新空间的导入。

在“导出”中选择“自定义”方式,然后注意字符集为 UTF-8,如果支持 gzip 压缩就选择它。如果你的数据不多也可以不选择压缩。其他的不用选择,直接拖到最下面,点击“执行”。

 

WordPress 更换网站空间详细攻略-料网 - 外贸老鸟之路

二、备份 WordPress 相关文件

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

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

所以还是推荐一定要备份一下原有的 WordPress 网站目录下的文件,至少 wp-content 目录下的 plugins, themes 以及 uploads 这 3 个文件夹直接使用 ftp 或者别的方式下载下来。

因为这些数据可能正是你花很多时间和精力去修改或者丰富的文件。

三、新空间数据还原

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

四、上传 WordPress 程序

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

推荐通过 FTP 工具上传备份的 WordPress 网站文件。

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

1. 进入 WordPress 博客管理后台——“设置”——“常规选项”——站点地址(URL) 写你的新域名。如果你之前在本地建站调试的,需要把本地地址 http://127.0.0.1 改成新域名。当然,这些也可以在 phpMyAdmin 登陆状态下直接从数据库表 WP_Options 里修改。Site_URL 和 Home_URL 修改成新的域名。
2. 你还要在 phpmyAdmin 下,SQL 批量更新数据表中老域名为新域名,否则会出现链接地址仍然为老域名的情况。登陆 phpMyAdmin 的状态下,点击 SQL,输入批量查询替换命令:
UPDATE wp_posts SET post_content = replace(post_content, ‘https://www.old.com’, ‘https://www.new.com’);
UPDATE wp_posts SET guid = replace(guid, ‘https://www.old.com’, ‘https://www.new.com’);

注意 old.com 是你的旧域名,new.com 是你的新域名。自行修改好以后,执行 SQL 命令语句。只要没有错误信息提示,就是批量更新成功了。

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

细节问题:

1. 如果使用的空间带 wordpress 一键安装,如 SiteGround,那么转移起来就可以实现无缝转移。首先使用一键安装把 新的 wordpress 安装好,然后按照以上步骤把网站转移。转移成功之后在域名商后台修改 NS 为新的虚拟主机商的 NS。很多虚拟主机会自动创建解析记录,如 SiteGround。

2. 如果空间不带 wordpress 一键安装,那么在转移过程中你的网站会断开一段时间。如果你的网站访问量大就避开访问高峰再转移。把所有文件上传到新空间对应位置再修改域名 NS。域名解析生效以后立即安装新博客导入数据库,一般导入数据库也不会费时很久,顶多几分钟。注意修改域名的 NS 相当于移交解析权,生效可能需要 1-4 小时,耐心等候。有时候感觉没生效是因为本地电脑上 DNS 有解析缓存,百度一下如何清理本地电脑 DNS 缓存。

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

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

以上即为 wordpress 搬家搬迁的基本过程。

如有更好方法,欢迎补充。

 

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

分享到: 微信 新浪微博 QQ Qzone
料神Sam
识不足则多虑,威不足则多怒,信不足则多言。
SiteGround外贸建站主机优惠券

32条评论

发表我的评论

取消评论

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

我不是机器人
设为私密评论
添加表情

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

您的邮箱地址不会公开,仅仅用于收取回复。建议填写QQ邮箱,不宜填写工作邮箱。
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (没有就留空)
  • 问题验证:今年年份是?
呃,评论有点多哦.. 请稍等
  1. 网站搬家Chrome · Windows 7

    该评论为私密评论

    5年前 (2019-10-17)
    广东
    回复
  2. 搬瓦工QQ浏览器 · Windows 10

    “其次把 plugins, themes 以及 uploads 这 3 个文件包下文件夹(或文件)FTP 上传到对应的新的 wordpress 目录下。”
    这样的话,以前发的 Post 怎么办
    我现在如果全部替换文件,Post 还在,但是
    而且奇怪的是,如果在登录了网站后台的浏览器访问新网站主页,就不会进入旧网站。清除了 cookies 也不会
    但在别的浏览器无痕模式访问新网站会跳转到旧网站
    sql 都替换了,不知道是不是.htaccesss 的问题

    6年前 (2018-12-01)
    美国
    回复
    • Liaosam 外贸综合症患者.搜狗浏览器 · Windows 7
      @搬瓦工 以前发的 post 在你的数据库里存着的。
      尽量 QQ 上说吧。你在这么老的帖子里发问题,我也搞不清楚。
      6年前 (2018-12-01)
      安徽
      回复
      • BJ WA GSQQ浏览器 · Windows 10

        @Liaosam 哈哈,SAM 哥不好意思,以后我尽量少评论。
        后来自己摸索搞定了。
        用控制变量法,发现主要是 数据库密码和信息要和 wp-config.php 匹配。
        另外那个跳转,我把 .htaccess 删掉就好了。

        6年前 (2018-12-01)
        浙江
        回复
  3. 搬瓦工 LuxiQQ浏览器 · Windows 10

    料哥,“当然,如果空间支持 ssh 当然你也可以直接转移,更省事。”
    这个用 Xshell 能弄吧,没找到相关教程,自己尝试中...
    鉴于此,改天能否出个原创教程指点下大伙?
    毕竟下载文件到本地然后再上传,麻烦且效率低

    6年前 (2018-11-19)
    浙江
    回复
    • 搬瓦工QQ浏览器 · Windows 10

      @搬瓦工 Luxi 已用 wget 命令搞定,虽然速度不稳定。
      用 Xshell 连接新主机,然后用 wget 命令把备份文件从旧主机直接上传到新主机

      6年前 (2018-11-29)
      美国
      回复
  4. 优游娱乐官网搜狗浏览器 · Windows 10

    很不错 厉害 赞一个

    8年前 (2016-07-15)
    安徽
    回复
  5. 壬天堂总代搜狗浏览器 · Windows 10

    试了下 不错 很有用

    8年前 (2016-07-15)
    安徽
    回复
  6. 凤凰娱乐注册搜狗浏览器 · Windows 10

    很不错 效果很好

    8年前 (2016-07-15)
    安徽
    回复
  7. 新澳门银座搜狗浏览器 · Windows 10

    很有用 很喜欢

    8年前 (2016-07-15)
    安徽
    回复
  8. 澳门银座娱乐搜狗浏览器 · Windows 10

    赞一个 非常不错

    8年前 (2016-07-15)
    安徽
    回复
  9. martinQQ浏览器 · Windows 7

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

    9年前 (2016-02-19)
    上海
    回复
    • EdwardChrome · Windows 10

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

      8年前 (2016-08-22)
      浙江
      回复
  10. louis搜狗浏览器 · Windows XP

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

    9年前 (2015-10-31)
    福建
    回复
    • 料神Sam 外贸综合症患者.Chrome · Windows 7
      @louis 数据库是否已经成功导入?
      9年前 (2015-10-31)
      安徽
      回复
      • MichaelFirefox · Mac OS X

        @料神Sam 料神,我数据库忘了备份了,只上传了旧的 wp-content 文件夹里面的资料。网站显示一片空白,打开 wordpress 媒体库之前在 cpanel 里面的图片也没有显示。这个时候该如何补救?

        7年前 (2018-01-08)
        广东
        回复
  11. 陈巴蒂Chrome · Windows 7

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

    9年前 (2015-09-17)
    广东
    回复
  12. johnnyChrome · Windows 7

    如何在博客里设置自动回复留言功能啊!
    //评论回应邮件通知
    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: 试了好久了,不懂。。

    10年前 (2015-04-19)
    江苏
    回复
    • 料神Sam 外贸综合症患者.搜狗浏览器 · Windows 7
      @johnny 安装一个 WP_SMTP 插件,设置好就行了,国人开发的。
      10年前 (2015-05-21)
      安徽
      回复
  13. hiChrome · Windows 8

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

    10年前 (2015-04-17)
    河北
    回复
  14. xjhwaChrome · Windows 7

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

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

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

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

    10年前 (2015-03-21)
    美国
    回复
    • 料神Sam 外贸综合症患者.搜狗浏览器 · Windows 7
      @xjhwa 谢谢分享你的方法。国外一些 NB 的插件的确有时候很省力!以后可以试试。
      10年前 (2015-03-22)
      安徽
      回复
      • xjhwaChrome · Windows 7

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

        10年前 (2015-03-23)
        韩国
        回复
        • ssn13Chrome · Windows 7

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

          9年前 (2016-07-01)
          福建
          回复
    • 阳光的AC0Mozilla · Windows 7

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

      10年前 (2015-03-23)
      广东
      回复
      • 料神Sam 外贸综合症患者.搜狗浏览器 · Windows 7
        @阳光的AC0 没关系,分不同的文件夹路径。一个 host 可以放很多个网站。
        10年前 (2015-03-23)
        安徽
        回复
  15. 快鱼Chrome · Windows 7

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

    10年前 (2015-03-21)
    美国
    回复
  16. melodyding搜狗浏览器 · Windows 7

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

    10年前 (2015-03-20)
    山东
    回复
  17. lucyffChrome · Windows 7

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

    10年前 (2015-03-20)
    江苏
    回复
  18. tyz2046Chrome · Windows 7

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

    10年前 (2015-03-20)
    日本
    回复
  19. 巴比代尔Chrome · Windows 7

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

    10年前 (2015-03-19)
    美国
    回复
    • CiboChrome · Windows XP

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

      10年前 (2015-05-21)
      江苏
      回复