没有不值得去解决的问题,也没有不值得去学习的技术!

WordPress 英文站迁移到独立子域后:完整调整 Yoast Sitemap、薄内容标签与搜索引擎提交

【图 1,英文站 Yoast sitemap_index.xml 页面】

作者:

,

博客搜索引擎优化日志

收到 Google Search Console 的邮件:新原因导致网站 http://www.shuijingwanwq.com/ 上的网页无法被编入索引。如图1

(1) Google网页无法编入索引?我这样解决了

验证通过后,在左侧菜单找到「站点地图」,输入 `/wp-sitemap.xml`,点击提交即可(如图1)

(2) 五大搜索引擎站点地图提交全记录:从Google到搜狗,我的实操经验分享

sitemap采用邀请制,当您的网站存在原创或不可替代内容或不能被搜狗spider正确抓取时,才会开通sitemap权限。

(3) 搜狗Sitemap权限申请记录:从审核通过到提交申请的全流程

所有主体、验证、备案配置全部完成后,进入核心的收录配置环节:【资源提交 - 普通收录 - 资源提交 - sitemap】,发现页面额度显示异常(如图3)

(4) 百度搜索资源平台新站完整收录实操记录(个人主体/自适应站/新站考察期问题解决)

美国流量占 20%,日本 10%,香港 16%,台湾 9%

(5) 技术博客英文站索引与低价值标签处理

中文站点地图:`https://www.你的域名.com/wp-sitemap-posts-post-1.xml` → 显示“致命错误”如图2

(6) 修复 WordPress 致命错误:从站点地图报错到恢复正常

Bing 明确指出了 4.2K 个页面存在“内容质量”问题

(7) 博客 SEO 诊断记录:近 15000 页面未被索引的成因与优化清单

点击表头的“总数”进行排序,数量为 0 的标签会集中在前几页。

(8) 彻底清理 WordPress 空标签:消除软 404,拯救抓取预算

/tag/bsc/ 网页源代码中成功出现 noindex 标签

(9) 博客 SEO 诊断记录:薄内容标签页 noindex 方案实战与多语言测试验证

“0秒访问”主要来自标签页

(10) WordPress Tag SEO优化实战:用WPCode实现“低内容标签页 noindex”完整踩坑与修复记录

图1:Bing整体流量趋势(下降起点)

(11) WordPress主题切换导致Bing流量下降实录(进行中):一次站点结构变更的SEO复盘

【图5:旧文章打开时出现 WordPress 致命错误】

(12) 重新安装 Yoast SEO 后旧文章打不开:一次 WPCode Snippet 重复声明函数导致的 WordPress 致命错误排查记录

[图2:文章类型中元描述设置为“摘录”]

(13) 重新启用 Yoast SEO 后,我如何用全局设置低维护优化 WordPress 博客 SEO

【图 1,英文站 Yoast sitemap_index.xml 页面】

(14) WordPress 英文站迁移到独立子域后:完整调整 Yoast Sitemap、薄内容标签与搜索引擎提交

最近,我将 WordPress 英文站从原来的:

Plaintext
https://www.shuijingwanwq.com/en/

迁移到了独立子域名:

Plaintext
https://en.shuijingwanwq.com/

中文站仍然使用:

Plaintext
https://www.shuijingwanwq.com/

网站采用 Polylang 的多域名模式,中英文站共用同一套 WordPress 程序、数据库和 Nginx 配置,但根据访问域名识别当前语言。

与此同时,我重新启用了 Yoast SEO。启用后,WordPress 原生站点地图:

Plaintext
https://www.shuijingwanwq.com/wp-sitemap.xml

逐渐被 Yoast SEO 生成的新站点地图取代:

Plaintext
https://www.shuijingwanwq.com/sitemap_index.xml
https://en.shuijingwanwq.com/sitemap_index.xml

这次调整不只是替换一个 Sitemap 地址,还涉及薄内容标签、缓存、多域名识别,以及 Google、Bing、360、百度和搜狗等搜索引擎平台中的资源更新。

本文记录完整的排查与处理过程。


一、当前网站环境

本次调整涉及的主要组件如下:

  • WordPress
  • Polylang 多域名模式
  • Yoast SEO
  • W3 Total Cache
  • Redis Object Cache
  • Cloudflare
  • 腾讯云 EdgeOne
  • WPCode
  • OneinStack Nginx
  • Google Search Console
  • Bing Webmaster Tools
  • 360 站长平台
  • 百度搜索资源平台
  • 搜狗资源平台

