Robots.txtファイルの詳細ガイド
公開: 2020-08-10robots.txtは非常に強力なファイルであり、Webサイトに追加して、サイト検索エンジンのどの領域をクロールし、どの領域を無視するかを制御するのに役立ちます。 robots.txtを定期的に確認して最新であることを確認し、可能であれば監視ツールを使用して変更が発生したときにアラートを受け取ることが重要です。
Semetricalでは、技術的なSEOサービスの一環として、クライアントのWebサイトの技術的な監査を行う際に、クライアントのrobots.txtファイルを監査して、ブロックされているパスが正しいかどうかを確認します。 さらに、SEOチームが重複などの技術的なSEO監査プロセスの一環として問題に遭遇した場合、新しいrobots.txtルールが作成され、ファイルに追加される可能性があります。
robots.txtは重要なファイルであるため、最終的に何であるか、なぜ誰かがそれを使用するのか、ルールを作成するときに発生する可能性のある一般的な落とし穴について説明したガイドをまとめました。
robots txtファイルとは何ですか?
robots.txtファイルは、ウェブサイトにアクセスしたときのクローラーの最初の呼び出しポートです。 これは、サイトのどの部分をクロールする必要があり、どの部分を無視する必要があるかをWebクローラーに基本的に指示するさまざまなユーザーエージェントの指示をリストしたテキストファイルです。 robots.txtファイルで使用される主な指示は、「許可」または「不許可」ルールによって指定されます。
歴史的には「noindex」ルールも機能していましたが、2019年に、Googleはnoindexディレクティブのサポートを停止しました。これは、未公開のルールであったためです。
ファイルが適切に使用されていない場合、それはあなたのウェブサイトに有害であり、トラフィックとランキングの大幅な低下を引き起こす可能性があります。 たとえば、ウェブサイト全体が検索エンジンからブロックされたり、サイトの一部が誤ってブロックされたりすると、間違いが発生する可能性があります。 これが発生すると、サイトのその部分に関連するランキングが徐々に低下し、トラフィックが順番に低下します。
実際にrobots.txtファイルが必要ですか?
いいえ、特にURLが最小限の小さなウェブサイトの場合はrobot.txtをウェブサイトに配置する必要はありませんが、中規模から大規模のウェブサイトには強くお勧めします。 大規模なサイトでは、サイトのどの部分にアクセスできるか、どのセクションをクローラーからブロックするかを簡単に制御できます。 ファイルが存在しない場合、通常、Webサイトは通常どおりクロールされ、インデックスが作成されます。
主に使用されるrobotstxtファイルは何ですか?
robots.txtには多くのユースケースがあり、Semetricalでは以下のシナリオで使用しています。
- これらのページは通常、クローラーにとって価値がなく、Webサイト全体で多くの重複を引き起こす可能性があるため、内部検索結果をブロックします。
- 特定のファセットがSEOの観点からは価値がないが、ユーザーがWebサイトにアクセスしているときにUXに必要な場合は、ファセットナビゲーションの一部をブロックします。
- ファセットナビゲーションのさまざまなレベルをブロックします。1つのファセットレベルは検索エンジンには役立ちますが、2つの異なるファセットフィルターを組み合わせると、検索エンジンがクロールしてインデックスを作成するのに無関係になる可能性があります。
- 重複を引き起こしたり、クロールバジェットを浪費しているパラメータをブロックします。 他の人がrobots.txtのパラメーターをブロックしないように指示する可能性があるため、これは少し物議を醸していますが、パラメーターが必要であるがクローラーがそれらをクロールする必要がない多くのクライアントWebサイトで機能しています。 ブロックしているパラメータに価値のあるリンクがないこと、またはトラフィックをもたらす価値のあるキーワードでランク付けされていることを確認することを強くお勧めします。
- チェックアウトページやログインセクションなど、Webサイトのプライベートセクションをブロックします。
- クローラーがWebサイト上のすべてのURLに簡単にアクセスできるように、XMLサイトマップの場所を含めます。
- 特定のボットのみがサイトにアクセスしてクロールできるようにするため。
- モデレートできないユーザー生成コンテンツをブロックします。
ロボットのtxtをどこに置くか、そしてそれをあなたのサイトに追加する方法は?
robots.txtファイルは、ウェブサイトのルートに配置する必要があります。たとえば、Semetricalのサイトではwww.semetrical.com/robots.txtにあり、robots.txtという名前を付ける必要があります。 Webサイトにはrobots.txtを1つだけ含めることができ、ASCIIを含むUTF-8でエンコードされたテキストファイルに含める必要があります。
blog.example.comなどのサブドメインがある場合、robots.txtはblog.example.com/robots.txtなどのサブドメインのルートに配置できます。
robots.txtファイルはどのように見えますか?
典型的なrobots.txtファイルは、次のようなさまざまなコンポーネントと要素で構成されます。
- ユーザーエージェント
- 禁止する
- 許可する
- クロール遅延
- サイトマップ
- コメント(時々あなたはこれを見るかもしれません)
以下は、ユーザーエージェント、禁止ルール、サイトマップを含むSemetrcalsrobots.txtの例です。
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/ Disallow: /comments/feed/ Disallow: /trackback/ Disallow: /index.php/ Disallow: /xmlrpc.php Disallow: /blog-documentation/ Disallow: /test/ Disallow: /hpcontent/ Sitemap: https://devsemetrical.wpengine.com/sitemap.xmlユーザーエージェント
user-agentは、ディレクティブのグループの開始を定義します。 多くの場合、ワイルドカード(*)で表されます。これは、以下の手順がWebサイトにアクセスするすべてのボットを対象としていることを示します。 この例は次のとおりです。
ユーザーエージェント: *
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/特定のボットをブロックしたり、特定のボットのみに特定のページへのアクセスを許可したりする場合があります。 これを行うには、ユーザーエージェントとしてボット名を指定する必要があります。 この例は次のとおりです。
User-agent: AdsBot-Google Disallow: /checkout/reserve Disallow: /resale/checkout/order Disallow: /checkout/reserve_search知っておくべき一般的なユーザーエージェントは次のとおりです。

