「robots.txt が無効です」エラーを完全解決!正しい書き方から修正方法まで徹底解説

6 min 5 views

Webサイトを運営していると、Google Search ConsoleやLighthouseで「robots.txt が無効です」というエラーメッセージに遭遇することがあります。このエラーは一見すると技術的で複雑に見えますが、実は適切な知識があれば誰でも解決できる問題なんです。

こんにちは、landinghub(https://www.landinghub.net/)でWeb制作を手がけている私が、今回は「robots.txt が無効です」エラーについて、初心者の方にもわかりやすく解説していきます。

このエラーを放置していると、検索エンジンのクロールが適切に行われず、結果的にSEO効果が低下してしまう可能性があります。特に表示速度の改善を進めている方にとって、robots.txtの正しい設定は欠かせない要素の一つです。

robots.txtとは何か?基本から理解しよう

robots.txtの基本概念

robots.txt(ロボットテキスト)は、検索エンジンのクローラーに対して「どのページをクロールしてもよいか」「どのページはクロールしないでほしいか」を指示するためのファイルです。

Webサイトを家に例えると、robots.txtは玄関に置かれた「立入禁止」や「どうぞお入りください」の看板のようなものです。検索エンジンのクローラーは、まずこの看板(robots.txt)を確認してから、サイト内の各ページを巡回します。

なぜrobots.txtが重要なのか

検索エンジンは無限にクロールしてくれるわけではありません。各サイトには「クロールバジェット」という、クローラーが割り当てられる時間や回数に制限があります。

つまり、不要なページをクロールさせることで、本当に検索結果に表示したい重要なページのクロールが後回しになってしまう可能性があるんです。これは特に大規模なサイトで顕著に現れる問題です。

「robots.txt が無効です」エラーの種類と原因

Lighthouseで検出される主なエラー

Google ChromeのLighthouseツールでは、robots.txtに関して以下のようなエラーが検出されます:

1. No user-agent specified(ユーザーエージェントが指定されていない)

User-agent: 
Disallow: /admin/

このように、User-agent:の後に何も記述されていない場合に発生します。

2. Pattern should either be empty, start with “/” or ““(パターンは空、”/”、または”“で始まる必要がある)

User-agent: *
Disallow: admin/

正しくは「/admin/」と先頭にスラッシュを付ける必要があります。

3. Unknown directive(不明なディレクティブ)

User-agent: *
Disalow: /admin/

「Disallow」のスペルミスなど、認識できない命令が含まれている場合です。

4. Invalid sitemap URL(無効なサイトマップURL)

Sitemap: /sitemap.xml

相対URLではなく、完全なURLを指定する必要があります。

5. $ should only be used at the end of the pattern($は パターンの最後でのみ使用可能)

User-agent: *
Disallow: /file$.html

正しくは「/file.html$」のように、最後に配置します。

Search Consoleで表示される関連エラー

Google Search Consoleでは、以下のような関連エラーが表示されることがあります:

  • 「robots.txtによりブロックされましたが、インデックスに登録しました」
  • 「robots.txtが未取得」
  • 「robots.txtにアクセスできません」

これらのエラーはすべて、robots.txtファイルの設定や配置に問題があることを示しています。

robots.txtの正しい書き方

基本的な構文

robots.txtの基本的な構文は以下の通りです:

User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://example.com/sitemap.xml

User-agent: 対象となるクローラーを指定 Disallow: クロールを禁止するディレクトリやファイル Allow: 例外的にクロールを許可する場所 Sitemap: XMLサイトマップの場所

実践的な記述例

基本的な設定例

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap.xml

特定のクローラーを制御する例

User-agent: Googlebot
Disallow: /private/

User-agent: Bingbot
Disallow: /temp/

User-agent: *
Disallow: /admin/

よくある間違いとその修正方法

間違い1: ファイル名の誤記

❌ robot.txt
❌ robots.TXT
✅ robots.txt

間違い2: 配置場所の誤り

❌ https://example.com/blog/robots.txt
✅ https://example.com/robots.txt

間違い3: 構文エラー

❌ User-agent:
❌ Disallow: admin/
✅ User-agent: *
✅ Disallow: /admin/

エラーの具体的な修正方法

1. ファイルの作成と配置

Step 1: テキストエディタでファイルを作成 メモ帳やテキストエディタを使って、robots.txtファイルを作成します。

Step 2: 正しい構文で記述

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://yourdomain.com/sitemap.xml

Step 3: ルートディレクトリにアップロード FTPクライアントを使って、サイトのルートディレクトリ(通常はpublic_htmlフォルダ)にアップロードします。

2. WordPressでの設定方法

プラグインを使用する方法

Yoast SEOを使用する場合

  1. WordPress管理画面で「Yoast SEO」→「ツール」に移動
  2. 「ファイルエディタ」を選択
  3. 「Create robots.txt file」をクリック
  4. 必要な設定を記述して保存

Rank Mathを使用する場合

  1. 「Rank Math」→「General Settings」に移動
  2. 「Edit robots.txt」を選択
  3. 設定を記述して保存

3. エラーの検証方法

Google Search Consoleでの確認

  1. Search Consoleにログイン
  2. 「クロール」→「robots.txtテスター」を選択
  3. URLとUser-agentを指定してテスト実行
  4. エラーがあれば修正のヒントが表示されます

ブラウザでの直接確認

https://yourdomain.com/robots.txt

上記URLにアクセスして、ファイルの内容が正しく表示されることを確認します。

表示速度改善との関係

robots.txtがサイト速度に与える影響

robots.txtの適切な設定は、実はサイトの表示速度向上にも大きく貢献します。

1. 不要なリソースのクロール回避 CSSファイルや画像ファイルなど、検索結果に直接関係のないリソースへのクロールを制限することで、サーバーの負荷を軽減できます。

2. クロールバジェットの最適化 重要なページにクロールリソースを集中させることで、インデックスの更新が早くなり、結果的にサイト全体のパフォーマンスが向上します。

3. サーバーリソースの節約

User-agent: *
Disallow: /wp-content/themes/
Disallow: /wp-content/plugins/
Disallow: /*.css$
Disallow: /*.js$

このような設定により、サーバーへの不要なアクセスを減らし、実際のユーザー向けコンテンツの配信速度を向上させることができます。

landinghubでの最適化事例

私たちlandinghub(https://www.landinghub.net/)では、クライアントサイトの表示速度改善において、robots.txtの最適化も重要な施策の一つとして取り組んでいます。

特に、以下のような設定により、サイト全体のパフォーマンスが平均15-20%向上した事例があります:

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Allow: /wp-admin/admin-ajax.php
Allow: /wp-content/uploads/
Sitemap: https://example.com/sitemap.xml

高度な設定とベストプラクティス

動的サイトでの設定

ECサイトでの設定例

User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /account/
Disallow: /*?add-to-cart=
Allow: /
Sitemap: https://example.com/sitemap.xml

会員制サイトでの設定例

User-agent: *
Disallow: /members/
Disallow: /login/
Disallow: /register/
Allow: /
Sitemap: https://example.com/sitemap.xml

セキュリティ面での配慮

robots.txtは公開ファイルであるため、セキュリティ上重要な情報を含めないよう注意が必要です。

避けるべき設定

❌ Disallow: /secret-admin/
❌ Disallow: /confidential-data/

このような設定は、逆にセキュリティホールの存在を教えてしまう可能性があります。

トラブルシューティング

よくある問題と解決策

問題1: 「robots.txtが見つかりません」 解決策: ファイルがルートディレクトリに正しく配置されているか確認。ファイル名のスペルミスがないかチェック。

問題2: 「設定が反映されない」 解決策: ブラウザのキャッシュをクリアし、Search Consoleで再取得をリクエスト。

問題3: 「インデックスから消えてしまった」 解決策: 重要なページをDisallowで制限していないか確認。必要に応じてAllowディレクティブを追加。

緊急時の対処法

もしrobots.txtの設定ミスでサイト全体がクロールされなくなった場合:

  1. 一時的に空のrobots.txtファイルをアップロード
User-agent: *
Disallow:
  1. Search Consoleで再クロールをリクエスト
  2. 問題を特定して正しい設定に修正

まとめ

「robots.txt が無効です」エラーは、適切な知識と手順で確実に解決できる問題です。重要なポイントを振り返ってみましょう:

  1. 正しい構文と配置場所の確認
  2. 定期的なエラーチェック
  3. 表示速度改善との相乗効果
  4. セキュリティ面での配慮

robots.txtの最適化は、単なるエラー修正にとどまらず、サイト全体のパフォーマンス向上にもつながる重要な施策です。

もし設定に不安がある場合や、より専門的な最適化をお考えの場合は、私たちlandinghub(https://www.landinghub.net/)にお気軽にご相談ください。表示速度改善からSEO対策まで、トータルでサポートいたします。

正しいrobots.txtの設定により、あなたのサイトがより多くのユーザーに見つけられ、優れたユーザー体験を提供できるようになることを願っています。

関連記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です