サイトの維持には専用のバックアップ戦略が必要不可欠です。バックアップは必須ではありますが、それがサイトの情報を保存する唯一の方法ではありません。バックアップの次に行うべき対策はウェブサイトのアーカイブです。これらはお互いを補完します。
ウェブサイトをアーカイブするにはいくつかの方法が存在します。幸いいずれの方法も簡単です。必要なのはニーズや状況によって適切な方法を選ぶことだけです。
今回は、ウェブサイトのアーカイブ方法についてご紹介します。様々なアーカイブの種類をご紹介し、主要なアーカイブツールとアーカイブする際のアドバイスなども解説していきます。
ウェブサイトアーカイブについて
ウェブサイトのアーカイブとは今後の参照用にコンテンツやデータ、メディアを保存することです。Wayback Machine(この後詳しく解説します)などの専用のサービスを利用することで、ウェブサイトの過去のバージョンをいつでも参照することができます。
技術的な話をするとクローラーがサイトのスナップショットをとり、それがアーカイブとして保存されます。必要な時に、シンプルなカレンダーを用いて時系列順に過去のバージョンを閲覧することができます。
Wayback Machineのようなサービスの誕生は、2000年代初頭に遡ります。ITバブルが弾け、多くの企業が苦境を強いられていました。人気のサイトも閉鎖、もしくは運営が放棄され、記録はほとんど残されませんでした。
音楽やテレビなど、インターネット以前のメディアと同様に、このようなウェブサイトには歴史的でノスタルジックな価値がありました。これらを保存しておくことで、未来のインターネットユーザーが過去の技術からどれだけ進歩したかを知ることができます。
そこでInternet Archiveは、ウェブサイト保全を進めるためにWayback Machineというサービスを開始しました。そこにサイトがアーカイブされていれば、サイトがどのような進歩を遂げてきたかを見ることができます。
サイトのアーカイブにはたくさんのクローラーが必要で、中には収集が完了するのに何年もかかる大規模なクローラーも。クローラーによる「調査」を行わなければならず、結果としてのスナップショットは膨大な量でした。
例えば、Wayback Machineの最初の100テラバイト(TB)サーバーは2004年に稼働を開始しました。2020年の末には、Wayback Machineで保存されたデータは70ペタバイト(PB)にのぼりました。これは70,000テラバイトを超える数字です。
しかし、このInternet Archiveの手法を快く思わない人も中にはいます。これまで、ウェブサイトのアーカイブが著作権関連法に違反しているかどうかについて、議論や法的な課題がいくつか浮上しています。
とは言え、アーカイブされたウェブサイトの件数の大幅な増加を見ると、ウェブサイトを保存することに対する需要は確実に存在すると言えるでしょう。
ウェブサイトをアーカイブする理由
昔を懐かしむ以外にも、ウェブサイトをアーカイブする理由はたくさん存在します。その分かりやすい例がGitHubです。
GitHubではプロジェクトのレポジトリを、作成された全ての「コミット」とともに保存しています。レポジトリはウェブアーカイブで言うところのアーカイブ全体に、コミットはスナップショットに該当します。
Gitレポジトリに価値があるのと同じように、サイトのアーカイブにも価値があります。例えば、何年も前のサイトのバージョンを確認し、現在のデザインにそれを活かすことができます。
または、法律上の義務によりサイトのアーカイブが義務づけられることもあります。特に金融や法律関連の業界の場合、その可能性が高くなります。
さらに、運悪くサイトに関連する訴訟を起こされてしまった場合、保存したアーカイブが有力な証拠となることも。明確で完全なサイトアーカイブを提示することができれば、裁判所が関与する前に紛争を解決できるかもしれません。
バックアップとアーカイブの違い
様々なウェブアーカイブの種類をご紹介する前に、先ほど少し触れた話に再び戻ります。表面上、サイトのバックアップとサイトのアーカイブは似ているように思えます。しかし、実際には、それぞれが補完し合うもので、役割が違います。要約すると次のようになります。
- バックアップは「データ」に基づいている。 バックアップはサイトのデータを保存することに重きを置いています。サイトの復元が必要な時にバックアップが鍵を握るため、データの完全なバックアップをとっておくことは非常に重要です。
- アーカイブはデータよりも「コンテクスト」に重きを置いている。 お気に入りのサイトのアーカイブを見て回っていると、サイトの機能が不完全である傾向に気がつくはず。一方、サイトのデザインや静的なコンテンツは損なわれていないことが大半です。
なお、アーカイブを作成したからと言って、データを保存するのをやめてしまっていいわけではありません。たしかに、あたかもサイトがまだ存在するかのようにユーザーが操作できるのはアーカイブのメリットの一つではあります。しかし、Wayback Machineなどのサービスが提供するのはあくまでもサイトの仮想の「思い出」であり、バックエンドの機能の保存よりも見た目の完全さが重視されます。
そのため、サイトのバックアップとアーカイブの両方を実行しておくべきでしょう。バックアップは最悪のケースが発生した時のための日常的な対策であり、アーカイブはサイトの成長過程を記録するための補完的な手段です。
様々なアーカイブの種類
ウェブアーカイブの方法は一つではなく、様々な種類のアーカイブが存在します。その概要は以下のとおりです。
- クライアントサイド: エンドユーザーが該当のサイトのバージョンを保存する方法です。シンプルで、スケーラブルで、容易にサイトをアーカイブできます。
- サーバーサイド: Wayback Machineなどのサイトを利用する方法はサーバーサイドのアーカイブに分類されます。クローラーなどの技術を利用しますが、クライアントサイドのアーカイブとは違い、一定の同意が必要となります。
- トランザクションベース: こちらもサーバーサイドのアーカイブをベースとしていますが、より複雑で、サイトの所有者からの明確な同意が必要となります。基本的に、エンドユーザー/サーバー間のサイトのトランザクションをアーカイブします。
静的なデータを使用したシンプルなサイトでは、系統的なアーカイブの戦略を組み合わせればクライアントサイドのアーカイブで十分かもしれません。しかし、多くの場合、サーバーサイドのアーカイブがより適しています。トランザクションベースのアーカイブはほとんどのサイトで不要です。
最後に、アーカイブを保存する場所とその方法も検討する必要があります(こちらについては後ほど詳しくご説明します)。例えば、ローカル環境へのアーカイブは悪くありませんが、コンピュータに何らかの問題が発生した時にアーカイブが消えてしまうことがあります。一方、サードパーティーのサービスを利用した場合、管理の柔軟性という面では劣ります。
もうお分かりかもしれませんが、サイトのアーカイブには多角的なアプローチを採用するのが最適です。アーカイブはバックアップと同じような取り扱いをすることをおすすめします。3つの場所にそれぞれコピーを保存し、何らかの方法で同期するといった具合です。
また、サイトのサーバーサイドの機能を利用できるよう、アーカイブのうちいずれかは公開状態にしてもいいでしょう。こうすることで、しっかりとしたバックアップと、他の人の役に立つアーカイブ戦略を備えたサイトにすることができます。
ウェブアーカイブツールとアーカイブサイトの初心者向けガイド
ウェブサイトをアーカイブする方法は非常にたくさん存在します。最も人気な方法をいくつかご紹介するとともに、Kinstaの見解と、どのような場合に適しているかを解説します。
1. Wayback Machine
まずは、Wayback Machineをご紹介します。アーカイブサービスを提供したサイトであるため、他のアーカイブツールの基準となっています。
そのため、アーカイブサイトをお探しの際、最初に検討することになるはずです。様々なアーカイブを作成、アップロードする方法が用意されており、その機能にフックする専用のAPIまで利用できます。また、サーバーサイドのアーカイブであることにも注目です。
Wayback Machineではサイトをクロールしてアーカイブするため、サイト全体の機能までは保存できないことがあります。それでも、ウェブアーカイブの業界では標準的な位置づけであり、無料で利用できます。記事の後半ではWayback Machineでサイトをアーカイブする方法を詳しくご説明します。
2. Archive.today
次にご紹介するのはArchive.todayです。多くの点でWayback Machineと似通ったサービスです。サイトの「レトロ」なデザインまでそっくり。データサーバーはヨーロッパにあります。アーカイブの手法に関してはWayback Machineとは異なるアプローチを採用しています。
まず、Archive.todayのアーカイブはウェブ上のクローラーを利用したものではありません。代わりに、ユーザーがURLを送信し、「アーカイブに同意する」という手順が採用されています。また、その機能は他のツールと比べ、必要最小限にとどまっています。例えば、明確な削除の方針は存在せず、特定のメディアやファイル形式はアーカイブから除外されます。
それでも、無料で利用できるため、補完的なアーカイブの保存場所をお探しの方には適しているかもしれません。サイトには、過去にアーカイブしたサイトを検索する機能も備わっています。
3. Heritrix
ここまで、Internet ArchiveとWayback Machineを「ほぼ同義」のように紹介してきました。しかし、実際にはWayback MachineはInternet Archiveの提供するサービスの一つに過ぎず、同団体は他にもいくつかのアーカイブツールを公開しています。HeritrixはInternet ArchiveとNordic librariesが共同で開発した、無料かつオープンソースのツールです。
必要な機能が備わったアーカイブサービスというよりも、実質、単なるウェブクローラーです。 ただし、クローラーによる収集結果を一つのパッケージにまとめることができます。かつてはそうではなかったのですが、現在Wayback MachineはHeritrixを使用してサイトをクロールし、結果を自サイトでのアーカイブに利用しています。さらに多くの図書館や機関がアーカイブの作成にHeritrixを利用しています。
機能自体は素晴らしいのですが、Heritrixのインストールには多少の技術的な知識が必要です。インストールするためのユーザーフレンドリーなインターフェースは存在せず、Git、GitHub、コマンドラインの知識が必要となります。
他の同様のツールと同様に、Heritrixは完全無料なので、自分でアーカイブを作成するための費用対効果の高いツールです。
4. Web Archiving Integration Layer(WAIL)
Heritrixを使ってサイトのアーカイブを行いたい。でも、ソフトウェアのインストールだけでも技術的な知識が必要という点で尻込みしてしまう。そんな方には、こちらの選択肢があります。Web Archiving Integration Layer(WAIL)は実用的なグラフィカルユーザーインターフェースとインストーラーが付帯する、無料のオープンソースクロスプラットフォームデスクトップアプリです。
WAILのクロールエンジンにはHeritrixが採用されています。つまり、GitHubやコマンドラインを扱わずにHeritrixの機能を活用できます。また、WAILではウェブアーカイブの「再生」にOpenWaybackエンジンを利用しています。
このように、必要な機能を備えたウェブアーカイブツールをすぐにご自分のマシンで利用できます。WAILの詳しい仕組みについても後ほどご説明します。
5. Stillio
次にご紹介するウェブアーカイブツールは、言うなれば「設定した間隔で、自動でスナップショットをとるツール」です。Stillioは他のアーカイブツールとは使用感や見た目が少し異なる、有料のサービスです。
公式サイトはお洒落で、ユーザーの具体的なニーズに合ったアーカイブを作成できる様々な機能が紹介されています。例えば、URLにタグや独自のタイトルをつけることができます。
さらに、Dropbox、Google Driveなどのサードパーティーのサービスにアーカイブを保存することも可能です。
しかし、Stillioには大きな欠点が─バックエンドのアーカイブに対応していません。データの完全なアーカイブではなく、サイトの「スクリーンショット」しか保存することができません。多くの場合、これでは不十分でしょう。
とは言え、ブランドの管理や追跡用のツールとしては便利かもしれません。例えば、競合サイトや検索エンジンの表示結果などのスクリーンショットを保存できます。またコンテンツの確認にも大変便利です。
Stillioの料金は、月額29ドルから299ドルまで。4つのプランが存在します。より機能の充実した無料のツールが存在することを考えると、かなり高額に思えるかもしれません。しかし、あなたの用途に合っているのであれば検討してみるのも大いにアリです。
6. Pagefreezer
最後にご紹介するのも自動化ツールです。PagefreezerではStillioと同様の機能が数多く利用できますが、SNSコンテンツ、テキストメッセージ、サイト全体、法人向けのコラボレーションプラットフォームもアーカイブできます。
PagefreezerはStillioよりも充実したツールで、より多様な用途に適しているように思われます。
例えば、サイト全体をアーカイブすることが法的に求められている場合、Pagefreezerが大変便利。複数のスナップショットを自動で保存し、それらをサイトアーカイブのブラウザと比較ツールにより閲覧することができます。
総合的に見て、Pagefreezerは企業でのアーカイブには最適な、優れた法人向けのソリューションでしょう。YammerやSalesforceのChatterを利用している企業やWorkplaceユーザーにはこのタイプのツールが便利です。
ファイル形式「Web Archive (WARC)」とは?
サイトのアーカイブ方法について調べていると、「Web Archive (WARC)」というファイル形式に出くわすはず。これは、サイトアーカイブの様々なファイルを移動しやすく、完全な状態を維持できるようにしたパッケージです。
WARCはウェブデータを長期的に保存できるようにするために、Internet Archiveにより考案されました。国際インターネット保存コンソーシアム(IIPC)はこのファイル形式の詳細な仕様を公開しています。このファイルには、画像、メタデータ、その他、単体でサイトが機能するのに必要な全ての要素が保存されます。
元々は利便性のために開発されたファイル形式でしたが、WARCは現在ではデジタルアーカイブの国際的なISO規格となっています。そのため、政府や公的機関などでも利用されています。中には次のように、WARCファイルが必須であるケースもあります。
- Eディスカバリー: 訴訟の中で、裁判の資料として電子上の記録を検索、提示する手続きのことです。ソーシャルメディアの記録の場合、WARCファイルであればeディスカバリーの法的な基準を満たします。
- 情報の自由(FOI): 多くの政府や公的機関がFOIや情報公開法を介して人々の「知る権利(RTK)」を認めています。記録が電子媒体であれば、WARCが理想的なファイル形式となります。
WARCはStormCrawlerやApache Nutchなど、様々なアーカイブツールやクローラーで採用されています。Wgetなどのコマンドラインツールの設定を変更し、リクエストを引用し、WARCファイルとしてパッケージ化することができます。これについてはこの後詳しく解説します。
他にもWARCファイルとしてアウトプットできるツールはたくさんあります。例えば、オープンソースのウェブページ保存ツールwallabagなど。
また、grab-siteはアーカイブをWARCファイルとしてクロールできるウェブアプリです。
WARCファイルの開き方は利用するツールによって異なります。どのツールを利用するにしても、長らく更新されていないものも中には存在するため気をつけましょう。
このように、お選びのツールが現状のシステムはもちろんのこと、将来的にも利用可能であることを確認することが重要です。プロジェクトのアーカイブのまっただ中に利用できなくなる、もしくは、更新が放棄されてしまうようなツールを避けることで、トラブルをいくらか回避できるはずです。
アーカイブをオフラインで管理する際のポイント
サイトのアーカイブ方法の解説に移る前に、既存のアーカイブを整理するための推奨事項です。既に少し触れていますが、しっかりとしたアプローチをとることにより、アーカイブを管理しやすくなります。また、整理されたアーカイブの方がサイトのユーザーも利用しやすいでしょう。
次の3つの要素を頭に入れておきましょう。
- 頻度: サイトをアーカイブする頻度を決めましょう。毎日のように変更が加えられる規模が大きく、動的で、複雑なサイトは、静的なサイトよりも頻繁にスナップショットをとる必要があります。
- 場所: バックアップと同様に、クラウドを含め、複数の場所にアーカイブを保存するべきです。万全を期したい場合は、3-2-1ルールに従いましょう。サイトの全ての要素を保存したい場合は、より強固な対策をとることをお進めします。
- 構造: コンピュータのディレクトリと同様に、系統立てられたフォルダを作成し、アーカイブの名前と、サイトがアーカイブされた日付でフォルダをさらに分けましょう。
より細かくアーカイブ管理のルールを定めることもできますが、まずはこの3つの要素を意識しておけば方向性を間違えることはないと思います。
サイトをアーカイブする5つの方法
ここからは、サイトをアーカイブする方法を5つご紹介します。難易度の低いものから順に記載しました。ただし、状況に合うものがあれば、そちらを先に読んでいただいても構いません。
1. 個別のページをローカルコンピュータに保存する
まずは、最も単純な方法から。こちらの方法は個別のページをアーカイブするのに最適な上、実質どのブラウザにも標準で備わっている機能です。
まず、お好きなブラウザを開き、アーカイブしたいサイトを開きます。ページが読み込まれたら、ブラウザの「ファイル」メニューを開き、「別名で保存」を選択します。
上記をクリックしたら、次のダイアログが表示されます。
ページの名前を入力します(デフォルトのままでも構いません)。ここで、HTMLだけでなく、ページ全体を保存していることを確認しましょう。これで、ほとんどの機能を損なわずにサイトを保存できます。
2. DevKinstaを使ってWordPressサイトをアーカイブする
DevKinstaはWordPressサイトを作成、公開するのに非常に便利なツールです。しかし、もう一つ使い道が存在します。Kinstaでホストしているサイトをアーカイブすることもできます。
MyKinstaのバックアップをDevKinstaに適用する詳しい手順はナレッジベース記事でご紹介していますが、その概要は次のとおりです。
- MyKinstaでバックアップを作成し、ダウンロードする。
- DevKinstaで新しいサイトを作成する。
- コンテンツとデータベースをインポートする。
- データベースで検索と置換を行い、本番サイトのURLを新しいローカルアーカイブに書き換える。
こうすることで、サイトをDevKinstaから開き、まるで本番サイトかのように操作することができます。
3. オンラインのアーカイブを利用する(Wayback Machineなど)
アーカイブのガイドにおいてWayback Machineの仕組みの説明は外せません。幸い、その手順はシンプルです。とは言え、この方法では個別のページしかアーカイブできないということを覚えておいてください(ただし、Archive-Itサービスに登録するとサイト全体をアーカイブできます)。
この方法を利用するには、Wayback Machineのトップページを開き、「Save Page Now」という入力フォームを探します。
ページをアーカイブするには、この入力フォームに保存したいページのURLを入力し、「Save Page」をクリックします。ページの複雑さや規模によっては、クローラーとエンジンが処理を完了するまで数分間かかることがあります。まるでページが破損してしまったように見えることもあります。私たちがテストを行った際は、死の真っ白画面(WSoD)がしばらく表示されました。
しかし、ページのアーカイブが完了すると、専用の新たなページに自動でリダイレクトされます。
サイトのアーカイブにはブックマークレットとブラウザの拡張機能も利用できます。実際、Google Chrome、Firefox、Safariなど、人気のブラウザの多くは標準でこれらの機能を備えています。
4. Web Archiving Integration Layer(WAIL)をインストールする
この方法では、まずWAILをダウンロードしインストールする必要があります。ありがたいことに、専用のインストーラがあります(ただし、プログラムはPythonで記述されているため、PyInstallerモジュールを使用)。
インストールの手順は至って簡単です。ご利用のオペレーティングシステム(OS)に関わらず、次のとおりです。
- WAILのウェブサイトを開き、ご利用のOS向けのインストーラをダウンロードします。
- Windows版の場合ファイルを解凍し、macOS版の場合dmgファイルをマウントします。
- macOSでは、アプリのアイコンをアプリケーションフォルダにドラッグします。Windowsでは、解凍したフォルダをC:\ドライブにドラッグします。
- WAIL.appまたはWAIL.exeを起動します(OSによって異なる)。
WAILを開くとシンプルなインターフェースが表示されます。
次の3つの選択肢が表示されます(「view an archive(アーカイブを閲覧する)」、「check archived status(アーカイブの状態を確認する)」、「Archive now!(ページをアーカイブする)」)。通常は左から右に向かって文字を読むのが自然なため、このボタンの並びは少々分かりづらいかもしれません。初めて開いた時点ではアーカイブには何も保存されていません。
そこで、保存したいサイトのURLを入力し、「Archive Now!」をクリックします。すると、WAILがサイトをクロールし始めます。「Advanced」 > 「Heritrix」のタブからクロールのステータスを確認できます。
完了したら成功したことを示すメッセージが表示されます。すると、「Basic」タブの「View Archive」がクリックできるようになります。こちらをクリックすると、アーカイブしたサイトがブラウザで確認できます。
5. Wgetを使用する(コマンドラインの使用に慣れている場合)
最後にご紹介するアーカイブ方法を利用するには、事前に確認しておくべきいくつかの要件があります。
- コンピュータでコマンドラインが利用できる
- Windowsのコマンドプロンプトや、macOSとLinuxのターミナルなど、適切なコマンドラインツールが利用できる
- コンピュータにWgetがインストールされている
最初の2つは既に対応済みである可能性が高いでしょう。
macOSの場合、brew install wget
コマンドを利用してHomebrew からWgetをインストールできます。Homebrewのインストールも必要ですが、ほんの数秒で完了します。Linuxでは、主要なディストリビューションの大半にWgetが標準でインストールされています。
Windowsユーザーの場合、コンピュータにWgetをインストールするのにもう少し手間がかかります。ネット上には様々な解説がありますが、マシンごとにその説明の一貫性がないようです。そのため、Wgetの公式サイトを訪れ、利用可能なWindowsバイナリを確認することをおすすめします。こちらの方がおそらく役に立つでしょう。
いずれにせよ、Wgetのインストールさえ完了すれば、利用するのはとても簡単です。まず、新しいターミナルのウィンドウからディレクトリを開きます。ここではディレクトリも作成していますが、この手順は任意です。
cd documents && mkdir archive && cd archive
Wget はどのようなディレクトリであれ、全てのダウンロードをそこに集約します。今回は、フォルダを指定しました。
次に、サイトをクロールし、ファイルを収集します。全てのアクションはwget コマンドで呼び出します。使用するフォーマットは次の通りです。
wget "https://kinsta.com/" --warc-file="kins"
Enterキーを押すと、index.htmlファイルの形で kinsta.com のダウンロードが始まり、kins-00000.warc.gz.という名前のWARCファイルが作成されます。
Wgetは様々なコマンドや機能が利用できる強力なツールです。例えば、--mirror
コマンドを使うと完全なミラーサイトのWARCファイルが作成できます。また、 --no-warc-compression
コマンドを利用すると圧縮なしのファイルになります。ただし、当然ダウンロードには多くのスペースが必要です。標準の圧縮ありを選択するのがおすすめです。
まとめ
ウェブアーカイブは、めまぐるしく変化するネット上のサイトを記録するために発達してきました。現在は様々な状況で必要となることがあります。例えば、法的な場面でのファイルの提出や義務を果たす場合など。どのような用途であれ、構造化・整理されたアーカイブを作成することで、バックアップを補完する強い味方にもなってくれます。
ありがたいことに、アーカイブ作成の方法は数多く存在します。多くのブラウザに、ウェブページをコンピュータに保存する機能がありますし、DevKinstaなども強力な選択肢です。ただし、 Wayback Machine、Heritrix、WAIL、Wgetなどの専用ツールは特に強固なソリューションで、標準に則ったファイル形式でアーカイブを作成できます。
この記事をお読みになってご自分のサイトをアーカイブしてみたくなりましたか?ご意見やご感想をコメント欄でお聞かせください。
コメントを残す