2026年6月15日から、Googleがバックボタンハイジャックをスパムポリシー違反に追加する。ブラウザの「戻る」ボタンを押したときに、意図しないページへリダイレクトしたり、離脱防止ポップアップを表示したりする実装が対象だ。

アフィリエイトサイトでは離脱率を下げるためにこうした仕組みを導入しているケースが少なくない。自分もSNS経由でアフィリエイト案件を扱うなかで、クライアントのLPにこの手の実装が入っていて指摘した経験がある。6月15日以降はサイト全体の検索順位に影響するため、今のうちに該当コードを洗い出して対策を打っておくべきだ。

この記事では、Googleの新スパムポリシーの具体的な内容、自サイトの該当実装を見つける診断方法、そしてスパム判定されない代替の離脱防止策を解説する。

バックボタンハイジャックとは何か

バックボタンハイジャックとは、ユーザーがブラウザの「戻る」ボタンをクリックしたときに、本来の前のページに戻れない状態を意図的に作る手法のことだ。

具体的には、以下のようなパターンがある。

  • history.pushState() の悪用: JavaScriptでブラウザの履歴スタックにダミーのエントリを挿入し、「戻る」を押しても同じページに留まらせる
  • 戻りリダイレクト: 「戻る」操作を検知して、元のページではなく別のURLやアフィリエイトリンクにリダイレクトする
  • beforeunload ポップアップ: ページ離脱時に「本当に離れますか?」のダイアログを表示して離脱を妨げる
  • サードパーティスクリプト経由: 広告ネットワークやレコメンドウィジェットが裏側でこれらの処理を実行している

つまり、ユーザーが「戻る」を押したときに期待どおりの動作をしない状態はすべて該当する可能性がある。

2026年6月15日のGoogleスパムポリシー変更の内容

Googleは2026年4月に公式ブログでバックボタンハイジャックをスパムポリシーに追加すると発表した。施行日は2026年6月15日で、約2ヶ月の猶予期間が設けられている。

ポリシー違反と判定された場合の影響は以下のとおりだ。

  • 手動対策(Manual Action): Google Search Consoleで手動のスパム対策が適用される。対象ページまたはサイト全体が検索結果から除外される可能性がある
  • 自動的な検索順位低下: 手動対策とは別に、アルゴリズムによる自動的なランキング降格も行われる
  • サイト全体への波及: 一部のページだけの違反でも、サイト全体の信頼性評価に影響する可能性がある

重要なのは、サイト運営者はページ上のすべてのコード(サードパーティ製スクリプトを含む)に責任を負うという点だ。「広告ネットワーク側のスクリプトが勝手にやっていた」は免責にならない。

自サイトの該当実装を自己診断する方法

結論から言うと、以下の3ステップで自サイトをチェックできる。

ステップ1: ブラウザで実際に「戻る」を試す

まず自分のサイトの主要ページ(トップ、記事ページ、ランディングページ)にアクセスし、ブラウザの「戻る」ボタンを押してみる。前のページに正常に戻れるか確認する。

Chrome のシークレットモードで行うと、拡張機能やキャッシュの影響を排除できる。

ステップ2: JavaScriptのソースコードを検索する

サイトのソースコード全体で、以下のキーワードを検索する。

  • history.pushState — 履歴操作の有無を確認
  • history.replaceState — 現在の履歴エントリの書き換え
  • popstate — 「戻る」「進む」操作のイベントリスナー
  • beforeunload — 離脱防止ダイアログ
  • onbeforeunload — 同上(属性指定版)

WordPressを使っている場合は、テーマファイルだけでなくプラグインのJSファイルも対象にすること。wp-content/plugins/配下をまとめて検索するのが確実だ。

ステップ3: サードパーティスクリプトを監査する

Chrome DevTools の「Network」タブを開き、ページ読み込み時に外部ドメインから読み込まれるJSファイルを一覧で確認する。広告タグ、ポップアップツール、レコメンドウィジェットなどが履歴操作をしていないかチェックする。

具体的には、DevToolsの「Console」タブで以下を実行すると、history.pushStateの呼び出しを監視できる。

const original = history.pushState;
history.pushState = function() {
  console.trace('pushState called');
  return original.apply(this, arguments);
};

