web-dev-qa-db-ja.com

googlebotは、htaccessリダイレクトを使用してもindex.phpのインデックスを作成しますか?

私のhtaccessファイルでリダイレクトステートメントを使用して、アドレスバーに次を入力する人々...

http://example.com/index.php

...にリダイレクトされます...

http://example.com/

また、すべてのWebサイトのページにnoindex、nofollowメタタグがあります。

私の質問は、robots.txtファイルが次のようになっている場合、リダイレクト動作とメタデータを使用して、メインページ(つまりindex.php)をgooglebotでインデックス付けします...

User-agent: Googlebot
Allow: /index.php
Disallow: /

User-agent: *
Disallow: /

そうでない場合は、robots.txtを変更して、メインページのみがgoogleでインデックス付けされ、それ以上何もインデックス化されないようにするにはどうすればよいですか?

前もって感謝します!

3
Wislow

「/」にリダイレクトするが、「/ index.php」のみのインデックス作成を許可すると、何もインデックス化されません。あなたにとって「/」と「/index.php」は同じページです。ただし、検索エンジンにとっては、2つの別個のURLです。ユーザーに表示される唯一のページである「/」をブロックすると、Webサイト全体がブロックされます。

インデックスの作成をより詳細に制御したい場合は、上記のメタタグを使用するか、x-robots-tag HTTPヘッダーを使用してインデックス作成を制御します。特に、すべてのページでX-Robots-Tag: noindexを使用してください。index.phpにはexceptを使用します。その場合、robots.txtファイルを使用する必要はありません。 HHTPヘッダーがより効果的で、ページがインデックスに登録されるのをブロックするのに好ましい方法をどこかで読みましたが、現時点ではその記事を見つけることができません。

1
John Conde

John Conde 既に説明済み Googlebotは既にリダイレクトされた後にのみルールを評価し、ルート/を含むすべてのURLをブロックするためにDisallow: /accordinglyに従うため、現在のソリューションは機能しません(+1)その後のメインページ。

ただし、Googlebotの場合、具体的には、公式のrobots.txtプロトコルへの拡張を容易にすることができます(パターンマッチングrobots.txtファイルを使用してページをブロックまたは削除 )。そう:

User-agent: Googlebot
Allow: /$
Disallow: /

$characterはURLの末尾と一致しているため、Allow: /$ディレクティブは、ドメイン名で始まり、その後に何も続かないURL、つまりルート/メインページを許可します index.phpからすでにリダイレクトされています。

Disallow: /ディレクティブは、その後通常どおり他のすべてのURLをブロックします。

Googleウェブマスターツールサイト設定の下のクローラーアクセスで利用可能)のrobots.txtテストツールでこれを正常にテストしました。あなたも同様にすぐに自分でこれを確認することができます-SEO全般、特にGoogleに関連するツール/情報のこの貴重な選択を検討することを強くお勧めします!

1
Steffen Opel

危険です。 Googleがホームページのインデックスを作成するようにするには、次のようにします。

User-agent: *
Allow: /index.php
Disallow: /a
Disallow: /b
...
Disallow: /z
Disallow: /0
...
Disallow: /9

したがって、ルート「/」は不許可ルールに一致しません。

また、AdSenseをお持ちの場合は、追加することを忘れないでください

User-agent: Mediapartners-Google
Allow: /
0
how