WordPress 需要更改域名的常见情况
原则上,应尽量避免更改正在运营的网站域名,但有时由于无法避免的原因,我们可能不得不进行更改。 例如,可能发生以下情况:
网站标题发生变化,需要相应更改域名。域名受到Google惩罚,搜索排名无法提升。由于未注意到域名到期,被其他用户获取。需要同时变更主题,比较繁琐的优化。
更改域名意味着整个博客的URL都会发生变化, 因此如果不进行处理,其他站点、书签、社交媒体等的链接将全部失效。
在变更域名前,请一定要先备份,避免数据丢失
服务器下的域名变更
WordPress后台设置:
登录WordPress后台
转到【设置】-> 【常规】在【WordPress地址(URL)】和【站点地址(URL)】字段中,将旧域名更改为新域名。单击“保存更改”以保存新设置。
宝塔面板设置:
登录宝塔后台
在网站管理页面中,点击网站名【域名管理】选项。在文本框中,输入新域名。单击【保存】或【提交】以应用更改。
如果您的站点使用SSL证书(HTTPS),需要确保SSL证书适用于新域名。 如果之前已经安装了SSL证书,您可能需要重新申请或刷新证书,以确保它与新域名匹配。
数据库设置:
登录phpMyAdmin数据库
也可以通过 wp-config.php 文件找到 数据库的 用户名 和 密码。
清除浏览器缓存:
在浏览器中打开站点时,可能需要清除浏览器缓存,以便查看最新的域名更改。
可以按下
Windows/LinuxCtrl + F5
Mac Cmd + Shift + R
来刷新页面并清除缓存。
平时网站还有用户在访问,我怕我在进行变更的时候影响到用户访问。
那你可以试试通过把旧域名的数据复制一份到新域名上,
在你新域名完全设置好后,再关闭旧域名。
如果页面还是无法显示
有部分可能因为WordPress主题的关系,有部分关联文件也需要变更才能恢复正常
可以在目录文档中找寻下面几个文件,看看是否还有可以替换的地方。
wp-config.php
functions.php
.htaccess
object-cache.php
advanced-cache.php
user.ini
不同服务器(替换服务器)的域名变更
在新的服务器上安装WordPress,如果你是通过宝塔管理,可以直接配置完域名后上传备份进行还原。
可以参考下面方式,安装好新的WordPress后,通过FTP 软件上传备份文件进行还原
BackWPup 图文设置【2025年最新】WordPress 网站备份和数据恢复指南
网站可以正常点进去了,但是我的图片都是空白的
因为你还没有变更网页内的图片媒体路径啊, 下面一章节可以解决你这个问题。
替换网页中的所有域名
经过上面的域名修改,相信你已经可以正常进入网页, 下面介绍三种替换网页中的旧域名方法。
方法一:Velvet Blues Update URLs 插件
用于在更改 WordPress 网站的域名或迁移网站时更新数据库中的旧域名链接。
“Old URL”(旧域名): 输入你网站之前的域名。“New URL”(新域名): 输入你希望更新为的新域名。选择要更新的内容: 你可以选择更新文章、页面、媒体文件等不同类型的内容。“Update URLs NOW” 按钮: 确认你的设置后,点击这个按钮开始更新。
方法二:Search Regex 插件
它允许你在文章、页面、评论等内容中查找指定的文本模式,并替换为其他文本。 对于批量修改内容或调整特定文本模式非常有用。
在插件设置页面,你将看到 “Search” 和 “Replace” 字段,允许你定义要搜索和替换的文本。支持正则表达式,你可以选择是否启用正则表达式。
方法三:phpMyAdmin数据库( 推荐 )
在你之前的网页中,还残留很多旧域名路径下数据,比如说图片或内部链接等。 一个一个改就太麻烦了,所以我们需要利用指令批量修改。
SQL
UPDATE wp_options SET option_value = replace(option_value, 'https://old.com', 'https://new.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'https://old.com','https://new.com');
UPDATE wp_posts SET post_content = replace(post_content, 'https://old.com', 'https://new.com');
上面代码的 wp_ 可能是你的数据库表前缀,确保替换时使用正确的表前缀。
执行后,如果你修改的数据量大,需要几分钟的时间缓存, 后台会一点点的替换,千万不要心急。
【附加项】避免搜索引擎无法抓取
域名变更后,SEO评估会重新进行
在搜索引擎注册每个网站时,当然是基于URL来判断网站的。 如果URL发生变化,而没有采取适当的处理,SEO评估就会归零!
如果是“数天前在WordPress上开始博客”的情况,因为很可能还没有被搜索引擎注册,所以即使更改URL也没有问题。
然而,对于运营一段时间的网站,由于URL更改可能会对SEO评估产生影响。 因此我们需要进行以下设置。
发送地址变更通知是在全球搜索引擎市场占有率达到90%的谷歌上进行的,暂且不会有问题。
发送地址变更通知的方法非常简单。
为WordPress的所有文章、所有固定页面和主页分别设置301重定向。在Google Search Console中添加新域名。从Google Search Console的旧域名设置中发送地址变更通知。
Google Search Console 通知地址变更
假设已完成全页面的301重定向和在Google Search Console中添加新域名,接下来将解释地址变更通知的步骤。
在Google Search Console中,从左上角的站点选择画面中选择作为迁移源的旧URL(旧域名)。
点击左侧菜单中的【设置】点击【地址更改】
选择迁移目标的新URL(新域名),然后点击【验证并更新】。
在服务器上进行301重定向
使用.htaccess文件:
打开旧域名的网站根目录下的.htaccess文件。如果该文件不存在,可以创建一个。在文件的开头添加以下代码:
.htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old-domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.old-domain.com$
RewriteRule (.*)$ http://new-domain.com/$1 [R=301,L]
将old-domain.com替换为旧域名,将new-domain.com替换为新域名。
使用Nginx服务器:
打开Nginx配置文件,通常是/etc/nginx/nginx.conf或/etc/nginx/sites-available/default。在server块中添加以下行:
nginx
server {
server_name old-domain.com www.old-domain.com;
return 301 http://new-domain.com$request_uri;
}
保存并重新加载Nginx配置。
在WordPress中进行301重定向
方法一:使用插件 Redirection
安装并激活“Redirection”或“Simple 301 Redirects”等插件。在插件设置中,添加旧域名到新域名的301重定向规则。
方法二:编辑主题的 functions.php文件
打开旧域名主题的functions.php文件。在文件末尾添加以下代码:
php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://new-domain.com" . $_SERVER['REQUEST_URI']);
exit();
将new-domain.com替换为新域名。
在宝塔面板中进行301重定向
进入旧站点设置修改界面
左侧找到【重定向】选项→【添加重定向】
根据内容说明,输入你要的目录URL
宝塔面板提供的简单说明
重定向类型:表示访问选择的“域名”或输入的“路径”时将会重定向到指定URL 目标URL:可以填写你需要重定向到的站点,目标URL必须为可正常访问的URL,否则将返回错误 重定向方式:使用301表示永久重定向,使用302表示临时重定向 保留URI参数:表示重定向后访问的URL是否带有子路径或参数如设置访问http://b.com 重定向到http://a.com 保留URI参数: http://b.com/1.html —> http://a.com/1.html 不保留URI参数:http://b.com/1.html —> http://a.com