域名与 CDN 的分工为:

Plaintext
www.shuijingwanwq.com

     EdgeOne

  WordPress 中文站


en.shuijingwanwq.com

    Cloudflare

  WordPress 英文站

虽然两个域名走不同的 CDN,但源站使用的是同一套 WordPress 目录:

Plaintext
/data/wwwroot/www.shuijingwanwq.com/

因此,缓存和搜索引擎验证文件的处理方式,与两个完全独立的 WordPress 站点不同。


二、确认英文站 Yoast Sitemap 是否正常

英文站启用 Yoast SEO 后,新的 Sitemap 索引地址为:

Plaintext
https://en.shuijingwanwq.com/sitemap_index.xml

浏览器打开后,可以看到多个子 Sitemap,例如:

Plaintext
post-sitemap.xml
post-sitemap2.xml
page-sitemap.xml
category-sitemap.xml
post_tag-sitemap.xml
post_tag-sitemap2.xml
...
series-sitemap.xml

本次检查中,英文站 Sitemap Index 共包含 15 个子 Sitemap。

所有地址均使用:

Plaintext
https://en.shuijingwanwq.com/

没有混入:

Plaintext
https://www.shuijingwanwq.com/en/

也没有出现 canonical 指向中文域名的问题。

【图 1,英文站 Yoast sitemap_index.xml 页面】
【图 1,英文站 Yoast sitemap_index.xml 页面】

三、为薄内容标签设置 noindex,并从 Sitemap 排除

网站已有大量历史标签,其中许多英文标签仅关联一两篇文章。

如果这些标签页全部允许索引,容易产生大量内容价值较低的归档页面。因此,我最终将规则设置为:

标签关联文章数量少于 3 篇时,输出 noindex, follow,并从 Yoast XML Sitemap 中排除。

WPCode 中使用的完整代码如下:

PHP
/**
 * 薄内容标签页 SEO 处理:
 * 1. 标签文章数量少于 3 时,通过 Yoast SEO 输出 noindex。
 * 2. 同时将这些标签从 Yoast XML Sitemap 中排除。
 */

$swq_thin_tag_threshold = 3;

/**
 * 修改标签归档页的 Yoast robots 输出。
 */
add_filter(
    'wpseo_robots',
    function ( $robots ) use ( $swq_thin_tag_threshold ) {

        if ( ! is_tag() ) {
            return $robots;
        }

        $tag = get_queried_object();

        if (
            ! $tag instanceof WP_Term ||
            ! isset( $tag->count )
        ) {
            return $robots;
        }

        if ( (int) $tag->count < $swq_thin_tag_threshold ) {
            return 'noindex, follow';
        }

        return $robots;
    },
    20
);

/**
 * 将薄内容标签从 Yoast XML Sitemap 中排除。
 */
add_filter(
    'wpseo_exclude_from_sitemap_by_term_ids',
    function ( $excluded_term_ids ) use ( $swq_thin_tag_threshold ) {

        global $wpdb;

        $thin_tag_ids = $wpdb->get_col(
            $wpdb->prepare(
                "
                SELECT term_id
                FROM {$wpdb->term_taxonomy}
                WHERE taxonomy = %s
                AND count < %d
                ",
                'post_tag',
                $swq_thin_tag_threshold
            )
        );

        if ( empty( $thin_tag_ids ) ) {
            return $excluded_term_ids;
        }

        return array_values(
            array_unique(
                array_merge(
                    array_map( 'intval', (array) $excluded_term_ids ),
                    array_map( 'intval', $thin_tag_ids )
                )
            )
        );
    }
);

WPCode 设置为:

Plaintext
代码类型:PHP Snippet
插入方式:Auto Insert
Location:Frontend Only
状态:Active

这段代码的两部分作用不同:

Plaintext
wpseo_robots

负责控制标签归档页的 robots meta。

Plaintext
wpseo_exclude_from_sitemap_by_term_ids

负责将对应 term ID 从 Yoast Sitemap 中排除。


四、为什么修改代码后还要清理缓存

当前英文站同时存在多层缓存:

Plaintext
WordPress / Yoast 生成内容

W3 Total Cache Object Cache

W3 Total Cache Page Cache

Cloudflare Cache

浏览器或搜索引擎

