WordPress网站域名更换的操作

我们在更新wordpress站点域名后,一般来说需要对数据库中的域名进行相应的替换,执行以下SQL语句来替换域名,其中old.com是更换前原域名,new.com是更换后的新域名。

1
2
3
4
5
6
7
UPDATE wp_options SET option_value = replace(option_value, '://old.com', '://new.com');
UPDATE wp_posts SET guid = replace(guid, '://old.com','://new.com');
UPDATE wp_posts SET post_content = replace(post_content, '://old.com', '://new.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'://old.com','://new.com');
UPDATE wp_usermeta SET meta_value = replace(meta_value, '://old.com', '://new.com');
UPDATE wp_comments SET comment_content = REPLACE (comment_content, '://old.com', '://new.com');
UPDATE wp_comments SET comment_author_url = REPLACE (comment_author_url, '://old.com','://new.com');

另外,有时我们发现在进行数据库替换后仍有旧的域名链接出现在网站上,导致网站的样式出现错误。这时,不要慌,我们检查以下几个点:

1、检查是否清理了缓存插件中的缓存

2、检查是否刷新了数据库缓存如redis或memcache中的缓存数据

这两步的操作我们在缓存相关问题中介绍过,大家可以参阅。

另外,使用了一些高级主题的网站还是可能存在有旧域名的情况,我们发现通常是由于这些主题会动态生成一些css文件,这些css文件中可能含有旧的域名信息。那么我们就需要更新这些css文件中的域名了。

检查方法,可以是在浏览器中以开发者模式打开你的网站,检查资源加载情况,如果发现有加载错误的资源则直接查看错误的链接来自哪里。检查Referer中的来源是哪个文件,再到站点中去找到这个文件,打开编辑替换域名即可。

如果实在不知道怎么查找,就用遍历的方法替换一次站点下的所有文件,linux下可以执行此语句

1
find /path/to/your/site -type f -name '*.css' -o -name '*.js' | xargs sed -i 's/old.com/new.com/g'

其中‘/path/to/your/site’是你的站点在服务器上的路径,’old.com’是替换前的旧域名,‘new.com‘是替换后的新域名。

说点什么

500