WordPress建站:历史地址没有一一对应新页时怎样设计映射

📍 WDQWDWQD987AAAAA:216.73.216.149
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /acf021a2a12e.html
📄

WordPress建站:历史地址没有一一对应新页时怎样设计映射

当旧站内容只保留一部分、其余退出时,映射的目标不是让每个旧地址都落到一个“最像”的新页,而是把旧地址分成三类:有明确继承页的、只应回到栏目或首页的、以及应当返回 404 或 410 的。假设一家做工业培训的旧站要下线,原有课程页、讲师页、活动页和一批合作方页面中,只有课程页和讲师页在新站有对应内容,其余旧地址就不该强行凑映射。

先判断哪些旧地址值得保留

在 WordPress 建站中做重定向之前,先把旧地址按“是否仍有独立价值”过一遍,而不是按 URL 长度或目录层级判断。判断依据可以看三点:旧页是否仍有外部链接或用户收藏;旧页主题是否在新站有独立、可长期维护的内容承接;旧页是否只是旧合作关系的临时入口。

这里有一个容易被忽略的取舍:把所有旧地址都重定向到首页,看起来“没有死链”,但用户点进来发现内容完全不对,下一步往往直接离开;而保留一个明确的 404,至少不会给出错误承诺。两种做法成立的条件不同:只有当旧地址确实没有对应内容、且站点能提供清晰的 404 引导时,返回 404 才成立;如果旧地址仍有稳定外部链接,且新站存在同一主题的独立页面,则应优先一对一映射。

用一张映射表决定每条规则

假设的旧站有 6 条典型地址,新站只保留了课程和讲师两类内容。映射表可以这样设计,实际动作是先列出旧地址、再写目标地址、最后写状态码,而不是直接在服务器上批量加规则。

  1. /old/course-basic/ 到新课程页,301。
  2. /old/teacher-li/ 到新讲师页,301。
  3. /old/activity-2020/ 到新活动列表页,301。
  4. /old/partner-a/ 无承接,410。
  5. /old/partner-b/ 无承接,410。
  6. /old/contact-old/ 到新联系页,301。

这张表的价值在于把“保留仍然有价值的部分”落实成可执行条目。做完这一步,下一步不是马上上线,而是先检查旧地址是否还被站内其他页面链接。如果旧页仍被新站导航或正文引用,应先改链接,再决定是否保留重定向;否则重定向会掩盖内部链接错误,让后续维护更难判断。

栏目页和首页承接的边界

把旧地址重定向到栏目页或首页,只在旧地址本身没有独立内容、但用户仍可能从外部进入时成立。它的代价是用户需要再点一次才能到达具体内容,所以目标页必须足够接近旧主题。例如旧站有一批按年份命名的培训通知,新站只保留培训通知列表,那么旧通知页可以指向列表页;但如果旧页是某个讲师的个人介绍,而新站讲师列表里没有这位讲师,就不应指向列表页,因为用户会以为还能找到该讲师。

判断栏目承接是否成立的证据,可以看旧地址的标题与新栏目名称是否属于同一层级:课程页对课程列表成立,活动页对活动列表成立,合作方专页对合作列表则不一定成立。若旧合作方页面仍有外部链接,但新站已不再展示该合作方,更合适的做法是保留一个简短说明页并返回 200,还是直接 410,取决于该合作关系是否仍需对外说明;这属于内容决策,不是重定向技术能替代的。

上线后的检查与回退条件

规则上线后,先抽查映射表里的每一类地址,而不是只看首页。实际动作可以是用命令行请求旧地址并观察状态码和最终地址,确认 301 指向的是预期页面,410 不再跳转。检查结果会影响下一步:如果发现某条 301 落到了无关页面,应回到映射表修改,而不是再加一条重定向覆盖;如果发现大量旧地址仍被外部访问,但目标页已经变化,应重新评估这些地址是否值得保留独立承接页。

需要说明的是,旧地址请求量下降或归零,不能单独证明映射正确,也可能是外部链接自然减少、抓取频率变化或旧入口本身不再被使用。反过来,某个旧地址仍被访问,也不自动说明它必须保留,还要看访问是否来自真实用户、是否指向仍有价值的内容。对 WordPress 建站而言,映射设计最终要回到内容取舍:保留哪些旧主题、放弃哪些旧入口,再用重定向或 404 把决定表达清楚。

图1 图2

nginx