web-dev-qa-db-ja.com

.htaccessを使用してGoogle Search ConsoleからURLパラメーターを削除するにはどうすればよいですか?

私のWordPressサイト。それほど大きなコンテンツではありません。 CPU帯域幅の使用率が高いという最近の問題。数秒以内に100%になり、サーバーがダウンします。大規模な分析の結果、Google Search Consoleで、インデックス登録されたステータスが約2,64,023であることがわかりました。また、URLが個々のパラメーターについて24,981,662を監視するURLパラメーター。それは非常識です。使用されたフィルタリングオプション。 Yoastプラグインから問題noindexそれらのオプションを見つけたら、パラメーターを編集します。ただし、インデックスのステータスに変化はありません。日々増えています。したがって、Google Search Consoleからこれらのパラメーターを永続的にno-indexし、また削除したいです。 .htaccessファイルを使用してそれを行うにはどうすればよいですか?これにより、Google Search Consoleからの合計インデックス数が確実に減少します。

Google Search Consoleからのインデックス付きURLパラメーターは次のとおりです。

enter image description here

3
Mourin

検索エンジンボット(つまりGooglebot)が最初にこれらのURLをクロールするのを防ぐために、おそらくrobots.txtファイルでこれらのURLを(URLパラメーターで)ブロックする必要があるようです。たとえば、クエリ文字列ですべてのURLをブロックするには:

User-agent: *
Disallow: /*?

Google Search Console(以前のWebmaster Tools)内で、各URLパラメーターの処理方法をGoogleに明示的に指示することもできます。 [クロール]> [URLパラメータ]の下。たとえば、filter_displayパラメーターは次のように定義できます。

  • このパラメーターはユーザーに表示されるページコンテンツを変更しますか?
    「はい:ページコンテンツの変更、並べ替え、または絞り込み」
  • このパラメーターはページコンテンツにどのように影響しますか?
    「ナローズ」
  • Googlebotがクロールする必要があるこのパラメーターを持つURLはどれですか?
    「URLなし」(または、以前のオプションを考慮して、Googleを信頼する場合は「Googlebotに決定させる」)

.htaccessファイルを使用してそれを行うにはどうすればよいですか?

コメントで、これらのURLパラメーターは「重要ではない」と述べました。ただし、いくつかのユーザー機能(フィルタリング、並べ替えなど)を提供しているように見えますか?その場合、おそらく.htaccessを使用したくないでしょう。 .htaccessを使用すると、URLを正規化し、これらのURLパラメーターでURLをリダイレクトできます。これにより、これらのURLパラメータがサイトから完全に削除されます。サイトの機能を損なう可能性もありますか?


PDATE:robots.txtファイル(コメントからコピー):

User-agent: *
Disallow: /*?

User-agent: *
Disallow: /

User-agent: Googlebot
Disallow:

User-agent: *
Allow: /wp-content/uploads/
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /junk/
Disallow: /images/
Disallow: /wp-content/
Disallow: /index.php
Disallow: /wp-login.php

これは意図したとおりには機能しません。競合するグループがあります。すなわち。すべてがUser-agent: *と一致する3つのグループ。ボットは1ブロックのルールのみを処理します。一致するブロックは、「最も具体的な」User-agentに一致するブロックです。 User-agent: *ブロックは、他のブロックと一致しなかったボットと一致します。これらのルールから、GooglebotはすべてのURLパラメーターを含むeverything(無制限)をクロールします-これがサーバーに問題を引き起こしている場合(提案どおり)これはあなたが望むものではありません。そして、これらのルールから、他のすべてのボットが最初のUser-agent: *と一致することを「推測」します

(しかし、異なる推論を採用し、複数のブロックを処理できると仮定したとしても、これは意味がありません...?)

要件に応じて、次のように記述します。

User-agent: *
Disallow: /

User-agent: Googlebot
Allow: /wp-content/uploads/
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /junk/
Disallow: /images/
Disallow: /wp-content/
Disallow: /index.php
Disallow: /wp-login.php
Disallow: /*?

これがWordPressサイトである場合、Googlebotでさえクロールしたくないeverywhere

これらのルールにより、他のすべての(良い)ボットはサイトをクロールできなくなります。

1
DocRoot