WordPress插件 数据库批量替换插件支持一键替换域名

插件简介

此插件主要用于批量替换数据库内容,适用于以下场景:

  1. 网站更换域名(网址):当网站需要更改其域名时,可以使用此插件来快速替换数据库中的所有相关链接和内容。
  2. 网站使用云存储:如果网站将数据存储在云存储中,并且需要将旧数据中的图片地址更新为新的云存储地址,此插件可以帮助您轻松完成这一任务。
  3. 网站域名由http换为https:当网站决定将其域名从http更改为https时,此插件可以自动替换数据库中的所有http链接为https链接。
  4. 批量替换付费下载链接中部分内容:如果您的网站提供了付费下载功能,并且需要定期更换付费下载链接的部分内容,例如蓝奏云等云存储服务的域名更改,此插件可以帮助您快速完成这一任务。

通过使用此插件,您可以节省大量时间和精力,同时确保数据库内容的一致性和准确性。

插件截图

图片[1]-WordPress插件 数据库批量替换插件支持一键替换域名-明月资源网

插件下载

SQL命令手动替换教程

更换流程

那么我们再梳理一下,更换域名的流程

  1. 首先,我们需要判断更换的新旧内容的字符数量是否一致!
  2. 进入数据库通过批量命令更换不是序列化的数据
  3. 然后再根据第一步的判断,用不同的方法来更换序列化的数据
  4. 通过数据库全局搜索找到没换干净的数据再替换

批量替换教程

直接操作数据库,如果操作错误将引起严重问题!!
操作前,请务必前备份整个数据库!!

首先我们进入网站的数据库管理,推荐使用phpMyAdmin可视化命令,如果有其他数据库管理面板也行,方法大致一样吗,我们以宝塔为例,如图所示,进入phpMyAdmin。

图片[2]-WordPress换域名、批量修改替换网站链接URL最完美教程[新手必看]-WordPress主题模板-zibll子比主题
图片[3]-WordPress换域名、批量修改替换网站链接URL最完美教程[新手必看]-WordPress主题模板-zibll子比主题

接下来就是重点了,判断你需要更换的前后内容的字符数量是否一致!如果一致那就可以直接批量替换所有内容,如果不一致,批量替换时候就需要排除序列化数据,后面再单独修改序列化数据

批量替换命令

如果前后内容字符数量一致,请使用以下命令批量替换数据库全部内容(包括序列化数据)。请复制以下代码,并按下面的图示修改后,再粘贴到SQL命令中执行!

#前后内容字符数量一致
UPDATE wp_options     SET option_value       = replace(option_value,       'https://old.zibll.com','https://new.zibll.com');#配置表
UPDATE wp_posts       SET post_content       = replace(post_content,       'https://old.zibll.com','https://new.zibll.com');#文章内容
UPDATE wp_postmeta    SET meta_value         = replace(meta_value,         'https://old.zibll.com','https://new.zibll.com');#文章Meta
UPDATE wp_posts       SET guid               = replace(guid,               'https://old.zibll.com','https://new.zibll.com');#文章链接
UPDATE wp_comments    SET comment_content    = replace(comment_content,    'https://old.zibll.com','https://new.zibll.com');#评论内容
UPDATE wp_comments    SET comment_author_url = replace(comment_author_url, 'https://old.zibll.com','https://new.zibll.com');#评论网址
UPDATE wp_commentmeta SET meta_value         = replace(meta_value ,        'https://old.zibll.com','https://new.zibll.com');#评论mate
UPDATE wp_users       SET user_url           = replace(user_url,           'https://old.zibll.com','https://new.zibll.com');#用户链接
UPDATE wp_usermeta    SET meta_value         = replace(meta_value,         'https://old.zibll.com','https://new.zibll.com');#用户meta
UPDATE wp_zib_message SET title              = replace(title,              'https://old.zibll.com','https://new.zibll.com');#子比消息:标题
UPDATE wp_zib_message SET content            = replace(content,            'https://old.zibll.com','https://new.zibll.com');#子比消息:内容
UPDATE wp_termmeta    SET meta_value         = replace(meta_value ,        'https://old.zibll.com','https://new.zibll.com');#trem_mate

