Paywall、付费阅读,怎样薅知识羊毛?

付费阅读、为知识付费是当今普遍内容变现的手段。把有价值的内容藏在付费流程之后被称为Paywall,极诣在2018年《互联网人必须知道的六面“墙”》一文中曾经介绍。但是这种方式会使得搜索引擎也被挡在Paywall之外,这样搜索引擎无法获取内容,因此也无法判断内容的价值。这会让网页排名能力下降。
那么作为媒体应该如何在网页中配置付费内容呢?这知识羊毛又该如何防薅呢?我们通过一个例子来深入介绍。

Campaign Asia是许多广告代理从业者经常关注的媒体,要阅读内容你必须进行注册。但登录后你只能每月免费阅读三篇文章。

每年180刀并不是每个同学都能承受的。那么如何绕过Paywall呢?我们先把这个问题放一下,讲点SEO。
谷歌为了这些在Paywall之后的内容提供了结构化数据的方案。基本思路是谷歌可以免费看到付费内容并由此判断是否值得收录并排名,一般用户看不到付费部分。这个“两全其美”的方式由结构化数据实现。具体方案在谷歌开发者的文档中有详细描述。
{ "@context": "https://schema.org", "@type": "NewsArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://example.org/article" }, (...) "isAccessibleForFree": "False", "hasPart": { "@type": "WebPageElement", "isAccessibleForFree": "False", "cssSelector": ".paywall" } }
上面是应用JSON-LD实现结构化数据的代码段,其中第二部分规定了藏在Paywall之后的内容端。
<p>这是在Paywall之外的文字,对所有人可见。</p> <div class="paywall">这是隐藏在Paywall之后的文字,仅对订阅用户可见。你也可以通过css来调整它的可见性。这里的class对应JSON-LD中的cssSelector字段。</div>
我们应用Google的Rich Results Test工具就能验证Campaign Asia其实也用了这个结构化数据:

接下来我们去网页代码中看看是否他们隐藏了付费部分的内容,结果并未找到。这说明该网站对搜索引擎和用户伺服不同的内容!
为了验证该网站采用了cloaking的技术,极诣去查看了谷歌搜索引擎的快照:

看来薅羊毛已经有思路了,那么作为媒体如何堵住这个漏洞呢?首先当然是防止搜索引擎保存快照。可以采用noarchive的搜索引擎指引。如:<meta name=”robots” content=”noarchive” />
但这样并没有卵用,这是挡不住极诣的读者群的。仅仅改变浏览器的User-agent,改成搜索引擎爬虫便可轻松无限浏览网页的完整内容。
最简单方式是采用安装一个User-Agent Switcher for Chrome的插件,自定义一个Google爬虫的UA,如:Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)。开启后打开网页,然后通过网址前的“小锁”block所有cookie。不到一分钟你就可以畅游年费180刀的网站了。

为了SEO的效果就必须让搜索引擎了解你的网页到底有没有价值,到底是标题党还是干货。那么媒体就没有办法防薅了吗?其实未必,媒体需要打开防火墙对爬虫进行鉴别,即便是声称为谷歌蜘蛛的爬虫也要验证其IP或域来进行干预。这才能有效防薅。
总结一下,我们介绍了如何使用结构化数据对Paywall后的内容进行SEO优化。极诣指出网站的这些漏洞并非鼓励大家去绕过Paywall。我们尊重知识产权和著作权,这些在Paywall后的内容是媒体赖以生存的资产,是媒体选择减少广告对用户体验打扰的另一选择。薅羊毛并不是一件光彩的事,不给看可以去别处看嘛,不是吗?