HUGOで必要最低限なサイトマップを作る

更新:2019.3.31

目次

サイトマップを作る

HUGOはデフォルトでsitmap.xmlを出力する機能がついています。 内容がすべてのページを対象にしているため、robots.txtでクロールさせたくないURLも出力されます。 GoogleSearchConsole上でブロックされた旨のログが残りますので、カスタマイズすることで必要ないURLを書き出さないようにするといったことが可能になります。

sitemap.xmlのひな型を作る

このサイトで生成しているsitemap.xmlのひな型です。 sitemap.xmlというファイルを作成して、layoutsディレクトリの下に配置することで、機能します。

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{{ range .Data.Pages }}{{ if .IsPage }}
<url>
<loc>{{ .Permalink }}</loc>
{{ if not .Lastmod.IsZero }}
<lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>
{{ end }}
</url>
{{ end }}{{ end }}
</urlset>

コードの解説

sitemap.xmlを生成するにあたってポイントとなる部分は3つあります。

{{ range .Data.Pages }}{{ end }}

HUGOが生成するページのすべてをループで回してsitemap.xmlに書き出します。

{{ if .IsPage }}{{ end }}

tagsなどリンクがメインとなるようなページはsitemap.xmlに書き出さないように判定しています。

{{ if not .Lastmod.IsZero }}{{ end }}

ページのlastmodが取得できな場合は<lastmod>タグを出力しないようにしています。

まとめ

robots.txtの内容と合わせて作るのがよいと思います。 このサイトでは、tagsページはrobots.txtでブロックするようにしていますので、このようなコードになっています。 今後、アナリティクスやサーチコンソールのデータを見ながら調整していくつもりです。

HUGO関連記事










これからブログなどのサイトを作りたいと思っている人は、お名前.comでのドメイン取得がオススメです。

■□━━ 急げ、ドメインは早い者勝ち! ━━□■
     ■お名前.com

アマゾンの2019年本屋大賞一覧

そして、バトンは渡された
ひと
ベルリンは晴れているか
熱帯
ある男

楽天市場のおすすめ商品一覧

お金2.0 新しい経済のルールと生き方 [ 佐藤航陽 ]
全部レンチン!やせるおかず 作りおき 時短、手間なし、失敗なし
「読む力」と「地頭力」がいっきに身につく 東大読書 [ 西岡 壱誠 ]