wordpress

使用All-in-one WP Migration迁移wordpress站点经验和注意事项

内容概要: 迁移wordpress站点 wordpress迁移 wordpress站点迁移

最近需要将 The Hu Post 迁移到到新的服务器上, 这里记录下wordpress站点迁移的过程和一些注意事项以备不时之需,毕竟需要迁移wordpress站点的场景还是挺多的。

站点迁移

正常来说, 网站搬家将所有网站文件(网站根目录下的所有文件打包, 对wordpress 站点来说包括wordpress代码, 主体,插件等)和数据库数据迁移到新的机器, 然后恢复即可。 不过很久没碰过SQL命令了, 这次就偷偷懒吧, 使用第三方工具 All-in-one WP Migration 来迁移吧。

顺便提一下,All-in-one WP Migration有免费版和收费的Pro 版本, 对于网站迁移免费版就够了。

步骤

过程比较简单:

  • 在老站点导出站点
  • 在新站点导入文件来恢复网站。
  • 然后修改下DNS记录, 让域名指向新的IP即可。

导出老站点

迁移wordpress站点   wordpress迁移  wordpress站点迁移
All-in-one WP Migration 导出

在新站点恢复

迁移wordpress站点   wordpress迁移  wordpress站点迁移
All-in-one WP Migration 导入

修改DNS记录

修改DNS记录比较简单, 这里就不展开了

问题

说起来步骤比较简单, 导出--》导入----》DNS指向新的站点, 但实际过程还是遇到一些问题

最大上传文件大小限制

All-in-one WP Migration 插件提示‘最大上传文件大小为50m

插件文档中提供了4种方法来修改最大上传文件大小

Update .htaccess file

php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 256M
php_value max_execution_time 300
php_value max_input_time 300

Change the numbers to the values that you need. The max execution time and max input time values are in seconds and might need to be increased further if your internet connection is slow.

Update wp-config.php file

@ini_set( 'upload_max_filesize' , '128M' );
@ini_set( 'post_max_size', '128M');
@ini_set( 'memory_limit', '256M' );
@ini_set( 'max_execution_time', '300' );
@ini_set( 'max_input_time', '300' );

Contact hosting provider

Reach over to the customer support of your hosting provider and ask them to increase these limits for you

Use plugin

https://import.wp-migration.com

修改php参数

很可惜, 前2种方法对我不管用, 第4种方法只能修改为512M, 而我的导出文件有540M, 所以需要其他办法来修改最大文件限制

后来发现php 也会有限制, 在php.ini 文件种有参数来控制最大上传文件大小

宝塔面板可以直接修改:

迁移wordpress站点   wordpress迁移  wordpress站点迁移
宝塔面板修改 PHP 文件上传限制
迁移wordpress站点   wordpress迁移  wordpress站点迁移
宝塔面板修改 PHP 文件上传限制

完成迁移后新站种有很多无效链接

具体的问题如下:

由于我是在老站导出, 新站导入之后才改的DNS记录, 所以新站最开始是没有域名的, 直接使用IP 来访问的

All-in-one WP Migration 插件在导入时自动将老的URL替换成新的URL了, 即IP格式的URL。 修改了DNS记录后, 移除了新站的IP直接访问(nginx 不直接监听IP)后, 这些就成了无效URL, 需要手动处理下。

这里受影响的都是图片的链接, 文章直接的内链等纯静态的链接。 博客文章由于是伪静态, 是不会受影响的。

解决办法1

使用一些死链管理工具, 检测出来, 改掉。 我用的就是 Broken Link Checker 这个插件, 花了半个多小时手动将无效链接中的IP改为domain 即可。

使用All-in-one WP Migration迁移wordpress站点经验和注意事项 1

解决办法2

修改下整个迁移的顺序:

老站导出—-> 修改DNS 记录—–> 安装新站wordpress(使用域名而不是IP)—-> 导入

Google结构化数据中有很多无效链接

Google结构化数据是Google 定义的一种JSON-LD标记语法, 用于向Google 提交网页或者应用的结构化描述信息, 用于在Google Mobile Search结果中更精准展现, 具体可以参考什么是Google结构化数据和Google结构化数据官方指南

解决办法:

将SEO插件停用, 然后再启用, 修改SEO插件中相关的配置即可。

新站连接不上 Google Site Kit

将新站的安全措施全部去掉( 停止防火墙, 重新开放80 短口等) 再连接Google Site Kit , 然后将安全措施恢复。

注意事项

除了前面提到的一些问题, 还有一些注意事项

  • 新的站点wordpress 安装后记得配置伪静态规则, 在 宝塔面板加wordpress 快速搭建网站 种也强调了这一点
  • 老站点的一些不属于wordpress 的配置(如nginx 配置和php 配置)需要拷贝到新站
    • 对我来说, nginx 配置需要单独注意的是静态文件的 expire header 设置:
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico|webp)$
{
    expires      365d;
    error_log off;
    access_log /dev/null;
}

location ~ .*\.(js|css)?$
{
    expires      30d;
    error_log off;
    access_log /dev/null; 
}
  • php 配置主要是一些性能扩展, 这类似mememcached, redis等, 这方面的文章很多就不展开了

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top