拡張機能なしでChromeのサイトをブロックする方法:ポリシー・ファミリーリンク・hostsファイルを比較

拡張機能なしでChromeのサイトをブロックする方法

拡張機能なしで Chrome のサイトをブロックする方法は、主に4つあります。Chrome に組み込まれた URLBlocklist ポリシー、お子様のアカウント向けの Google ファミリー リンク、パソコンの hosts ファイル、そしてルーターや DNS でのフィルタリングです。どれも実際にサイトをブロックできますが、管理者権限や保護者のアカウントが必要で、「平日の仕事中だけブロックする」といった時間指定はできません。この記事では、それぞれの設定手順と、Chrome の「サイトの設定」やセーフサーチではブロックできない理由、そして拡張機能を使ったほうが簡単なケースを解説します。

拡張機能:https://chromewebstore.google.com/detail/website-blocker/kniediipngcpmbmpeacaoinhoeipfina?hl=ja

拡張機能なしで Chrome のサイトはブロックできる?

はい、できます。Chrome の通常の設定画面には「このサイトをブロックする」というボタンはありませんが、ブラウザのメニューの外にある仕組みを使えば、Chrome で特定のサイトをブロックできます。

  • Chrome のポリシー(URLBlocklist):企業や学校が使っている、Chrome 標準の管理者向けの方法です。そのパソコンのすべての Chrome プロファイルでサイトをブロックします。
  • Google ファミリー リンク:保護者が、お子様の管理対象の Google アカウントでブロックするサイトと許可するサイトを管理します。
  • hosts ファイル:OS のファイルで、そのパソコン上のすべてのブラウザとアプリで特定のドメインを開けなくします。
  • ルーター・DNS でのフィルタリング:自宅のネットワークにつながるすべての端末で、特定のドメインをブロックします。

以下では、Chrome 自体に組み込まれている方法から順に説明します。

URLBlocklist ポリシーで Chrome の特定のサイトをブロックする設定

Chrome は、管理者がブラウザの外から設定する「ポリシー」を読み込みます。URLBlocklist ポリシーには URL のパターンを一覧で登録でき、一致するページは Chrome で開けなくなります。古い解説記事では URLBlacklist と書かれていることがありますが、現在の名前は URLBlocklist です。例外を指定するポリシーも URLWhitelist から URLAllowlist に名前が変わりました。設定には管理者権限が必要で、手順は OS によって異なります。

Windows:レジストリに URLBlocklist を追加する

  1. Windows キー + R を押し、「ファイル名を指定して実行」に regedit と入力して、管理者の確認画面で許可します。
  2. HKEY_LOCAL_MACHINE\SOFTWARE\Policies を開きます。まだなければ、その中に Google、さらに Chrome、さらに URLBlocklist というキーを作成します(右クリック →「新規」→「キー」)。最終的なパスは HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\URLBlocklist です。
  3. URLBlocklist の中で、ブロックしたいサイトごとに「新規」→「文字列値」を追加します。1つ目の名前を 1 にして、値のデータに youtube.com などのパターンを入力します。サイトを増やすときは 2、3…と続けます。
  4. Chrome を再起動するか、chrome://policy を開いて「ポリシーを再読み込み」をクリックします。

コマンドで設定したい場合は、管理者として開いたコマンド プロンプトで次の1行を実行しても同じ結果になります:reg add "HKLM\SOFTWARE\Policies\Google\Chrome\URLBlocklist" /v 1 /t REG_SZ /d "youtube.com" /f。サイトを追加するときは、値の名前を /v 2、/v 3 のように変えます。

Linux:policies フォルダに JSON ファイルを置く

Linux 版の Google Chrome は、/etc/opt/chrome/policies/managed/ にあるポリシーファイルを読み込みます。sudo mkdir -p /etc/opt/chrome/policies/managed でフォルダを作り、その中に blocklist.json などの名前で次の内容のファイルを(sudo で)保存します。

{"URLBlocklist": ["youtube.com", "facebook.com", "reddit.com"]}

Chrome を再起動するか、chrome://policy でポリシーを再読み込みします。ファイルは正しい JSON 形式である必要があり、読み込めない場合は chrome://policy にポリシーが表示されません。

macOS:構成プロファイルを使う

Mac では、Chrome のポリシーは com.google.Chrome を対象とした構成プロファイルで配布するのが基本で、通常は MDM(モバイルデバイス管理)ツールから配信します。すでに Mac を一括管理している学校や企業には適した方法ですが、個人の Mac 1台のためには準備が大がかりです。その場合は、後述の hosts ファイルか拡張機能のほうが手軽に Chrome のサイトをブロックできます。

