XMLサイトマップ/robots.txt/noindexタグ

SEO対策

こんにちは。WEBMARKSの安倍です。

今回は【XMLサイトマップ/robots.txt/noindexタグ】をレクチャーしていきます!

XMLサイトマップ、robots.txt、そしてnoindexタグという3つの重要な要素に焦点を当て、それぞれの役割とSEOにおける効果について詳しく解説します。これらを正しく理解することで、クローラーの巡回を最適化し、検索エンジンにサイトコンテンツを効率的に認識させることができます。

本講座を学習して身につくこと

本講座を学習して身につくこと

・XMLサイトマップ/robots.txt/noindexタグの概要
・XMLサイトマップ/robots.txt/noindexタグの記述方法
・XMLサイトマップ/robots.txt/noindexタグの活用シーン

本講座の動画

 

本講座の資料

 

XMLサイトマップについて

XMLサイトマップは、ウェブサイト内のページや画像のURLを一覧化したファイルで、検索エンジンのクローラーがサイトを巡回しやすくなる手がかりになり、インデックス登録を促進します。特にページ数が多いサイトや新規ページが多い場合に有効です。各URLには最終更新日も記載でき、更新があったページを検索エンジンに効率よく知らせることができます。

XMLサイトマップの記述例

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>※①
    <loc>https://www.example.com/foo.html</loc>※②
    <lastmod>2022-06-04</lastmod>※③
  </url>
</urlset>

①<url>タグで囲い、②<loc>タグ内にURL、③<lastmod>タグ内に最終更新日を記述します。

XMLサイトマップに関する注意点

XMLサイトマップには、以下のような注意点があります。

  • 注意点①:<lastmod>の値は、正確なページの最終更新日を記載
    <lastmod>の値は、正確なページの最終更新日を記載しないと、クローラーからxmlサイトマップが無視されるようになってしまいます。なお、<lastmod>の値はページに対する重要な更新(ページ上のメインコンテンツやリンクの変更など)の日時を反映する必要があり、著作権の日付の変更など軽微な変更は重要な更新とは見なされません。

  • 注意点②:Googleは、<priority> と <changefreq> の値を無視する
    XMLサイトマップに記述できるタグとして、<priority> と <changefreq>といった値もありますが、現在Googleはこの値を無視する仕様になっているため、記述する必要はありません。なお、特にマイナス評価になるわけではないので、すでに記述されている場合にあえて削除する必要はありません。

※<priority>:ページの重要度を0.0〜1.0で指定し、サイト内でのページの優先順位を伝えるもの。
※<changefreq>:ページの更新頻度の目安を伝えるもの。

XMLサイトマップの作成方法

XMLサイトマップには、以下3つの作成方法があります。

  • 作成方法①:CMSで自動作成する
    WordPressなどのCMSを使用している場合は、プラグインで自動作成できる可能性があります。
  • 作成方法②:手動で作成する
    サイト内のURL数が数十程度のように少ない場合は、サイトマップを手動で作成しても良いです。
  • 作成方法③:ツールを使用して自動作成する
    「XMLサイトマップ 作成ツール」といったキーワードで検索すると、様々なXMLサイトマップ作成ツールが見つかりますので、活用するのも良いです。
    作成ツール例:https://smallseotools.com/ja/xml-sitemap-generator/

XMLサイトマップの設置場所

