robots.txt
ファイルがあります:
User-agent:*
Disallow:/path/page
Disallow:/path/
Allow:/
許可されていないパスはまだクロールされています。
私はこの問題と彼らが言ったことを検索しました、グーグルでの優先順位は重要ではありません。技術的には、許可されていない人でも機能するはずですが、それはAllow:/
がそれをオーバーライドしているためかどうか疑問に思っていますか?
Googleのrobots.txtテスター にページを通すと、2つの問題が明らかになります。
正しいrobots.txtファイルは次のとおりです。
User-agent: *
Disallow: /path/page
Disallow: /path/
DO NOTAllow:
を使用します。クロールを許可することがデフォルトです。クロールしたくないしないアイテムのみを含める必要があります。
User-Agent:
行を含めて、すべてのクローラーに適用されることを指定します。それ以外の場合は、noneに適用されます。
コロンの後にスペースがあることは実際には重要ではないと思いますが、私が見るすべての例にはスペースがあります。
また、robots.txtはそれに従うことを選択したクローラー専用です。 Googlebotのような検索エンジンスパイダーはrobots.txtに従う必要がありますが、他のすべてのスパイダーがそうするわけではありません。
既に述べたように、このインスタンスのAllow:
ディレクティブは不要です。デフォルトのアクションはすべてのクロールを許可することであるため、Allow: /
(つまり、すべて許可)を明示的に指定することは完全に冗長です。
ただし、提案されていることとは反対に、Allow: /
ディレクティブは問題を引き起こしません。 Allow: /
ディレクティブは、見かけ上のorderに関係なく、最も限定的ではないため、他のDisallow:
ディレクティブを「オーバーライド」しません。
googleの優先順位は関係ありません。
はい、そうですね。あなたは「指令の順序は重要ではない」という意味です。常に優先順位があります(「ワイルドカード」を使用している場合を除き、その場合は正式に「未定義」です)。これが、Allow: /
ディレクティブがその上の固有のDisallow:
ディレクティブをオーバーライドしない理由です。 Googleは優先順位を定義します :
許可および禁止ディレクティブの場合、[path]エントリの長さに基づいた最も具体的なルールは、より具体的ではない(短い)ルールよりも優先されます。
そして、これは Googleのrobots.txtテスター を使用して確認できます。 /path/page
:
これは、少なくともGooglebotとBingbotの動作です(最も具体的なパスが優先されます)。ただし、一部の(古い)ボットは「最初の一致」ルールを使用すると報告されています。そのため、最大限の互換性を確保するために、最初にAllow:
ディレクティブを含めることをお勧めします。参照: robots.txtで許可と禁止を処理する適切な方法は何ですか?
また、robots.txtはprefix matchingであるため、Disallow: /path/page
もDisallow: /path/
をブロックするため、/path/page
ディレクティブも不要です。したがって、要約すると、あなたのrobots.txt
ファイルのみneeds1つのDisallow
ディレクティブが必要です。他のディレクティブは単に不要ですが、実際には害はありません:
User-agent: *
Disallow: /path/
pathの前の空白は完全にオプションですが、Stephenの回答で述べたように、それを見るのがはるかに一般的であり、間違いなく読みやすくなります。
Allow:
ディレクティブをneedするのは、例外を作成し、Disallow:
ディレクティブによってブロックされるURLを許可する必要がある場合だけです。 。例えば。上記の/path/foo
ファイルでrobots.txt
を許可する場合は、グループのどこかにAllow: /path/foo
ディレクティブsomewhereを明示的に含める必要があります。
許可されていないパスはまだクロールされています。
それでも問題が解決しない場合は、他に何かが起こっています...
robots.txt
ファイルに他のディレクティブがありますか。 Googleのrobot.txtテスターでURLをテストします。robots.txt
ファイルはいつ実装されましたか? Googleは毎日robots.txt
ファイルへの変更のみをピックアップします。 GSCでは、Googlebotが現在使用しているバージョンを特定できます。robots.txt
は「良いボット」によってのみ尊重されます。多くの(悪い)ボットは単にそれを無視し、URLをクロールします。アクセスログで、「良い」ボットがこれらの許可されていないURLをまだクロールしているかどうかを確認できます。あなたがどのようなサイトを持っているかは、あなたの質問から明らかではありません。 SPAの場合は、発生している問題を説明します。 robots.txtはSPAを効果的に処理していないようで、他のソリューションを探す必要があります。