2026年9月14日
2026年9月14日
ブラウザのDNSキャッシュをクリアする方法(Chrome・Edge・Firefox・Safari)
ブラウザのDNSキャッシュは、ChromeやEdgeなら内部ページ(chrome://net-internals/#dns など)、Firefoxなら about:networking#dns から消せます。Safariには専用の画面が無く、macOS本体のDNSキャッシュを消します。ただし、DNSキャッシュを消しても、開いたままの接続やOS側のキャッシュ、ブラウザ独自のDNS over HTTPS設定が残っていると、古いサーバーに接続し続けることがあります。この記事では、ブラウザごとの消し方と、消しても変わらないときに確認する順番を説明します。
消す前に:本当にブラウザのDNSが原因か確かめる
サーバー移転やDNSの切り替え直後に「ブラウザだけ古いサイトが出る」ときは、まずブラウザが実際にどのIPへ接続しているかを確認します。Chrome・Edge・Firefoxでは、開発者ツール(F12)のネットワークタブで対象のリクエストを選ぶと、接続先のアドレス(Chromeでは「Remote Address」など)が表示されます。表示名はバージョンによって異なることがあります。
このIPを、ターミナルで調べた結果と比べます。
dig +short www.example.com A
接続先のIPが新しいサーバーなのに古い内容が表示される場合は、DNSではなくブラウザのページキャッシュや、WordPressのキャッシュプラグイン、CDNのキャッシュが原因です。DNSキャッシュを消しても解決しないので、そちらのキャッシュを確認してください。接続先が古いIPのままなら、この記事の手順に進みます。
Chrome・Edge でクリアする
ChromeやEdgeなどChromium系のブラウザは、OSとは別に自前のDNSキャッシュ(ホストキャッシュ)を持っています。アドレスバーに次を入力して開きます。
chrome://net-internals/#dns
edge://net-internals/#dns
画面にある「Clear host cache」のボタンでキャッシュを消します。続けて、同じ画面の左側にある Sockets の項目(chrome://net-internals/#sockets)を開き、「Flush socket pools」を押します。
ソケットの消去が必要なのは、ブラウザが一度確立した接続をしばらく使い回すためです。DNSキャッシュを消しても、古いサーバーへの接続が開いたままなら、そのまま古いサーバーと通信します。両方を消してからページを再読み込みしてください。
以前のChromeではこの画面にキャッシュの一覧が表示されていましたが、現在は一覧は無く、ホスト名を入力して解決結果を確かめる機能が残っています(2026年10月現在)。ボタン名や画面構成は今後も変わる可能性があります。Brave、Vivaldi、OperaなどもChromium系のため、多くは同じ内部ページで操作できます。
Firefox でクリアする
Firefoxでは、アドレスバーに次を入力します。
about:networking#dns
キャッシュされているホスト名とIPの一覧が表示され、「Clear DNS Cache」のボタンで消せます。Firefoxは一覧を確認できるので、目的のホスト名が古いIPで残っているかを見てから消すと、原因の確認にもなります。
Firefoxはブラウザを終了して起動し直してもDNSキャッシュが消えます。この方法では、開いているウィンドウをすべて閉じてプロセスを終わらせる必要がある点に注意してください。
Safari の場合
Safariには、DNSキャッシュだけを消す画面がありません。名前解決はmacOSのmDNSResponderに任せているため、macOS側のキャッシュを消します。
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
その後、Safariを終了して開き直します。Safariの開発メニューにある「キャッシュを空にする」はページなどのキャッシュを消す機能で、DNSキャッシュとは別物です。iPhoneやiPadでは、機内モードのオン・オフや再起動でネットワーク周りの状態がリセットされることが多いです。
消しても古いサーバーにつながるとき
ブラウザのDNSキャッシュを消しても変わらない場合は、次の順で確認します。
1. ブラウザの「セキュアDNS」(DoH)設定
Chrome、Edge、Firefoxには、DNS over HTTPS(DoH)でブラウザ自身が特定のDNSサービスに問い合わせる機能があります。有効になっていると、OSのDNS設定やhostsファイルを経由しない場合があり、OS側で正しい結果が出ていてもブラウザだけ違う結果になります。Chromeでは「プライバシーとセキュリティ」→「セキュリティ」の中の「セキュアDNSを使用する」、FirefoxではプライバシーとセキュリティのDNS over HTTPSの設定から確認できます。項目の位置や名称はバージョンによって異なります。切り分けの間だけ「現在のサービスプロバイダ」を使う設定にすると、OSと同じ経路で問い合わせるようになります。
2. OSのDNSキャッシュとhostsファイル
ブラウザはOSのリゾルバを使うことが多いため、OSのキャッシュに古い値が残っていると、ブラウザのキャッシュを消してもまた古い値を受け取ります。Windowsでは ipconfig /flushdns、macOSでは前述のコマンドで消します。hostsファイルにテスト用の行を書いたまま忘れているケースもよくあります。
3. ルーターやプロバイダーのキャッシュ
PCのOSより上流にも、TTLの間は古い値が残ります。dig で権威DNSサーバーと手元のDNSサーバーの結果を比べ、上流が古ければ、TTLが切れるのを待つことになります。
4. その他のブラウザ側の要因
拡張機能(VPN、プロキシ、広告ブロック系)がDNSや接続先を変えていることがあります。シークレットウィンドウやプライベートウィンドウではページのキャッシュやCookieの影響を避けられますが、DNSのキャッシュや接続は通常のウィンドウと共有されることがあるため、DNSの切り分けにはブラウザの再起動のほうが確かです。
サイト移転の確認に使うときのコツ
WordPressのサーバー移転では、DNSを切り替える前にhostsファイルで新しいサーバーを指定して表示を確認する方法がよく使われます。hostsを編集したら、ブラウザのDNSキャッシュとソケットを消してから確認し、作業後はhostsの行を消して、もう一度ブラウザ側のキャッシュも消しておきます。消し忘れると、本番のDNSを切り替えたあとも自分だけ違うサーバーを見ている、という状態になります。
まとめ
- Chrome・Edgeは
net-internalsの DNS で「Clear host cache」、Sockets で「Flush socket pools」の両方を行う。 - Firefoxは
about:networking#dnsで一覧を確認してから「Clear DNS Cache」で消せる。 - SafariはmacOS本体のDNSキャッシュを消してからSafariを開き直す。
- 消す前に開発者ツールで接続先IPを確認し、DNSが原因かどうかを見極める。
- 消しても変わらないときは、ブラウザのセキュアDNS、OSのキャッシュとhosts、上流のキャッシュ、拡張機能の順に確認する。