独立站换域名迁移全流程:DNS、301重定向与SEO权重承接 “搬家了”这三个字放在现实生活里是搬几箱书、换一把钥匙放在独立站点上是一次伤筋动骨的换血。oorr.cn 这个新门牌挂上去的那一刻笔友城堡这座以“记录美好生活”为底色的小城堡其实同时经历着三件事地址变了、屋子重新装修了、住进来的人也换了一批。很多站主把搬家理解成“解析改一下、文件拖过去”结果一周后发现自己辛苦攒的搜索权重掉了一半老读者点进来是 404图片全裂连自己都找不回后台。这篇东西就是把这个过程拆开讲透——从一个只有标题的搬家公告出发还原一次完整的站点迁移该怎么做包含域名与解析的切换节奏、301 重定向的写法与映射表、内容层的重新开张以及我这些年踩过的、文档里不会写的坑。它适合三类人看正准备换域名的个人站长、想从第三方平台搬到自建站的写作者以及维护着一个小型笔友社区、需要在不惊动读者的前提下完成底层替换的人。哪怕你只是刚起了个念头还没买域名也建议先把这篇存下来——搬家最贵的从来不是钱是顺序错了之后的返工。1. 先想清楚这次“搬家”到底搬了什么很多人一上手就开控制台改解析这是最容易出事的地方。迁移不是单点操作而是一组有先后依赖的动作。你得先把“搬的是什么”拆清楚再决定动手顺序。我的习惯是先画一张三维图纵向是资产层级横向是迁移阶段深度是回滚方案。听起来玄其实就是问自己三个问题——哪些东西跟着走、哪些东西留在原地、万一失败怎么退回去。这三个问题的答案定了后面每条命令才知道为什么要敲。1.1 搬家公告背后其实是三类性质完全不同的迁移表面上看都是“换了个地方”实际上站点迁移至少有三种形态处理方式差别很大。第一种是只换门牌也就是只换域名服务器和程序不动。这种最轻核心工作是解析切走加 301 映射一天能收工。第二种是换房子服务器或主机换了域名不变。这种的难点在于数据一致性和 DNS 生效期间的“双活”状态你得接受一段时间内新旧两台机器都能响应。第三种是换居住方式程序换了、内容结构重排了、栏目重新划分了甚至是定位调整——笔友城堡从单纯的个人随笔变成带有书信往来、长期笔友匹配属性的小社区。三类里最容易被低估的是第三种。因为它不产生报错不报错的东西最危险。程序迁移失败你会看到白屏结构迁移失败你只会看到“流量慢慢变少”等发现的时候已经过去两个月了。我的建议是一次搬家只做一类迁移。如果你既想换域名又想换程序还想改栏目结构那就拆成三轮中间隔两周。折腾两周换来的是每一轮出问题都能立刻定位到原因一次性全上出问题你连排查的起点都找不到。对于 oorr.cn 这次标题里同时出现了“搬家了”和新的站点定位“记录美好生活”基本可以判断属于第一类叠加第三类。也就是说解析切换反而是最简单的那一步真正花时间的是内容层的重新组织。这个判断很重要它决定了你的时间预算该往哪倾斜——七成精力放在内容映射和跳转规则上三成放在服务器操作上。反过来分配就会出现“技术上线了、读者迷路了”的尴尬。1.2 按层级拆解资产域名层、内容层、数据层、关系层、识别层我把一个站点的资产分成五层从下往上依次是域名层、数据层、内容层、关系层、识别层。搬家的本质是这五层依次平移任何一层漏掉最后都会以“用户体验下降”的形式暴露出来。层级包含内容迁移难度漏掉的后果域名层域名、DNS 记录、SSL 证书、CAA 策略中全站打不开或证书告警数据层数据库、上传附件、主题与插件文件、配置文件高页面空白、图片裂开内容层文章正文内的绝对链接、栏目结构、标签体系高内链全断跳出率飙升关系层订阅源、邮件列表、留言与评论、友链中老读者无声流失识别层站名、Logo、二维码、名片、签名档、外部引用低但繁琐品牌认知割裂域名层看着最简单其实有个隐蔽的坑CAA 记录。如果你之前给旧域名配过 CAA只允许特定证书机构签发换域名后新域名没配证书申请就会失败而报错信息往往很含糊。数据层的坑在附件路径很多程序把图片地址以绝对 URL 的形式写进数据库域名一换图片全裂。内容层的坑在正文里的硬编码链接尤其是那些手写的“参见本站另一篇”这类链接数据库替换不一定能覆盖干净。关系层最容易被忘一个 RSS 地址变了订阅器里几百个读者不会有任何提示他们只是某天开始收不到更新然后慢慢忘了你。1.3 一步到位还是分阶段用三个判断条件做决策有人喜欢一步到位理由是不想让读者经历两次“咦怎么变了”。这个顾虑合理但要看具体情况。我一般用三个条件来判断第一旧域名的外链权重占比高不高第二站点是否有稳定的付费或长期订阅关系第三内容量级是否超过手工逐条核对的上限。如果旧域名本身就没多少外链站点也没什么订阅关系内容不到几百篇那一步到位完全可行反正损失有限。反过来如果旧域名积累了三五年的外部引用订阅者上百文章上千篇那就必须分阶段第一阶段先把新站建好、内容同步、跳转规则跑通旧站保持原样只加一个顶部公告第二阶段再切解析旧站进入只读所有请求 301 到新站第三阶段留一个月观察期处理零星报错然后旧站彻底下线。判断标准说白了就一句话你能不能承受“读者来了发现是废墟”这件事。能承受就快不能承受就慢。笔友类站点尤其要慢因为它的价值不在文章数量而在“有人长期在写、有人长期在读”这种关系关系断了就很难接回来。2. 搬迁前的资产清单与备份策略真正专业的搬家动作大部分发生在“搬”之前。我见过太多案例出问题的根因不是切换时手抖而是切换前没盘点清楚导致某个隐藏资产压根没被纳入迁移范围。这一节讲的就是怎么在动手前把家底摸干净以及备份到底该怎么做才算数——注意是“算数”不是“做了”。2.1 一张必须在动手前填完的清单我会列一张表左边写资产项中间写“当前状态”右边写“迁移后目标位置”。这张表填不满就不要开始切解析。听起来啰嗦但它能救你。资产项需要确认的细节目标动作主域名到期时间、是否锁定、能否正常解析新域名提前续费三年DNS 托管记录条数、TTL 值、是否有泛解析提前 48 小时降 TTLSSL 证书单域名还是泛域名、到期日新证书提前签发并部署站点程序版本、依赖扩展、伪静态规则新环境版本对齐数据库大小、字符集、表前缀全量导出并异地留存上传目录总容量、是否有外链引用整体打包路径保持一致主题与插件是否有授权绑定域名逐个确认授权可迁移图片外链是否有站外引用本站图片决定是否保留旧图床订阅源RSS 地址、邮件列表服务配置重定向或提前公告搜索收录已收录页面数、主要入口页准备改版提交外部引用友链、签名档、二维码、印刷物逐条通知或替换统计代码是否有站点验证文件新站重新验证这张表里“主题与插件授权绑定域名”这一条我单独提一下因为它太容易翻车。不少商业主题和插件把授权写死在域名上换域名后功能静默失效——不是报错是某个模块不显示了。你在本地测试一切正常上线后读者告诉你“评论框没了”你回头查半天才发现是授权校验。所以买主题插件时优先选那种支持多域名或可自助解绑的能省掉一次搬家的大麻烦。2.2 备份的三层结构冷备、热备、可验证备备份不是“导出一份 SQL 就完事”。我按三层来做。冷备是完整的、离线的、带时间戳的全量包包括数据库、上传目录、配置文件、伪静态规则、证书文件。这个包打完要下载到本地或者另一台机器不能只放在同一台服务器上——同机器备份等于没备份硬盘一挂全没。热备是迁移期间的增量同步。如果你打算让新旧两站并行一段时间就得有一个机制把新产生的文章和评论同步过去。简单做法是迁移期间旧站进入“只读模式”关闭评论和新投稿这样就只需要一次性全量同步不用处理增量。笔友类站点用这招很合适提前三天在公告里写清楚“X 月 X 日起暂停更新X 月 X 日新站见”读者的接受度其实很高。可验证备是第三层也是最容易被跳过的一层。做法是把备份包在一台干净的环境里完整恢复一遍然后打开首页、打开一篇带图的文章、提交一条测试评论、登录后台。跑通了这个备份才算合格。我个人的铁律是“没恢复过的备份视同不存在”。见过太多次出事之后翻出备份发现导出时数据库连接超时被截断或者压缩包密码忘了那时候再补救就来不及了。2.3 那些最容易被漏掉的隐性资产除了显性的文件和数据库还有一批隐性资产需要专门处理它们不出现在任何一份“标准迁移文档”里但少了就会难受。第一类是散落在各处的绝对链接。文章正文里的、友链页面里的、关于页里的、甚至站点 favicon 的引用路径。第二类是二维码印在名片上、贴纸上的那种域名一换二维码就废了如果印量不大建议新域名做一条短路径跳转旧二维码指向的地址保留至少一年。第三类是外部的身份标识你在各种社区的个人签名、投稿时留的网址、参与活动时登记的站点地址这些没人会通知你改只能自己一个个去翻。第四类是评论和留言。如果换程序评论数据往往是最难迁的因为不同程序的数据结构差异大。我的做法是先把评论全量导出成结构化文件留档能自动迁就自动迁迁不了就在新站开一个“旧日留言存档”页面把精选内容以静态页形式保留下来。老读者看到自己几年前的留言还在会明显安心很多。第五类是统计和验证。很多站长工具需要在站点根目录放一个验证文件或者加一条 DNS TXT 记录换域名后这些全要重做别忘了。3. 域名解析与服务器迁移的实操细节这一节进入动手环节。我把切换过程拆成 DNS 配置、证书部署、时间节奏三块。顺序不能乱先降 TTL再配解析再上证书最后才切流量。每一步都有它必须在前面或后面的理由我说清楚为什么你才好在自己环境里调整。3.1 DNS 记录怎么配TTL 为什么要提前降先说 TTL。TTL 是解析结果在各层缓存里存活的时间单位秒。你改了解析不代表全世界立刻生效因为递归服务器和本地缓存可能还存着旧结果。所以标准动作是在计划切换的 48 小时之前把关键记录的 TTL 从默认的 3600 或 7200 降到 300。这样切换那一刻最坏情况下五分钟内全球都能拿到新结果。记录类型按需配置常见组合如下类型主机记录指向用途备注A新服务器 IPv4主站访问有 IPv6 再加 AAAAAAAA新服务器 IPv6双栈访问没有就省略CNAMEwww带 www 的访问或直接 A 记录CNAMEstatic对象存储地址静态资源图片走独立域名MX邮件服务地址收信优先级按服务商给的填TXT验证字符串所有权验证搜索引擎、证书机构都用CAA证书机构标识限制签发方不确定就留空别乱填这里有个经验主域名和 www 的关系要提前定死是统一跳到一个还是两个都能访问。我倾向统一把其中一个 301 到另一个避免同一内容两个地址权重被拆分。笔友城堡这种以品牌名为主的站点建议以主域名 oorr.cn 为规范地址www 版本全部跳过去。还有一个细节如果新服务器有独立 IP优先用 A 记录直连不要为了“以后好换 IP”而套一层 CNAME 到第三方。多一层解析就多一个故障点排查时你会感谢自己少绕的那一圈。3.2 HTTPS 证书与强制跳转的正确姿势证书这块最容易出的问题不是签不下来而是签下来之后忘了覆盖所有子域。主域名配了www 没配读者从旧链接进来先看到一个证书告警信任感立刻打折。所以要么申请泛域名证书一次性覆盖要么把每个实际在用的子域都单独列出来逐一签发。强制跳转的写法Nginx 下我通常这么组织第一段把 80 端口全部重写到 443第二段把 www 版本重写到裸域第三段才是站点本身的配置。顺序不能反否则会出现跳两次甚至循环。server { listen 80; server_name oorr.cn www.oorr.cn; return 301 https://oorr.cn$request_uri; } server { listen 443 ssl http2; server_name www.oorr.cn; ssl_certificate /path/fullchain.pem; ssl_certificate_key /path/privkey.pem; return 301 https://oorr.cn$request_uri; } server { listen 443 ssl http2; server_name oorr.cn; root /var/www/oorr; index index.php index.html; ssl_certificate /path/fullchain.pem; ssl_certificate_key /path/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; location / { try_files $uri $uri/ /index.php?$args; } }关于 HSTS我的建议是第一次搬家别急着开或者至少先用一个很短的 max-age 试水。因为一旦开了长期 HSTS浏览器会强制走 HTTPS你万一证书出问题、临时想回退到 HTTP 做排查会发现根本回不去。等新站稳定运行一个月再把 max-age 拉长。3.3 切换当天的时间表与双活策略我把切换日拆成几个节点每个节点做什么、谁来看提前写好。别小看这个切换当天人是紧张的越紧张越容易漏步骤有张表照着做能省很多心率。时间节点动作验证方式T-7 天新站环境搭好内容全量同步本地改 hosts 访问逐页点T-5 天旧站顶部挂公告说明搬迁时间公告在首屏可见T-3 天新证书部署全站 HTTPS 可访问在线检测工具查一遍T-2 天TTL 降到 300用 dig 命令确认生效T-1 天数据库再同步一次关闭旧站评论对比文章数、评论数T 日切换解析旧站开启 301多地点访问测试T1 天检查日志处理 404分析访问日志的错误码T7 天提交改版更新外部引用逐条核对清单“双活”的意思是切换期间新旧两台机器都能正确响应。具体做法新站正常提供内容旧站保留完整数据同时在旧站的 Web 配置里加一条全局 301把所有请求包括深层链接重定向到新站的对应路径。这样做的价值是即使部分地区的 DNS 还没生效读者访问旧域名也不会看到废墟而是被平滑送到新站。等 T7 观察期过了旧站再彻底关停。4. 301 重定向与搜索引擎权重承接这是整篇里技术含量最高、也最容易被做歪的部分。很多人知道要做 301但做成了“全站跳到首页”这就等于告诉搜索引擎“我所有页面都变成同一个页面了”权重承接效果极差甚至会因为大量软 404 被降权。正确的做法是页面级映射一个旧地址对应一个新地址实在没有对应关系的也要跳到一个语义相近的页面或者一个有引导价值的 404 页。4.1 为什么必须是 301而不是 302 或 JS 跳转301 是永久重定向语义是“这个资源已经永久搬到新地址了”。搜索引擎拿到这个信号会把旧地址的权重、外链价值逐步转移到新地址并把索引里的旧地址替换掉。302 是临时重定向语义是“暂时挪一下还会回来”权重不会转移旧地址会一直留在索引里。JS 跳转和 meta refresh 更差搜索引擎虽然能识别但传递效率低用户端还会有一次白屏闪烁。所以流程上旧域名在相当长一段时间内我一般留 6 到 12 个月都要保持 301 状态不能图省事直接关掉解析。有人想“旧域名到期了不续费反正大家都用新地址了”这是最亏的操作——旧域名一旦被释放上面的历史外链全部归零而且有被别人抢注做无关内容的风险那时候受伤的是你的品牌词搜索。4.2 Nginx 与 Apache 的映射写法最省事的情况是路径结构完全一致只是域名变了。Nginx 里保留一份旧域名的 server 块整段 301 过去$request_uri会把路径和查询参数原样带上server { listen 443 ssl http2; server_name old-site.example; ssl_certificate /path/old-fullchain.pem; ssl_certificate_key /path/old-privkey.pem; return 301 https://oorr.cn$request_uri; }如果路径结构变了就得用 map 或者 rewrite 做逐条映射。用 map 更清晰也更好维护map $request_uri $new_uri { default /; /old-about.html /about/; /posts/2021/letter-01.html /letters/first-letter/; /posts/2021/letter-02.html /letters/second-letter/; ~^/tag/(.*)$ /topics/$1; } server { listen 443 ssl http2; server_name old-site.example; return 301 https://oorr.cn$new_uri; }Apache 环境下用 .htaccess 也行规则逻辑一样只是语法不同RewriteEngine On RewriteCond %{HTTP_HOST} ^old-site\.example$ [NC] RewriteRule ^old-about\.html$ https://oorr.cn/about/ [R301,L] RewriteRule ^posts/2021/letter-01\.html$ https://oorr.cn/letters/first-letter/ [R301,L] RewriteRule ^(.*)$ https://oorr.cn/$1 [R301,L]注意最后那条兜底规则要放在所有具体规则之后否则会把具体规则吃掉。这个顺序问题我在第一次写的时候踩过排查了快一个小时日志里全是跳到了错误地址。4.3 映射表怎么做死链怎么兜底映射表不是拍脑袋想的要有数据来源。我的做法是先从服务器访问日志里导出最近 90 天被访问过的所有路径按访问量排序取前 200 条再从搜索引擎的收录列表里导出已收录地址两份合并去重就是需要处理的优先级列表。访问量高、有外链的排前面一篇一篇对到新站的对应地址。对不上的怎么办分两种。一种是有明确语义对应的比如旧站的文章归档页新站有对应的合集页直接映射过去。另一种是彻底没有对应的比如旧站某个临时活动页新站不做了。这种我建议跳到一个“这篇内容已归档”的引导页页面上给出三个入口最新文章、热门栏目、站内搜索框。别直接扔到首页用户会觉得被糊弄。还要准备一个像样的 404 页。404 页不是用来道歉的是用来留人的。我的 404 页固定包含一句人话说明、站内搜索框、五个最新文章链接、一个返回首页的按钮。数据上看一个好的 404 页能把三分之一的误入流量留下来。4.4 sitemap、robots 与 canonical 的同步修正域名换了这三样东西必须同步改而且要在切换当天完成不能拖。sitemap 里如果还写着旧域名等于持续给搜索引擎发错误信号。robots.txt 里的 Sitemap 声明也要改成新地址。canonical 标签尤其关键它告诉搜索引擎“这篇内容的规范地址是这个”如果页面已经在新域名上、canonical 还指向旧域名权重就会被推回旧站白折腾一场。站内结构化数据文章标记、面包屑标记里的 URL 字段同理要全部指向新域名。检查方法很简单随手打开三篇文章查看源码搜一下旧域名如果还能搜到说明替换没做干净。这个检查我一般会做两遍一遍在切换当天一遍在一周后因为有些缓存层的模板会延迟更新。5. 内容层的“重新开张”公告、栏目与批量修正技术层面的活干完站点能打开了但这不等于“搬家完成”。对读者来说他们感知到的不是你换了服务器而是“这个站的语气变了没有、我熟悉的东西还在不在、我以后还来不来”。笔友城堡这类以长期文字往来为核心的站点这一步的重要性甚至超过技术部分因为它的用户关系是慢慢养出来的断一次就要重新养。5.1 搬迁公告怎么写才不像系统通知公告的第一原则是说人话别写成“系统维护通知”。我见过太多公告是“因业务调整本站已迁移至新地址敬请知悉”读者看完只会觉得“哦跟我没关系”。好的公告应该包含五件事发生了什么、为什么、读者需要做什么、有什么没变、有问题找谁。按这个结构写一段示例你可以直接改成自己的版本笔友城堡换地址了新门牌是 oorr.cn。原因很简单老地址用了太久栏目越堆越乱我想借这次机会把整个站重新理一遍让它更像一座能长期住人的城堡而不是一间堆满箱子的储藏室。你需要做的事只有一件把新地址存进书签或者重新订阅一次。如果你之前是从某个固定入口进来的那个入口可能会失效。没变的东西所有旧文章都迁过来了一篇没删留言也都还在我花了两个晚上一条条搬的更新频率不变还是每周两到三篇。如果你发现哪里打不开、哪张图裂了、哪条链接跳错了直接在留言板说一声我当天就会修。这段公告的关键在“没变的东西”那一条。读者最怕的不是变化本身而是不知道自己熟悉的东西还在不在。你主动告诉他“旧文章一篇没删”比说十句“感谢支持”都有用。5.2 笔友类站点的独特之处书信、隐私与长期关系“笔友城堡”这个名字本身带着很强的场景感它不是一个信息流站点而是一个靠书信体文字维系的地方。这类站点在迁移时有三条额外的注意线。第一条是隐私边界。笔友往来内容往往带有个人生活细节迁移过程中涉及导出、传输、导入多个环节每一个环节都可能留下副本。我的做法是迁移用的中间文件全部放在加密压缩包里传完立刻删除不留在服务器上迁移完成后在新站后台清一遍临时账号和测试数据。这条不是技术问题是意识问题但恰恰最容易被忽略。第二条是书信体的格式保真。这类内容常常有特定排版比如日期在右上、称呼顶格、段落之间留白。换程序时编辑器的段落处理逻辑可能不同导入后可能出现段落被合并、空行丢失。解决办法是导入后随机抽 20 篇新旧对比重点看空行和引用块。发现系统性丢失就在导入脚本里加一条格式化规则别一篇篇手改。第三条是长期关系的承接。老读者可能已经在旧站留了三年的言这些留言的位置、上下文、回复关系都是有意义的。如果新站只保留内容不保留结构那些对话就断了。我建议至少保留“文章—留言”的归属关系嵌套回复如果迁不了就把回复内容并入留言正文用引用的形式呈现。看着土但有效。5.3 站内链接与历史内容的批量修正内容层的最后一步是批量修正硬编码链接。分两种情况处理。数据库驱动的站点用 SQL 做全局替换改之前一定先备份改之后一定抽查-- 先看影响范围别急着改 SELECT COUNT(*) FROM posts WHERE content LIKE %old-site.example%; -- 再执行替换 UPDATE posts SET content REPLACE(content, https://old-site.example, https://oorr.cn) WHERE content LIKE %old-site.example%; -- 附件表通常也要处理 UPDATE attachments SET url REPLACE(url, https://old-site.example, https://oorr.cn) WHERE url LIKE %old-site.example%;静态站点更简单用命令行批量替换但记得排除二进制文件grep -rl old-site.example ./content --include*.md --include*.html \ | xargs sed -i s#https://old-site.example#https://oorr.cn#g替换完的验证方法随机抽十篇文章检查三件事——内链能不能点开、图片能不能显示、代码块里的示例域名有没有被误伤。第三条特别容易被忽略如果你的文章里本来就贴了别人的网址做示例粗暴替换可能会把人家域名也改了那就闹笑话了。所以替换规则一定要带上协议头从https://old-site.example这种完整形式开始匹配。6. 常见问题与排查技巧实录到这一节站点基本已经上线了。但上线只是开始真正折磨人的是接下来一周的各种“明明改了却不生效”。这部分我把这些年遇到过的高频问题整理成速查表再补充几条只在实际操作里才会领悟到的经验。6.1 迁移后典型故障速查表现象最可能的原因排查入口部分地区打不开新站DNS 未生效或缓存未过期用不同地区的解析查询工具对比全站 502后端服务未启动或端口不对查 Web 服务错误日志与前段配置首页正常内页 404伪静态规则未同步检查重写规则文件是否上传图片全部裂开附件路径写死旧域名查数据库附件表与页面源码后台登录后跳回登录页Cookie 域设置仍为旧域名查配置文件中的域名与 Cookie 参数证书告警证书未覆盖 www 或子域逐个域名做证书检测评论提交失败跨域校验或接口地址未更新浏览器控制台看请求地址搜索收录数骤降301 映射错误或缺 canonical抽查页面源码与跳转链路这张表的使用方法是先定位现象再看最可能的原因然后从右列入口进去。顺序别反先查现象再猜原因比凭印象乱改要快得多。6.2 缓存层排查为什么你明明改了却看不到这是最高频的困惑也是我花时间最多的一类问题。缓存不止一层从外到内至少五层浏览器缓存、CDN 边缘缓存、反向代理缓存、程序自身的页面缓存、PHP 的 opcache。你改了文件没生效可能是五层里任何一层在作祟。我的排查顺序是从外到内逐层排除。先用无痕窗口打开排除浏览器缓存再在 CDN 控制台刷新对应 URL排除边缘缓存再看反向代理如果有的缓存开关然后进程序后台清页面缓存最后重启 PHP 服务清 opcache。这个顺序的逻辑是外层的缓存最容易清、影响面最大先排掉能快速缩小范围。有个具体细节值得单独讲CDN 刷新有时候只刷新了 HTML 没刷资源文件导致你看到的是新页面配旧样式排版乱掉。遇到这种情况除了刷新 URL还要把静态资源的缓存一并清掉或者临时给资源链接加个版本参数验证一下。6.3 几条只在实际操作里才会懂的经验第一条切换前一定要自己用手机流量访问一次新站。很多人只在办公室 WiFi 下测试结果 DNS 缓存是旧的测了半天测的是旧站。用移动网络访问能排除本地 DNS 缓存干扰这个动作能省掉很多自我怀疑。第二条迁移期间别动主题和插件。我知道你想顺手升级一下但真的别。迁移已经是变量最多的时候再叠加一个变量出问题你会分不清是搬家导致的还是升级导致的。等稳定两周再说。第三条日志要开着而且要看得懂。切换后头三天我每天会花二十分钟翻访问日志只看两样东西404 的路径列表和 301 的跳转目标。404 列表能告诉你哪些旧链接没映射到301 目标能告诉你有没有跳错地方。这两个数据比任何监控面板都直接。提示旧域名至少保持 301 状态 6 个月期间不要关停也不要让它变成空页面。这个时间窗口是给搜索引擎更新索引、给外部引用慢慢修正用的。最后分享一个我自己反复用的小技巧搬家完成后给自己的站点做一次“陌生人测试”——假装你是一个从来没来过的人从一个外部链接点进来只靠站内导航找到三样东西最新一篇文章、关于页、留言入口。如果三步之内找不到说明导航结构有问题。这个测试比任何用户调研都便宜也比任何自我感觉都可靠。笔友城堡这种靠“人愿意留下来写字”的地方路径越短留下来的人越多。