各ツールにはサイトをクロールする独自のユーザーエージェントがあるため、特定のソフトウェアがWebサイトをクロールしたり、1秒間にクロールできるURLの数を遅らせたりすることをブロックする機能もあります。 たとえば、SEMRushまたはAhrefsがWebサイトをクロールするのをブロックしたい場合は、以下がファイルに追加されます。
User-agent: SemrushBot Disallow: * User-agent: AhrefsBot Disallow: *クロールされるURLの数を遅らせたい場合は、以下のルールがファイルに追加されます。
User-agent: AhrefsBot Crawl-Delay: [value] User-agent: SemrushBot Crawl-Delay: [value]ディレクティブを禁止する
disallowディレクティブは、ユーザーがrobots.txtファイルに入れることができるルールであり、作成されたルールに応じて特定のパスまたはURLのセットをクロールしないように検索エンジンに指示します。 Webサイトの複数のセクションをブロックしたい場合があるため、ファイルには1行または複数行の禁止ルールが含まれている可能性があります。
disallowディレクティブが空で何も指定されていない場合、ボットはWebサイト全体をクロールできるため、特定のパスまたはWebサイト全体をブロックするには、URLプレフィックスまたはスラッシュ「/」を指定する必要があります。 たとえば、次の例では、/cgi-bin/または/wp-admin/のパスから外れるURLをブロックしています。
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/GoogleなどのボットからWebサイト全体をブロックしたい場合は、disallowディレクティブの後にスラッシュを追加する必要があります。 通常、これを行う必要があるのは、ステージングWebサイトが検出または索引付けされないようにする場合にのみ、ステージング環境で行う必要があります。 例は次のようになります。
User-agent: * Disallow: /ディレクティブを許可する
ほとんどの検索エンジンは、許可ディレクティブを順守し、基本的に禁止ディレクティブを打ち消します。 たとえば、/ wp-admin /をブロックすると、通常、そのパスから実行されるすべてのURLがブロックされますが、/ wp-admin / admin-ajax.phpに許可ルールがある場合、ボットは/をクロールします。 admin-ajax.phpですが、/wp-admin/から実行される他のパスをブロックします。 以下の例を参照してください。
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.phpクロール遅延
クロール遅延ディレクティブは、ボットがWebサイトをクロールする速度を遅くするのに役立ちます。 非公式のルールであるため、すべての検索エンジンがクロール遅延ディレクティブに従うわけではありません。
–Googleはこの指令に従いません

