1

robots.txt に関する Google のドキュメントを読んでいたところ、404 または 200 の応答がない限り、サイトのインデックス作成が遅れることがわかりました。

Googlebot はサイトをクロールする前に、robots.txt ファイルにアクセスして、サイトが Google によるページや URL のクロールをブロックしているかどうかを判断します。robots.txt ファイルが存在するがアクセスできない場合 (つまり、HTTP ステータス コード 200 または 404 が返されない場合) は、許可されていない URL をクロールするリスクを負うよりも、クロールを延期します。

私のサイトでは、web.xml エラー コードを使用してエラー コードを Spring MVC コントローラー メソッドにマップしています。

<error-page>
  <error-code>404</error-code>
  <location>/showerror</location>
</error-page>

これにより、200 を返すエラー ページ (ただし、HTML ページ) に転送されます。

要求された URL が robots.txt の場合、実際には 404 を処理せずに返す必要があります。特定の URL (/robots.txt) をこのエラー処理から除外する簡単な方法はありますか?

もちろん、他のオプションは、何もブロックしない空の robots.txt を返すことです。

4

1 に答える 1

3

私がおそらく使用するアプローチは、コントローラーで実際に処理することです。

@Controller
public class RobotsTxtController {
    @RequestMapping("/robots.txt")
    @ResponseStatus(HttpStatus.NOT_FOUND)
    public void robotsTxt() {}
}

実際のページを表示したい場合は、メソッドがビュー名を返すようにすることができます。

このように、それは実際の「ページ」であり、通常の 404 プロセスでは処理されませんが@ResponseStatus、404 として返されます。

于 2013-11-08T20:00:56.833 に答える