URL パターンの書き方

  • example.com と書くと、そのドメインとすべてのサブドメインがブロックされます。たとえば youtube.com なら www.youtube.com や m.youtube.com もブロックされます。
  • 先頭にドットを付けた .example.com は、そのホストだけをブロックし、サブドメインはブロックしません。
  • example.com/games のようにパスを付けると、サイトのその部分だけをブロックできます。
  • * はすべてのサイトをブロックします。URLAllowlist と組み合わせれば、「指定したサイトだけ開ける」Chrome にできます。
  • URLAllowlist は例外を指定するポリシーです。設定方法は同じで(Windows では URLAllowlist キー、JSON では "URLAllowlist" のリスト)、許可したパターンは一致するブロックより優先されます。

ポリシーが効いているか確認する

chrome://policy を開き、URLBlocklist に登録したサイトが表示され、ステータスが「OK」になっていることを確認します。続けてブロックしたサイトを開いてみてください。ERR_BLOCKED_BY_ADMINISTRATOR というエラーコードとともに、管理者(組織)によってページがブロックされている旨のエラー画面が表示されます(文言は Chrome のバージョンによって異なります)。また、Chrome のメニューや設定画面に「組織によって管理されています」といった表示が出ます。これはポリシーが1つでも設定されていれば表示されるもので、すべてのポリシーを削除すると消えます。

ポリシーで設定する方法の注意点

  • 管理者権限が必要:標準ユーザーのアカウントでは設定できません。逆にいえば、標準ユーザーが簡単に解除することもできません。
  • 全員に適用される:そのパソコンのすべての Chrome プロファイルで、シークレット ウィンドウも含めてブロックされます。同じパソコンで「ある人にだけブロックする」ことはできません。
  • 時間指定や制限はない:サイトは「常にブロック」か「ブロックしない」のどちらかです。「30分使ったらブロック」や「平日9時〜17時だけブロック」といった設定はできません。
  • Chrome だけが対象:同じパソコンのほかのブラウザには影響しません(Microsoft Edge には、Edge 用のレジストリキーに同じ名前のポリシーがあります)。
  • エラー画面は変えられない:表示されるメッセージを自分で変更することはできません。

ポリシーでできるのはサイトのブロックだけではありません。Windows では、同じレジストリの場所から拡張機能を強制インストールし、Chrome から削除できないようにすることもできます。時間指定や回数制限のブロックを、アンインストールされない形で使いたい場合は、Windows のレジストリでウェブサイトブロッカーの削除を防ぐ方法をご覧ください。

お子様が見るサイトを制限したい場合は、そのために作られた Google ファミリー リンクが適しています。お子様の Google アカウントを保護者のアカウントで管理する設定にしておけば、ファミリー リンク アプリ、またはウェブ版のファミリー リンクから Chrome の設定を管理できます。

  1. ファミリー リンクを開き、お子様を選択します。
  2. コンテンツの制限(管理)から「Google Chrome」の設定を開きます。
  3. すべてのサイトを許可する、不適切なサイトのブロックを試みる、承認したサイトのみ許可する、のいずれかを選びます。
  4. サイトの管理画面を開き、「ブロック済み」のリストにアドレスを追加します(承認したサイトのみ許可する設定にした場合は「承認済み」のリストに追加します)。

Google はこれらのメニュー名をときどき変更するため、お使いのアプリでは表記が少し異なる場合があります。設定は、Android の Chrome と、お子様が管理対象のアカウントでログインしているパソコンの Chrome に適用されます。ほかのブラウザや、お子様のアカウントにログインしていない状態の Chrome には適用されないため、共用のパソコンではポリシーや hosts ファイルと組み合わせて使いましょう。

hosts ファイルで Chrome のサイトをブロックする

hosts ファイルは、パソコンが DNS サーバーに問い合わせる前に、ドメイン名と IP アドレスを対応付けるファイルです。ドメインを 0.0.0.0 に向けると、Chrome でもほかのアプリでも、そのパソコンではサイトが開けなくなります。

  1. 管理者権限でファイルを開きます。Windows では C:\Windows\System32\drivers\etc\hosts です。メモ帳を右クリックして「管理者として実行」し、「開く」画面でファイルの種類を「すべてのファイル」にして開きます。macOS と Linux では /etc/hosts です。ターミナルで sudo nano /etc/hosts を実行します。
  2. ファイルの末尾に、ホスト名ごとに1行ずつ追加します:
    0.0.0.0 example.com
    0.0.0.0 www.example.com
  3. ファイルを保存します。
  4. Chrome を再起動します。それでもサイトが開く場合は、DNS キャッシュをクリアするか(Windows では管理者のコマンド プロンプトで ipconfig /flushdns、Mac ではターミナルで sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder)、パソコンを再起動します。

