私はApacheでこのサイトを構築していますが、Google検索に自分のサイトが全く表示されないことに気づきました。
Search Consoleを見ても、クロールエラーや「検出 – インデックス未登録」といった表示ばかり。
調べてみると、robots.txtを作成していなかったことが原因だったようです。
この記事では、同じような状況に悩んでいる人向けに、robots.txtの基本構造、設定方法、noindexとの違いまでを詳しく整理します。
ApacheサイトがGoogleにインデックスされない原因
Googleの検索結果に自分のサイトが出てこない場合、原因の多くは次の3つに分類されます。
- robots.txt の設定が不適切(クロールがブロックされている)
- noindexタグなどでインデックスを制御している
- コンテンツが少なすぎる・外部リンクが少ない
このうち最も見落とされやすいのが robots.txtの設定漏れまたは誤設定 です。
robots.txtとは?
robots.txtは、ウェブサイトの管理者が検索エンジンのクローラー(bot)に対して、
「どのページをクロールしてよいか・してはいけないか」を伝えるための設定ファイルです。
クローラーはサイトを訪れると、最初にrobots.txtを確認します。
正しく設定すれば、不要なページのインデックスを防ぎ、重要なページを優先的に評価してもらうことができます。
robots.txtの基本構造
robots.txtは、ルートディレクトリの直下に配置されます。
例えば以下のURLのようにアクセスできるのが理想です。 https://iskkuu.com/robots.txt
robots.txtの基本的な構造は以下の通りです:
User-agent: [クローラー名]
Disallow: [クロールを禁止するURLパス]
Allow: [クロールを許可するURLパス]
| 項目 | 内容 |
|---|---|
| User-agent | 対象となるクローラーを指定(例:Googlebot) |
| Disallow | クロールしてほしくないページ・ディレクトリ |
| Allow | 特定のページのみクロールを許可 |
設定例で見る robots.txt の書き方
全ページをクロール許可する例
このサイトのrobots.txtは以下のようになっています。
User-agent: *
Disallow:
Sitemap: https://iskkuu.com/sitemap.xml
この設定は「すべてのクローラーに対してクロールを許可+サイトマップを通知」するものです。
サイト全体を公開したい場合の基本形です。
特定ディレクトリをブロックする例
また、ドメイン直下の/privateフォルダをクロール禁止にし、publicフォルダを許可したい場合は以下のように設定します。
User-agent: *
Disallow: /private/
Allow: /public/
Sitemap: https://iskkuu.com/sitemap.xml
/private/配下を非公開にし、/public/だけクロールを許可する設定です。
よく使われるUser-agent
| User-agent | クローラー |
|---|---|
| Googlebot | Google検索 |
| Bingbot | Bing検索 |
| Slurp | Yahoo!検索 |
| DuckDuckBot | DuckDuckGo検索 |
| * | すべてのクローラー |
クローラーごとに制御する必要があるケースはまれで、基本はアスタリスク(*)指定で十分です。 私もクローラーごとの制御はしていないです。
robots.txtの制限事項と注意点
- robots.txtはあくまで「お願いベース」のルールです。すべてのクローラーが従うわけではなく、悪意あるbotは無視することもあります。
- ファイルは公開情報なので、誰でもURLを見れば内容を確認できます。センシティブなフォルダ(例:/admin/)を記載すると、逆に存在を知られてしまうリスクもあります。
- robots.txtはアクセス制御の手段ではありません。非公開にしたいディレクトリは、
.htaccessによるBasic認証やApacheのアクセス権設定で保護する必要があります。
robots.txtとSEOの関係
正しく設定されたrobots.txtは、SEOにおいてクローラビリティ(巡回性)を最適化します。
不要なURLを除外することで、Googlebotが重要なページを効率的にクロールできます。
ただし、robots.txtでブロックしたページはGoogleが内容を確認できません。
そのため「検索結果に載せたくないページ」については、別のアプローチが必要になります。
ここでは、robots.txtとnoindexの違いを整理します。
🔍 robots.txtとnoindexの違い
検索エンジンがページを扱う流れには、主に2つの段階があります。
| 段階 | 説明 |
|---|---|
| クロール(Crawl) | Googlebotがページの内容を読み取りに行くこと。 |
| インデックス(Index) | 読み取ったページをGoogleの検索結果に登録すること。 |
つまり、
🔸 クロール = 見に行く
🔸 インデックス = 検索に載せる
という関係です。
🧩 robots.txtの役割
robots.txtは、「このURLはクロールしないでください」とクローラーのアクセスを制御するためのファイルです。 たとえば、以下の設定があったとします。
User-agent: *
Disallow: /private/
この設定では、Googlebotは /private/ の中身を見に行きません。
つまり、そのフォルダの内容を一切読み取らない状態になります。
ただし、robots.txtでブロックしても、他のサイトがそのページにリンクしている場合、 GoogleがURLの存在を知ることがあります。
その結果、「URLだけが検索結果に表示される」ケースが起こるのです。
🧠 noindexメタタグの役割
一方、<meta name="robots" content="noindex"> は、
「このページは見てもいいけど、検索結果には載せないで」と指示する仕組みです。
HTMLの<head>内に次のように記述します。
<meta name="robots" content="noindex, follow">
この設定を入れると、Googlebotはページ内容を読みますが、
インデックス(検索登録)からは除外します。
⚖️ robots.txtとnoindexの使い分け
| 項目 | robots.txt | meta noindex |
|---|---|---|
| クローラーがページを読む? | ❌ 読まない | ✅ 読む |
| インデックスされる? | URLだけ表示される可能性あり | ❌ 完全にされない |
| 設定場所 | サイト全体(ルート直下) | 各ページのHTML内 |
| 主な目的 | クロール(巡回)の制御 | インデックス(検索結果掲載)の制御 |
SIerにいると見落としがちな「Web公開」の世界
この記事とは直接関係がないのですが、SIerで働く身として思ったことがあるので少し雑談を、、、
SIerで働いていると、こういった「検索エンジン」や「広告」「SEO」の話題に触れる機会がほとんどありません。
なぜなら、社内システムや業務システムはインターネットに公開しないからです。
だからこそ、“外に向けて”発信活動してみると、「どうすれば見てもらえるか」「どう露出を増やすか」 という観点が自分は非常に弱いことに気づきます。 お客様のことを考えろと上司からは言われますが、その上司も本当にお客様目線で働いているかというと、私の感覚では全くできていません。 上司も、自分の上司を向いて仕事をしています。これは間違いないです。
どんな企業もその要素があると思いますが、SIerはその影響が本当に強い。
どれだけ顧客が不満を持っていても、仮に顧客がそのシステムを使用しないとなっても、サラリーマンである以上、一銭だって損はしません。
それに、上司を向いて仕事しないとSIerでは仕事できない。それが構造的に正しいのだとも思います。
営業でも同じで、SIerの営業先は大企業=購買担当者。
つまり「自分のお金で買う人」ではないので、ユーザー心理のリアルさが見えにくい。
これが、直接お金を払ってもらうエンドユーザーWeb運営との一番大きなギャップだと思います。
SIerの外に出ると、「作る」だけでなく「届ける」力が問われる。 robots.txtのような細かい設定ひとつでも、それを体感できます
研修時代に「会社じゃなくてお客からお金をもらっている意識を持て」と言われたのを思い出しました。 でも、現実はそんなに単純じゃないですよね。 お客の方を見すぎると上司とぶつかってめちゃ辛くなるだけだし、上司を見すぎると結果的に誰も幸せにならない、、、 現実は世知辛いというか、難しいです。
まとめ:インデックスされない悩みをrobots.txtで改善するために
robots.txtは、検索エンジンのクローラーに対してサイト内の巡回ルールを示す重要なファイルです。
正しい設定を行うことでSEOを最適化し、不要なページのインデックスを避けることができます。
ただし、robots.txtはアクセス制御ではなく、クローラーへの“お願い”に過ぎない点を忘れないようにしましょう。


