Chromeがウェブサイトから読み取れる位置情報には2種類あります。1つはブラウザの位置情報で、サイトが許可を求めた後にGeolocation APIを通じて取得する正確な位置です。もう1つはIPの位置情報で、あなたのIPアドレスが示す場所であり、どのサイトも許可を求めることなく確認できます。Chromeで位置情報を正しく変更するには、両方を変更する必要があります。ブラウザの位置情報は組み込みのDevTools Sensorsパネルで、IPの位置情報は目的の場所にあるレジデンシャルプロキシで変更します。
このガイドでは、各方法を順を追って説明し、それぞれが何を変更し何を変更しないかを示し、ローカル検索結果の確認などのタスクのために両者を組み合わせる方法を解説します。
各方法が変更する対象
| 方法 | ブラウザの位置情報 | IPの位置情報 | タイムゾーンと言語 | 適用範囲 |
|---|---|---|---|---|
| DevTools Sensors | あり | なし | 任意 | DevToolsが開いている間、1つのタブのみ |
| サイト設定での位置情報ブロック | ブロック | なし | なし | 全サイトまたは選択したサイト |
| Chromeの言語設定 | なし | なし | 言語のみ | 全サイト |
| プロキシ | なし | あり | なし | ブラウザの全トラフィック |
| Sensors + プロキシ | あり | あり | あり | 1つのタブ、ローカル環境を完全に再現 |
この表は「うまくいかない」という報告の多くを説明しています。位置情報を要求するサイトはSensorsの位置情報を認識します。一方、ほとんどのサイトのように、位置情報を一切要求しないサイトは、IPの位置情報しか見ません。
方法1: DevTools Sensorsでブラウザの位置情報を変更する
Chromeの開発者ツールは、ブラウザが報告する位置を上書きできます。インストールの必要はありません。
- テストしたいページを開きます。
- DevToolsを開きます。F12キー、Windows・Linuxの場合はCtrl+Shift+I、Macの場合はCmd+Option+Iを押します。
- Ctrl+Shift+P(MacではCmd+Shift+P)でCommand Menuを開き、sensorsと入力してShow Sensorsを選択します。DevToolsの三点メニューからMore tools > Sensorsを選んでも構いません。
- Locationセクションで、Berlin、London、Mumbai、Tokyoなどのプリセット都市を選びます。
- それ以外の場所の場合はOtherを選び、緯度と経度を入力します。
Europe/ParisのようなTimezone IDや、fr-FRのようなLocaleも設定できます。 - ページを再読み込みし、サイトが要求したら位置情報へのアクセスを許可します。
後で使うために都市を保存するには、リストの横にあるManageをクリックし、名前を付けて追加します。この上書きはDevToolsが開いているタブにのみ適用され、DevToolsを閉じると解除されます。
これが変更しないもの: あなたのIPアドレスです。IPを確認するサイトは、依然としてあなたを自宅にいると判定します。そのため、Sensorsのトリックは地図や店舗検索では機能しますが、動画配信サイトや国別価格を設定しているショップ、IPを先に読み取る検索エンジンでは機能しないことが多いのです。
方法2: どのサイトに位置情報を渡すかを制御する
Chromeでは、どのサイトに位置情報を要求させるかを完全に決めることができます。
- Settings > Privacy and security > Site settings > Locationに移動します。
- サイトが位置情報を要求できるようにするか、すべてブロックするかを選びます。
- サイトのリストから、停止したいサイトを削除またはブロックします。
ブロックしても、あなたの居場所が隠れるわけではありません。正確な位置情報の取得だけが止まり、サイトはIPにフォールバックしますが、それでも通常はあなたの都市や地域が判明します。
サイトが見る言語を変更するには、Settings > Languagesに移動し、優先する言語を一番上に移動します。Chromeはこの言語をすべてのリクエストとともに送信し、多くのサイトはこれを使ってページのバージョンを選びます。
方法3: プロキシでIPの位置情報を変更する
すべてのサイトで別の国や都市からの訪問者に見せるには、IPを変更します。プロキシはChromeのトラフィックを別のアドレス経由で送出し、サイトはあなたのIPではなくそのアドレスを見ることになります。
最も手早い方法は、サインインを処理しワンクリックでオン・オフを切り替えられるプロキシ拡張機能です。ChromeおよびFirefox向けのShifterブラウザ拡張機能は、Shifterのレジデンシャルネットワークに接続し、国、州、都市、ISPを選ぶことができます。拡張機能を使わない場合は、コンピューターの設定でプロキシを設定するか、コマンドラインフラグ付きでChromeを起動することもできます。Google Chromeでプロキシを設定する方法のガイドでは、この3つの方法すべてを解説しています。
レジデンシャルプロキシは家庭用回線を使用するため、サイトからは地元のISPの一般家庭のIPとして見えます。データセンターやVPNのアドレスはサイトから見分けられやすく、一部のサイトはそれらに対して異なるページを表示します。
両方を組み合わせて完全なローカル環境を再現する
きれいな結果を得るには、すべてのシグナルが同じ場所を指している必要があります。BerlinのIPにNew Yorkのタイムゾーン、英語のロケールという組み合わせは、複数のシグナルを確認するサイトにとっては不自然に見えます。
- 必要な都市、例えばBerlinにプロキシを接続します。
- DevTools > Sensorsを開き、Berlin、タイムゾーン
Europe/Berlin、ロケールde-DEを設定します。 - ドイツ語のページを表示したい場合は、Chromeの言語設定でドイツ語を一番上にします。
- ip-info.comを開いて、IPがBerlinを示していることを確認してから、サイトを読み込みます。
プロキシの位置情報、タイムゾーン、ロケールを一致させるというガイドでは、自動化されたブラウザでもこれらを同期させておく方法を紹介しています。
別の都市からGoogleの検索結果を確認する
これはChromeで位置情報を変更する最も一般的な理由です。Googleはいくつかの情報源からあなたの位置を判断します。IP、google.comに許可を与えた場合のブラウザからの正確な位置情報、そしてGoogleアカウントに保存されている場所です。
実践的な設定は以下の通りです。
- 保存された場所や検索履歴が結果に影響しないよう、ゲストウィンドウかサインインしていないプロファイルを開きます。
- IPを一致させるため、対象の国または都市にあるプロキシを使います。
- Sensorsで同じ都市を設定し、google.comでの位置情報アクセスを許可します。
- 検索結果ページの下部を確認します。通常、Googleが使用した位置情報が表示されています。
国を指定するには、検索URLに&gl=deを追加するとドイツの検索結果が要求され、&hl=deはインターフェースの言語を設定します。どちらも都市までは指定できず、それはIPと正確な位置情報から決まります。多くの都市について定期的に順位を確認する場合、手作業では対応しきれません。レジデンシャルプロキシを使ったSEOモニタリングのページでは、チームが実際のローカルIPから同じチェックを実行する方法を紹介しています。
これは許可されているのか
ブラウザが報告する内容を変更することは、一般的なテストおよびプライバシー保護の手段であり、開発者は日常的に行っています。新しい位置情報を使って何をするかについては、依然として法律と各サイトの利用規約、特に地域ごとにライセンスされたコンテンツに関する規約に従う必要があります。地理的制限を合法的に回避する方法のガイドでは、通常どこに一線が引かれるかを解説しています。
まとめ
Chromeには2種類の位置情報があり、ほとんどのガイドは一方しか変更しません。DevTools Sensorsは、無料で1分もあれば、1つのタブのブラウザの位置情報を変更します。プロキシは、すべてのサイトが見るIPの位置情報を変更します。地図や店舗検索であればSensorsで十分です。価格やカタログ、検索結果についてはIPを変更し、すべてのシグナルを一致させる必要がある場合はさらにSensorsを併用してください。