早押しボタンweb

robots.txtとsitemap.xmlの役割と設置方法

SEO対策やクローラー制御の基本として重要な「robots.txt」と「sitemap.xml」。これらを正しく設置することで、検索エンジンとの適切な関係を構築できます。本記事では、それぞれの役割とNext.js(SSG)での設置方法、動的生成の方法について解説します。

robots.txtとは?

robots.txtは、検索エンジンのクローラー(Googlebotなど)に対して、サイト内のどのページをクロールしてよいか、または避けるべきかを指示するためのファイルです。

基本的なrobots.txtの例

1User-agent: *
2Disallow: /admin/
3Allow: /
4
5Sitemap: https://example.com/sitemap.xml
6

この例では、全てのクローラーに対して/admin/以下をクロールさせず、それ以外は許可しています。また、サイトマップのURLも明示しています。

sitemap.xmlとは?

sitemap.xmlは、サイト内に存在するページURLの一覧を記述したファイルです。検索エンジンにとっては、クロールすべきページを効率よく把握するための地図のような役割を果たします。

基本的なsitemap.xmlの例

1<?xml version="1.0" encoding="UTF-8"?>
2<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3  <url>
4    <loc>https://example.com/</loc>
5    <lastmod>2025-05-04</lastmod>
6    <changefreq>monthly</changefreq>
7    <priority>1.0</priority>
8  </url>
9</urlset>
10

Next.js (SSG) での設置方法

Next.js(Static Export)では、publicディレクトリにrobots.txtsitemap.xmlを配置するだけで、静的サイトとして出力されます。

next-sitemapライブラリを使う

より簡単にサイトマップとrobots.txtを出力したい場合は、next-sitemapライブラリを利用すると便利です。設定ファイルを用意するだけで、URL一覧からsitemap.xmlrobots.txtなどを自動生成してくれます。

1npm install next-sitemap

続いて、next-sitemap.config.jsを作成します:

1/** @type {import('next-sitemap').IConfig} */
2module.exports = {
3  siteUrl: 'https://example.com',
4  generateRobotsTxt: true,
5};
6

その後、npx next-sitemapを実行することでsitemap.xmlrobots.txtpublicディレクトリに出力されます。

注意点

まとめ

記事一覧へ戻る