只清理其中一层,可能仍然看到旧的 Sitemap 或旧 HTML。

1. 清理英文域名对象缓存

我使用之前整理的脚本:

Bash
/root/bin/w3tc-flush-host-object-cache en.shuijingwanwq.com

输出如下:

Plaintext
已按以下 Host 启动 WordPress,并调用 W3TC Object Cache 清理:
en.shuijingwanwq.com

这个脚本会按照指定 Host 启动 WordPress,避免在 Polylang 多域名环境中错误地按照中文域名加载配置。

2. 清理 Cloudflare 中的 XML 缓存

由于本次代码主要影响标签 Sitemap,因此在 Cloudflare 后台进入:

Plaintext
缓存
→ 配置
→ 自定义清除
→ URL

一次性清除了以下地址:

Plaintext
https://en.shuijingwanwq.com/sitemap_index.xml
https://en.shuijingwanwq.com/post_tag-sitemap.xml
https://en.shuijingwanwq.com/post_tag-sitemap2.xml
https://en.shuijingwanwq.com/post_tag-sitemap3.xml
https://en.shuijingwanwq.com/post_tag-sitemap4.xml
https://en.shuijingwanwq.com/post_tag-sitemap5.xml
https://en.shuijingwanwq.com/post_tag-sitemap6.xml
https://en.shuijingwanwq.com/post_tag-sitemap7.xml
https://en.shuijingwanwq.com/post_tag-sitemap8.xml
https://en.shuijingwanwq.com/post_tag-sitemap9.xml

Cloudflare 支持一次粘贴多条 URL,每行一个地址。

【图 2,Cloudflare 自定义清除 Sitemap URL】
【图 2,Cloudflare 自定义清除 Sitemap URL】

五、使用 curl 批量检查 9 个标签 Sitemap

浏览器截图只能看到 XML 中的一小部分内容,不适合检查近千个标签 URL。

因此,我使用下面的 Bash 脚本批量抓取英文站全部标签 Sitemap:

Bash
tmp="/tmp/en-tag-sitemap-check"

rm -rf "$tmp"
mkdir -p "$tmp"

curl -fsSL "https://en.shuijingwanwq.com/sitemap_index.xml" \
| grep -oE 'https://en\.shuijingwanwq\.com/post_tag-sitemap[0-9]*\.xml' \
| sort -V \
> "$tmp/maps.txt"

: > "$tmp/all-urls.txt"

while IFS= read -r map
do
    file="$tmp/$(basename "$map")"

    status="$(curl -sS -L \
        -o "$file" \
        -w '%{http_code}' \
        "$map")"

    grep -oE '<loc>[^<]+</loc>' "$file" \
    | sed -E 's#</?loc>##g' \
    > "$file.urls"

    cat "$file.urls" >> "$tmp/all-urls.txt"

    total="$(wc -l < "$file.urls")"
    wrong_host="$(grep -Evc '^https://en\.shuijingwanwq\.com/' "$file.urls" || true)"
    wrong_path="$(grep -Evc '^https://en\.shuijingwanwq\.com/tag/' "$file.urls" || true)"

    printf '%-28s HTTP=%s  URLs=%s  错误域名=%s  非标签路径=%s\n' \
        "$(basename "$map")" \
        "$status" \
        "$total" \
        "$wrong_host" \
        "$wrong_path"

done < "$tmp/maps.txt"

map_count="$(wc -l < "$tmp/maps.txt")"
url_count="$(wc -l < "$tmp/all-urls.txt")"

echo
echo "站点地图文件数:$map_count"
echo "标签 URL 总数:$url_count"
echo
echo "异常网址:"

grep -Ev '^https://en\.shuijingwanwq\.com/tag/' \
    "$tmp/all-urls.txt" \
    | head -n 20

实际输出为:

Plaintext
post_tag-sitemap.xml         HTTP=200  URLs=86  错误域名=0  非标签路径=0
post_tag-sitemap2.xml        HTTP=200  URLs=123 错误域名=0  非标签路径=0
post_tag-sitemap3.xml        HTTP=200  URLs=110 错误域名=0  非标签路径=0
post_tag-sitemap4.xml        HTTP=200  URLs=113 错误域名=0  非标签路径=0
post_tag-sitemap5.xml        HTTP=200  URLs=107 错误域名=0  非标签路径=0
post_tag-sitemap6.xml        HTTP=200  URLs=107 错误域名=0  非标签路径=0
post_tag-sitemap7.xml        HTTP=200  URLs=115 错误域名=0  非标签路径=0
post_tag-sitemap8.xml        HTTP=200  URLs=92  错误域名=0  非标签路径=0
post_tag-sitemap9.xml        HTTP=200  URLs=122 错误域名=0  非标签路径=0