使う前に知っておきたいポイントです。

  • ワイルドカードは使えない:ホスト名ごとに1行必要です。example.com をブロックしても www.example.com や m.example.com はブロックされないので、見かけたアドレスはすべて書き加えます。
  • ドメイン単位のみ:特定のページやパスだけをブロックすることはできません。
  • すべてのブラウザとアプリに影響:ほかのブラウザや、そのドメインを使うアプリもすべてブロックされます。誘惑を断つには便利ですが、必要なアプリが動かなくなることもあります。
  • 管理者権限が必要:編集には管理者権限が必要で、管理者権限を持つ人なら誰でも元に戻せます。

ルーター・DNS でネットワーク全体をフィルタリングする

家庭用ルーターの多くは、管理画面にペアレンタルコントロールや URL(ドメイン)フィルターの機能を備えています。また、ブロックリストを登録したり、カテゴリ単位でブロックしたりできる DNS サービスもあります。一度設定すれば、スマートフォンやタブレットを含め、そのネットワークにつながるすべての端末に適用されます。ただし、使える機能はルーターやサービスによってまったく異なり、ブロックは通常ページ単位ではなくドメイン単位です。また、端末がそのネットワークから離れたり、モバイルデータ通信に切り替えたりすると効かなくなります。ブラウザ単位のブロックとの違いは、ウェブサイトブロッカーとは何か、その仕組みの解説記事で詳しく紹介しています。

Chrome でサイトをブロックできない設定

次の2つは、名前からブロックできそうに見えますが、サイトをブロックする機能ではありません。

  • サイトの設定(設定 →「プライバシーとセキュリティ」→「サイトの設定」):サイトに何を許可するか(通知、ポップアップ、位置情報、カメラなど)を管理する画面です。サイトからの通知は止められますが、サイトを開けなくすることはできません。
  • セーフサーチ:Google 検索の結果から露骨な表現を含むものを除外する機能です。サイトそのものはブロックしないため、アドレスを直接入力すればページは開きます。

Android・iPhone の Chrome でサイトをブロックするには

Android と iPhone の Chrome では拡張機能が動作しないため、拡張機能でサイトをブロックすることはできません。Android では、お子様のスマートフォンであれば前述のファミリー リンクが現実的な選択肢です。iPhone では、Apple のスクリーンタイムにある Web コンテンツの設定で、「常に許可しない」サイトを追加できます(メニュー名は iOS のバージョンによって異なります)。ルーターや DNS でのフィルタリングもスマートフォンに効きますが、自宅のネットワークにつながっている間だけです。

比較:拡張機能なしで Chrome のサイトをブロックする方法

方法向いている人管理者権限時間指定ほかのブラウザもブロック解除のしやすさ
Chrome のポリシー(URLBlocklist)家族共用・職場のパソコン必要不可しない(Chrome のみ)管理者だけが解除できる
Google ファミリー リンク管理対象アカウントを持つお子様の保護者保護者の Google アカウントサイトのリストには不可しない(Chrome のみ)保護者のアカウントからのみ
hosts ファイル1台のパソコンの全ブラウザ必要不可する(全ブラウザ・アプリ)管理者だけが解除できる
ルーター・DNS家庭のネットワーク全体ルーターや DNS サービスの管理アクセスルーターやサービスによるする(そのネットワーク内)ルーターの管理者のみ
ウェブサイトブロッカー拡張機能(参考)パソコンのブラウザで自分の集中を守りたい人不要可能しない(Edge 版・Firefox 版もあり)ツールバーから簡単(パスワードでロック可能)

拡張機能のほうが向いているケース

ここまで紹介した方法は、管理者や保護者のためのものです。強力ですが、「常にブロックするか、しないか」の二択になります。自分自身の集中のためにサイトをブロックしたいなら、拡張機能のほうが合っていることが多いでしょう。

  • 時間指定:スケジュールによるブロックで、選んだ曜日と時間帯だけサイトをブロックできます。
  • 利用時間の制限:「時間ベースのブロック」と柔軟なブロックルールで、決めた分数だけ使えるようにして、その後ブロックできます。
  • 回数制限:試行回数ベースのブロックで、数回だけ開けるようにして、その後ブロックできます。
  • ブロック画面のカスタマイズ:そっけないエラー画面ではなく、自分で決めたメッセージを表示したり、作業用のサイトにリダイレクトしたりできます。
  • ホワイトリストモード:ポリシーファイルを編集しなくても、許可したサイト以外をすべてブロックできます。
  • 管理者権限が不要:レジストリや hosts ファイルを編集できない会社や学校のパソコンでも使えます。
  • すぐに変更できる:ツールバーから数秒でサイトを追加・削除でき、Chrome の再起動も不要です。

