サイトマップとは
サイトマップはあるウェブサイトに存在するページの一覧情報を持つ辞書のようなものです。
単に「サイトマップ」というときには、HTMLサイトマップを指す場合とXMLサイトマップを指す場合がありますので注意してください。
HTMLサイトマップ
HTMLサイトマップは、そのウェブサイトの構造や主なページへのリンクが並んでいるウェブページのことを言います。
主に人間を対象としたサイトマップで、HTMLで記述されているのでHTMLサイトマップと呼ばれます。
<サンプル>
以下はAll AboutさんのHTMLサイトマップです。
ひと昔前のウェブサイトは必ずと言って良いほどHTMLサイトマップページを持っていましたが、最近はあまり流行らなくなったのか、目にすることがだいぶ減ったように思います。
数十程度のページなら良いのですが、数万ページを持つような大規模サイトですべてのページをHTMLサイトマップに並べるとユーザにとって迷惑この上ないページになります。
XMLサイトマップ
HTMLサイトマップと同様、そのウェブサイトの構造や主なページへのリンクが並びますが、いわゆるウェブページではなく、XML形式のファイルで提供されます。
XMLは本来、作成者が自由にタグ付けし、データに意味を付加するマークアップ言語なのですが、XMLサイトマップはsitemaps.orgにより標準化されており、そのルールに沿って記述する必要があります。
XMLサイトマップは通常人間が目にすることはなく、主にクローラーがそのサイトの全容を把握するためにダウンロードし、XMLサイトマップに記載されているURLにクローラーを呼び込むための入り口として用いられます。
<サンプル>
HTMLサイトマップと比較できるよう、同じAll AboutさんのXMLサイトマップ(後述するインデックスファイルでした)を紹介します。
立ち上げたばかりのブログにどんなページがあるのかを一刻も早くクローラーに伝え、また、新しく記事を書いたときにもその存在をクローラーに伝えるためにも、XMLサイトマップは非常に重要です。
一般的なブログサービスであれば、XMLサイトマップは基本機能として用意されており、自動で最新化されるのが通常ですので、ブログを始めたときは必ずXMLサイトマップのURLを確認しておきましょう。
Wordpressなどでブログを自営されている場合も、一般的なCMS(コンテンツマネジメントシステム)であればXMLサイトマップを作る機能が用意されていますので、必ず設定するようにしましょう。
XMLサイトマップの制約
XMLサイトマップの細かい規約は各論となりますので割愛しますが、1つのサイトマップに含めることができるURLの数は50,000件以下であること、サイトマップファイルは非圧縮状態で50MB以下であること、という制約だけは覚えておいて良いかもしれません。
ウェブサイトの中にページが50,000ページ以上ある場合は、各XMLサイトマップを1つのURLとして定義した「XMLサイトマップインデックス」というものを使います。
XMLサイトマップインデックスファイルには50,000件までのXMLサイトマップのURLを含むことができますので、一切のロスなく各々50,000件のURLを含むXMLサイトマップを50,000個用意してXMLサイトマップインデックスを作成すると、理論上は50,000×50,000で最大25億ページまで対応することが可能です。
個人でブログを運営するくらいであれば、50,000件の制約が問題となることは皆無と思われますが、ウェブサービスを運営する場合には問題となることがあります。
私が運営するSCDB JAPANというサイトは、日本中の全法人に対してページを持っている関係から、法人ページだけで約4,500,000万ページあります。
また別の機会にご紹介したいと思いますが、25億からするとわずか0.2%程でしかない450万ページのXMLサイトマップ(インデックス)を日々更新するのは意外と大変で、色々探し回った結果、今は手作りのプログラムで日次更新しています。