Sitemaps.org 最近一次更新其协议页面是在 2016 年 11 月,而该页面的要求很少。每个 url 元素需要一个 loc 子元素,“所有其他标签都是可选的”。1该网站的概述页面说,爬虫“通常通过链接发现页面”,而站点地图可以让爬虫“获取”所列出的每个 URL。2为搜索引擎保持该文件最新的发布商,其实已经写好了 AdBubbles 广告资源抓取所读取的文档。

从一个空账户到第一笔付款,需要七个步骤。第一步是开设发布商账户,第二步是向其中添加网站。第三步是通过 DNS TXT 记录、meta 标签或上传文件来验证网站。第四步是配置:范围、每页最多气泡数,以及要排除的类别。第五步是粘贴嵌入脚本,第六步是对网站可出售的词语进行可选的抓取,第七步是关联用于收款的 Stripe 账户。

这七个步骤都不会安装任何识别读者身份的东西。嵌入脚本运行之后,会有三种信标离开页面:每次加载发送一次浏览信标,气泡保持可见满一秒时发送一次打开信标,点击链接时发送一次点击信标。AdBubbles 不设置 Cookie,不存储标识符,也不收集读者的任何个人数据。我们将页面上的词语与购买这些词语的广告主相匹配;我们不选择谁看到气泡,不在页面或网站之间跟踪读者,也不承诺任何效果。

站点地图是广告资源抓取所依据的列表

由于广告资源索引是对每个已验证网站的站点地图进行抓取,被遗漏在该文件之外的页面也就被遗漏在统计之外。根据概述页面,使用该协议“并不能保证网页被收录到搜索引擎中,但可以提供提示”。2对搜索引擎来说,该文件是一种提示;对广告资源抓取来说,它就是列表本身。

配套的标准列出了对爬虫关闭的路径。2022 年 9 月发布的 RFC 9309 在一个名为 /robots.txt 的文件中规定了“请求爬虫在访问 URI 时遵守的”规则。3该文件明确指出,这些规则“不是一种访问授权形式”。3如果该文件不存在,爬虫“可以访问服务器上的任何资源”。3如果由于服务器错误而无法访问该文件,无论站点地图列出了什么,爬虫都“必须假定完全禁止访问”。3

验证使用 Search Console 已经说明过的三种方法

Google 的 Search Console 帮助页面介绍了通过放置在指定地址(“通常是您资源的根目录”)的 HTML 文件进行验证的方法。4meta 标签放在首页的 head 元素中。Search Console“会定期检查该标签是否存在”。4对于在域名提供商处添加的 TXT 记录,“您的提供商可能需要长达两三天的时间才能开始提供该记录”。4

该记录类型本身定义于 1987 年 11 月的 RFC 1035,用于“保存描述性文本”,其语义“取决于其所在的域”。5AdBubbles 接受同样的三种方法,因此曾经在 Google 验证过网站的发布商,以前已经做过其中一种。使用哪一种,取决于发布商能编辑什么:DNS 区域、head 模板,还是根目录。

发布商账户和嵌入脚本都是免费的。由于第六步只需要一个已验证的网站,抓取可以在第五步之前进行,并先阅读其列表。范围选择器和另外两项设置在配置参考中有说明,价格页面则阐述了分成比例。

每页上限对长页面和短页面都一样

第四步包含三项设置。范围是嵌入脚本可以扫描的页面部分,例如 article 元素或 entry-content 容器。在范围内,嵌入脚本会跳过标题、链接、代码、预格式化文本、表单控件、导航、页眉、页脚,以及任何标记为 data-noads 的内容。每页最多气泡数是由发布商设定的一个数字。要排除的类别从广告主可以购买的类别中选择;赌博、成人、武器、加密货币、保健补充剂和政治类广告主在每个网站上都被禁止。

在长页面上,嵌入脚本的三条规则很重要。它只为每个已购买词语的第一次出现添加下划线,绝不在同一段落中放置两个气泡,并且显示的气泡数绝不超过上限。假设上限为三。一篇 400 词的帖子,若在不同段落中有两个已购买词语,就会显示两个气泡;一篇 2,400 词的文章若有九个,则显示三个。长页面可供已购买词语出现的文字是短页面的六倍,而限制其显示数量的是上限,而不是字数。

嵌入脚本只是一个脚本,其链接带有 Google 首选的值

在七个步骤中,第五步是最短的。嵌入脚本 adbubbles.js 是一个用纯 JavaScript 编写的静态文件,没有任何依赖,通过 Cloudflare 的缓存提供,并在页面 DOM 就绪后运行。Google 搜索中心关于出站链接的页面说:“使用 sponsored 值标记属于广告或付费展示位置的链接(通常称为付费链接)。”6与 nofollow 相比,“首选”sponsored,并且多个值可以共用一个以空格分隔的列表。6每个气泡中的链接在渲染时都已带有 rel="sponsored noopener"。

Stripe 收集身份信息和银行账户,而收入在此之前就已开始累计

第七步在一个不属于我们的表单上进行。Stripe 的文档说,其托管的入驻流程“负责从关联账户收集企业和身份验证信息”。7该表单“根据每个关联账户的功能、国家和企业类型动态呈现”,Stripe 建议在此过程中收集银行账户信息。7账户持有人在接受 Stripe 的 Connect 服务协议之前,会确认所输入的内容。7点击“稍后保存”的发布商可以之后再完成。7

关联账户是发布商自己的账户,付款每月以发布商自己的货币支付到该账户。发布商的分成是其页面上气泡每次点击收入的 70%。无论账户是否已经关联,收入都从上线第一天开始按日累计,因此第七步可以等到第一个气泡出现之后再进行。

在长页面上,第一次出现的位置决定读者会接触到哪些词语

长篇内容的优势有一个经过测量的上限。2008 年,Nielsen Norman Group 的 Jakob Nielsen 分析了 25 名使用带测量功能浏览器的用户的 45,237 次页面浏览。8“在一般的网页上,用户在一次普通访问中最多有时间阅读 28% 的文字;更可能的是 20%。”8页面每增加 100 个词,访问时间“只增加 4.4 秒”。8该研究测量的是阅读,而不是广告,它证实了较长的页面并不会按其长度成比例地被阅读。

由第一次出现规则可以推出这样的结果。在开头几段中首次使用的已购买词语,位于每次访问都会开始的那部分页面中。在结尾部分首次使用的词语,只有留下来的读者才会读到。没有读者读到的词语,既不会带来打开,也不会带来分成。长篇内容网站比短篇内容网站拥有更多可出售的词语,而每个词语首次使用的位置,决定了哪些读者会遇到它。