Skip to content
Snippets Groups Projects
Commit b8c709e7 authored by Alexandre Vicenzi's avatar Alexandre Vicenzi
Browse files

SEO

parent a48ee22a
No related branches found
No related tags found
No related merge requests found
......@@ -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:
......
......@@ -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 -->
......
<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 }}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment