搜索全站
multilingual 2 分钟阅读

多语言 404 与语言前缀处理:带语言前缀错误页配置

多语言站 404 常和语言前缀纠缠(/en/ 下错链、切语言到死链),讲清带语言前缀的 404 模板、语言回退与"某语言无此页"的友好处理。

U
UFO_PF 2022-06-09 · 阅读 2 分钟
多语 MULTILINGUAL
阅读提示
本文约 674 字,预计阅读 2 分钟。文中命令与配置均经过实测,可直接参考执行。

引言:英文页点链接跳中文 404

多语言站 404 复杂在:某页只有中文版,英文用户访问 /en/xxx 应友好处理(回退默认语或提示”暂无此语言”),而非生硬 404 或跳错。

原理分析:前缀与回退

URL 带语言前缀时,若该语言无对应译文,应:①回退到默认语言同页(带提示);或②返回 404 但用本语言 404 模板。粗暴”跳默认语”可能让 Google 误判。正确是”同源无译文→404 本语模板 + 建议其他语言”。

保姆级实操

404 模板按语言:

add_action('template_redirect', function(){
  if (is_404()) {
    $lang = pll_current_language();
    // 显示本语言 404 并推荐其他语言链接
    include get_stylesheet_directory()."/404-$lang.php"; exit;
  }
});

对”有原文无译文”的 URL,可 301 回退默认语并提示。

常见坑

  1. 无译文强跳默认语,Google 当软 404 或链错。
  2. 404 模板单语,英文显中文。
  3. 案例:某站英文访问无译文件跳中文 404,改为英文 404 + 推荐链接后体验好且合规。
  4. 语言前缀错拼,全 404。
  5. 回退链成环,死循环。

总结

判断标准:无译文→本语 404 模板+推荐,或规范回退。行动清单:本语 404 → 推荐链接 → 规范回退 → 防环 → 验。详见多语言站点的 301 重定向规划。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。