Hugoで簡単にお手軽SEO対策( JSON-LD + meta + h1 + などなど)
概要
ブログ初日なのでSEO対策の対応に追われてみます
JSON-LD
まずJSON-LDをなんとかします。
具体的にはlayouts/partials/head.htmlの要素<head>の中にこれを書きます。
{{ if eq .Kind "page" }}
<script type="application/ld+json">
{
"@context":"https://schema.org/",
"@type":"BlogPosting",
"headline":"{{ .Title }}",
"dateModified":"{{ .Lastmod.Format "2006-01-02T15:04:05Z0700" }}",
"datePublished":"{{ .Date.Format "2006-01-02T15:04:05Z0700" }}",
"author":[
{
"@type":"Person",
"name":"{{ .Site.Title }}",
"url":"{{ .Site.BaseURL }}"
}
]
}
</script>
{{ end }}
meta
忘れちゃいけない基本中の基本がmetaです。
description
まずはdescriptionです。これは直接的でいいですね
<meta name="description" content="{{ .Summary |truncate 100 }}">
keyword
これは簡単のためtagsを使います。
省略したい時もあるかもなのでwithもつけておきます。
{{ with .Params.tags }}
<meta name="keywords" content="{{ delimit . "," }}">
{{ end }}
h1
要素<h1>は各ページに1つづつしか使わないべきのようです。
<h1>はブログのヘッダーに使うことにして、
あとは諦めて基本的には<h2>以降を使うよう心がけます。
canonical
正規のURLというのを記載しないと重複とみなされたりするようです。
一応記事とホームには追加するようにしておきます。
{{ if eq .Kind "page" }}
<link rel="canonical" href="{{ .Permalink }}">
{{ end }}
{{ if eq .Kind "home" }}
<link rel="canonical" href="{{ .Site.BaseURL }}">
{{ end }}