天气网 SEO 实测:3800 万收录,没有一张站点地图
抓了天气网 20 余条 URL:sitemap.xml 是 404,sitemap.txt 返回「没有找到该城市」;首页只链 66 个城市,移动子域权重 7 却没有 canonical。附 8 条按优先级排的改法。
天气网是典型的程序化页面站:一个城市一套模板,页面数以百万计。这篇不复述它做对了什么,只回答一个问题——三千八百万条页面,靠什么被搜索引擎找到。
先看账本:3800 万收录,53 条反链

| 指标 | 实测值 | 说明 |
|---|---|---|
| 百度权重 | PC 6 / 移动 7 | 搜狗 7、360 7、必应 6、谷歌 7 |
| PC 关键词 | 9,460 | 前 10 名 3,889,前 20 名 7,950 |
| 移动关键词 | 3,841 | 前 10 名 1,199,前 20 名 1,992 |
| 百度收录 | 38,122,580 | 搜狗 94,572,056,360 约 256 万 |
| 反链 | 53 条 | 域名年龄 24 年 6 个月 |
| 日均流量 | IP 约 17.4 万 | PV 约 24.4 万,百度来路 4.5 万至 8.8 万 IP |
三类数字放在一起,外链这一项最刺眼。3800 万条收录对 53 条反链,比值约 72 万倍。
天气关键词属于重复查询:同一个用户一周内会多次搜同一座城市,品牌召回比外链更能决定点击。这解释了它为什么不做链接建设。
所以对这类站提「多买外链」是低效建议,边际几乎为零。真正的天花板在别处:存量 URL 能不能被稳定发现、能不能被重新抓取。
发现机制:站点地图三条路径,两种失败

先看常规入口。sitemap.xml 是标准 404,响应体 2,558 字节,Content-Type 正确,这一条没有毛病。
换成 sitemap.txt,返回 HTTP 200,响应体却只有 254 字节,内容是「没有找到该城市」,还带一段 3 秒后跳回北京页的脚本。
这是路由层的错位:任意 .txt 路径都被当成城市名去查。随手编一个 foo.txt,同样 200,同样 254 字节,一个字都不差。
urllist.txt、sitemap_index.xml、sitemap_baidu.xml、sitemap 目录,逐条试下来不是 404 就是那份假 200。robots.txt 有 22 行规则,0 条 Sitemap 指令。
移动子域 m.tianqi.com 的 robots 是主站复制件,251 字节,里面守的 /index.php?a=app360 与 /tianqi/headweather/ 在移动站根本不存在,同样没有 Sitemap 行。
千万级页面站失去站点地图,代价落在长尾城市上。首页暴露的城市入口只有 66 个,省份页与热门城市页能覆盖的也有限,剩下的只能等历史抓取队列。
页面信号:首页 66 个入口,移动站三处空白

首页 318 个链接、279 个唯一地址,其中城市路径 66 条。标题 69 字,「今天,明天」在同一句里出现了两次。
首页还有三处空白:0 个 H1、0 个 H2、0 段结构化数据。17 条链接仍是 http 绝对地址,与 https 版本并存。
城市页则相反,有四件事做得干净,值得直接抄:
| 项目 | 实测结果 | 为什么算合格 |
|---|---|---|
| 错误页 | 随机路径返回真 404 | 状态码与语义一致 |
| 非法参数 | /beijing/1/ 与 /20/ 均 canonical 到 /beijing/ | 参数空间不产生新页面 |
| 结构化数据 | BreadcrumbList + Article + WebPage | 面包屑与正文类型齐备 |
| 协议跳转 | http 到 https、裸域到 www 均为 301 | 单一入口,没有跳转链 |
缺口也集中在城市页。它没有 viewport,iPhone UA 请求拿到的字节数与桌面完全一致,都是 57,166 字节,等于没有按设备分流。
104 张图里 75 张没有 alt,占七成。天气图标可以用 CSS 或雪碧图替代,内容图缺 alt 则是白丢的图片搜索流量。
移动侧最可惜。m.tianqi.com/beijing/ 有 viewport、有 H1,但 0 条 canonical、0 段结构化数据,title 与桌面开头不同,可见正文 2,712 字,桌面是 4,671 字。
桌面页也没有 rel=alternate 指向移动版,两边互不认领。而移动权重 7 恰恰高于桌面的 6,等于把最强的排名给了信号最弱的一侧。
还有一条并行的资讯路径 /tianqi/{城市}/:0 个 H1、无 description、无 canonical,标题是「北京天气预报资讯」,与主城市页抢同一组关键词。
城市子域也在分流。haikou.tianqi.com 与 /haikou/ 同时存在,前者 25,000 字节、0 个 H1、无 canonical、无结构化数据,两者之间没有任何收敛信号。
模板同质化可以量化:城市名归一化后,北京页与上海页的 8 字片段重合度 0.50,北京页与朝阳页 0.67。程序化页面本该如此,但没有站点地图时,同质化会被放大成抓取预算的浪费。
优化清单:8 条建议,按 P0 到 P2 排
每条都附完成判据,便于验收。分档依据是投入产出比:改配置 10 分钟的排 P0,改模板的排 P1,动架构的排 P2。
P0:本周内可上线,共 3 条
- 建站点地图索引。按城市分片,每片不超过 5 万条 URL,带 lastmod,在 robots.txt 声明。完成判据:两台站长平台都能读到分片数量,抓取错误率为 0。
- 修 .txt 路由。未命中的站点地图路径一律返回 404,不要把「没有找到该城市」包成 200。完成判据:foo.txt 返回 404。
- 桌面城市页补 viewport,或整体改响应式。完成判据:iPhone UA 与桌面 UA 拿到的不是同一份 HTML。
P1:一个月内,共 4 条
- 移动站补 canonical 自指与 WebPage、Article 结构化数据,桌面与移动互相 rel=alternate。完成判据:两侧 head 里能互相看到对方。
- 首页补 H1 与 WebSite、SearchAction 结构化数据,标题删掉重复的「今天,明天」,压到 30 字内。完成判据:首页 H1 唯一且标题无重复词。
- 城市页内容图补 alt,图标改用 CSS。完成判据:图片 alt 覆盖率高于 90%。
- /tianqi/{城市}/ 补 H1、description 与 canonical,或直接 noindex。完成判据:该路径不再与主城市页争同一关键词。
P2:结构性改造,共 1 条
- 城市子域与城市路径二选一。保留子域就用 canonical 或 301 收敛,站点地图只报一套。完成判据:同一城市只有一个可索引入口。
外链这一维度不建议做量。53 条反链说明它从不靠外链,做量对它边际为零。可做的是产出可被引用的数据页:城市气候常年值、历史极值、降雨日数统计,这类页面才会被媒体与百科自然引用。
回到开头的问题:3800 万条页面靠什么被找到。答案是历史抓取队列与品牌词,不是结构设计。这套机制撑得住今天的流量,撑不住下一次算法调整。
同类问题在别的站也出现过:华律网 6310 万收录、站点地图只报 1 万条;土巴兔 272 个城市分站、八成地图指向空页;39 健康网 的 robots.txt 干脆是一条 404 页面。三篇连着看,会发现「发现机制缺失」是垂直大站的通病。
数据说明:爱站数据取 2026-11-11 快照;页面类结论均来自当日直接抓取,UA 为桌面 Chrome 131 与 Baiduspider 对照,两者返回字节数一致,不存在按爬虫身份分流。
登录后可点赞、收藏与反馈。