站点地图单个文件能放多少条地址,超出上限要怎么分片
站点地图单个文件能放多少条地址,协议给的是两条同时生效的上限:地址条数不超过 50000 条,未压缩的文件体积不超过 50MB。两条里任何一条先触顶,都要把内容拆成多个站点地图文件,再由一个索引文件(Sitemap index)把分片逐一列出。站点规模超过这个量级时,正确动作是分片,而不是只保留前 50000 条、或者指望压缩后的体积过关。
上限按什么口径算
条数上限管的是单次解析要处理多少个地址对象,体积上限管的是解析要读多少原始字节,两者各自独立。带较长查询参数的地址更容易先撞体积线,纯文章页更容易先撞条数线。协议还要求文件本身使用 UTF-8 编码、数据值做实体转义,这两条容易被忽略:地址里带中文或带 & 参数时,未转义会让整份文件解析失败,表现比超限更难排查。
需要注意的是,协议的措辞针对「每一个提供的站点地图文件」,索引文件也在同一句话的约束范围内,分片规划时应把索引文件本身也控制在同一量级,不要把它当成无上限的汇总容器。
分片之后目录怎么定
| 角色 | 里面放什么 | 由谁读取 | 出错时的表现 |
|---|---|---|---|
| 子地图文件 | 一批具体页面地址及其变更时间 | 抓取调度 | 条数或体积超限,整份被拒 |
| 索引文件 | 各子地图文件的地址列表 | 抓取调度 | 漏列某个子地图,那批地址长期不被发现 |
| 提交入口 | 索引文件地址,或分片子地图地址 | 站长后台、外部工具 | 提交了子地图却已改成分片,指向空文件 |
目录命名的原则是稳定与可预期。按内容模块或按地址区间切分都可以,但一旦定下来就尽量不要改变路径:每改一次文件名,原来提交过的地址就指向空文件,重新一批地址被发现需要时间。如果必须改,配合 301 重定向把旧地址指向新的汇总入口,避免出现「提交清单里有、抓不到内容」。
后台怎么配
AnQiCMS(安企CMS)的站点地图由后台自动生成,分片与索引结构按站点规模产出,站长侧要确认的是三件事:
第一,伪静态规则决定地址形态。规则改动会让历史地址整体变化,生成器随之产出完全不同的分片内容,这类变更应当与重定向表同时上线,不要只改一边。
第二,提交与推送通道要指向汇总入口。把索引文件地址作为对外提交的地址,让新增分片自动被纳入,比逐份提交子地图更省事;同时链接推送仍在按篇通知新内容,站点地图承担的是全量校对,两条通道不互相替代。
第三,抽样校验而不是只看文件存在。随机打开一个分片,确认地址数量、编码与最后修改时间字段都在,比盯着后台的绿色状态可靠。多语言站点还要确认各语言分支分别出现在对应分片里,避免出现某一整支语言在清单中缺席。
常见问题
问:压缩后的体积能不能作为判断标准? 答:不能,协议按未压缩体积设限,压缩只影响传输。
问:站点刚好接近上限,需要现在就分片吗? 答:建议提前分片。等到超限时整份被拒,损失的是全部地址的被发现机会,而提前切分几乎没有额外成本。
问:能不能按年切分,比如每年一个文件? 答:可以,前提是每年的数量都不触顶,且新分片会持续追加进索引文件。按年切分的好处是历史文件路径稳定。