Hugo に robots.txt とサイトマップを設定する方法について書いた。
Hugo に robots.txt とサイトマップを設定する|荒川仁志
https://note.com/hitoshiarakawa/n/n723813a7a625
今回はそれを Hugoplate テーマでやってみた。Stack テーマでやったときとはテーマを変えたし多言語化もしているので少し勝手が変わった。
環境:
・macOS Ventura 13.5(英語環境)
・Hugo v0.119.0
・Hugo テーマ:Hugoplate
(1)hugo.toml
に以下を記入することで、robots.txt
の自動生成を無効化する。
enableRobotsTXT = false
(2)Hugo はデフォルトで sitemap.xml
が生成されるが、カスタマイズしていく。
/themes/Hugoplate/layouts/sitemap.xml
を以下の内容で作成する。
{{ printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\" ?>" | safeHTML }}
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{{ range (where .Site.Pages ".Section" "blog") }}
<url>
<loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
<lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
<changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
<priority>{{ .Sitemap.Priority }}</priority>{{ end }}
</url>
{{ end }}
</urlset>
blog
セクションのみで出力したいので range
でそれを指定している。
(3)以下のコマンドでプレビューを実行しよう。
$ npm run dev
今回は多言語化した Hugo なので、以下の2つのサイトマップが出力されている。
http://localhost:1313/ja/sitemap.xml
http://localhost:1313/en/sitemap.xml
プレビューは ctrl + c で抜ける。
(4)static/robots.txt
を作成し、以下のように記述する。
User-agent: *
Disallow:
Sitemap: https://{ドメイン}/ja/sitemap.xml
Sitemap: https://{ドメイン}/en/sitemap.xml
(5)ページをビルドする。
$ npm run build
/public/robots.txt
が生成されていることを確認しよう。
Google Adsense への申請も済ませた。
参考:
[Hugo] Hugoplate テーマでの多言語化 | 荒川仁志 公式サイト
https://hitoshiarakawa.com/blogs/2024/2024-05-10_multilingual-site-with-hugo/
複数のsitemap.xmlを設置する|マコトのおもちゃ箱 ~ぼへぼへ自営業者の技術メモ~
http://piyopiyocs.blog115.fc2.com/blog-entry-1097.html
Tips for Customizing Hugo RSS Feeds | Ben Congdon
https://benjamincongdon.me/blog/2020/01/14/Tips-for-Customizing-Hugo-RSS-Feeds/
バスカヴィル家の犬 【新訳版】 シャーロック・ホームズ・シリーズ (創元推理文庫) | アーサー・コナン・ドイル, 深町 眞理子 | 英米の小説・文芸 | Kindleストア | Amazon
https://amzn.to/4bsGeVU