[レベル: 中級]
有料購読しているユーザーにだけ完全なコンテンツを提供する、いわゆる「ペイウォール」を JavaScript で実装している場合の注意点を JavaScript の技術ドキュメントに Google は追加しました。
購読状況が確認された後に全文を提供する
追加されたガイダンスは次です(この記事を書いている時点では英語のみ)。
If you’re using a JavaScript-based paywall, consider the implementation.
Some JavaScript paywall solutions include the full content in the server response, then use JavaScript to hide it until subscription status is confirmed. This isn’t a reliable way to limit access to the content. Make sure your paywall only provides the full content once the subscription status is confirmed.
日本語に訳します。
JavaScript ベースのペイウォールを使用している場合は、その実装方法を検討してください。
一部の JavaScript ペイウォールソリューションでは、サーバーのレスポンスに完全なコンテンツを含めたうえで、購読状況が確認されるまで JavaScript で非表示にしています。これはコンテンツへのアクセスを制限するうえで信頼できる方法ではありません。購読状況が確認された後にのみ、すべてのコンテンツを提供するようにペイウォールを設定してください。
ペイウォール内のコンテンツも含めてすべてのコンテンツを最初から配信するものの、対象のコンテンツを初期状態では JavaScript で非表示にする構成を Google は推奨していません。
ペイウォールコンテンツを JS で非表示にする実装の問題点
ペイウォール内のコンテンツを JavaScript で非表示にする実装の問題点にはたとえば次のようなものが考えられます。
- JavaScript 無効化
ブラウザで JavaScript がオフになっている場合、「非表示」にする仕組みは JavaScript の実行に依存しているため、すべてのコンテンツが表示されてしまいます。 - ブラウザのデベロッパーツール
JavaScript が有効であっても、ブラウザの開発者ツールで「ソースを表示」を実行すれば生の HTML を確認できます。すでに全文が配信されているため、そのまま閲覧可能です。 - コンテンツスクレイパー & ボット
JavaScript を実行しない、あるいは意図的にスキップする自動化ツールやボットは、簡単に全文を抽出でき、本来想定されているペイウォールを回避してしまいます。
こうした手法を利用すれば、購読していなくてもペイウォール内のコンテンツを入手可能です。
最初から全コンテンツを配信し、JavaScript でペイウォール内のコンテンツを初期状態で非表示にする仕組みを実装しているサイトは変更が強く推奨されます。
適切な実装はいくつか方法があるのでここでは触れません。
どんな実装を採用するにせよ、大事なのは、購読を確認して初めてペイウォール内のコンテンツを配信する構成です。