检查结果表明:

  • 9 个标签 Sitemap 全部返回 HTTP 200
  • 没有错误域名
  • 没有旧 /en/ 路径
  • 所有地址均属于英文站 /tag/ 路径
【图 3,终端批量检查 9 个标签 Sitemap】
【图 3,终端批量检查 9 个标签 Sitemap】

六、重复标签导致的 Sitemap 误判

批量检查过程中,发现以下 URL 重复出现:

Plaintext
https://en.shuijingwanwq.com/tag/cdn-acceleration/

进一步检查 WordPress 后台后发现,数据库中存在两个名称和别名相同的标签。

【图 4,WordPress 后台中两个 CDN acceleration 重复标签】
【图 4,WordPress 后台中两个 CDN acceleration 重复标签】

另一个典型例子是:

Plaintext
https://en.shuijingwanwq.com/tag/wordpress-performance-optimization/

数据库中存在两个同别名标签:

Plaintext
一个标签关联 3 篇文章
另一个标签关联 2 篇文章

公开归档页实际展示 3 篇文章,robots 为:

HTML
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />

canonical 为:

HTML
<link rel="canonical" href="https://en.shuijingwanwq.com/tag/wordpress-performance-optimization/" />

这个 URL 保留在 Sitemap 中是正确的。

这里需要注意:

Yoast 的排除过滤器按 term ID 工作,而搜索引擎最终看到的是 URL。

当多个 term ID 共用同一个 slug 时,只根据数据库中的某一个标签计数检查 URL,可能产生误报。

因此,验证薄标签时,应优先选择:

  • slug 唯一
  • 语言明确
  • 文章数少于 3
  • 不与其他标签共享公开 URL

的标签进行检查。


七、验证薄内容标签规则是否真正生效

我最终选取了 5 个没有重复 slug 的英文薄内容标签进行检查:

Plaintext
Microphone:1 篇
mouse:2 篇
(Failed) net:1 篇
-With map:1 篇
./yii file:1 篇

检查结果全部为:

Plaintext
HTTP 状态:200
Robots:<meta name='robots' content='noindex, follow' />
Sitemap:已排除

例如:

Plaintext
标签名称:Microphone
标签别名:microphone
数据库文章数:1
网址:https://en.shuijingwanwq.com/tag/microphone/
HTTP 状态:200
Robots:<meta name='robots' content='noindex, follow' />
Sitemap:已排除

这证明 WPCode 代码的两部分功能均已生效:

  1. 薄内容标签页面输出 noindex, follow
  2. 薄内容标签 URL 不再出现在 Yoast XML Sitemap 中
【图 5,薄内容标签 robots 与 Sitemap 排除验证结果】
【图 5,薄内容标签 robots 与 Sitemap 排除验证结果】

八、Google Search Console 的调整

Google Search Console 中原来主要使用:

Plaintext
https://www.shuijingwanwq.com/

以及旧的 WordPress Sitemap:

Plaintext
https://www.shuijingwanwq.com/wp-sitemap.xml

本次调整后,在网域资源:

Plaintext
shuijingwanwq.com

中提交:

Plaintext
https://www.shuijingwanwq.com/sitemap_index.xml
https://en.shuijingwanwq.com/sitemap_index.xml

两份 Sitemap 最终均显示:

Plaintext
状态:成功

随后删除了 Google Search Console 中旧的提交记录:

Plaintext
https://www.shuijingwanwq.com/wp-sitemap.xml

这里删除的只是 Search Console 中的提交记录,不是删除服务器上的 WordPress 路由。

为英文站添加独立 URL 前缀资源

虽然网域资源已经覆盖所有子域名,但为了单独观察英文站数据,我又添加了:

Plaintext
https://en.shuijingwanwq.com/

作为 URL 前缀资源。

添加后,可以单独查看英文站的:

  • 搜索点击
  • 曝光量
  • 查询关键词
  • 网页索引状态
  • HTTPS 状态
  • Sitemap 抓取结果
  • 从旧 /en/ 路径迁移到新子域的变化

英文资源中已经自动显示:

