2017-11-27 6 views
1

Googleのサイトで* .htmlファイルのインデックスを防止したいので、きれいなURLだけがインデックスに登録されます。Robots.txt - .htmlファイルのインデックスを無効にする

だから私は現在、私が持っているインデックス付きwww.example.com/en/loginなくwww.example.com/en/login/index.html

をしたいと思います:私はちょうど例えば禁止することができます知っている

User-agent: * 
Disallow:/
Disallow: /**.html - not working 
Allow: /$ 
Allow: /*/login* 

Disallow: /*/login/index.htmlしかし、私の問題はインデックス化したくないこれらの.htmlファイルが多数あることです。個々に行うのではなく、すべてを許可しない方法があるのか​​と不思議です。

答えて

2

まず最初に「インデックス付き」という言葉を使用していますので、robots.txtというコンベンションでは、ドメイン内の特定のURLを避けるよう自動クローラに提案することのみを認識しています。 robots.txtファイルにリストされているページは、そのページに関する他のデータがある場合でも、検索エンジンのインデックスに表示されます。たとえば、Google explicitly statesは、クロールを許可されていなくても、URLをインデックス付けして一覧表示します。 「自動化されたプログラムによってクロールされるのではなく」「検索エンジンにリストされている」という意味で「索引付け」という言葉を使用している場合には、そのことを認識しておきたいだけでした。

第2に、あなたが求めていることを達成するための標準的な方法はありません。 「The Web Robots Pages」パー:

注意また、そのグロブと正規表現は、どちらかのユーザーエージェントではサポートされていないをしているか、ラインを許可しません。 User-agentフィールドの '*'は、「任意のロボット」を意味する特別な値です。具体的には、「User-agent:bot」、「Disallow:/ tmp/*」、「Disallow:* .gif」のような行は使用できません。

言われていることは、多くのクローラがサポートするのは一般的な追加です。たとえば、Google's documentation of they directives they supportには、*をワイルドカードとして使用するパターンマッチングのサポートが記述されています。そのため、Disallow: /*.html$というディレクティブを追加すると、.htmlで終わるURLはクロールされませんが、結果はまだ検索結果に残る可能性があります。

しかし、あなたの主な目的が検索エンジンに「クリーン」で推奨されているURLを伝えている場合は、実際に探しているのはCanonical URLsです。各ページにlink rel="canonical"要素を置くことができます。その要素を使用する検索エンジンは、そのページを表示するときにどのパスを優先するかを決定するために使用します。

+0

私は、Googleのウェブマスターのrobots.txtテスターで 'Disallow:/ **。html $'を使っていて、動作しているようです。 –

関連する問題