–Baiduはこの指令に従いません
– BingとYahooは、クロール遅延ディレクティブをサポートしています。このディレクティブでは、ルールがボットにクロールアクションの後に「n」秒待機するように指示します。
– Yandexはクロール遅延ディレクティブもサポートしていますが、ルールの解釈が少し異なり、「n」秒ごとに1回だけサイトにアクセスします。
以下のクロール遅延ディレクティブの例:
User-agent: BingBot Disallow: /wp-admin/ Crawl-delay: 5サイトマップディレクティブ
サイトマップディレクティブは、検索エンジンにXMLサイトマップの場所を指示し、さまざまな検索エンジンがWebサイト上のURLを簡単に見つけられるようにします。 この指令に従う主な検索エンジンには、Google、Bing、Yandex、Yahooが含まれます。
robots.txtファイルの下部にサイトマップディレクティブを配置することをお勧めします。 この例を以下に示します。
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/ Disallow: /comments/feed/ Sitemap: https://devsemetrical.wpengine.com/sitemap.xmlコメントコメント
robots.txtファイルにはコメントを含めることができますが、コメントの存在は人間のみを対象としており、ハッシュタグの後は無視されるため、ボットは対象外です。 コメントは、次のような複数の理由で役立ちます。
–特定のルールが存在する理由を提供します
–ルールを追加した参照
–ルールがサイトのどの部分に適用されるかを参照します
–ルールが何をしているのかを説明します
–以下は、さまざまなrobots.txtファイルのコメントの例を示しています。
#Student Disallow: /student/*-bed-flats-* Disallow: /student/*-bed-houses* Disallow: /comments/feed/ #Added by Semetrical Disallow: /jobs*/full-time/* Disallow: /jobs*/permanent/* #International Disallow: */company/fr/* Disallow: */company/de/*ルールの順序は重要ですか?
ルールの順序は重要ではありませんが、複数の許可ルールと禁止ルールがURLに適用される場合、最も長く一致するパスルールが適用され、あまり具体的でない短いルールよりも優先されます。 両方のパスが同じ長さの場合、制限の少ないルールが使用されます。 特定のURLパスを許可または禁止する必要がある場合は、「*」を使用して文字列を長くすることで、ルールを長くすることができます。 例:Disallow:******** / make-longer
グーグル自身のウェブサイトで、彼らは優先される優先順位規則を示す状況のサンプルセットをリストしました。 以下の表はGoogleからのものです。

robots.txtファイルを確認する方法は?
ルールが正しくないとウェブサイトに大きな影響を与える可能性があるため、robots.txtファイルを公開する前に確認して検証することが常に重要です。
テストする最良の方法は、検索コンソールのrobots.txtテスターツールにアクセスして、適切なルールでブロックする必要のあるさまざまなURLをテストすることです。 これは、ファイルに追加したい新しいルールをテストするための優れた方法でもあります。

