2016.11.16SEO記事一覧

XMLサイトマップ(sitemap.xml)とロボッツテキスト(robots.txt)の記述方法

  • このエントリーをはてなブックマークに追加

20_sitemap-xml-and-robots-txt

皆さんのサイトは、XMLサイトマップ(sitemap.xml)とロボッツテキスト(robots.txt)をきちんと設定していますか?

どちらも直接検索順位に影響するものではありませんが、検索エンジンに効率よくサイトをクロールしてもらうために必要なものです。

「え?なにそれ?」と思った方はもちろん、「設定してるけど、これでいいのかな…?」と心配に感じている方も、ぜひこの記事を読んで参考にしていただければ幸いです。

sitemap.xmlとrobots.txtの確認方法

「うちのサイトにはあるのかないのかわからないなあ…」という場合、ご自身のサイトの末尾に下記のように入力し、そもそも設置がされているのか確認してみましょう。

sitemap.xml
http://www.example.com/sitemap.xml

robots.txt
http://www.example.com/robots.txt

何やら機械的な文字がズラズラと出てきた場合、設定されています。
「404エラー」などと出てきた場合は、そもそも設定自体がされていない可能性があります。

robots.txtの役割

検索エンジンは、クローラーと呼ばれるロボットにサイトを巡回(クロール)させ、サイトの情報を取得しています。

robots.txtは、主に検索エンジンの巡回を指示するファイルです。クローラーは、robotst.txtを一番最初に読み込んで、クロールすべきページとクロールすべきでないページを確認し、効率的にサイトを見ています。

主な用途は以下のふたつです。

検索エンジンのクローラーに対してファイル又はディレクトリ全体へのアクセスを制御する

テキストエディタを開き、以下のように記述することで機能します。
ファイル名はrobots.txtと記述して、第一階層(TOPページのファイルが置いてある場所)にアップロードしてください。

User-agent: *Disallow: /abc/

「User-agent: *」は「あらゆるユーザーエージェントのロボットに対して命令する」という意味です。
PC用Googleのクローラーにのみ命令したければ「User-agent: Googlebot」、画像収集用Googleのクローラーにのみ命令したければ「User-agent: Googlebot-Image」、モバイル用Googleのクローラーにのみ命令したければ「User-agent: Googlebot-Mobile」となります。

「Disallow:」は「拒否する」という意味で、ここに「/」から始まるクロール拒否したいURLを記述します。この内容は部分一致で認識されますので、上記の例の場合、「/abc/」以下すべて、つまり「/abc/」も「/abc/efg/」も「/abc/efg.html」も全てクロールされなくなります。

会員専用ページなどに対して使用することになるでしょう。このサイトでもサンクスページのURLがインデックスされることの無いよう、robots.txtを設定しています。

部分一致で認識されますので、ディレクトリごと拒否したい場合はきちんと末尾の「/」まで記述するように注意してください。例えば「/abc」と記述しただけでは「/abc/」に加えて「/abcefg/」もクロールされなくなってしまいます。

「Disallow:」と反対の意味で「Allow:」(許可する)というコマンドもありますが、あまり使用することはありません。

インデックスが削除されてからDisallow:を使用する

もしすでにインデックスされているURLを削除したいときは、先にを指定するなどしてインデックスが無くなったことを確認してからrobots.txtを使用する方が確実でしょう。

robots.txtによる「Disallow」の役割はあくまでクロールの拒否であってインデックスの削除では無いからです。

sitemap.xmlの場所を検索エンジンに通知する

robots.txtに以下のように記述することで、検索エンジンにsitemap.xmlの場所を通知することが可能です。

User-agent: *Sitemap: http://www.example.com/sitemap.xml

「http://www.example.com/sitemap.xml」部分は任意のURLに書き換えてください。
sitemap.xmlは複数指定することもできます。また、Googleはこのsitemap.xmlの設置場所について非常に寛容で、外部ドメインを指定することもできます。

特に意味はないのであまりお勧めはしませんが、Google自身が外部ドメインのsitemap.xmlを指定しています。

参考:Googleのrobots.txt
 

なお、上記に加えてウェブマスターツールでsitemap.xmlを送信しておくとより確実です。

余談ですが、robots.txtの記述を間違うと、インデックスが削除されてしまうこともありますので、最新の注意を払いながら作業にあたりましょう。

XMLサイトマップの役割