ただし、拡張機能はユーザー自身がオフにしたり削除したりできる点は正直にお伝えしておきます。ウェブサイトブロッカーでは、パスワードで設定をロックでき、シークレット モードでもブロックするには「シークレット モードでの実行を許可する」をオンにします。さらに、前述のポリシーで強制インストールすれば削除できなくなります。拡張機能のインストールからサイトの追加、ブロックタイプの選び方までは、Chrome でサイトをブロックする方法の記事で手順を追って解説しています。

まとめ

拡張機能なしでも、Chrome のサイトはブロックできます。自分が管理するパソコンなら URLBlocklist、お子様のアカウントならファミリー リンク、1台のパソコンの全ブラウザなら hosts ファイル、家庭のネットワーク全体ならルーターが向いています。どれも管理者や保護者が設定する、常にオンの強力なブロックです。自分のためにサイトをブロックしたい、時間指定や利用時間の制限を使いたい、管理者権限がない、という場合は、無料のサイトブロック拡張機能を Chrome ウェブストアからお試しください。

よくある質問:

  1. 1. 拡張機能なしで Chrome のサイトをブロックできますか?

    はい、できます。Chrome の URLBlocklist ポリシー(Windows はレジストリ、Linux は JSON ファイル、Mac は構成プロファイル)を設定する、お子様の管理対象アカウントに Google ファミリー リンクを使う、パソコンの hosts ファイルにサイトを追加する、ルーターや DNS サービスでフィルタリングする、といった方法があります。いずれも管理者権限や保護者のアカウント、ルーターの管理アクセスが必要で、特定の時間帯だけブロックすることはできません。

  2. 2. Windows のレジストリで Chrome の特定のサイトをブロックするにはどうすればよいですか?

    regedit を管理者として開き、HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\URLBlocklist を開きます(キーがなければ作成します)。名前を 1、データを youtube.com などのサイトにした文字列値を追加し、サイトを増やすときは 2、3…と続けます。Chrome を再起動するか、chrome://policy で「ポリシーを再読み込み」をクリックすると、ブロックしたページに ERR_BLOCKED_BY_ADMINISTRATOR と表示されます。

  3. 3. サイトをブロックしたら Chrome に「組織によって管理されています」と表示されました。なぜですか?

    パソコンに Chrome のポリシーが1つでも設定されていると、この表示が出ます。追加した URLBlocklist ポリシーもその1つです。想定どおりの表示で、ほかの誰かがブラウザを管理しているという意味ではありません。Chrome のポリシーをすべて削除すると表示は消えます。

  4. 4. Chrome の「サイトの設定」でサイトをブロックできますか?

    できません。「サイトの設定」は、通知、ポップアップ、位置情報、カメラなど、サイトに何を許可するかを管理する画面で、サイトを開けなくすることはできません。セーフサーチも Google 検索の結果から露骨な表現を含むものを除外するだけで、サイトはブロックしません。

  5. 5. hosts ファイルでのブロックはすべてのブラウザで有効ですか?

    はい。hosts ファイルは OS レベルで働くため、0.0.0.0 example.com のような行を追加すると、そのパソコンの Chrome、ほかのブラウザ、アプリのすべてでそのドメインがブロックされます。ワイルドカードは使えないので、www.example.com などのサブドメインも1行ずつ追加します。それでも開く場合は、Chrome を再起動するか DNS キャッシュをクリアします。

  6. 6. 拡張機能なしで Chrome のサイトを時間指定でブロックできますか?

    Chrome の標準機能ではできません。URLBlocklist ポリシー、ファミリー リンクのサイトリスト、hosts ファイルは、いずれも常にサイトをブロックします。ルーターによっては時間指定のフィルターがあります。Chrome で曜日や時間帯を指定したブロック、利用時間や回数の制限をしたい場合は、ウェブサイトブロッカーのような拡張機能が必要です。

  7. 7. Android や iPhone の Chrome でサイトをブロックするにはどうすればよいですか?

    Android と iPhone の Chrome では拡張機能が動作しません。Android では、Google ファミリー リンクを使えば保護者がお子様の管理対象アカウントでサイトをブロックできます。iPhone では、スクリーンタイムの Web コンテンツの設定で「常に許可しない」サイトを追加できます。ルーターや DNS でのフィルタリングも、自宅のネットワークにつながっている間は有効です。