サイトマップの作り方(SEO対策)

サイトマップ(sitemap.html)はホームページを訪れた人にも効果的ですが、検索ロボットにも効果があります。また特に、ホームページのルートディレクトリーに sitemap.txt か sitemap.xml というテキストファイルを置いておくと検索ロボットには効果があります。

サーバーの写真

私はホームページを作って十数年以上になりますが、最初はあまり見てくれる人がありませんでした。今ではホームページの閲覧が次第に増えてきました。平均的なページに比べてアクセスは多い方だと思います。

アクセス解析によると検索で来られる人が8割以上です。アクセスアップには検索エンジンで上位に表示されるのがとても重要です。サイトマップはアクセスアップには重要なものです。

このページは私が推奨するやり方であって、他人に強制するものではありません。自由にホームページを作成してよいことは言うまでもありません。

検索ロボット用のサイトマップ(sitemap.txt)を作成する

sitemap.txt はホームページにある 検索ロボット楽天 に読んで欲しいファイルのアドレス(httpから始まるアドレス)を一行ずつ羅列して書いたものです。

これは、一番簡単に作成することができます。簡単なファイルであっても、ちゃんと検索ロボットにページを検出してもらえます。

http://hogehoge.jp/
http://hogehoge.jp/link.php
http://hogehoge.jp/policy.php
          *
          *
          *

検索ロボット用のサイトマップ(sitemap.xml)を作成する

sitemap.xml はページのアドレス以外に次のような更新日や更新頻度やページの重要度等の情報を含めたファイルになっています。

<url>
 <loc>http://hogehoge.jp/</loc>
 <priority>0.5</priority>
 <changefreq>weekly</changefreq>
 <lastmod>2008-06-12</lastmod>
</url>

この内の次の3項目については必須ではなく、あまり重要ではないので省略して簡単にすることができます。

 <priority>0.5</priority>
 <changefreq>weekly</changefreq>
 <lastmod>2008-06-12</lastmod>

つまりsitemap.xml の最低限必要な項目のみにすると、次のようになります。

<?xml version="1.0" encoding="UTF-8" ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>http://hogehoge.jp/</loc></url>
<url><loc>http://hogehoge.jp/link.php</loc></url>
<url><loc>http://hogehoge.jp/policy.php</loc></url>
          *
          *
          *
</urlset>

この方法だとエディタでの修正や追加がとても楽にできます。もし、上記のように省略したくない場合は、次のように1行に全ての項目を書いて、タブキーで位置を揃えればエディタでの修正や追加が行毎なので簡単にできます。私は最終的には更新日付を除いて次のようにしています。

<?xml version="1.0" encoding="UTF-8" ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>http://hogehoge.jp/</loc>           <priority>1.0</priority> <changefreq>weekly</changefreq></url>
<url><loc>http://hogehoge.jp/link.php</loc>   <priority>0.5</priority> <changefreq>weekly</changefreq></url>
<url><loc>http://hogehoge.jp/policy.php</loc> <priority>0.1</priority> <changefreq>weekly</changefreq></url>
          *
          *
          *
</urlset>

モバイル用のサイトマップの作成方法

検索ロボットにモバイル用のページだと伝える為には、次のようにモバイル用のサイトマップを作成します。PC用のサイトマップと見比べていただけば違いがわかると思います。

ファイル名を sitemap_m.xml とでもして、ドメインルートに置きます。モバイル用のサイトマップを作成すれば、特にモバイル用とPC用のページのアクセス制御をする必要はないようです。

<?xml version="1.0" encoding="UTF-8" ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
	xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0">
	<url>
		<loc>http://hogehoge.jp/m/</loc>
		<mobile:mobile/>
	</url>
</urlset>

検索ロボット用のサイトマップの文字コードについて

検索ロボット用のサイトマップの文字コードはUTF-8で記述することになっています。グーグルのウェブマスターツールでもサイトマップはUTF-8で記述するようにとなっています。

私は初めはエディタで修正する時、毎回、文字コードをUTF-8Nにして読み込んで保存していました。これはとても面倒です。

しかし、よく考えてみると、検索ロボット用のサイトマップには、日本語を全く使っていません。ということは、文字コードは何であってもでき上がったファイルは同じ物ということになります。

現在、私はサイトマップ(sitemap.xml)の文字コードを全く気にせずにエディタ(Terapad)で作成していますが、グーグルのウェブマスターツールでエラーになることはありません。

サイトマップのオートディスカバリー機能

サイトマップを作成したら検索エンジンに登録する為に、ウェブマスターツールでサイトマップを送信しますが、サイトマップのオートディスカバリー機能を利用すればその必要がありません。

検索ロボットがサイトマップを自動的に見つけてくれます。robots.txtというファイルをドメインルートに作ってその中に次のように記述します。

複数のサイトマップがある場合は、このサイトマップの行を増やせばOKです。

User-agent: *
Sitemap: http://www.hogehoge.jp/sitemap.xml
Sitemap: http://www.hogehoge.jp/sitemap_m.xml

ホームページの閲覧者用のサイトマップ(sitemap.php)を作成する

ホームページを訪れた人に、このサイトにはどのようなページが有るのかを一覧で見てもらう為には、閲覧者用のサイトマップ(sitemap.htmlやsitemap.phpなど)を作成するのが良いと思います。

これは普通のHTMLファイルですから、見易く、判りやすく工夫してページを作成すれば問題はありません。

私は各ページの下に表示しているメニューを羅列したものを人間用のサイトマップ(sitemap.php)にしています。

つまり、PHPでメニューをインクルードして(取り込んで)表示していますので、サイトマップは単に全てのメニューをインクルードするだけです。ページを追加しても基本的には、サイトマップを更新する必要はありません。