Plaintext
/sitemap_index.xml
状态:成功
【图 6,Google Search Console 中 www 与 en Sitemap 均成功】
【图 6,Google Search Console 中 www 与 en Sitemap 均成功】

九、Bing Webmaster Tools 的调整

Bing Webmaster Tools 中已经存在多个历史 Sitemap,包括:

Plaintext
https://www.shuijingwanwq.com/wp-sitemap.xml
https://www.shuijingwanwq.com/sitemap_index.xml
https://shuijingwanwq.com/sitemap.xml

随后手动提交:

Plaintext
https://en.shuijingwanwq.com/sitemap_index.xml

首次显示:

Plaintext
正在处理

刷新后即变为:

Plaintext
成功

英文 Sitemap 最初显示发现 15 个 URL,是因为 Bing 首先读取的是 Sitemap Index 中的 15 个子 Sitemap,后续还会继续处理子 Sitemap 中的页面 URL。

一个比较特别的地方是:Bing 当前界面没有提供明显的旧 Sitemap 删除入口。

无论在列表页还是详情页,右侧菜单中都只有:

Plaintext
重新提交

并没有 Google Search Console 中的“移除站点地图”。

因此,Bing 中保留历史 Sitemap 记录,不代表网站仍将旧 Sitemap 作为主要入口。当前正式使用的仍然是:

Plaintext
https://www.shuijingwanwq.com/sitemap_index.xml
https://en.shuijingwanwq.com/sitemap_index.xml
【图 7,Bing 中英文 Sitemap 状态均为成功】
【图 7,Bing 中英文 Sitemap 状态均为成功】

十、360 站长平台的调整

360 站长平台要求 Sitemap 与已验证站点绑定。

最开始站点列表中只有:

Plaintext
www.shuijingwanwq.com

不能直接在该站点下面提交:

Plaintext
https://en.shuijingwanwq.com/sitemap_index.xml

因此需要先进入:

Plaintext
站点管理
→ 添加二级站

添加:

Plaintext
en.shuijingwanwq.com

这里应选择“添加二级站”,而不是“添加网站”,因为 en 是已有主域名下面的子域名。

添加完成后:

  1. 为英文站启用 HTTPS
  2. 切换当前站点为 en.shuijingwanwq.com
  3. 进入 Sitemap 提交
  4. 提交:
Plaintext
https://en.shuijingwanwq.com/sitemap_index.xml

提交成功后,360 显示了更新周期及“手动更新”入口。

最终,360 中中文站和英文站均使用 Yoast 的:

Plaintext
sitemap_index.xml
【图 8,360 添加 en 二级站并提交英文 Sitemap】
【图 8,360 添加 en 二级站并提交英文 Sitemap】

十一、百度添加英文站资源

百度搜索资源平台中,当前站点的 Sitemap 提交能力一直不可用,原来的 www 站点也是如此。

因此,百度本次只处理资源添加和验证,不再继续研究 Sitemap 提交。

进入:

Plaintext
用户中心
→ 站点管理
→ 添加网站

添加:

Plaintext
https://en.shuijingwanwq.com

站点属性选择:

Plaintext
信息技术

百度提供文件验证,下载得到类似:

Plaintext
baidu_verify_codeva-xxxxxxxx.html

由于 wwwen 共用同一个 WordPress 根目录,只需要将文件上传到:

Plaintext
/data/wwwroot/www.shuijingwanwq.com/

确保可以通过英文域名访问:

Plaintext
https://en.shuijingwanwq.com/baidu_verify_codeva-xxxxxxxx.html

第一次验证失败,但再次验证后成功。

从现象看,更像是百度验证服务器访问 Cloudflare 英文站时出现了临时网络波动,而不是文件位置错误。

【图 9,百度英文站文件验证成功】
【图 9,百度英文站文件验证成功】

十二、搜狗验证遇到共享目录文件冲突

搜狗同样要求添加英文站资源,并提供文件验证。

但搜狗的文件名固定为:

Plaintext
sogousiteverification.txt

问题在于:

中文站之前的验证文件内容为一组旧验证码,而英文站新下载的同名文件内容是另一组验证码。

由于 wwwen 共用同一个 WordPress 根目录:

Plaintext
/data/wwwroot/www.shuijingwanwq.com/

同一个目录下不可能同时保存两个不同内容的:

Plaintext
sogousiteverification.txt

如果直接覆盖,就可能影响中文站原有验证。