XMLサイトマップとは、検索エンジンにサイト内のURLや動画の情報を告知するためのファイルです。
Google等のロボット型検索エンジンがサイトをクロール(巡回)しにきたときに、そのサイトの構造を効率的に知らせことができます。

設置したからといって上位表示に直結するわけではありませんが、クローリングが効率的になるということは、結果的にSEO上好ましい状態に近づくということになるでしょう。

XMLサイトマップの記述方法

では、ファイルの適切な記述方法をご紹介します。

参考:Search Console ヘルプ サイトマップについて

PC用XMLサイトマップの書き方

pc-sitemap

  1. 「sitemap.xml」は最新のバージョン(http://www.sitemaps.org/schemas/sitemap/0.9)で記述するようにしてください。
  2. <priority>(優先度)についてはTOPページのみ「1.0」を設定し、残りのページは階層構造に応じて0.8~0.1の間で記述してください。
  3. <lastmod>(最終更新日時)及び<changefreq>(更新頻度)を設定する場合は、内容に矛盾が生じないようご注意ください。
    (例: <lastmod>2005-01-01</lastmod> に対する<changefreq>daily</changefreq> など)
  4. 設置後は「Googleウェブマスターツール」を通じて検索エンジンに「sitemap.xml」を送信します。
  5. さらに、robots.txtにsitemap.xmlの位置を記述してください。

モバイル用XMLサイトマップの書き方

mobile-sitemap

  1. PC用とは書式の宣言文とが異なります。つまり、PC用とは別にファイルを作る必要があります。
  2. モバイル用ページであることを明示するためにそれぞれ<mobile:mobile />を追記します。
  3. その他の基本事項はPC用のsitemap.xmlと同様です。

動画用XMLサイトマップの書き方

WEBサイトに動画をアップしている場合には、専用の書式のサイトマップを使って検索エンジンに伝えることができます。

今後ユニバーサル検索やバーティカル検索がさらに進化して検索結果画面に動画が出現するシーンが増えていくことが予想されますので、こうした方法は積極的に活用してインデックスコントロールをしていきましょう。

video-sitemap

<urlset>が通常のXMLサイトマップと異なりますので、ファイル名を「sitemap-video.xml」等として設置するとよいでしょう。

動画サイトマップには非常に豊富なオプションが用意されていますので、Googleの公式アナウンスを参考に出来る限り周辺情報を盛りこんでいきましょう。

検索エンジンも動画の内容解析を進化させるべく努力はしているようですが、まだまだ技術的には不足が目立ちます。動画サイトマップに周辺情報を記載することで、動画そのものとそれが掲載されているページのテーマを的確に伝えることができます。

WordPress用XMLサイトマップの書き方

これまでご紹介した方法は、基本的に自分で記述・更新を行う必要があります。

ほとんど更新のないコーポレートサイトや、ページ数の少ない静的サイトなら大した労力は要しませんが、新規ページがバンバン追加されたり、ページ数が非常に多いサイトでSitemap.xmlを更新したり、追加したりというのは非常に手間がかかります。

しかし、プラグインを使用すれば、ワンクリックでページ抜けすることなく、sitemap.xmlの作成が可能です。新規ページが追加された場合でもプラグインが自動でsitemap.xmlを更新してくれるので更新の手間もありません。

Google XML Sitemaps

「sitemap.xmlを作れるプラグイン」と一言で言っても、何種類ものプラグインが存在します。
Google XML Sitemapsは、その中でも最も有名なもののひとつです。

利用方法も非常に簡単です。まずはプラグインをインストールします。

sitemap-xml-and-robots-txt-02

そして、有効化ボタンを押すだけ。

sitemap-xml-and-robots-txt-01

ただし、有効化した時点ではまだsitemap.xmlは生成されていません。記事を投稿すると、sitemap.xmlが自動生成されるようになります。

あとは記事を更新するだけで、プラグインが自動でsitemap.xmlを更新してます。

ちなみに、「Google XML Sitemap」という紛らわしいプラグインがあるので注意が必要です。
”Sitemap”の最後に”s”が付くか付かないかの違いです。正しいのは”s”付ですので、インストールする際は気をつけてください。

サイトマップに含むコンテンツの種類

初期設定状態では、「ホーム」「投稿ページ」「固定ページ」の3つに属するURLのみsimap.xmlに記載する設定となっています。よって、カテゴリーやタグによって生成されされるアーカイブのURLなどは含まれていません。

あえてこれらをSitemap.xmlに記載する必要もないとは思いますが、記載しなければいけない理由がある場合でも対応可能です。

更新頻度(changefreq)や優先順位(priority)の設定

Sitemap.xmlには更新頻度(changefreq)と優先順位(priority)を記載できるのですが、その設定もこのプラグインで細かくすることができます。基本的に的にこちらもデフォルトの設定で問題ないと思いますが、本当に細かく設定したい場合は調整することが可能です。

ひとつのサイトに2つ以上のXMLサイトマップを設置する場合

ひとつのsitemap.xmlには5万URLまでしか記述できません。また、ファイル容量が10MBを超えてもなりません。

また、モバイル用ページをサブディレクトリで展開している場合など、ひとつのサイトに二つ以上のsitemap.xmlを設置したい場合はあると思います。そういった場合には2通りの方法が考えられます。

サイトマップインデックスファイルを使用し、robots.txtを設置する

サイトマップインデックスファイルとは、複数のXMLサイトマップの場所を記述した目次ファイルのことです。以下は「/m/」以下でモバイル用ページを展開し、第一階層にPC用のsitemap.xml、「/m/」直下にモバイル用のsitemap.xmlを設置した例です。

<?xml version=”1.0″ encoding=”UTF-8″?>

<sitemapindex xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9″>

<sitemap>

<loc>http://www.example.com/sitemap.xml</loc>

</sitemap>

<sitemap>

<loc>http://www.example.com/m/sitemap.xml</loc>

</sitemap>

</sitemapindex>

サイトマップインデックスファイルのファイル名は「sitemap_index.xml」としておきましょう。ちなみにこの場合、robots.txtには以下のように記述します。

User-agent: *

Sitemap: http://www.example.com/sitemap_index.xml

robots.txtに二つ分のsitemap.xmlの場所を書く

robots.txtには複数の「Sitemap:」を指定することができます。一つ目の方法より手軽なやり方です。

User-agent: *

Sitemap: http://www.example.com/sitemap.xml

Sitemap: http://www.example.com/m/sitemap.xml

いずれの場合でも「Googleウェブマスターツール」を通じて検索エンジンにXMLサイトマップの場所を通知しておくとよいでしょう。

サイトマップジェネレータは便利だが使い方に注意

世の中には便利なサイトマップジェネレータがいくつか存在します。以下は私がよく活用させていただいているものです。

参考:Google・Yahoo!で使えるXMLサイトマップを無料で作成(SEOもっと!)

参考:サイトマップを作成-自動生成ツール「sitemap.xml Editor」
 

ただし注意点もあります。

  • これらのジェネレータは<a<に記述されているhref属性の値を取得するだけです。
    したがってサイト内リンクのURLが適切が統一して記述されていないと、index.html有りとindex.html無しのURLが重複して出力されることがあります。
  • <lastmod>(最終更新日時)及び<lchangefreq>(更新頻度)も自動で出力してくれますが、先にお伝えしている通り矛盾を生じさせないようにしてください。
  • <priority>(優先度)も自動で出力してくれますが、詳細は自分で確認して設定しましょう。

まとめ

さて、ここまでXMLサイトマップ(sitemap.xml)とロボッツテキスト(robots.txt)の記述方法をご紹介してきましたが、いかがでしたか?

ロボット(検索エンジン)との意思疎通にはとても手間がかかりますが、サイトのことを良く知ってもらうためには必要な作業ですので、皆さまもぜひ、この記事を参考に設定してみてください。

わからないことがあれば、お気軽にご相談ください。
 

毎月5社限定!無料Web診断でここまでわかる!

無料Web診断資料内容

あの競合他社がWebマーケティングで成功しているのも
皆さんのWebマーケティングがなかなかうまくいかないのも
すべて理由があります。
まずは理由を可視化する無料Webサイト診断をお試しください。

診断内容

  • 流入元分析
  • 検索流入分析
  • コンテンツ分析
  • デバイス分析
  • SEO分析

  • このエントリーをはてなブックマークに追加
The following two tabs change content below.
digital-marketing

digital-marketing

デジタルマーケティング研究所では、デジタルマーケティングの施策・広告・技術を、分析・実装・検証して、WEB担当者・マーケティング担当者の方の役立つ情報を発信していきます。