站点地图单个文件能放多少条地址,超出上限要怎么分片

📅 2026-10-12 👁️ 0

站点地图单个文件能放多少条地址,协议给的是两条同时生效的上限:地址条数不超过 50000 条,未压缩的文件体积不超过 50MB。两条里任何一条先触顶,都要把内容拆成多个站点地图文件,再由一个索引文件(Sitemap index)把分片逐一列出。站点规模超过这个量级时,正确动作是分片,而不是只保留前 50000 条、或者指望压缩后的体积过关。

上限按什么口径算

条数上限管的是单次解析要处理多少个地址对象,体积上限管的是解析要读多少原始字节,两者各自独立。带较长查询参数的地址更容易先撞体积线,纯文章页更容易先撞条数线。协议还要求文件本身使用 UTF-8 编码、数据值做实体转义,这两条容易被忽略:地址里带中文或带 & 参数时,未转义会让整份文件解析失败,表现比超限更难排查。

需要注意的是,协议的措辞针对「每一个提供的站点地图文件」,索引文件也在同一句话的约束范围内,分片规划时应把索引文件本身也控制在同一量级,不要把它当成无上限的汇总容器。

分片之后目录怎么定

角色 里面放什么 由谁读取 出错时的表现
子地图文件 一批具体页面地址及其变更时间 抓取调度 条数或体积超限,整份被拒
索引文件 各子地图文件的地址列表 抓取调度 漏列某个子地图,那批地址长期不被发现
提交入口 索引文件地址,或分片子地图地址 站长后台、外部工具 提交了子地图却已改成分片,指向空文件

目录命名的原则是稳定与可预期。按内容模块或按地址区间切分都可以,但一旦定下来就尽量不要改变路径:每改一次文件名,原来提交过的地址就指向空文件,重新一批地址被发现需要时间。如果必须改,配合 301 重定向把旧地址指向新的汇总入口,避免出现「提交清单里有、抓不到内容」。

后台怎么配

AnQiCMS(安企CMS)的站点地图由后台自动生成,分片与索引结构按站点规模产出,站长侧要确认的是三件事:

第一,伪静态规则决定地址形态。规则改动会让历史地址整体变化,生成器随之产出完全不同的分片内容,这类变更应当与重定向表同时上线,不要只改一边。

第二,提交与推送通道要指向汇总入口。把索引文件地址作为对外提交的地址,让新增分片自动被纳入,比逐份提交子地图更省事;同时链接推送仍在按篇通知新内容,站点地图承担的是全量校对,两条通道不互相替代。

第三,抽样校验而不是只看文件存在。随机打开一个分片,确认地址数量、编码与最后修改时间字段都在,比盯着后台的绿色状态可靠。多语言站点还要确认各语言分支分别出现在对应分片里,避免出现某一整支语言在清单中缺席。

常见问题

问:压缩后的体积能不能作为判断标准? 答:不能,协议按未压缩体积设限,压缩只影响传输。

问:站点刚好接近上限,需要现在就分片吗? 答:建议提前分片。等到超限时整份被拒,损失的是全部地址的被发现机会,而提前切分几乎没有额外成本。

问:能不能按年切分,比如每年一个文件? 答:可以,前提是每年的数量都不触顶,且新分片会持续追加进索引文件。按年切分的好处是历史文件路径稳定。

相关文章

给外部脚本加完整性校验,为什么标签里还要显式写跨域属性

给外部脚本加完整性校验时标签里必须显式写跨域属性,因为带完整性校验的资源要走跨域请求,否则浏览器不会把校验结果当作可用依据。校验值由算法前缀加编码哈希组成,可以同时给多个摘要备选。本文说明校验发生在哪一步、写法与备选,以及模板改动后如何批量核对引用点。

2026-10-11

内容安全策略先只上报不拦截,看什么再决定真的拦下来

内容安全策略先用只上报模式跑一段,用途是收集违规记录而不阻止执行,这是上线拦截规则前的灰度手段。报告目标有两种写法,支持新式的浏览器会忽略旧地址,兼容期要两处都写。本文说明灰度期看哪几类信息、什么时候切拦截,以及改模板时怎么避免页面白屏。

2026-10-11

上传大附件被挡在413,报错为什么在浏览器里看不明白

上传大附件时被网关挡下返回413,浏览器往往展示不出原因,因为限制设在请求进入应用之前,程序来不及接管。nginx 的这类上限默认是一兆左右,可按站点与位置分段设置。本文说明上限管的是哪一段、为什么报错难读,以及附件上传、批量导入与接口上传三类入口该怎么核对。

2026-10-11

删掉的文章和隐藏的栏目分别返回什么码,统一压成404会带来什么后果

内容删除或栏目隐藏时如果把状态码统一压成404,仍然存在的路径会被读成已失效。本文按删除、隐藏、拒绝、异常四类语义给出各自落点,并说明站内的回收站、草稿与待发布状态如何对应到前台返回,附一份口径对照表。

2026-10-11

站点地图里的最后修改时间怎么填,才容易被采信

站点地图里的最后修改时间要按真实变更填写:协议要求该值使用 W3C Datetime 格式,可以只写日期;changefreq 与 priority 都被明确定义为提示而非指令,全站刷新只会让抓取方把这个字段当作噪声。本文说明这个字段的协议含义、四类常见填错方式、如何从内容状态里取到真实变更时间,以及与定时发布配合时该注意的时间口径。

2026-10-12

表单和评论被机器人灌水,除了验证码还能做哪几层

表单和评论防机器人灌水,验证码只挡自动提交这一层,挡不住已经绕过校验的脚本与低成本人工提交。可叠加分层是:提交校验(reCAPTCHA 验证码、时间戳与蜜罐字段)、内容过滤(敏感词过滤、关键词替换、内容审核)、发布策略(先审后发、待发布状态、限频与登录门槛)。本文说明每一层的局限,以及三层都挡不住时该调整什么。

2026-10-12

预览版要不要装到生产站,Release Candidate 和正式版怎么选

候选版本处在发布流程的最后一段,目的是让人验证即将打包的正式版,不是给生产站日常使用的版本。本文用近期 Joomla 同时挂出 6.2 候选版与 5.x、6.x 双支安全修复公告的例子,说明候选版该在哪个环境跑、双版本线并行时先升哪一支,以及升级前必须准备好的备份与回退点。

2026-10-12

定时发布和批量导入一起用时,内容排期要注意什么

定时发布和批量导入一起用时,排期的关键在状态分工:批量导入的文档先以草稿或待发布入库,再用定时发布错峰上线。本文讲清正式、草稿、待发布、回收站四种文档状态各自的意义、带预览参数的草稿链接怎么核对、导入丢字段的排查顺序,以及误删内容如何走回收站恢复。

2026-10-12