戻るボタンのハイジャックとは?Googleのスパムポリシーに追加された手法を解説
ブラウザの戻るボタンを押したのに、ちゃんと前のページに戻れない。そんなサイトを見かけたことはないでしょうか。これは「戻るボタンのハイジャック」と呼ばれるスパム行為です。Google 検索のスパムポリシーに明記され、2026年6月15日から施行されています。本記事では、それらについて解説しています。
- 戻るボタンのハイジャックについて分かる
戻るボタンのハイジャックとは
「戻るボタンのハイジャック」は、Google の検索スパムポリシーの「悪意のある行為」に置かれた項目です。定義は次のとおりです。
[戻る] ボタンのハイジャックとは、サイトでブラウザの閲覧履歴やその他の機能を操作してユーザーのブラウザ ナビゲーションを妨害し、ユーザーが [戻る] ボタンを使用して元のページにすぐに戻れないようにすることです。
Google サーチ クオリティ チームの Chris Nelson 氏が、2026年4月13日に公式ブログで告知しました。
違反すると、手動によるスパム対策または自動による降格の対象になる可能性があります。
戻るボタンが効かなくなる仕組み
ブラウザの「戻る」ボタンが効かないように見える動作は、JavaScriptからブラウザの履歴を操作することで実現できます。
中心になるのが、history.pushState() と popstate による実装です。
history.pushState() を使うと、現在のページを表示したまま、ブラウザの履歴に新しい履歴を追加できます。
通常、ブラウザの戻るボタンを押すと1つ前のページへ移動します。しかし現在のページに履歴を追加しておくと、戻るボタンを押しても、まずその追加された履歴へ戻ることになります。
この履歴を現在のページにしておくことで、実際には履歴を1つ戻っているのですが、表示しているページが変わらないため、ユーザーから見ると「戻るボタンを押しても何も起きなかった」ように見えます。
pushState() は、SPA(シングルページアプリケーション)の画面切り替えなどでも一般的に使われているブラウザ標準のAPIです。そのため、pushState() を利用すること自体に問題があるわけではありません。
さらに、ユーザーが戻る・進む操作をしたことを検知するために使われるのが popstate イベントです。
popstate は、ブラウザの戻る/進むボタンを押した場合や、JavaScriptから history.back() などを実行して履歴を移動したときに発生します。
このイベントを利用すると、
「戻るボタンが押されたら特定の処理を行う」
といった制御ができます。
離脱防止ポップアップとの線引き
離脱を防ぐための仕組みにの一つに離脱防止ポップアップがあります。
フォーム入力中などに「このページを離れますか?」と確認するダイアログがあります。これは beforeunload という、ブラウザが正式に用意している仕組みで離脱防止ポップアップとは別の機能です。
一方で、ブラウザの「戻る」操作をきっかけに、独自のポップアップや案内を表示する仕組みもあります。
こうした機能は、EFO(入力フォーム最適化)やLPO(ランディングページ最適化)のツールでも利用されています。これらは、実装方法次第では「戻るボタンのハイジャック」に該当する可能性があります。
重要なのは、ユーザーが戻ろうとしたときに、その操作を妨げているかどうかです。
ブラウザ側で対策済みな場合も
Google ChromeなどのChromium系ブラウザでは、バックボタンを悪用した履歴操作への対策が実装されています。
Chromiumの公式ドキュメントでは、この仕組みが history manipulation intervention として説明されています。
基本的な考え方は、ユーザーがそのページを一度も操作していない状態で追加された履歴を、戻る操作の際にスキップするというものです。
たとえば、a.com から b.com に移動したあと、b.com がユーザーのクリックやタップを受ける前に pushState() などで履歴を追加したとします。
通常であれば、戻るボタンを押すと追加された履歴を1つずつたどることになります。しかしChromeなどのChromium系ブラウザでは、ユーザー操作なしで追加された履歴エントリがスキップされ、a.com まで直接戻ることがあります。
つまり、ページを開いた直後に履歴を大量に追加し、
「戻るボタンを何度押しても同じページから抜けられない」
という状態を作ろうとしても、ブラウザ側で回避されるようになっています。
ただし、JavaScriptから実行する history.back() や history.forward() には、同じスキップ処理は適用されません。
同様のバックボタンハイジャック対策は、FirefoxやSafariにもあります。ただし、ユーザー操作の判定方法や履歴の扱いなど、細かな挙動はブラウザごとに異なります。
そのため、主要ブラウザでは、ユーザー操作なしに履歴を積み増して戻る操作を妨げる実装は、以前より機能しにくくなっていると考えるのがよいでしょう。
検索だけでなく広告のリンク先審査にも関わる
戻る操作を妨げるサイトについては、Google 広告のリンク先の利便性のポリシーにも記述があります。
「不必要に操作しにくい、または操作にストレスを伴うリンク先またはコンテンツ」という項目があり、その例のひとつとして「ブラウザの『戻る』ボタンが無効であるかその操作を妨げるサイト」が挙がっています。
ユーザーを引き止めることに、本当に価値はあるのか
ここで一度考えたいのが、そもそもユーザーをサイトに引き止めること自体に、どれだけの価値があるのかという点です。
サイト運営者としては、滞在時間が長くなり、より多くのページを見てもらえればコンバージョンにつながる可能性も高まると考えたくなります。実際、その発想から離脱防止の仕組みを取り入れているサイトもあるでしょう。
しかし、ユーザーがその場で離脱することと、商品やサービスに興味がないことは同じではありません。
一度サイトを閉じて、他の商品と比較したり、価格や条件を吟味したりする時間が必要な場合もあります。初回に訪れた時点では申し込みをしないだけで、商品そのものを不要だと判断したわけではないかもしれません。
また、すぐに購入や問い合わせをするのではなく「まずは資料をダウンロードしたい」、「今はメルマガを購読して情報を集めたい」と考えているユーザーもいます。
そう考えると、重要なのは「どうすれば離脱させないか」ではなく、ユーザーが次の行動を取りやすい状態を作れているかです。
もし離脱率そのものを改善したいのであれば、ブラウザの戻る操作を妨げるような仕掛けを入れるよりもファーストビューや CTA から見直すほうが、本質的な改善につながります。
ユーザーをその場に留めることよりも、必要な情報を分かりやすく提示し、納得して次の行動を選べるようにすること。それが、結果としてコンバージョンに繋がるはずです。
