サイトマップ(sitemap.xml)の作り方!

はじめに
こんにちは。blog係長!の僕です。
皆さんもブログやサイトのサイトマップを作成し、GoogleやBingなどの検索エンジンに対してサイトマップを送信していると思います。
特に、最近ではサイトマップを自動で作成してくれるツールも数多くあり、ツールでサイトマップを作成している方も多いと思います。
今回は、基本に立ち返ってサイトマップの作り方について説明したいと思います!
サイトマップとは?
サイトマップは、GoogleやBingなどの検索エンジンに対して、自分のブログやサイトのページをインデックス登録する、つまり、クロールするよう依頼するためのファイルです。
特に、自分のブログやサイトのページから内部リンクされていないページを検索エンジンに伝えるという点においてはサイトマップはとても有効的です。
サイトマップファイルはsitemaps.orgというプロトコルに従い、XML形式で作成する必要があり、ファイル名に特に指定はありませんが、基本的には「sitemap.xmlと」いうファイル名にすることが一般的です。
サイトマップの作り方!
サイトマップは、下記のように記述します。
<?xml version="1.0" encoding="UTF-8" ?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://blog.career-info.jp/</loc>
<lastmod>2018-08-24</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://blog.career-info.jp/contents/?id=10001</loc>
<lastmod>2018-08-24</lastmod>
<changefreq>never</changefreq>
<priority>0.8</priority>
</url>
</urlset>
各タグの説明は以下の通りです。
●<?xml version="1.0" encoding="UTF-8" ?>
最初の1行目は、XMLの宣言文となり、XMLのバージョンと文字コードを指定しますが、この文はサイトマップXMLでは決まった定型文となります。
●urlsetタグ(<urlset>~</urlset>)
サイトマップXMLの全体の開始と終了を示すタグとなります。
●urlタグ(<url>~</url>)
urlタグ内にインデックス登録して欲しい(クロールして欲しい)urlの情報を記述します。
●locタグ(<loc>~</loc>)
locタグにインデックス登録して欲しい(クロールして欲しい)urlを記述します。
上記がサイトマップの基本となり、必須で記述する必要があります。
また、オプション(任意)で、以下のタグを記述することができます。
●lastmodタグ(<lastmod>~</lastmod>)
lastmodタグには、locタグで指定したページの最終更新日、または、最終更新日時を記述します。
●changefreqタグ(<changefreq>~</changefreq>)
changefreqタグには、locタグで指定したページの更新頻度に関する情報を記述します。
changefreqに指定可能な設定値は以下の通りです。
・always アクセス毎
・hourly 1時間毎
・daily 1日毎
・weekly 1週間毎
・monthly 月毎
・yearly 年毎
・never 基本的に更新されない(アーカイブページ)
●priorityタグ(<priority>~</priority>)
priorityタグには、自分のブログやサイト内で、locタグで指定したページの相対的な優先順位に関する情報を記述します。
priorityタグに指定する設定値は、0.0から1.0の値を設定し、0.0が一番優先順位が低く、1.0が一番優先順位が高い値となります。
※上記のオプションタグは、昔はある程度意味がありましたが、現在は検索エンジンの参考情報となっており、指定したからといって、指定した通りにクロールされることはありません。
ただ、指定するに越したことはないです。
サイトマップの送信!
作成したサイトマップはGoogleの場合は「Search Console 」から、Bingの場合は、「Webマスターツール」から送信します。
「Google Search Console 」の場合!
[サイト設定]→[サイトマップ]→[サイトマップを追加 / テスト]をクリックし、入力ボックスにサイトマップファイルのURLを入力後、[サイトマップを送信する]をクリックするとGoogleにサイトマップが送信されます。
Googleの場合は、一度サイトマップを送信すると定期的にサイトマップを見に来てくれます。
また、自分で再送信したい場合も「Search Console」から送信することが出来ます。
「Bing Webマスターツール」の場合!
[自分のサイトの設定]→[サイトマップ]をクリックし、入力ボックスにサイトマップファイルのURLを入力後、[送信]をクリックするとBingにサイトマップが送信されます。
Bingの場合は、一度サイトマップを送信してもあまり定期的に見に来てくれないため、僕の場合は、ページを追加する度にサイトマップを送信しています。
サイトマップの制約事項!
普通のブログやサイトでは該当しないと思いますが、サイトマップには以下のような制約事項があります。
●URLは50,000URLまで!
一つのサイトマップファイルには50,000URLまでしか指定できません。
●サイトマップのファイルサイズは10Mbyteまで!
一つのサイトマップファイルは10Mbyteまでしか作成できません。
上記の制約事項に該当する場合は、サイトマップファイルを分割し、robots.txt に以下のように指定することにより回避できます。
User-agent: *
Sitemap: https://blog.career-info.jp/sitemap.xml
Sitemap: https://blog.career-info.jp/sitemap2.xml
※この例では、sitemap.xmlとsitemap2.xmlという二つのサイトマップを robots.txt に指定しています。
必須ではありませんが、一つのサイトマップしかない場合でも、robots.txt へはサイトマップのURLを記述し、ドメインのルートディレクトリに配置しておくことをおすすめします。
最後に
今回、サイトマップの作り方について説明しましたが、今時、手動でサイトマップを作成している人はいないと思いますが、無効なURL、リンク切れなどの不要なURLは、サイトマップには含めないようにしましょう!
ちなみに、僕は、というか、僕が運営しているブログやサイトは、全て、WordPressなどを一切使わないで、独自に開発したCMSで運営しているため、サイトマップも、公開している記事を対象に自動で作成するようにしています。
ということで、今回はここまでです。
ブログ・サイトを独自で運営するなら、さくらのレンタルサーバ!
人気No.1の「スタンダードプラン」は、月額515円で「WordPress」、「無料SSL」など色んな機能が使い放題!
⇒さくらのレンタルサーバ スタンダード
人気No.1の「スタンダードプラン」は、月額515円で「WordPress」、「無料SSL」など色んな機能が使い放題!
⇒さくらのレンタルサーバ スタンダード
