有时,您需要将WordPress 网站转移到不同的服务器上,因此我们为您带来了这一最佳安全实践,教您如何保留旧网站,而不会弄乱任何东西。 最后编写的模块提供了一个更简单的解决方案。
在开始迁移之前,我想先介绍一下可以在wp-config.php 中定义的自定义表前缀。 最好不要将其保留为预定义值 “wp_”,而是为每个站点选择自己的前缀(仅限数字和小写!例如 mojwebtest_),这样就不会意外覆盖某些现有数据。 您是否已有一个数据库,但想更改前缀?没问题。
- 备份网站使用的数据库中的所有表。 您可以使用扩展性更强的phpMyAdmin或我最喜欢的Adminer(或桌面应用程序HeidiSQL或Sequel Pro,如果您使用的是 Mac OS X)来导出它们。 默认情况下,输出格式为.sql,但也可以选择任何压缩格式。 有些虚拟主机对上传(导入)文件的最大大小限制较低,这可以帮助你避免超出配额。
- 备份wp-content 目录。 这取决于您是使用自己喜欢的 FTP 客户端(WinSCP、FileZilla、Cyberduck……),还是通过 SSH 访问(tar -pvczf wp-content.tar.gz wp-content/),后者可能是一个更优雅的解决方案。
- 将数据库导入新服务器。 如果您已经安装并运行了 WordPress,则可以使用 Adminer 模块。
- 将文件searchreplacedb2.php(WordPress(及其他)搜索和替换工具)上传到网站根目录(wp-config.php 所在位置)。 该工具用于在数据库中用新域名覆盖旧域名的所有出现。 我们之所以使用这个脚本,而不是简单地手动覆盖域,是因为它能够处理序列化数据。 如果担心该程序的安全性,可以在本地或测试服务器上执行,而不是在生产站点上。 如果不打算更改域名,可以跳过这一步和下一步。
- 检索http://www.vasastranka.sk/searchreplacedb2.php。 如果WordPress 已在wp-config.php中为数据库定义了数据,脚本可以自动获取这些数据。 按 “下一步”,选择要修改的表格,并在下一页定义新旧域名。确保输入的 URL 不带斜线!(正确 =http://www.vasastranka.sk| 错误 =http://www.vasastranka.sk/)。用新域名替换旧域名后,确保从服务器上删除文件。
- 在上传全新的安装文件时,只需上传 WordPress 和自己的wp-content文件夹,并按传统方法设置 wp-config.php。如果你已经有了一个正常运行的网站,请继续以下步骤。
- 将wp-content文件夹重命名为其他名称,例如wp-content.novy,然后上传到与原wp-content 文件夹相同的目录。
- 打开wp-config. php ,找到以$table_prefix 开头的一行并注释掉。 在其正下方,创建完全相同的一行,并将表格前缀更改为您定义的前缀。 它看起来是这样的
// $table_prefix = 'wp_'; $table_prefix = 'mojwebtest_';
节省。
- 将原来的wp-content重命名为wp-content.old,将刚刚上传的wp-content.new 重命名为wp-content。
- 检查网站,确保一切正常。 如果有任何问题,只需在wp-config.php 中注释数据库表的新前缀,并删除对原前缀的注释。 将这两个 wp-content文件夹重命名为 ,一切都会恢复如初。
- 如果没有问题,请登录控制面板,在设置> 永久链接中连续按两次 “保存更改”。 这将确保您的链接结构和所有页面 URL 正常工作。 然后确保您已在> 隐私设置中启用搜索服务索引您的内容。
如果只想更改网站的域名或 URL,但仍使用相同的数据库,并留在同一台服务器上(移动到不同的目录),只需执行以下操作即可:
- 不要忘记进行完整备份(文件+数据库)。
- 进入设置> 常规,将WordPress 地址(URL)和服务器地址(URL)更改为所需的新域或位置。 不要忘记保存这些设置。
- (现在不要尝试重新打开/加载您的网站或其管理!)。
- 将所有文件(包括.htaccess)移动/复制到新位置。
- 您的网站现在应该可以访问了。 首先要做的是进入设置> 永久链接,然后连续点击两次 “保存更改”。
- 现有的多媒体(图片……)仍将链接到旧地址。 您可以使用天鹅绒蓝调更新 URL模块来解决这个问题,或者使用上述工具查找并替换它们。
在设置> 多媒体中,检查上传文件夹的路径。(自 3.5 版起已过时)。- 如果您使用的是自定义菜单,并且其中有一个链接到主页的项目,那么它也可能仍然包含旧值。
- 在某些情况下,需要重新设置文件权限。
为促进这一进程而创建的附加模块:
如何进行迁移? 您还使用其他有趣的移动工具和模块吗? 请在下面的评论中与我们分享。
🤷♂️ Need help? Check out our services.
