サイトマップという存在

サイトマップとは

サイトマップはあるウェブサイトに存在するページの一覧情報を持つ辞書のようなものです。

単に「サイトマップ」というときには、HTMLサイトマップを指す場合とXMLサイトマップを指す場合がありますので注意してください。

HTMLサイトマップ

HTMLサイトマップは、そのウェブサイトの構造や主なページへのリンクが並んでいるウェブページのことを言います。

主に人間を対象としたサイトマップで、HTMLで記述されているのでHTMLサイトマップと呼ばれます。

<サンプル>

以下はAll AboutさんのHTMLサイトマップです。

f:id:boost-up:20171115220622p:plain

 

ひと昔前のウェブサイトは必ずと言って良いほどHTMLサイトマップページを持っていましたが、最近はあまり流行らなくなったのか、目にすることがだいぶ減ったように思います。

数十程度のページなら良いのですが、数万ページを持つような大規模サイトですべてのページをHTMLサイトマップに並べるとユーザにとって迷惑この上ないページになります。

XMLサイトマップ

HTMLサイトマップと同様、そのウェブサイトの構造や主なページへのリンクが並びますが、いわゆるウェブページではなく、XML形式のファイルで提供されます。

XMLは本来、作成者が自由にタグ付けし、データに意味を付加するマークアップ言語なのですが、XMLサイトマップはsitemaps.orgにより標準化されており、そのルールに沿って記述する必要があります。

XMLサイトマップは通常人間が目にすることはなく、主にクローラーがそのサイトの全容を把握するためにダウンロードし、XMLサイトマップに記載されているURLにクローラーを呼び込むための入り口として用いられます。

<サンプル>

HTMLサイトマップと比較できるよう、同じAll AboutさんのXMLサイトマップ(後述するインデックスファイルでした)を紹介します。

f:id:boost-up:20171115220733p:plain

立ち上げたばかりのブログにどんなページがあるのかを一刻も早くクローラーに伝え、また、新しく記事を書いたときにもその存在をクローラーに伝えるためにも、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サイトマップ(インデックス)を日々更新するのは意外と大変で、色々探し回った結果、今は手作りのプログラムで日次更新しています。