如果前后字符数量不一致,则使用以下代码(已排除序列化数据):

#前后内容字符数量不一致
UPDATE wp_posts       SET post_content       = replace(post_content,       'http://old.zibll.com','https://new.zibll.com');#文章内容
UPDATE wp_posts       SET guid               = replace(guid,               'http://old.zibll.com','https://new.zibll.com');#文章链接
UPDATE wp_comments    SET comment_content    = replace(comment_content,    'http://old.zibll.com','https://new.zibll.com');#评论内容
UPDATE wp_comments    SET comment_author_url = replace(comment_author_url, 'http://old.zibll.com','https://new.zibll.com');#评论网址
UPDATE wp_users       SET user_url           = replace(user_url,           'http://old.zibll.com','https://new.zibll.com');#用户链接
UPDATE wp_zib_message SET title              = replace(title,              'http://old.zibll.com','https://new.zibll.com');#子比消息:标题
UPDATE wp_zib_message SET content            = replace(content,            'http://old.zibll.com','https://new.zibll.com');#子比消息:内容
UPDATE wp_options     SET option_value       = replace(option_value,       'http://old.zibll.com','https://new.zibll.com') WHERE option_value NOT LIKE '%{%' and option_value NOT LIKE '%}';#配置表
UPDATE wp_termmeta    SET meta_value         = replace(meta_value ,        'http://old.zibll.com','https://new.zibll.com') WHERE meta_value NOT LIKE '%{%' and meta_value NOT LIKE '%}';#trem_mate
UPDATE wp_postmeta    SET meta_value         = replace(meta_value,         'http://old.zibll.com','https://new.zibll.com') WHERE meta_value NOT LIKE '%{%' and meta_value NOT LIKE '%}';#文章Meta
UPDATE wp_commentmeta SET meta_value         = replace(meta_value ,        'http://old.zibll.com','https://new.zibll.com') WHERE meta_value NOT LIKE '%{%' and meta_value NOT LIKE '%}';#评论mate
UPDATE wp_usermeta    SET meta_value         = replace(meta_value,         'http://old.zibll.com','https://new.zibll.com') WHERE meta_value NOT LIKE '%{%' and meta_value NOT LIKE '%}';#用户meta

需要修改的地方:表前缀、新域名、旧域名,如图所示

图片[4]-WordPress换域名、批量修改替换网站链接URL最完美教程[新手必看]-WordPress主题模板-zibll子比主题

执行完以上命令后,可以查看每一行命令修改了多少个数据。到这一步,我们也就基本上完成了主要的替换工作,接下来就是通过全局查找,手动替换还未替换成功的数据和序列化数据

全局搜索替换

图片[5]-WordPress换域名、批量修改替换网站链接URL最完美教程[新手必看]-WordPress主题模板-zibll子比主题
图片[6]-WordPress换域名、批量修改替换网站链接URL最完美教程[新手必看]-WordPress主题模板-zibll子比主题

序列化数据替换

这里就是最让人头疼的地方了,没办法,如果替换前后内容字符数量不一致,序列化数据是没有任何办法批量替换的,也就只有一个一个的替换了。

在替换的时候注意几点技巧:

  • 可以把数据复制到自己习惯的代码编辑中,搜索替换
  • 替换内容后,一定要对应修改字符数量(字符数量不要自己数,用这个网站计算,因为不同语言单字占用数量不完全相同)

最后说明一下:

  • 很多只要你修改后台的WordPress地址站点地址都需要按此教程做,即使仅仅从http改为https也是一样。
  • 本教程标题是最完美的教程,但并不是完美方案,这个确实已经是目前最高效且出问题最小的方案了
  • 本文教程适用于整个WordPress,并不是仅子比主题,同时本文说的一些问题也不是子比主题和WordPress的问题,数据库逻辑就是这样
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容