世界を動かす技術を、日本語で。

「バックボタンハイジャック」に関する新しいスパムポリシー

概要

  • Googleは 2026年6月15日 から「back button hijacking」をスパムポリシー違反として明確化
  • この行為は ユーザー体験の阻害 とみなされ、手動または自動で 検索順位低下やスパム扱い の対象
  • サイト運営者は 関連スクリプトや設定の削除 が求められる
  • 外部ライブラリや広告プラットフォーム にも注意が必要
  • 問題修正後は Search Consoleで再審査申請 が可能

Google検索スパムポリシー:「Back Button Hijacking」明示的違反へ

  • 「back button hijacking」 とは、ユーザーがブラウザの「戻る」ボタンを押した際に、期待通り元のページに戻れなくなる行為
    • ユーザーが訪れていないページへのリダイレクト
    • 不要な広告やレコメンドページの表示
    • 通常のブラウジング妨害
  • ユーザー体験の最優先 を掲げ、Googleはこの手法を明確な違反と規定
  • 悪質な手法 は、ユーザーの期待と実際の結果の不一致を生み、信頼やセキュリティにも悪影響
  • Google Search Essentials でも従来から「欺瞞的ページ挿入」は違反とされていたが、最近増加傾向のため明示化

サイト運営者への対応指針

  • ブラウザ履歴の妨害行為 を一切行わないこと
  • スクリプトや手法 で「戻る」ボタン機能を阻害している場合は、即時 削除や無効化 が必要
  • 外部ライブラリや広告プラットフォーム 経由での発生にも注意
    • 技術実装全体を 徹底的に点検 し、該当コード・インポート・設定の排除
  • 2026年6月15日 から施行されるため、 2か月の猶予期間 内に対応が必須

ポリシー違反時の影響と対応

  • 違反ページは 手動スパムアクション自動順位降格 の対象
  • サイトの Google検索結果表示に悪影響
  • 問題修正後は Search Console から 再審査リクエスト が可能
  • 質問やフィードバックは SNSやヘルプコミュニティ で受付

まとめ

  • back button hijacking は、今後Google検索で 明確な違反行為
  • ユーザーの信頼維持 のため、全てのサイトで 適切な技術管理 が必要
  • 早期対応 が、サイト運営の安定と検索パフォーマンス維持の鍵

Hackerたちの意見

マイクロソフトのサイトはこれに関してかなりひどいことがあるよね。最近の記憶に残ってるのはその辺りだな。

エピックストアは、少なくともモバイルではチェックアウトから戻るのが不可能だよ。デザインなのか、ただのひどいデザインなのかはわからないけど。

そうなの?これは「広告にリダイレクトする」みたいな欺瞞的または悪意のあるコンテンツについての話に見えるけど、「履歴の何かがJSリダイレクトを引き起こす」ってことじゃないよね。後者はMSで経験したことあるけど、前者はないな。

確かAzureの「ポータル」がこれやってるよね。ナビゲーションイベントとして記録されるべきものを記録しないことも多いし。あれで戻るボタンを押すのは、Androidの戻るボタンを押すみたいなもので、「運が良ければ」ボタンだよ。何が起こるかわからない。

昨日、ここからのリンクでそれが起こった。ドメインを見てもう予想してたけど、普通は早めに戻るボタンを連打すればなんとかなるんだけど、今回はダメだった。タブを閉じるしかなかったよ。

ウェブのクソ化の鉄則:あらゆるウェブ機能は(可能なら)ユーザーを虐待するために使われる。大体は広告を押し付けるためにね。

結局はJavaScriptのせいだよね。サイトが静的なHTML、画像、サーバーサイドレンダリングのフォームだけだった頃は、ウェブは良かったのに(フォーラムやブログもできたし)。

コンテンツ重視のサイトでさえ、もう[Space]を押してページダウンするのも信頼できないよ!

特に、バックボタンのハイジャックのいくつかは、そのサイトの...広告プラットフォームから来ているかもしれないね。サードパーティのドメインから読み込まれるものは、履歴スタックに干渉するのを許可すべきじゃないと思う。

確かにそうだけど、今のJSセキュリティモデルじゃ、JSコードのオリジンを区別するのは難しいんだよね。もしそれが変わることがあれば、広告主は自分たちのライブラリをファーストパーティのJSコードに組み込むよう要求するだろうから、そんなセキュリティモデルのメリットはなくなっちゃうね。

有効な使い道はあるけど、問題はブラウザのAPIが足りないことにあるね。例えば、

  • サイトのアクセス数やユーザーの動きを追跡したい場合
  • SPAページから移動する時にウィジェットやiframeを解体する必要がある
  • などなど。 ブラウザには globalThis.history.addEventListener('navigate') がないから、ヒストリーAPIをモンキーパッチしなきゃいけないんだ。配布の観点から見ると、このコードをページバンドルに埋め込むのは実用的じゃない。外部で管理されていることが多く、リリーススケジュールも独自だからね。

ウェブから読み込まれたものがブラウザの挙動に干渉するべきじゃないのに、こうなっちゃってるね。

Hacker Newsで議論の続きを見る