これはなに
この記事では、静的サイトジェネレータHugoで作成されたサイトに、robots.txtファイルを追加する方法を紹介する。robots.txtは、ウェブサイトのクローリングを制御する重要なファイルである。
Hugoでデフォルトのrobots.txtを生成する方法
Hugoでは、configファイルでenableRobotsTXT
をtrue
にすると、自動でrobots.txtをpublic直下に生成してくれる。
config.yaml
enableRobotsTXT: true
利用しているテーマにrobots.txtのテンプレート1が含まれていない場合は、下記に示すシンプルなファイルが生成される。
/public/robots.txt
User-agent: *
robots.txtをカスタマイズする方法
Hugoが生成するrobots.txtをカスタマイズするには、/layouts/robots.txt
を作成し、そこにカスタム内容を書き込む。
たとえば、下記の内容を持つrobots.txtをlayouts下に生成する。
/layouts/robots.txt
User-agent: *
Disallow:
Sitemap: {{ "sitemap.xml" | absURL }}
その後hugo
コマンドを実行すると、public直下にカスタマイズされたrobots.txtが生成される。
/public/robots.txt
User-agent: *
Disallow:
Sitemap: https://notes.nakurei.com/sitemap.xml
特定のクローラーに対するrobots.txtの設定例
Googlebotに対する設定例
User-agent: Googlebot
Disallow: /private/
他のウェブクローラに対する設定例
User-agent: Bingbot
Disallow: /private/
robots.txtの設定ミスによる検索エンジンへの悪影響
robots.txtの設定ミスは、サイトが検索エンジンで正しくインデックスされない原因となる。そのため、設定を変更する際は、特にDisallowやAllowの指定を正確に行うことが重要である。設定ミスを防ぐために、robots.txtを変更した後は、robots.txtの設定が正しく反映されているか確認しよう。確認には、Google Search Consoleで用意されているrobots.txtテスター や、Bing Webmaster Toolsに用意されているrobots.txtテスター を利用できる。
参考文献・URL
- Robots.txt File | Hugo
- Hugo の robots.txt と Sitemap。 | ふうせん🎈 FU-SEN
- Hugoブログのrobots.txt、コンテンツ移動時の対応など – OpenGroove
/themes/<THEME>/layouts/robots.txt
↩︎