0

既存の.NetMVC3サイトで、URLがのようなページングを実装しましたwww.mysite.com/someterm/anotherterm/_p/89/10。89はページ番号、10はページあたりの結果数です。

残念ながら、rel="nofollow"3を超えるページ番号のリンクからが欠落しており、それらのページも欠落してい<meta name="robots" content="noindex,nofollow" />ます。

問題は、Googleと他のいくつかの検索エンジンがこれらのページのインデックスを作成し、それらすべてを頻繁にクロールしようとしていることです。これは、proddbサーバーに劇的な影響を及ぼし始めたことがわかりました。これらの追加の数千ページすべてをクロールするのではなく、最初の数ページだけをクロールします。

DBサーバーがそれほど大きな打撃を受けないように、コードをページングを含まないバージョンのサイトに戻しました。したがって、検索エンジンではこれらすべてのページで404エラーが発生しますが、しばらくしてからページングサイトを再度紹介するので、これが最善の方法かどうかを知りたいと思います。

以下をweb.configに追加して、すべての404をホームページにリダイレクトすることができます。

 <httpErrors errorMode="Custom">
     <remove statusCode="404"/>
     <error statusCode="404" path="/" responseMode="ExecuteURL"/>
  </httpErrors>

しかし、これを行うと、ページ付けURLパラメーターを持つすべてのページの「重複コンテンツ」としてレンダリングされると思います。

ここで、これらの404を1〜2週間継続させてから、ページングサイトを再導入するのが最善の方法ですか?

別のオプションは、3を超えるページのクローラーを拒否するためにいくつかのコードが追加されたページングサイトを解放することです。

それらのページをインデックスから削除して、クロールされないようにするためのより迅速な方法はありますか?

ありがとう。

4

3 に答える 3

0

最後の手段を除いて、404に頼ることはありません。コンテンツが重複していると、ページランクが失われる可能性があります。私が最初にすることは、Googleウェブマスターツールアカウントを作成し、ページをクロールする方法、ページを削除する方法、使用する属性などを構成することです。

Bingについても同じこと(ウェブマスターツール)を実行してください。そうすれば、1日か2日で明確になります。(Bingのエンジンは他の多くの検索エンジンで使用されており、Bingでの変更もそれらに浸透しているようです。)

于 2012-08-04T08:51:58.753 に答える
0

robots.txtを作成してみてください。ほとんどの(ブラックハットではない)クローラーは、robots.txtファイルに配置した場合、そのページのブロックを尊重する必要があります。

ツールは次のとおりです: http ://www.mcanerin.com/EN/search-engine/robots-txt.asp

また、グーグルによるウェブマスターツールはあなたに素晴らしいサイトを提供し、robots.txtにも役立ちます

于 2012-08-05T08:54:12.527 に答える
0

これは完全に削除されるため、単にページを404のままにしておくことはできません。RFC 2616ハイパーテキスト転送プロトコル– HTTP / 1.1第10章を見てください。ステータスコードの定義:

「要求されたリソースはサーバーで使用できなくなり、転送アドレスは不明です。この状態は永続的であると見なされると予想されます。リンク編集機能を備えたクライアントは、ユーザーの承認後にRequest-URIへの参照を削除する必要があります。サーバーが状態が永続的であるかどうかを認識していないか、判断する機能がない場合は、代わりにステータスコード404(見つかりません)を使用する必要があります。特に明記されていない限り、この応答はキャッシュ可能です。

410応答は主に、リソースが意図的に使用不可であり、サーバー所有者がそのリソースへのリモートリンクを削除することを望んでいることを受信者に通知することにより、Webメンテナンスのタスクを支援することを目的としています。このようなイベントは、期間限定のプロモーションサービスや、サーバーのサイトで作業しなくなった個人に属するリソースでよく見られます。永続的に利用できないすべてのリソースを「なくなった」とマークしたり、マークを一定期間保持したりする必要はありません。これはサーバー所有者の裁量に任されています。」</ p>

新しいActuionResultメソッドを追加しただけです。

    public ActionResult Http410()
    {
        return new HttpStatusCodeResult(410);
    }

「__p」に一致する新しいルートを作成しました。

routes.MapRoute(name: "WholeCountryResultsWithPaging__p", url: "{searchTerm}/__p/{pageNumber}/{pageSize}", defaults: new { controller = "Errors", action = "Http410", pageNumber = UrlParameter.Optional, pageSize = UrlParameter.Optional });
于 2012-08-21T19:39:19.310 に答える