Sitemaps形式はサイトマップの一般的なフォーマットで、サイト内のウェブページおよびそのウェブページに関する最終更新日や更新頻度、サイト内でのウェブページの優先順位などをXML形式で記述したものです。Sitemaps形式のXMLの記述方法を以下に解説します。
基本的な記述の方法とXMLタグの定義
- SitemapsファイルはUTF-8のエンコードで作成します。
- サイト内のウェブページの情報は、<url>~</url>でくくります。
- サイト内のウェブページの情報は、サイト内のウェブページURLおよびそのウェブページに関する最終更新日や更新頻度、サイト内でのウェブページの優先順位の情報で構成されます。
属性 説明 <loc> 必須 ウェブページのURL。httpなどのプロトコルから始めます。2,048文字以下で指定します。 <lastmod> 省略可能 ファイルの最終更新日時で、時刻の部分を省略して「YYYY-MM-DD」の形式で記述することもできます。時刻を記述する場合は、W3C Datetime形式(英語、外部サイト)で記述します。 <changefreq> 省略可能 ウェブページの更新頻度を指定します。検索エンジンはこの値を参考として巡回頻度を調整しますが、かならずしも指定されたウェブページの更新頻度にあわせて巡回するとは限りません。 always アクセスするたびに内容が更新されるウェブページに指定します。 hourly 毎時更新されるウェブページに指定します。 daily 毎日更新されるウェブページに指定します。 weekly 毎週更新されるウェブページに指定します。 monthly 毎月更新されるウェブページに指定します。 yearly 毎年更新されるウェブページに指定します。 never 更新のないアーカイブページに指定します。 <priority> 省略可能 サイト内のほかのウェブページと比較したときの優先度を0.0から1.0までの値で指定します。クローラーに重要なウェブページを知らせるためのもので、デフォルトの優先度は0.5です。ただし、この優先度が、検索結果での表示順序に影響することはありません。なお、サイト内のすべてのウェブページに高い優先度を指定しないでください。優先度は相対的なもので、検索エンジンが、サイト内の重要なウェブページを選択する場合に使用します。 - サイト内の複数のウェブページの情報は、<urlset>でまとめます。
- <urlset>には、ネームスペース「xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"」の属性を記述します。
- 「<?xml version="1.0" encoding="UTF-8"?>」を冒頭の行に追加します。
- 1つのウェブページの情報を記述したSitemapsの例
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://www.example.com/</loc> <lastmod>2005-01-01</lastmod> <changefreq>monthly</changefreq> <priority>0.8</priority> </url> </urlset>
- 複数のウェブページの情報を記述したSitemapsの例
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://www.example.com/</loc> <lastmod>2005-01-01</lastmod> <changefreq>monthly</changefreq> <priority>0.8</priority> </url> <url> <loc>http://www.example.com/catalog?item=12&desc=vacation_hawaii</loc> <changefreq>weekly</changefreq> </url> <url> <loc>http://www.example.com/catalog?item=73&desc=vacation_new_zealand</loc> <lastmod>2004-12-23</lastmod> <changefreq>weekly</changefreq> </url> <url> <loc>http://www.example.com/catalog?item=74&desc=vacation_newfoundland</loc> <lastmod>2004-12-23T18:00:15+00:00</lastmod> <priority>0.3</priority> </url> <url> <loc>http://www.example.com/catalog?item=83&desc=vacation_usa</loc> <lastmod>2004-11-23</lastmod> </url> </urlset>
URLのエスケープ処理
URLのなかの文字列は、次のようなエスケープ処理を行う必要があります。
文字 | エスケープ処理 | |
---|---|---|
アンパサンド | & | & |
一重引用符(シングルクォート) | ' | ' |
二重引用符(ダブルクォート) | " | " |
不等記号(より大) | > | > |
不等記号(より小) | < | < |
- 「&」をエスケープ処理した例
http://www.example.com/search?p=example&desc=lower(エスケープ処理前)
http://www.example.com/search?p=example&desc=lower(エスケープ処理後)
URLのエンコード処理
URLに含まれるASCII(英字・数字・記号など)以外の文字は、ウェブページをホスティングしているサーバーのエンコードに従って、エンコード処理を行います。
- エンコードにUTF-8を使用しているサーバーの場合
http://www.example.com/search?サイトマップ(エンコード処理前)
http://www.example.com/search?%e3%82%b5%e3%82%a4%e3%83%88%e3%83%9e%e3%83%83%e3%83%97(エンコード処理後)
- エンコードにEUC-JPを使用しているサーバーの場合
http://www.example.com/search?サイトマップ(エンコード処理前)
http://www.example.com/search?%a5%b5%a5%a4%a5%c8%a5%de%a5%c3%a5%d7(エンコード処理後)
- 注意
- この情報は、sitemaps.orgでの記述に基づいています。詳細や最新の情報については、sitemaps.org(外部サイト)をご覧ください。