前面写过一篇 WordPress 更换网站空间详细攻略 。这篇继续写,主要是针对更换域名的情况。
由于各种原因我们可能需要放弃原来的域名,更换域名,往简单了说,不就是换个域名URL嘛。但是想要真正做到完美的迁移就少不得要费一番功夫。既要保证网站正常运行,还要做到PR及搜索引擎的正常来访不出错,甚至你还需要保留原有的数据,如存放blog文章的posts,存放产品信息的portfolio。
很多人可能会直接删除原来的域名重新绑定一个新的域名。其实这样的做法是不妥的,毕竟我们之前花费较多的时间和精力维护老的网站,网站是有一定的权重的。
WordPress 换域名是需要到数据库进行操作的。而换域名一般也分为两种情况。
仅仅换域名,不换空间
登陆 WordPress 后台,依次打开设置->常规,将该页面内的 WordPress 地址(URL)和站点地址(URL)由原来的旧域名更改为新域名,更改之后点击保存更改按钮,这时会从网站后台自动退出的界面,这表示新的域名已经修改成功。
打开 phpmyAdmin(数据库控制面板,一般 Cpanel 都带这个),选择数据库名,点击后,然后选择选项卡里的 sql,如图:
复制以下 sql 批量处理的命令(注意把 old.com 和 new.com 替换成你的新旧域名)
UPDATE wp_options SET option_value = replace( option_value, 'https://www.old.com', 'https://www.new.com' ) WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET post_content = replace( post_content, 'https://www.old.com', 'https://www.new.com' ) ; UPDATE wp_posts SET commment_content = replace( commment_content, 'https://www.old.com', 'https://www.new.com' ) ; UPDATE wp_posts SET commment_author_url = replace( commment_author_url, '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 是新域名。如果当初你的数据库表头不是默认的 wp 开头,注意修改成你自己数据库的表头,很多人都忘记了这点。
不止是这 5 句,由于各个主题不同,也许你还要修改其他的表中信息。比如我们做外贸的使用的企业网站主题很多有 portfolio(存放产品信息的),你可以逐一查看下。
换域名也换空间
步骤分解成两部分:
第一步请看之前的文章:WordPress 更换网站空间详细攻略
第二步:进行新的数据库用户名和密码的配置文件配置,也就是打开 ftp,在 WP 根目录下找到 wp-config.php,下载下来然后用 notepad++ / editplus/ Dreamwaver 打开(切勿用记事本打开)。打开后,自己的新数据库名、数据库用户名、数据库密码进行修改配置。配置完之后 FTP 上传覆盖。
/** WordPress 数据库的名称 */ define('DB_NAME', 'liaosam'); /** MySQL 数据库用户名 */ define('DB_USER', 'liaosam'); /** MySQL 数据库密码 */ define('DB_PASSWORD', '这里是数据库密码'); /** MySQL 主机 */ define('DB_HOST', 'localhost'); 一般 Linux 主机这里不用动,保持 localhost 即可。 /** 创建数据表时默认的文字编码 */ define('DB_CHARSET', 'utf8');
第三步,在 phpmyAdmin 中导入了之前备份的数据库之后,SQL 批量更换老域名为新域名。具体 SQL 命令同上。
全站 301 重定向问题
如果你的网站没有什么流量,仅仅是你测试使用,如果你不在乎搜索引擎,那么重定向的问题,你可以直接无视。否则,继续看下去吧,这个还是比较重要的。
我们需要保持原有的路径不变,而不是全部跳转到新站点首页,比如 www.老域名.com/url/ 还需要跳转到 www.新域名.com/url/ 这样的地址,我们就需要设置全站 301。可以把老站点下的.HTACCESS 文件更换成
RewriteEngine on
RewriteRule ^(.*)$ https://www.new.com/$1 [R=301,L]
*注意修改上面的网址 new.com 为你新站点的地址 URL,这样就可以实现全站 301。
保持新站点更新
保持新站点的更新以及适当加一些外链,让搜索引擎蜘蛛更早地知道我们更换成新的地址。
通过以上的步骤,就可以完成老域名更换成新域名,且网站的权重影响降低到最低点。如有更好意见,欢迎留言。
备注说明
如果遇到 PhpMyAdmin 导入数据库文件最大限制 2048KB,可以找到 php.ini,ctrl+F 找到 upload_max_filesize,将值修改为 20MB,覆盖即可。如果不成功,记得重启一下 Apache。
本站所有文章除注明“转载”的文章之外,均为原创。未经本站允许,请勿随意转载或用作任何商业用途,否则依法追究侵权者法律责任的权利。
您好大佬。请问如果使用宝塔面板,添加新域名需要将旧域名删除吗?
我的操作流程是这样的:
1、在 WP 后台和 phpmyAdmin 里面修改域名。
2、在宝塔面板添加了新域名,旧域名保留没有删除;
3、在宝塔设置里使用重定向(测试)功能,把旧域名、www 旧域名和 www 新域名全部 301 到了新域名。。
请问这样的操作是否正确???
料神老师,你好!我属于第一种情况,按你的说的把 WP 后台和 phpmyAdmin 里改了,域名管理后台服务器也改成 SG 的了,但输入新域名还是不能打开网站。这会是什么原因呢?
料神,想请问您换域名需不需要先在 xshell 先创建一个新域名的目录? 还是说啥都不用搞直接操作上面的步骤?
非常实用,谢谢分享
写的不错 虽然有的地方 有点问题
料神,这篇文里链向更换空间攻略的锚文本链接错了(多了.html,是不是改过 permalink 的设置),点开是 404……麻烦方便的时候改下吧……
@料神Sam 纠结之后的结果,哈哈……
有用. 先留着了, 后面估计会用到.
外贸本质是销售,抽去建站,seo.google.回归销售的本质,可能会让迷茫的人更不容易迷失,当然也有个人兴趣爱好,只是一点对料网的建议。希望料网越来越好,帮助到更多的新人