XMLサイトマップの設置場所はドメイン直下(https://www.example.jp/○○○○)に設置することが基本ですが、どの階層(ディレクトリ)に設置しても問題はありません。ただし、ディレクトリ内に設置する場合、<loc>タグのURLは、サイトマップを配置したディレクトリ配下しか指定できないという制限があるので注意が必要です。

 

XMLサイトマップは複数設置してOK

XMLサイトマップはサイト内に複数設置しても良いです。求人サイトやECサイトのようなページ数が膨大なサイトでこのような運用をすることが多いです。そのようにする理由としては、

  • ページ種別ごとにXMLサイトマップを設けることで、サイト運用するうえで管理がしやすい
  • 一つのXMLサイトマップのURL数には上限(50,000 件)が設けられている

といったことがあります。
また、XMLサイトマップを複数設置する場合は、サイト内にある全てのXMLサイトマップのURLを記述したXMLサイトマップを設置することが基本になります。(XMLサイトマップを伝えるためのXMLサイトマップ)
なお、複数設置することによるSEOの評価が上がるといったメリットはありません。

※XMLサイトマップのURLはどのように設定しても問題ないです。

robots.txtについて

robots.txtは、サイトのドメイン直下に置くテキストファイルで、クローラーに対して「どのページをクロールしてよいか・してはいけないか」を指示するためのものです。例えば、ログイン後のマイページや管理画面など、検索結果に表示させたくないページを指定するのに使います。

robots.txtの記述例

User-agent: *
Disallow: /includes/

User-agent: Googlebot
Allow: /includes/

Sitemap: https://example.com/sitemap.xml

User-agent:クローラーを指定する項目です。* はすべてのクローラーという意味です。
Disallow:指定したURLのクロールをブロックします。ディレクトリ単位やページ単位で指定が可能です。
Allow:指定したURLのクロールを許可します。Disallowでブロックされたディレクトリ内の特定の子ディレクトリのURLのクロールを許可する場合に記述します。
Sitemap:XMLサイトマップの場所をクローラーに伝えます。

robots.txtに関する注意点

robots.txtには、以下のような注意点があります。

  • 注意点①:robots.txtは、必ずドメイン直下に設置かつファイル名は「robots.txt」にする
    robots.txtは、設置場所が決められており、ドメイン直下のみ設置可能です。また、ファイル名は「robots.txt」のみで、それ以外のファイル名は無効です。
  • 注意点②:外部サイトからのリンクがある場合は、クロールされてしまうケースがある
    robots.txtでブロックしていても、外部サイトからリンクが貼られているURLはクロールおよびインデックスされてしまう可能性があります。もし検索結果に表示させたくない場合は、noindexタグを設定しましょう。

Disallowの活用シーン

Disallowを記述した方が良いケース

  • 管理画面やログイン後マイページ
  • テスト環境や開発中のページ
  • 重複コンテンツのURLパラメータ(canonicalタグで対応しきれない場合)
  • 質の低いコンテンツや価値のないコンテンツ(大量に自動生成されたタグページ、サイト内検索結果ページなど)

 

Disallowを記述しない方が良いケース

  • インデックスさせたいコンテンツのURL
  • 重要なCSS、JavaScriptファイル
  • 画像ファイル
  • インデックスはさせたくないが、クロールは許可したいページ(サンクスページなど。基本的にはnoindex推奨。)

noindexタグについて

noindexタグは、ページをインデックスから除外する指示をするHTMLのタグです。「このページは検索結果に表示させないでください」と検索エンジンに伝える役割を担います。
robots.txtのDisallowが「このページをクロールしないでください」という指示であるのに対し、noindexタグは「このページはクロールしてもいいですが、検索結果には載せないでください」という指示になります。

noindexタグの記述例
①ページの <head> セクションに設定する場合(一般的)

<meta name="robots" content="noindex">

 

②HTTPレスポンスヘッダーに設定する場合(PDF、動画/画像ファイルなど、HTML以外に使用)

X-Robots-Tag: noindex

noindexタグに関する注意点

noindexタグには、以下のような注意点があります。

  • 注意点①:noindexタグを設定しているURLをXMLサイトマップに記述しない
    noindexタグを設定してるURLをXMLサイトマップに記述しないようにしましょう。インデックスから除外するnoindexタグと、インデックスしてほしい旨のXMLサイトマップのため、相反する内容になります。
  • 注意点②:robots.txtのDisallowと併用しない
    robots.txtでDisallowを設定し、同時にページ内にnoindexタグを記述しても、noindexタグは効果を発揮しません。なぜなら、Disallowによって検索エンジンがそのページをクロールできなくなり、ページ内のnoindexタグを読み取ることができないからです。

noindexタグの活用シーン

noindexタグを記述した方が良いケース

  • インデックスはさせたくないが、クロールは許可したいページ(サンクスページ※など。)
  • 質の低いコンテンツや価値のないコンテンツ(大量に自動生成されたタグページ、サイト内検索結果ページなど)
  • 期間が終了したキャンペーンページや古い情報を含むページ

※サンクスページは、ユーザーがある特定のアクション(購入、登録など)を完了した後にのみ表示されるものなのでインデックスさせる必要はありません。一方で、クロールを許可することで、Googleはこれらのページが存在すること、そしてユーザー体験の一部であることを認識し、サイトの全体的な構造やフローを理解するのに役立ちます。

まとめ

まとめ

・XMLサイトマップは、ウェブサイト内のページや画像のURLを一覧化したファイルで検索エンジンのクローラーがサイトを巡回しやすくなる手がかりになり、インデックス登録を促進します。
・robots.txtは、サイトのドメイン直下に置くテキストファイルで、クローラーに対して「どのページをクロールしてよいか・してはいけないか」を指示するためのものです。
・noindexタグは、ページをインデックスから除外する指示をするHTMLのタグです。「このページは検索結果に表示させないでください」と検索エンジンに伝える役割を担います。

TOP