站点地图单文件最多能写多少条地址,超了要拆几个文件
站点地图单个文件的上限,说的是「一个文件里最多约五万条地址、未压缩最多约五十兆」,这里约束的是单个文件而不是整站。只要其中一个数被超过,就要把地址拆到多个文件里,再用一个索引文件把这些分片汇总起来;真正需要盯住的不是单文件写多少条,而是全量正式文档有没有被覆盖到。
上限说的是单文件而不是整站
协议给出的是每个文件的约束:条数上限和体积上限,任一命中都要拆。站点总地址量不受这一层限制,几百万条也没关系,只是不能把它们塞进同一个文件。体积按未压缩算,压缩后的下载大小另说,所以规划时按未压缩口径估更稳妥。
超过之后要拆成什么样
拆分的产出是两类文件:若干分片文件,每个都低于两个上限;再加一个索引文件,列出所有分片的地址。抓取端先读索引文件,再按索引逐片展开。也就是说,索引文件本身几乎不会超限,它只装分片链接,不装具体页面地址。
| 文件类型 | 装什么 | 受不受单文件上限 | 超限怎么办 |
|---|---|---|---|
| 分片文件 | 具体页面地址 | 受,约五万条或约五十兆 | 继续按维度切更小的片 |
| 索引文件 | 各分片的地址 | 一般不受影响 | 极少触发,可再套一层索引 |
按栏目分片还是按时间分片
维度选择影响的是「片会不会长期稳定」。按栏目切,栏目本身变动慢,每次生成时同一批地址会落到同一片,规模好控制。按时间切,随着归档不断前移,边界片会一直变,越靠近当前时间那片越大。多数站点按栏目切更省心,个别超大栏目再在栏目内二次切小。
站内自动生成时怎么确认没漏
生成端只管一件事:全量覆盖。把正式文档的地址都写进分片,草稿与回收站里的地址不进。落地后要抽查三点——分片是否都挂在索引文件里、索引文件是否可从站点根目录被找到、伪静态规则改写后的地址和分片里的地址口径是否一致。这三处对齐了,才谈得上被抓取端完整读到。
常见问题
问:站点只有几千条,需要拆分吗? 不需要。几千条远低于单文件上限,一个分片文件加索引或直接一个文件即可,别为不存在的问题先做分层。
问:超过上限没拆会怎样? 文件仍然可读,但抓取端可能只处理到上限条数,超出的地址等于没被交代,收录会长期缺一块且不容易发现。
问:分片要一直保留历史版本吗? 站点地图表达的是当前希望被抓到的地址,通常每次全量重生成覆盖旧片即可,不需要堆积历史。