因此,我改用搜狗的 HTML 标签验证。


十三、WPCode 的 Site Wide Header 应该怎么使用

搜狗提供的验证标签格式类似:

HTML
<meta name="sogou_site_verification" content="YOUR_SOGOU_VERIFICATION_CODE" />

为了只在英文域名输出,我在 WPCode 中使用:

PHP
$host = strtolower(
    preg_replace(
        '/:\d+$/',
        '',
        $_SERVER['HTTP_HOST'] ?? ''
    )
);

if ( 'en.shuijingwanwq.com' !== $host ) {
    return;
}

echo '<meta name="sogou_site_verification" content="YOUR_SOGOU_VERIFICATION_CODE" />' . "\n";

WPCode 设置为:

Plaintext
代码类型:PHP Snippet
插入方式:Auto Insert
Location:Site Wide Header

这里不需要再写:

PHP
add_action( 'wp_head', ... );

因为 Site Wide Header 本身就表示 WPCode 会在 <head> 区域执行这段代码。

如果 Location 使用:

Plaintext
Frontend Only

才更适合在 PHP 代码中自行注册:

Plaintext
add_action( 'wp_head', ... );

这两个方案应选择其中一种,不要重复嵌套。


十四、为什么命令能看到验证标签,浏览器源代码却看不到

保存 WPCode 后,我先清理了英文域名对象缓存:

Bash
/root/bin/w3tc-flush-host-object-cache en.shuijingwanwq.com

随后用带随机查询参数的 curl 请求检查:

Bash
for host in en.shuijingwanwq.com www.shuijingwanwq.com
do
    echo "================ $host ================"

    curl -sS -L --compressed \
        "https://$host/?_nocache=$(date +%s)" \
    | grep -oiE '<meta[^>]+name=["'\'']sogou_site_verification["'\''][^>]*>' \
    || echo "未找到搜狗验证标签"
done

结果为:

Plaintext
================ en.shuijingwanwq.com ================
<meta name="sogou_site_verification" content="..." />

================ www.shuijingwanwq.com ================
未找到搜狗验证标签

这说明代码逻辑正确。

但通过:

Plaintext
view-source:https://en.shuijingwanwq.com/

查看普通首页源代码时,却仍然没有验证标签。

原因是英文首页的 W3 Total Cache Page Cache 仍然是旧版本。

对象缓存和页面缓存是两套不同缓存。清除 Object Cache,不会自动删除已经生成的静态 HTML Page Cache。

因此需要清除英文域名页面缓存目录:

Bash
rm -rf /data/wwwroot/www.shuijingwanwq.com/wp-content/cache/page_enhanced/en.shuijingwanwq.com

随后再次清除 Cloudflare 中:

Plaintext
https://en.shuijingwanwq.com/

这一条 URL 的缓存。

完成后,浏览器源代码中终于可以看到搜狗验证标签。


十五、为什么最终放弃搜狗英文站验证

即使页面源代码中已经存在正确的验证标签,搜狗仍然持续提示验证失败。

随后进入 Cloudflare:

Plaintext
安全性
→ 分析
→ 事件

筛选主机名:

Plaintext
en.shuijingwanwq.com

在搜狗验证失败的时间段,没有发现新的阻止、质询或 WAF 事件。

这说明:

  • WPCode 代码已经生效
  • W3TC 页面缓存已经更新
  • Cloudflare 页面缓存已经更新
  • Cloudflare 安全规则没有阻止验证请求
  • 搜狗验证服务器可能没有成功访问英文站

可以临时将 Cloudflare 橙色云改为“仅 DNS”后再次验证,但考虑到:

  • 搜狗给网站带来的流量一直很少
  • 英文内容主要面向 Google 和 Bing 用户
  • 即使验证成功,后续搜狗抓取英文子域仍可能不稳定
  • 为搜狗单独调整 CDN 架构,收益很低

我最终决定放弃搜狗英文站资源。

WPCode 中的“搜狗英文站 HTML 验证标签”代码片段已经移入回收站。

缓存中暂时残留的验证 meta 不会影响 canonical、robots、Sitemap 或其他搜索引擎,因此没有再手动清理,等待缓存自然过期即可。

【图 10,搜狗验证失败】
【图 10,搜狗验证失败】
【图 11,Cloudflare 无对应拦截事件】
【图 11,Cloudflare 无对应拦截事件】

十六、最终的 Sitemap 结构

完成全部调整后,网站正式使用的 Sitemap 为:

中文站

Plaintext
https://www.shuijingwanwq.com/sitemap_index.xml

英文站

Plaintext
https://en.shuijingwanwq.com/sitemap_index.xml

搜索引擎平台的最终处理情况如下:

搜索引擎中文站英文站最终状态
Google已提交 Yoast Sitemap已提交 Yoast Sitemap,并添加独立资源成功
Bing已读取 Yoast Sitemap已提交 Yoast Sitemap成功
360已切换至 Yoast Sitemap已添加二级站并提交成功
百度已有中文站资源已添加并完成验证当前无 Sitemap 提交入口
搜狗保留原中文站放弃添加英文站不再处理

十七、这次排查得到的几个结论

1. 多域名模式下,缓存必须按 Host 清理

在 Polylang 多域名环境中,只在默认域名上下文中清理缓存,可能无法更新英文域名对应的配置和页面。

2. Object Cache 与 Page Cache 不能混为一谈

清理对象缓存不代表静态 HTML 页面已经更新。

当 PHP 代码已经生效,但普通页面源代码仍是旧内容时,应继续检查:

Plaintext
W3 Total Cache Page Cache
Cloudflare Cache

3. Yoast 的排除逻辑按 term ID 工作

如果数据库中存在多个同 slug 标签,单纯根据 URL 判断薄内容标签是否被排除,可能产生误判。

4. 搜索引擎后台的 Sitemap 管理能力差异很大

Google 可以明确删除提交记录。

Bing 可能长期显示自动发现或历史 Sitemap,且新版界面不一定提供删除功能。

360 要求先添加独立站点或二级站,才能提交对应 Host 的 Sitemap。

百度和搜狗的资源添加及验证方式,也与 Google、Bing 差异明显。

5. 不必为了低价值搜索引擎修改网站基础架构

如果一个搜索引擎流量极低,而验证、抓取和 CDN 访问又长期不稳定,继续投入时间未必值得。

SEO 配置也需要考虑投入产出,而不是追求每个平台都完全覆盖。


十八、总结

这次工作看似只是将站点地图从:

Plaintext
/wp-sitemap.xml

切换为:

Plaintext
/sitemap_index.xml

实际却涉及:

  • 英文站从 /en/ 迁移到独立子域
  • Polylang 多域名识别
  • Yoast Sitemap 生成
  • 薄内容标签 noindex
  • 薄内容标签 Sitemap 排除
  • 重复 term 与重复 slug
  • W3TC Object Cache
  • W3TC Page Cache
  • Cloudflare XML 和 HTML 缓存
  • Google、Bing、360、百度和搜狗资源调整

最终,中英文站已经形成两套清晰的 Yoast Sitemap:

Plaintext
https://www.shuijingwanwq.com/sitemap_index.xml
https://en.shuijingwanwq.com/sitemap_index.xml

薄内容标签的 robots 和 Sitemap 排除规则也已经通过实际 URL 验证。

至此,英文站启用独立 en 域名后,与 Sitemap 相关的主要调整已经完成。

重新启用 Yoast SEO 后,我如何用全局设置低维护优化 WordPress 博客 SEO

WordPress 网站维护、性能优化与博客运营咨询

本站已持续运营超过 10 年,累计发布 1000+ 篇原创技术文章,长期实践 WordPress 网站建设、CDN / Cloudflare 配置、缓存优化、Google SEO、广告变现和多语言网站运营。

如果你的 WordPress 网站遇到访问慢、缓存异常、插件冲突、广告不显示、SEO 基础结构混乱、CDN 配置不确定等问题,可以联系我做一次远程技术排查。

适合以下用户:
✅ 个人博客站长
✅ WordPress 网站运营者
✅ 独立开发者与内容创作者
✅ SaaS 产品官网运营团队
✅ 希望优化网站速度与稳定性的站点

服务内容:
✅ WordPress 速度优化
✅ Cloudflare / CDN / 缓存配置排查
✅ 插件冲突与页面异常排查
✅ AdSense 广告显示问题排查
✅ SEO 基础结构检查
✅ 博客运营与商业化咨询

如需了解方案或交流相关问题,请直接联系我,并注明:WordPress 维护咨询

联系方式:
Telegram:@shuijingwan
微信:13980074657
邮箱:shuijingwanwq@gmail.com

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理