(2026年11月更新:現在の macOS 向けに書き直し、「Macで表示できるサイトを制限する(hosts 切り替え)アプリ」の内容をこの記事にまとめました)
仕事中についニュースや SNS を見てしまう、というときに、特定のサイトを表示できないようにする方法です。
ブロックしたいサイトを登録して時間を決めると、その時間が過ぎるまで すべてのブラウザで サイトが表示されなくなります。
brew install --cask selfcontrol
アップルメニュー →「システム設定」→「スクリーンタイム」→「コンテンツとプライバシー」をオン
→「ストア、Web、Siri、Game Center のコンテンツ」→「Web コンテンツ」
「成人向け Web サイトを制限」を選び、「カスタマイズ...」の「制限」に見たくないサイトを追加します。スクリーンタイムのパスコードを設定しておくと、勝手に解除しにくくなります。
アプリを使わずにブロックする方法です。
sudo nano /etc/hosts
ファイルの最後に、ブロックしたいサイトを次のように追加して保存します(control + O で保存、control + X で終了)。
0.0.0.0 www.example.com
0.0.0.0 news.example.com
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
元に戻すときは、追加した行を消して同じコマンドを実行します。
https://github.com/2ndalpha/gasmask
「仕事用」「休日用」など複数の hosts ファイルを作って、メニューバーから切り替えられるアプリです。長く更新されていないため、新しい macOS で動かない場合は上の方法を使ってください。
(2026年11月更新:Safari の拡張機能の仕組みが変わったため書き直しました)
今の Safari の拡張機能は、Mac App Store からアプリとして入れます。
Safari のメニューの「Safari 機能拡張…」から App Store を開くこともできます。
https://apps.apple.com/app/id6745342698
macOS 15 以降で使えます。広告ブロックは1つだけ使うようにしてください。
https://adguard.com/ja/adguard-mac/overview.html
以前は拡張機能が必要でしたが、今は Safari の標準機能です。command + + で拡大すると、サイトごとに記憶されます。 「Safari」→「設定…」→「Web サイト」の「ページの拡大/縮小」で確認できます。
以前紹介していた uBlock(旧版)、Format Link、DefaultZoom などは、古い形式の拡張機能なので今の Safari では使えません。