WordPress 变更域名全图文流程 aaPanel 宝塔迁移VPS

WordPress 需要更改域名的常见情况

原则上,应尽量避免更改正在运营的网站域名,但有时由于无法避免的原因,我们可能不得不进行更改。
例如,可能发生以下情况:

  • 网站标题发生变化,需要相应更改域名。
  • 域名受到Google惩罚,搜索排名无法提升。
  • 由于未注意到域名到期,被其他用户获取。
  • 需要同时变更主题,比较繁琐的优化。

更改域名意味着整个博客的URL都会发生变化,
因此如果不进行处理,其他站点、书签、社交媒体等的链接将全部失效。

服务器下的域名变更

WordPress后台设置:

登录WordPress后台

  1. 转到【设置】-> 【常规】
  2. 在【WordPress地址(URL)】和【站点地址(URL)】字段中,将旧域名更改为新域名。
  3. 单击“保存更改”以保存新设置。

宝塔面板设置:

登录宝塔后台
  1. 在网站管理页面中,点击网站名【域名管理】选项。
  2. 在文本框中,输入新域名。
  3. 单击【保存】或【提交】以应用更改。

如果您的站点使用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 软件上传备份文件进行还原

网站可以正常点进去了,但是我的图片都是空白的

因为你还没有变更网页内的图片媒体路径啊,
下面一章节可以解决你这个问题。

替换网页中的所有域名

经过上面的域名修改,相信你已经可以正常进入网页,
下面介绍三种替换网页中的旧域名方法。

方法一: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%的谷歌上进行的,暂且不会有问题。

发送地址变更通知的方法非常简单。

  1. 为WordPress的所有文章、所有固定页面和主页分别设置301重定向。
  2. 在Google Search Console中添加新域名。
  3. 从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替换为新域名。