WebサイトデータやCookieを消さずにMac Safariの履歴を全て消去する

通常、Mac Safariで「履歴を消去」を実行した場合、履歴だけではなくWebサイトデータやCookie情報なども消える。

そのためログイン済みのサイトからはログアウトされ、Webサイトの設定なども全部デフォルトに戻ってしまう。

ここでは小技ではあるが極簡単にWebサイトデータやCookieは残したままで履歴のみを消去する方法を2通り紹介する。

キーボードショートカットの追加で削除する方法

まずシステム環境設定から「キーボード」の設定を開く。

左パネルから「アプリケーション」を選択し「+」ボタンをクリックする。

上記画面が出るので「アプリケーション」で「Safari」を追加し、「メニュータイトル」に下記の一文を入力する。

履歴を消去…

この文字は一字一句同じでなければならないので注意しよう。

その後、適当なキーボードショートカット(何でも構わない)を割り当て「追加」をクリックする。

最終的に上記のような画面になればOKだ。

続いてSafariのメニューバーから「Safari」をクリックすると新たに「履歴を消去(Webサイトデータは保持)」というオプションが現れるのでクリック。

上記画面が出るので消去したい履歴の期間を指定して「履歴を消去」を実行すればWebサイトデータを保持したまま履歴だけを消去できる。

履歴全選択・Command+Deleteで一括消去する方法

前述とは違う方法として手動で履歴だけを選択して消去する方法がある。

まずメニューバーの「履歴」>「すべての履歴を表示」の画面から「Command+A」キーを押して履歴を全部選択し、「Coomand+Delete」で削除を実行する。

macOS Catalina及びSafari 13ではバグにより上記の操作を実行しても一部の履歴は消えない場合があるが、大抵の履歴はさっぱり消えるはずだ。

もちろんWebサイトデータやCookieなどは保持される。

Command+Aで全履歴を選択しCommand+Deleteで削除
macOS Catalina+Safari 13ではバグにより一部の履歴は残る

注意点として履歴が膨大な数に上る場合は削除までしばらくSafariやmacOSが固まる場合があるということ。

この方法の利点としてはCommandキーを押しながらクリックすれば選んだ履歴だけを個別に消去できるという点だ。

一つ目の方法が上手くいかなったり、特定の履歴だけを消去したい場合はこの方法を試してみてほしい。

おまけ:Mac Safariの履歴ファイルの場所

ところでそもそもMac Safariの履歴ファイルはどこにあるのか?

通常はSafariの履歴はクラウド上に存在

通常、iCloudでSafariを有効にしている場合は履歴はクラウド上に保存されている。

ただし、ローカルにも履歴ファイルは存在し、これらのファイルをどこかに保存しておくことでバックアップとして利用可能だ。

なおローカルの履歴ファイルのバックアップが有効なのはiCloudでSafariを無効にしている場合に限られる。

ローカルファイルを優先させるには上記画像のようにiCloudのSafariのチェックを外してクラウドを無効にする必要がある。

履歴ファイルの場所

では肝心の履歴ファイルの場所とバックアップ方法を紹介する。

Safariのフォルダは通常のウィンドウ操作ではたどり着けないため、Finderを起動しメニューバーの「移動」>「フォルダへ移動」から以下のパスを入力してSafariフォルダを表示させる。

~/ライブラリ/Safari

フォルダが表示されたら以下の4つのファイルを探す。

これらがローカルの履歴ファイルだ。

  • History.db
  • History.db-lock
  • History.db-shm
  • History.db-wal

あとは上記ファイルをどこかに保存してバックアップしておけば履歴のバックアップは完了だ。

ただ、実験してみた限り上記4つのファイルをバックアップしたとしても正常に履歴を復元できないことがあったため、あくまで保険程度に考えておいた方がいいだろう。

また、Webサイトデータや開いているタブなどのデータもバックアップするなら以下のファイル・フォルダをバックアップしてもいいだろう。

  • CloudTabs.db
  • CloudTabs.db-shm
  • CloudTabs.db-wal
  • CloudHistoryRemoteConfiguration.plist
  • LocalStorageフォルダ

冒頭でも書いた通り、以上のファイルをバックアップしたとしてもiCloud設定でSafariを有効にするとクラウド上のファイルに上書きされてしまう。

上記ファイルに「Cloud」という単語が含まれているのを見るとSafariは完全にiCloud前提のようだ。

上記のバックアップ方法は「絶対にiCloudを利用しない」という場合にのみ有効であることに留意してほしい。

まとめ

Safariはクラウドに依存している上にデフォルトで存在する「履歴を消去」ボタンをうっかり実行してしまうとWebサイトデータやCookieも消えるため少々厄介な仕様となっている。

履歴ファイルの消去や履歴ファイルのバックアップの際は上記の方法と注意点を参考にして行ってほしい。