WordPress 博客站点迁移,数据库全部更改 URL 链接域名的 SQL 语句

一些情况下,迁移完 WordPress 站点后,换上新域名,访问时发现有很多问题。例如旧文章中媒体文件地址都是旧域名(更改 WordPress 后台链接选项不会更改媒体地址),图片全都寄光光。

这个时候,只需要将所有文章中旧内容中的旧域名替换成新域名,就能解决很多问题了。

例如,我的博客原来是 yang1120.club ,现在迁移到 blog.yang1120.com ,就可以这样执行 SQL 来全局替换:

更新站点设置

UPDATE yang1120_options SET option_value = replace(option_value, 'yang1120.club', 'blog.yang1120.com') WHERE option_name = 'home' OR option_name = 'siteurl';

更新文章内容

UPDATE yang1120_posts SET post_content = replace(post_content, 'yang1120.club', 'blog.yang1120.com');

更新文章元数据(标签、插件设置)

UPDATE yang1120_postmeta SET meta_value = replace(meta_value, 'yang1120.club', 'blog.yang1120.com');

更新评论内容

UPDATE yang1120_comments SET comment_content = replace(comment_content , 'yang1120.club', 'blog.yang1120.com');

食用注意事项

需要修改数据库前缀,例如上述文章表是 yang1120_posts ,数据库前缀是 yang1120 ,需要按需修改成自己的数据库名。

yang1120.club 是旧域名,blog.yang1120.com 是新域名,替换为自己的就行。

一次执行是可行的:

UPDATE yang1120_options SET option_value = replace(option_value, 'yang1120.club', 'blog.yang1120.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE yang1120_posts SET post_content = replace(post_content, 'yang1120.club', 'blog.yang1120.com');
UPDATE yang1120_postmeta SET meta_value = replace(meta_value, 'yang1120.club', 'blog.yang1120.com');
UPDATE yang1120_comments SET comment_content = replace(comment_content , 'yang1120.club', 'blog.yang1120.com');
0 0 投票数
文章评分
0 评论
内联反馈
查看所有评论
0
本文贡献者正期待您发表意见x
滚动至顶部