早在2022年,我为一家英国房产聚合器公司启动了一个程序化网站。我们从Google Sheets数据源生成了大约11,000个页面,全部发布,提交了站点地图,然后等待。六周后,Google大约索引了4,200个。排名分散、内容单薄、令人尴尬。客户开始提出我没有清晰答案的问题。
我犯了经典错误。我把"生成"和"发布"当成了同一步。其实不是。
那个项目促使我开始在Seahawk的每个程序化SEO构建中构建我现在称之为质量门槛的东西。今天,无论我对数据的信心有多高,我都会在任何pSEO项目中保留大约15%的页面不被索引。这不是对坏页面的惩罚,而是保护好页面的过滤器。
以下是这实际上的样子,以及为什么我认为大多数构建程序化网站的人通过跳过这一步而留下了大量排名潜力。
---
"质量门槛"在程序化上下文中到底意味着什么
质量门槛是一个页面在获得索引指令前必须通过的阈值。概念很简单。执行部分才是有趣的地方。index directive. Simple idea. The execution is where it gets interesting.
对于标准编辑类网站,质量控制是编辑工作。有人读完文章说通过或不通过。使用程序化SEO时,你可能每天从数据库生成500个页面。没人会读那些。所以门槛必须是机械的,必须在发布前配置好,而不是在你发现Google忽略了你网站地图中一半的页面后才调整。before you publish, not after you notice Google ignoring half your sitemap.
我使用的门槛几乎总是以下几项的组合:
- 内容密度评分。仅看字数太粗糙了。我衡量每个模板填充的唯一数据字段数。如果一个页面模板有14个数据字段,而某一行只填充了6个,它就会被过滤掉。 Word count alone is too blunt. I measure unique data fields populated per template. If a page template has 14 data fields and a given row only fills 6, it fails.
- 重复风险评分。我对渲染后的正文进行快速余弦相似度扫描。与同类别中任何其他页面的相似度评分超过0.82的页面会被暂停。 I run a quick cosine similarity pass on the rendered body text. Pages that score above 0.82 similarity to any other page in the same category get held back.
- 搜索意图信号。这个页面目标关键词是否有可衡量的搜索量?如果Ahrefs或SEMrush显示主关键词及所有次要变体的搜索量都是零,该页面会进入保留池。 Does the keyword this page targets have any measurable search volume? If Ahrefs or SEMrush shows a flat zero for the primary and all secondary variants, the page goes into a holding pool.
- 薄内容标志。去除样板内容后,渲染可见正文少于320字的页面会被自动标记。 Pages that render under 320 words of visible body text after stripping boilerplate get flagged automatically.
这些都不是革命性的东西。实际执行这些纪律才是。
---
为什么索引所有内容实际上是有害的
我知道相反的论点。"谷歌只会忽略那些薄弱的页面。有什么害处呢?"
害处在于爬虫预算。对于大型程序化网站,爬虫预算的重要性远比大多数人承认的要大得多。
谷歌自己的爬虫文档对此相当直白:Googlebot 根据网站的爬虫健康信号来分配爬虫容量。如果你的服务器经常返回薄弱、低价值的页面,Googlebot 就会收缩。它在你的网站上花的时间会减少。你的高质量页面被爬取的频率也会降低。 is pretty direct about this: Googlebot allocates crawl capacity based on a site's crawl health signals. If your server is regularly returning thin, low-value pages, Googlebot pulls back. It spends less time on your site. Your high-quality pages get crawled less frequently.
我在 2023 年初在 Seahawk 构建的 SaaS 目录上实时看到了这种情况。约 9,000 个页面,全部被索引,其中大约 2,100 个页面质量确实很弱(数据稀疏、描述几乎重复、零反向链接权益)。Google Search Console 显示爬虫速率在八周内下降了约 40%。我们一将 2,100 个页面改为 noindex 并提交更新的站点地图,爬虫速率在三周内恢复了。有几个页面曾卡在第 4 或第 5 页,修复六周后进入了前 15 个结果。noindex and submitted an updated sitemap, crawl rate recovered within three weeks. Several pages that had been stuck on page 4 or 5 moved into the top 15 results within six weeks of the fix.
这不是巧合。这就是爬虫预算在你停止浪费它时应有的工作方式。
---
我如何实际规划 15% 的保留部分
15% 这个数字并不是武断的,但也不是神圣的。这是我在过去几年运行大约 60 来个程序化项目的质量门控后收敛到的数字。有些项目保留 8%。去年有一个电商 pSEO 构建项目在初始发布时保留了 23%,因为供应商数据确实不完整。
这是从开始到结束的粗略流程:
- 先构建完整数据集。生成你最终打算发布的每一个页面。如果可以的话,不要在数据阶段进行预过滤。 Generate every page you intend to eventually publish. Don't pre-filter at the data stage if you can avoid it.
- 在渲染时运行门控检查。我使用一个 Python 脚本来调用渲染后的 HTML(而不是原始模板),检查字数、字段填充率以及使用 SentenceTransformers 的基本相似度哈希。每个页面大约需要 4 秒。 I use a Python script that calls the rendered HTML (not the raw template) and checks word count, field population rate, and a basic similarity hash using SentenceTransformers. Takes about 4 seconds per page.
- 为每个页面标记一个状态字段。index、hold 或 review。Hold 表示暂时 noindex。Review 表示需要人工审查(通常是我或 Seahawk 团队的某个人)在 48 小时内查看。
index,hold, orreview.Holdmeansnoindexfor now.Reviewmeans a human (usually me, or someone on the Seahawk team) needs to look at it within 48 hours. - 发布所有内容,但在模板级别控制指令。所有页面都存在。如果有人找到 URL,所有页面都可以访问。只有在 robots 元标签中获得绿灯的页面才会被索引。这很重要:你不希望那些可能从其他渠道获得链接或流量的页面出现 404。 All pages exist. All pages are accessible if someone finds the URL. Only
indexpages get the green light in the robots meta tag. This matters: you don't want 404s on pages that might earn links or traffic from other channels. - 每月重新评估 hold 池。随着数据改进,页面会升级。有时我会执行数据充实传递来填充稀疏字段,之前被保留的页面会自动通过门控。 As data improves, pages graduate. Sometimes I push a data enrichment pass to fill sparse fields, and a previously held page clears the gate automatically.
最后一步是人们经常跳过的。他们 noindex 页面然后就忘记了。如果底层数据变好,这些页面是潜在的排名资产。不要放弃它们。
---
做重活的工具
我对工具本身没有特殊偏好。只要能与你的技术栈干净集成就行。
对于我提到的相似度检查,在本地运行 SentenceTransformers 对于最多约 15,000 个页面的批次来说速度足够快,之后我才会考虑迁移到更可扩展的方案。对于更大的数据集,我使用过 Pinecone 作为向量存储来运行近似最近邻查询,这大大缩短了比较时间。Pinecone as a vector store to run approximate nearest-neighbour queries, which cuts the comparison time dramatically.
为了在发布后进行监控,我保留了一个Search Console资源,专门用于追踪已索引的页面池与完整URL库存之间的差异。Screaming Frog按时间表运行(我通过DigitalOcean droplet上的cron job使用他们的CLI版本),每周给我一份哪些页面改变状态的diff。如果我故意设置了noindex的页面莫名其妙被索引了,我想在48小时内知道。
Ahrefs Site Audit也在工作流程中,主要是为了捕捉关键词蚕食信号。如果两个我标记为索引的页面正在竞争同一关键词集群,这是我遗漏的一个门控失败。这种情况会发生。审计会捕捉到它。index are competing for the same keyword cluster, that's a gate failure I missed. It happens. The audit catches it.
---
常见异议(以及为什么大多数异议站不住脚)
"保留页面不会延迟我的流量增长吗?"
在很短期内边际上会。但指向850个真正强势页面的爬虫预算会比分散在1,000个混合质量页面上的预算更快地索引它们。我在多个项目上测量过这个。当你有选择性时,净流量曲线会更陡峭。
"Google聪明到足以找出哪些页面很好。"
有时会。不是可靠的。尤其是在新域名或权限有限的网站上肯定不是。我不会把客户的有机频道押在Google的慷慨上。
"这为我的发布管道增加了复杂性。"
是的。确实如此。一个分阶段检查在每个发布批次前运行约20分钟。那就是复杂性。值得。
Seahawk有一个金融科技对比项目,客户强烈反对添加门控步骤。他们希望第一天就索引所有内容。我们按他们的方式运行了前两个月。到第三个月,在看到Search Console展示次数曲线持平后,他们同意进行门控改造。我们花了两周时间改造noindex逻辑,又花了一个月才看到恢复。我们损失了大约五个月的复合增长。我经常想起那个项目。
---
页面从"保留"状态毕业的条件
这值得详细说明,因为这是系统中使其可持续而不仅仅是一次性过滤的部分。
被保留的页面在清除它最初未通过的相同门控后进行毕业,另外还需要一次检查:内部链接权益。即使内容改进了,没有网站其他页面内部链接指向的页面仍然是隐形的。在我让一个页面进入索引之前,它需要至少有两个来自已经表现良好的页面的内部链接指向它。plus one additional check: internal link equity. A page that nobody else on the site links to internally is still a ghost, even if its content has improved. Before I let a page into the index, it needs at least two internal links pointing to it from pages that are already performing.
这创造了一个良性循环。强页面累积链接。被保留的页面等待直到它们真正连接到网站结构。当它们毕业时,它们进入一个Googlebot实际上可以跟踪的上下文。
我处理这个问题的实际方法:一旦页面通过了内容门控,我运行一次快速的内部链接注入检查。我寻找10-15个最相关的已索引页面,并使用精确或接近精确的锚文本添加上下文链接。然后该页面被翻转到索引。然后如果这是一个对新鲜度敏感的主题,我通过Indexing API提交它(对于大多数pSEO内容来说不是,所以我只是等待下一个爬虫周期)。index. Then I submit it via the Indexing API if it's a freshness-sensitive topic (and for most pSEO content, it isn't, so I just wait for the next crawl cycle).
---
关于分面页面和参数陷阱的说明
一个值得单独提及的具体场景:分面导航。如果你的pSEO网站通过URL参数生成页面(比如/listings?city=london&bedrooms=2),门控逻辑需要在考虑参数去重后才能处理内容质量。/listings?city=london&bedrooms=2), the gate logic needs to account for parameter deduplication before you even get to content quality.
分面参数页面是程序化站点最容易严重消耗抓取预算的地方。我使用 rel=canonical 和对不代表有意义差异内容的参数变体进行显式 noindex 的组合方式。Google Search Central 关于 URL 参数的指南是这里的规范参考(双关语无意)。在构建任何分面 pSEO 结构之前,请仔细阅读。rel=canonical and explicit noindex on parameter variants that don't represent meaningfully distinct content. The Google Search Central guidance on URL parameters is the canonical reference here (no pun intended). Read it carefully before you build any faceted pSEO structure.
---
FAQ
我应该保留多少百分比的页面?
在发布任何内容之前,对完整数据集运行内容密度审计。计算至少未能通过一个门槛标准的行的百分比。那就是你的初始保留率。在数据干净的情况下,我见过低至 6%。在抓取或第三方数据来源的情况下,通常是 20-25%。我引用的 15% 数字只是我在数据相对干净的项目中的平均值。
noindex 页面会浪费它们可能获得的链接吗?
不会。页面仍然存在,仍然通过其出站链接传递 PageRank。noindex 指令告诉 Google 不要在搜索结果中包含该页面,但它不会剥离指向该页面的链接的链接权益。那些链接仍然计入域名。该页面只是在 SERP 中不竞争。noindex directive tells Google not to include the page in search results, but it doesn't strip link equity from links to the page. Those links still count toward the domain. The page just isn't competing in SERPs.
质量门槛值得付出努力的最小站点规模是多少?
说实话,在 300 个以上程序化生成的页面的任何地方都值得。低于这个数字,你可能可以手动审查页面。超过 300 个,自动化会在第一个月内收回成本。
我应该删除保留的页面还是仅将其 noindex?
Noindex,不删除。删除页面会返回 404,告诉 Googlebot 该页面从未存在过。Noindex 的页面可以在之后升级,在此期间获取链接,并接受直接流量。删除是最后的手段,仅适用于底层数据真正无法修复的页面。
这对非英文 pSEO 网站有效吗?
门控逻辑与语言无关。相似性检查在法语、德语、西班牙语中也能正常工作。我在一个法语房地产 pSEO 项目上运行过这个,余弦相似度分数与英文内容一样可靠。变化的是你的阈值校准,因为某些语言在结构上自然更容易重复。
---
Programmatic SEO 本质上是一个穿着 SEO 外衣的数据质量问题。表现良好的网站不是生成页面最多的网站。它们是对哪些页面值得展示毫不妥协的网站。保留 15% 不是悲观主义。这只是对你实际构建内容的诚实评估。