この状態でページを操作し、意図しないpushStateの呼び出しがないか確認する。

スパム判定されない代替の離脱防止策

バックボタンハイジャックを撤去した後、離脱率が上がるのが心配だという声は当然ある。しかし、ユーザー体験を損なわずにコンバージョンを維持する方法はある。

1. CTA(行動喚起)の改善

離脱防止ポップアップに頼るより、ページ内のCTAを改善するほうが根本的な解決になる。

  • スクロール連動CTA: 記事の50〜70%まで読んだタイミングでCTAボタンをフローティング表示する。ブラウザの動作を妨げないため、スパムポリシーに抵触しない
  • Exit-Intent ポップアップ(マウス移動検知型): マウスカーソルがブラウザ上部に移動したときだけ表示するポップアップ。ただし「戻る」ボタンの動作は妨げないことが条件。ダイアログ表示だけなら現時点ではポリシー違反にならないが、beforeunloadでブロックする実装は違反になる
  • インライン型CTA: 記事本文の途中や末尾に、自然な文脈でCTAを埋め込む。「この手順を試してみたい方はこちら」のような導線が効果的だ

2. 回遊導線の設計

ユーザーを無理に引き留めるのではなく、サイト内の別コンテンツへ自然に誘導する設計に切り替える。

  • 関連記事の表示: 記事末尾に関連性の高い記事を3〜5件表示する。カテゴリやタグの一致度でレコメンドするのが基本
  • パンくずリストの整備: カテゴリ構造を明確にして、ユーザーが「戻る」代わりにパンくずで上位カテゴリに遷移する導線を作る
  • 記事内リンクの充実: 本文中で関連する別記事に適切にリンクする。内部リンクはSEO効果もある

3. コンテンツの質で直帰率を下げる

要するに、小手先の離脱防止より「読みたくなるコンテンツ」を作るほうが長期的に有効だ。

  • ファーストビューの改善: 記事冒頭で「この記事を読むと何がわかるか」を明確に示す。離脱の大半はファーストビューで起きている
  • 目次の設置: 長い記事には目次を設け、読者が必要な情報にすぐアクセスできるようにする
  • ページ速度の改善: Core Web Vitalsの最適化。表示が遅いだけで離脱率は大幅に上がる

対応スケジュールの目安

2026年5月時点で残り約2週間。以下のスケジュールで対応するのが現実的だ。

  • 〜6月5日: 自己診断(ステップ1〜3)を完了させ、該当コードをリストアップ
  • 〜6月10日: 該当コードの撤去、またはサードパーティスクリプトの差し替え・除外
  • 〜6月14日: 代替施策(CTA改善・回遊導線)の実装とテスト
  • 6月15日〜: Google Search Console で手動対策の有無をモニタリング

WordPressプラグインで離脱防止機能を使っている場合は、プラグインのアップデート状況も確認する。主要なポップアッププラグインは6月15日までにポリシー対応版をリリースすると見られるが、マイナーなプラグインは対応が遅れる可能性がある。

FAQ

beforeunload のダイアログは全面禁止ですか?

フォーム入力中のデータ消失を防ぐ目的でのbeforeunloadは、ブラウザの標準仕様として認められています。ただし、単なる離脱防止目的でのダイアログ表示はスパム判定の対象になります。ECサイトのカート画面など正当な理由がある場合に限定してください。

すでに手動対策を受けている場合はどうすればいい?

該当コードを撤去したうえで、Google Search Console から「再審査リクエスト」を送信してください。Googleが再クロールして問題が解消されたと判断すれば、手動対策は解除されます。通常、再審査には数日〜数週間かかります。

history.pushState を SPA(シングルページアプリケーション)で使っていますが問題ですか?

SPA のルーティングで正規にhistory.pushStateを使うことは問題ありません。Googleが問題視しているのは、ユーザーの「戻る」操作を妨害する目的での悪用です。React RouterやNext.jsなどのフレームワークが内部で使うpushStateはスパムに該当しません。

広告ネットワークのスクリプトが原因の場合、誰の責任ですか?

サイト運営者の責任です。Googleは「ページ上のすべてのコードはサイト運営者が管理すべき」という立場です。広告ネットワーク側に問い合わせてスクリプトの修正を求めるか、該当するネットワークの利用を停止してください。

参考文献