検索エンジンに自分のサイトの収録コンテンツの存在を知らせるには、XMLに依る検索エンジン用サイトマップを用います。
ここでは、検索エンジン用サイトマップの書式について解説いたします。
検索エンジン用サイトマップの書式は以下のようなXMLです。
<?xml version="1.0" encoding="utf-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>ページのURL</loc><priority>優先度</priority><changefreq>更新頻度</changefreq><lastmod>最終更新日時</lastmod></url>…</urlset>
検索エンジン用サイトマップは以下の宣言・要素からなります。
サイトマップはXMLですので、<?xml ?>宣言を初めに行います。
尚、エンコーディングは必ずUTF-8にしなければなりません。
utf-8 とすれば作成は可能です(アスキィ文字のコードはUTF-8でも同じであるため)。サイトマップのルート要素です。
デフォルトの名前空間として、http://www.sitemaps.org/schemas/sitemap/0.9 を指定します。
文書URLの情報を纏めた要素です。URL一つにつき、一つの<url>要素を持たせます。
文書のURLを内容とします。
当該文書の希望クロール優先度を表す0.0から1.0までの実数を内容とします。
当該文書の推定更新頻度を表す文字列を内容とします。
公式にサポートされている文字列は以下の通りです。
alwayshourlydailyweeklymonthlyyearlynever尚、これらの値はあくまでも参考程度にしか扱われません。
alwaysを指定したからと言って、頻繁にクロールが増えると言う事にはなりません。neverを指定したからと言って、一回クロールしたらもう二度と来なくなると言う事にはなりませんし、またこの値を指定したからと言って二度と更新してはいけないと言う事にもなりません。当該文書の最終更新日時を、W3Cが定めたフォーマット(ISO 8601をベースとしている)で記述します。
例えば、日本時間の平成21年11月13日午前10時24分10秒に更新したのであれば、
<lastmod>2009-11-13T01:24:10Z</lastmod>
と記述します。
アスキィ文字はシフトJISコードでも日本語EUCでも文字コードは一致しますので、UTF-8が使えない環境の場合はアスキィ文字だけで作成すればよいでしょう。
特に、URLにUTF-8でエンコードされた非アスキィ文字が含まれる場合には、UTF-8で作成出来るならそのまま書いても構いませんが、それ以外の場合、すなわち、
場合には、
アスキィ文字化する必要があります。
例えば、<url>要素の内容として、
<url>http://www.アイドル.uso/堀北真希/</url>
と言うURL(このとき、
はUTF-8で認識される事とする)なら、堀北真希
<url>http://www.xn--ccke5ivf.uso/%E5%A0%80%E5%8C%97%E7%9C%9F%E5%B8%8C/</url>
とエンコードします。
分かり易く言えば、サイトマップから相対URLでアクセス出来るURLのみ記述出来ると言う事です。
例えば、サイトマップのURLが http://www.uso800.uso/ であれば、
https://www.uso800.uso/…http://www2.uso800.uso/…http://uso800.uso/…などは全て記述出来ないURLとなります。
例えば、サイトマップが http://www.uso800.uso/user/sitemap.xml 上にある場合、
http://www.uso800.uso/document.htmlなど、上位ディレクトリにある文書や
http://www.uso800.uso/user2/document.htmlなど、収納ディレクトリ外にある文書のURLは書けません。
これ以上の文書が入る場合には、サイトマップを分割する必要があります。
このとき、分割したサイトマップを一纏めにする、サイトマップインデックスと言う書式も使えます(後述)。
さて、サイトマップが大きくなり過ぎた場合や、ディレクトリごとにサイトマップを作成している場合には、サイトマップを分割する事が出来ますし、場合に依っては分轄しなければならない事もあります。
そのような場合、分割されたサイトマップを一纏めにするフォーマットとして、サイトマップインデックスと言うのがあります。
サイトマップインデックスに纏めてこれをサイトマップの代わりに送信する事で、分割したサイトマップを一つ一つ送信する手間が省けます。
サイトマップインデックスの書式は以下のようになります。
<?xml version="1.0" encoding="utf-8"?><sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>サイトマップのURL</loc><lastmod>最終更新日時</lastmod></url>…</sitemapindex>
サイトマップインデックスは以下の宣言・要素からなります。
サイトマップインデックスもXMLですので、<?xml ?>宣言を初めに行います。
尚、エンコーディングは必ずUTF-8にしなければなりません。
サイトマップインデックスのルート要素です。
デフォルトの名前空間として、http://www.sitemaps.org/schemas/sitemap/0.9 を指定します。
サイトマップのURLの情報を纏めた要素です。サイトマップ一つにつき、一つの<url>要素を持たせます。
サイトマップのURLを内容とします。注意事項はサイトマップの<loc>要素と同じです。
当該サイトマップの最終更新日時を、W3Cが定めたフォーマット(ISO 8601をベースとしている)で記述します。詳細はサイトマップの<lastmod>要素をご覧ください。
サイトマップインデックスに於いて注意すべき点は検索エンジン用サイトマップでの注意事項と同じです。
<url>要素は五万箇までと言う制限がありますので、サイトマップも五万枚まで入れられる事になります。