robots.txtで正規表現を使用する例
robots.txtファイルにルールを作成する場合、パターンマッチングを使用して、1つの禁止ルールでURLの範囲をブロックできます。 正規表現を使用してパターンマッチングを行うことができ、GoogleとBingの両方が従う2つの主要な文字は次のとおりです。
- URLの末尾に一致するドル記号($)
- 文字の任意のシーケンスを表すワイルドカードルールであるアスタリスク(*)。
Semetricalでのパターンマッチングの例:
Disallow: */searchjobs/*これにより、www.example.com / searchjobs/constructionなどの/searchjobs/のパスを含むすべてのURLがブロックされます。 これは、検索エンジンがサイトのそのセクションをクロールしてインデックスに登録しないように、サイトの検索セクションをブロックする必要があるため、クライアントに必要でした。
Disallow: /jobs*/full-time/*これにより、/jobs/の後に/full-time/が続くパスを含むURLがブロックされます。
www.example.com/jobs/admin-secretarial-and-pa/full-time/
。 このシナリオでは、UXのフィルターとしてフルタイムが必要ですが、検索エンジンの場合、「役職」+「フルタイム」に対応するためにページにインデックスを付ける必要はありません。
Disallow: /jobs*/*-000-*-999/*これにより、次のような給与フィルターを含むURLがブロックされます。
www.example.com/jobs/city-of-bristol/-50-000-59-999/
。 このシナリオでは、給与フィルターが必要ですが、検索エンジンが給与ページをクロールしてインデックスを作成する必要はありませんでした。
Disallow: /jobs/*/*/flexible-hours/これにより、flexible-hoursを含み、その間に2つのファセットパスを含むURLがブロックされます。 このシナリオでは、キーワード調査により、ユーザーは場所+柔軟な時間または仕事+柔軟な時間を検索できますが、ユーザーは「役職」+「場所」+「柔軟な時間」を検索しないことがわかりました。 URLの例は次のようになります
www.example.com/jobs/admin-secretarial-and-pa/united-kingdom/flexible-hours/
。
Disallow: */company/*/*/*/people$これにより、会社と人の間の3つのパスと人で終わるURLを含むURLがブロックされます。 例は
www.example.com/company/gb/04905417/company-check-ltd/people
。
Disallow: *?CostLowerAsNumber=*このルールは、価格設定を注文したパラメーターフィルターをブロックします。
Disallow: *?Radius=* Disallow: *?radius=*これらの2つのルールは、ボットがユーザー検索の半径を変更するパラメーターURLをクロールするのをブロックしました。 サイトに両方のバージョンが含まれているため、大文字と小文字の両方のルールが追加されました。
robots.txtで注意すべき点
- robots.txtでは大文字と小文字が区別されるため、ルールで正しい大文字と小文字を使用する必要があります。たとえば、/hello/は/Hello/とは異なる方法で処理されます。
- Googleなどの検索エンジンでrobots.txtをすばやく再キャッシュして新しいルールを見つけるには、検索コンソールでrobots.txtのURLを調べて、インデックス登録をリクエストできます。
- ウェブサイトが多数のルールを含むrobots.txtに依存していて、robots.txtのURLが長期間4xxステータスコードを提供している場合、ルールは無視され、ブロックされたページはインデックスに登録可能になります。 常に200ステータスコードを提供していることを確認することが重要です。
- ウェブサイトがダウンしている場合は、robots.txtが5xxステータスコードを返すことを確認してください。検索エンジンはサイトがメンテナンスのためにダウンしていることを認識し、後日再びウェブサイトをクロールするために戻ってきます。
- URLがすでにインデックスに登録されていて、それらのURLをインデックスから削除するためにWebサイトに不許可が追加された場合、それらのURLが削除されて削除されるまでに時間がかかることがあります。 さらに、URLはしばらくの間インデックスにとどまることができますが、メタディスクリプションには「このサイトのrobots.txtのため、この結果の説明は利用できません。詳細」などのメッセージが表示されます。
- robots.txtの禁止ルールは、ページが検索結果に表示されないことを常に保証するわけではありません。Googleは、受信リンクなどの外部要因に基づいて、ページが関連性があり、インデックスに登録する必要があると判断する場合があるためです。
- 禁止ルールを設定し、ページのソースコード内に「インデックスなし」タグを配置した場合、検索エンジンはページにアクセスして「インデックスなし」タグを検出できないため、「インデックスなし」は無視されます。
- インデックス付きのページ、特に着信リンクのあるページの禁止ルールは、他のページに利益をもたらすために渡されるバックリンクのリンクの公平性を失うことを意味します。 これが、禁止ルールを追加する前に、ページにバックリンクがあるかどうかを確認することが重要である理由です。
- 許可または禁止ルールを作成するときにパスの先頭のスラッシュが欠落している場合、そのルールは無視されます。 たとえば、「Disallow:searchjobs。
Semetricalの技術的なSEOスペシャリストと話をしたい場合は、技術的なSEOサービスのページにアクセスして詳細を確認してください。
