147 lines
4.5 KiB
Markdown
147 lines
4.5 KiB
Markdown
# 22 GPT模板 Sitemap 与百度推送 URL 规范化修正 2026-05-09
|
||
|
||
## 1. 背景
|
||
|
||
7 日验收后继续排查 `301`,发现重点域名的 HTTP 头链路是:
|
||
|
||
- `http://domain/ -> https://domain/ -> 200`
|
||
- `http://domain/detail -> https://domain/detail -> 200`
|
||
|
||
这说明 `301` 不是应用死循环,而是蜘蛛还在抓旧 HTTP 或旧入口。
|
||
|
||
继续核查代码和生成产物后,发现更关键的问题:
|
||
|
||
1. `robots.txt` 指向 `https://domain/sitemap_index.xml`
|
||
2. 页面 canonical 多数指向 `https://domain/...`
|
||
3. 但 sitemap 模板、生成逻辑、百度推送逻辑里仍有 `https://www.domain/...`
|
||
|
||
这会造成 `domain` 与 `www.domain` 两套规范 URL 并存,削弱收录和首页词承接。
|
||
|
||
## 2. 本次代码修正
|
||
|
||
只在当前 GPT 主测试源修改,不改其它 GPT 源,也不动老模板。
|
||
|
||
### 2.1 动态 sitemap 输出
|
||
|
||
修改:
|
||
|
||
- `code/app/services/SiteContext.php`
|
||
|
||
动作:
|
||
|
||
- `/rss/so.xml` 动态兼容输出从 `https://www.{host}` 改为 `https://{host}`。
|
||
|
||
### 2.2 GPT 模板 sitemap 文件
|
||
|
||
修改:
|
||
|
||
- `code/app/home/view/videoGpt1/rss/so.xml`
|
||
- `code/app/home/view/videoGpt1/sitemap/sitemap_index.xml`
|
||
- `code/app/home/view/videoGpt1/sitemap/sitemap-main.xml`
|
||
- `code/app/home/view/videoGpt1/sitemap/sitemap-books.xml`
|
||
- `code/app/home/view/videoGpt1/sitemap/sitemap-books-catalog.xml`
|
||
- `code/app/home/view/videoGpt1/sitemap/sitemap-chapters.xml`
|
||
|
||
动作:
|
||
|
||
- sitemap 内所有站点 URL 从 `https://www.{$DomainModel->d_domain}` 改成 `https://{$DomainModel->d_domain}`。
|
||
|
||
### 2.3 后台 sitemap 生成逻辑
|
||
|
||
修改:
|
||
|
||
- `code/app/task/logic/VideoSiteMapLogic.php`
|
||
|
||
动作:
|
||
|
||
1. `sitemap_index.xml` 生成改为 `https://domain/...`
|
||
2. `sitemap-main.xml` 生成改为 `https://domain/...`
|
||
3. `sitemap-videos-*.xml` 生成改为 `https://domain/...`
|
||
4. `sitemap-videos-*.txt` 生成改为 `https://domain/...`
|
||
5. `video-list-*.json` 的 `href` 改为 `https://domain/...`
|
||
6. 修复 `sitemap-videos-*.txt` 追加写入问题:每次生成前先清空 txt,避免旧 `https://www.domain/...` 残留。
|
||
|
||
### 2.4 百度主动推送
|
||
|
||
修改:
|
||
|
||
- `code/app/task/logic/BaiduPushVideoUrlLogic.php`
|
||
|
||
动作:
|
||
|
||
- 百度推送 API 的 `site=` 从 `https://www.domain` 改为 `https://domain`。
|
||
|
||
## 3. 已刷新运行产物
|
||
|
||
已重生成以下重点域名的 `code/storage/SiteMap/{domain}`:
|
||
|
||
- `zbsv3.com`
|
||
- `sdxhtgcl.com`
|
||
- `sdxtwnc.com`
|
||
- `glae.cc`
|
||
- `jxxgygy.com`
|
||
- `jingxifa.com`
|
||
- `codohealth.com`
|
||
- `vikau.com`
|
||
- `cnzhenbang.com`
|
||
|
||
抽查结果:
|
||
|
||
- `sitemap_index.xml` 输出 `https://domain/sitemap-main.xml`
|
||
- `sitemap-main.xml` 输出 `https://domain/`
|
||
- `sitemap-videos-1.txt` 输出 `https://domain/...`
|
||
- `video-list-1.json` 的 `href` 输出 `https://domain/...`
|
||
|
||
说明:
|
||
|
||
> 抽查命令里仍会看到 `http://www.sitemaps.org/schemas/sitemap/0.9`,这是 XML 命名空间,不是站点 URL,不影响 canonical 判断。
|
||
|
||
## 4. 验证
|
||
|
||
已执行:
|
||
|
||
```bash
|
||
php -l code/app/services/SiteContext.php
|
||
php -l code/app/task/logic/VideoSiteMapLogic.php
|
||
php -l code/app/task/logic/BaiduPushVideoUrlLogic.php
|
||
```
|
||
|
||
结果:
|
||
|
||
- 三个 PHP 文件均无语法错误。
|
||
|
||
生成命令:
|
||
|
||
```bash
|
||
php -r 'require __DIR__ . "/vendor/autoload.php"; $app = new think\App(); $app->initialize(); app\common\helper\DomainSitemapGenerationHelper::generateNow(["zbsv3.com","sdxhtgcl.com","sdxtwnc.com","glae.cc","jxxgygy.com","jingxifa.com","codohealth.com","vikau.com","cnzhenbang.com"]);'
|
||
```
|
||
|
||
结果:
|
||
|
||
- 4 页 sitemap/video-list 全部生成完成。
|
||
- 结束时间:`2026-05-09 10:49:49`
|
||
|
||
## 5. SEO 影响判断
|
||
|
||
这次修正解决的是 URL 规范化问题,不是直接加词。
|
||
|
||
预期影响:
|
||
|
||
1. 减少 `www` 与非 `www` 的 URL 信号分散。
|
||
2. 让 robots、canonical、sitemap、百度推送保持同一规范版本。
|
||
3. 后续百度抓取里 `http -> https` 的 301 不会立刻归零,但 `www` 相关的分裂入口会逐步减少。
|
||
4. 对 `glae/jxxgygy/jingxifa/codohealth` 的收录转词更有利。
|
||
|
||
明天复查:
|
||
|
||
1. `2026-05-10` 蜘蛛日志里重点域名的 Baidu `301` 是否下降。
|
||
2. `sitemap-videos-*.txt` 是否继续保持非 www。
|
||
3. 百度推送摘要里 `site=` 是否不再出现 `https://www.domain`。
|
||
4. 爱站 `pc_keyword_count` 是否从 `0` 恢复到 `>=2`。
|
||
|
||
## 6. 当前结论
|
||
|
||
本次属于 7 日失败后的必要技术纠偏。
|
||
|
||
> 前面的问题不是“AI 文案没用”,而是 URL 规范信号有分裂:页面告诉搜索引擎看非 www,sitemap/推送却给了 www。现在当前 GPT 主测试源已经统一到非 www,下一步看蜘蛛日志中的 301 和爱站词恢复情况。
|