Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/alexandrevicenzi/soho.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Vicenzi <vicenzi.alexandre@gmail.com>2020-02-10 23:30:40 +0300
committerAlexandre Vicenzi <vicenzi.alexandre@gmail.com>2020-02-10 23:30:40 +0300
commitb8c709e73559476677dfcd1c5ab4d33856d7c751 (patch)
tree9fd8d05b9205991a130a3da7cfa371f7b37e2dca
parenta48ee22a03a2df246f4cac8d20919c3f5ab6f97c (diff)
SEO
-rw-r--r--README.md17
-rw-r--r--layouts/_default/baseof.html29
-rw-r--r--layouts/partials/seo.html81
3 files changed, 118 insertions, 9 deletions
diff --git a/README.md b/README.md
index bcfd73e..c892e1f 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,21 @@ Lanyon is a minimalist two-column [hugo](https://gohugo.io) theme based on [Hyde
![Screenshot](https://raw.githubusercontent.com/alexandrevicenzi/lanyon/master/images/tn.png)
+## Features
+
+- Mobile First
+- Responsive
+- Semantic
+- SEO Best Practices
+- Open Graph
+- Rich Snippets (JSON-LD)
+- Customizable
+
+## Integrations
+
+- [Disqus](https://disqus.com/)
+- [Google Analytics](https://www.google.com/analytics/web/)
+
## Installation
To install Lanyon as your default theme, first install this repository in the `themes/` directory:
@@ -22,7 +37,6 @@ at the top of the file.
```toml
baseURL = "https://example.com"
title = "Lanyon"
-author = "Author Name"
languageCode = "en"
enableInlineShortcodes = true
@@ -30,6 +44,7 @@ summarylength = 10
enableEmoji = true
[params]
+author = "Author Name"
description = "My Blog"
## Set one of:
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index 658c98e..194b19a 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -2,10 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml"{{with .Site.LanguageCode}} xml:lang="{{.}}" lang="{{.}}"{{end}}>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
-
- {{ hugo.Generator }}
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
+ {{ hugo.Generator }}
{{ if .IsHome -}}
<title>{{ .Site.Title }}</title>
@@ -15,9 +13,20 @@
<meta name="description" content="{{if .IsHome}}{{ $.Site.Params.description }}{{else}}{{.Description}}{{end}}" />
- <link type="text/css" rel="stylesheet" href="{{ .Site.BaseURL }}css/print.css" media="print">
- <link type="text/css" rel="stylesheet" href="{{ .Site.BaseURL }}css/poole.css">
- <link type="text/css" rel="stylesheet" href="{{ .Site.BaseURL }}css/hyde.css">
+ {{ partial "seo.html" . }}
+
+ <link type="text/css"
+ rel="stylesheet"
+ href="{{ .Site.BaseURL }}css/print.css"
+ media="print">
+
+ <link type="text/css"
+ rel="stylesheet"
+ href="{{ .Site.BaseURL }}css/poole.css">
+
+ <link type="text/css"
+ rel="stylesheet"
+ href="{{ .Site.BaseURL }}css/hyde.css">
{{ partial "theme-color.html" . }}
@@ -25,14 +34,18 @@
<link type="text/css" rel="stylesheet" href="{{ $.Site.BaseURL }}{{ . }}">
{{- end}}
- <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700&display=swap" rel="stylesheet">
+ <link rel="stylesheet"
+ href="https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700&display=swap">
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css"
integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk="
crossorigin="anonymous" />
- <link rel="apple-touch-icon-precomposed" sizes="144x144" href="/apple-touch-icon-144-precomposed.png">
+ <link rel="apple-touch-icon-precomposed"
+ sizes="144x144"
+ href="/apple-touch-icon-144-precomposed.png">
+
<link rel="shortcut icon" href="/favicon.png">
<!-- RSS -->
diff --git a/layouts/partials/seo.html b/layouts/partials/seo.html
new file mode 100644
index 0000000..46b0c29
--- /dev/null
+++ b/layouts/partials/seo.html
@@ -0,0 +1,81 @@
+
+ <meta property="og:locale" content="{{ .Site.LanguageCode }}"/>
+
+ {{ with .Site.Params.gravatar }}
+ <meta property="og:image" content="https://www.gravatar.com/avatar/{{md5 .}}?s=400&d=mp">
+ {{- else -}}
+ {{ with .Site.Params.profilePicture }}
+ <meta property="og:image" content="{{ $.Site.BaseURL }}{{ . }}">
+ {{- end -}}
+ {{ end }}
+
+ {{ if eq .Type "post" }}
+ <meta property="og:site_name" content="{{ .Site.Title }}"/>
+ <meta property="og:title" content="{{ .Title }}"/>
+ <meta property="og:description" content="{{ if .Description }}{{ .Description }}{{ else }}{{ .Summary }}{{ end }}"/>
+ <meta property="og:url" content="{{ .Permalink }}"/>
+ <meta property="og:type" content="article"/>
+ <meta property="article:published_time" content="{{ .Date.Format "2006-01-02T15:04:05Z0700" }}"/>
+ <meta property="article:modified_time" content="{{ .Date.Format "2006-01-02T15:04:05Z0700" }}"/>
+ <meta property="article:author" content="{{ .Site.Params.author }}">
+ <!-- <meta property="article:section" content="category"/> -->
+ <!-- <meta property="article:tag" content="tag"/> -->
+ {{ else }}
+ <meta property="og:type" content="blog"/>
+ <meta property="og:site_name" content="{{ .Site.Title }}"/>
+
+ {{- if .IsHome }}
+ <meta property="og:title" content="{{ .Site.Title }}"/>
+ <meta property="og:url" content="{{ .Site.BaseURL }}"/>
+ <meta property="og:description" content="{{ .Site.Params.description }}"/>
+ {{- else -}}
+ <meta property="og:title" content="{{ .Title }}"/>
+ <meta property="og:url" content="{{ .Permalink }}"/>
+ <meta property="og:description" content="{{ if .Description }}{{ .Description }}{{ else }}{{ .Summary }}{{ end }}"/>
+ {{- end -}}
+
+ {{ end }}
+
+ <script type="application/ld+json">
+ {
+ "@context" : "http://schema.org",
+ "@type" : "Blog",
+ "name": {{ .Site.Title }},
+ "url" : {{ .Site.BaseURL }},
+ {{- with .Site.Params.gravatar }}
+ "image": "https://www.gravatar.com/avatar/{{md5 .}}?s=400&d=mp",
+ {{- else -}}
+ {{ with .Site.Params.profilePicture }}
+ "image": {{ . | printf "%s%s" $.Site.BaseURL }},
+ {{- end -}}
+ {{- end }}
+ "description": "{{ .Site.Params.description }}"
+ }
+ </script>
+
+ {{ if eq .Type "post" }}
+ <script type="application/ld+json">
+ {
+ "@context": "http://schema.org",
+ "@type": "BlogPosting",
+ "name": "{{ .Title }}",
+ "headline": "{{ .Title }}",
+ "datePublished": "{{ .Date.Format "2006-01-02T15:04:05Z0700" }}",
+ "dateModified": "{{ .Date.Format "2006-01-02T15:04:05Z0700" }}",
+ "author": {
+ "@type": "Person",
+ "name": "{{ .Site.Params.author }}",
+ "url": {{ .Site.BaseURL }}
+ },
+ {{- with .Site.Params.gravatar }}
+ "image": "https://www.gravatar.com/avatar/{{md5 .}}?s=400&d=mp",
+ {{- else -}}
+ {{ with .Site.Params.profilePicture }}
+ "image": {{ . | printf "%s%s" $.Site.BaseURL }},
+ {{- end -}}
+ {{- end }}
+ "url": {{ .Permalink }},
+ "description": "{{ if .Description }}{{ .Description }}{{ else }}{{ .Summary }}{{ end }}"
+ }
+ </script>
+ {{ end }}