diff options
Diffstat (limited to 'themes/LoveIt/layouts/partials/head/seo.html')
-rw-r--r-- | themes/LoveIt/layouts/partials/head/seo.html | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/themes/LoveIt/layouts/partials/head/seo.html b/themes/LoveIt/layouts/partials/head/seo.html new file mode 100644 index 0000000..d431ad0 --- /dev/null +++ b/themes/LoveIt/layouts/partials/head/seo.html @@ -0,0 +1,153 @@ +{{- $params := .Scratch.Get "params" -}} + +{{- with .Site.Params.verification.google -}} + <meta name="google-site-verification" content="{{ . }}" /> +{{- end -}} +{{- with .Site.Params.verification.bing -}} + <meta name="msvalidate.01" content="{{ . }}" /> +{{- end -}} +{{- with .Site.Params.verification.yandex -}} + <meta name="yandex-verification" content="{{ . }}" /> +{{- end -}} +{{- with .Site.Params.verification.pinterest -}} + <meta name="p:domain_verify" content="{{ . }}" /> +{{- end -}} +{{- with .Site.Params.verification.baidu -}} + <meta name="baidu-site-verification" content="{{ . }}" /> +{{- end -}} + +{{- /* Home SEO */ -}} +{{- if .IsHome -}} + <script type="application/ld+json"> + { + "@context": "http://schema.org", + "@type": "WebSite", + "url": "{{ .Permalink }}", + {{- with .Site.LanguageCode -}} + "inLanguage": "{{ . }}", + {{- end -}} + {{- with .Site.Author.name -}} + "author": { + "@type": "Person", + "name": {{ . | safeHTML }} + }, + {{- end -}} + {{- with .Site.Params.description -}} + "description": {{ . | safeHTML }}, + {{- end -}} + {{- $image := .Site.Params.seo.image -}} + {{- with dict "Path" $image "Resources" .Resources | partial "function/resource.html" -}} + "image": { + "@type": "ImageObject", + "url": "{{ .Permalink }}", + "width": {{ .Width }}, + "height": {{ .Height }} + }, + {{- else -}} + {{- with $image -}} + "image": "{{ . | absURL }}", + {{- end -}} + {{- end -}} + {{- with .Site.Params.seo.thumbnailUrl -}} + {{- with dict "Path" . "Resources" $.Resources | partial "function/resource.html" -}} + "thumbnailUrl": "{{ .Permalink }}", + {{- else -}} + "thumbnailUrl": "{{ . | absURL }}", + {{- end -}} + {{- end -}} + {{- with .Site.Copyright -}} + "license": "{{ . | safeHTML }}", + {{- end -}} + "name": {{ .Site.Title | safeHTML }} + } + </script> + +{{- /* Page SEO */ -}} +{{- else if .IsPage -}} + <script type="application/ld+json"> + { + "@context": "http://schema.org", + "@type": "BlogPosting", + "headline": {{ .Title | safeHTML }}, + "inLanguage": "{{ .Site.LanguageCode }}", + "mainEntityOfPage": { + "@type": "WebPage", + "@id": "{{ .Permalink }}" + }, + {{- $images := $params.seo.images | default slice -}} + {{- if not $images -}} + {{- with .Resources.GetMatch "featured-image-preview" -}} + {{- $images = slice "featured-image-preview" -}} + {{- end -}} + {{- with .Resources.GetMatch "featured-image" -}} + {{- $images = slice "featured-image" -}} + {{- end -}} + {{- end -}} + {{- with .Site.Params.seo.image -}} + {{- $images = $images | default (slice .) -}} + {{- end -}} + {{- with $images -}} + "image": [ + {{- range $index, $value := . -}} + {{- if gt $index 0 }},{{ end -}} + {{- with dict "Path" $value "Resources" $.Resources | partial "function/resource.html" -}} + { + "@type": "ImageObject", + "url": "{{ .Permalink }}", + "width": {{ .Width }}, + "height": {{ .Height }} + } + {{- else -}} + {{- with $value -}} + "{{ . | absURL }}" + {{- end -}} + {{- end -}} + {{- end -}} + ], + {{- end -}} + "genre": "{{ .Type }}", + {{- with .Params.tags -}} + "keywords": "{{ delimit . ", " }}", + {{- end -}} + "wordcount": {{ .WordCount }}, + "url": "{{ .Permalink }}", + {{- if not .PublishDate.IsZero -}} + "datePublished": {{ .PublishDate.Format "2006-01-02T15:04:05-07:00" | safeHTML }}, + {{- else if not .Date.IsZero -}} + "datePublished": {{ .Date.Format "2006-01-02T15:04:05-07:00" | safeHTML }}, + {{- end -}} + {{- with .Lastmod -}} + "dateModified": {{ .Format "2006-01-02T15:04:05-07:00" | safeHTML }}, + {{- end -}} + {{- with .Site.Copyright -}} + "license": {{ . | safeHTML }}, + {{- end -}} + {{- $publisher := .Params.author | default .Site.Author.name | default (T "author") | dict "name" -}} + {{- $publisher = $params.seo.publisher | default dict | merge $publisher -}} + "publisher": { + "@type": "Organization", + "name": {{ $publisher.name | safeHTML }} + {{- $logo := $publisher.logoUrl -}} + {{- with dict "Path" $logo "Resources" .Resources | partial "function/resource.html" -}} + ,"logo": { + "@type": "ImageObject", + "url": "{{ .Permalink }}", + "width": {{ .Width }}, + "height": {{ .Height }} + } + {{- else -}} + {{- with $logo -}} + ,"logo": "{{ . | absURL }}" + {{- end -}} + {{- end -}} + }, + {{- with .Params.author | default .Site.Author.name | default (T "author") -}} + "author": { + "@type": "Person", + "name": {{ . | safeHTML }} + }, + {{- end -}} + "description": {{ .Description | safeHTML }} + } + </script> +{{- end -}} |