tplimpl: Add translation links to the default sitemap template - hugo - [fork] hugo port for 9front
HTML git clone git@git.drkhsh.at/hugo.git
DIR Log
DIR Files
DIR Refs
DIR Submodules
DIR README
DIR LICENSE
---
DIR commit 90d3fbf1da93a279cfe994a226ae82cf5441deab
DIR parent 5f3ad1c31985450fab8d6772e9cbfcb57cf5cc53
HTML Author: Jack Taylor <rayjolt@gmail.com>
Date: Sun, 23 Apr 2017 05:37:14 +0900
tplimpl: Add translation links to the default sitemap template
For pages with translations, add links with hreflang attributes to the
default sitemap template. This helps Google to show the correct
language page in its search results. The syntax used is based on
Google's example at [1].
Also update the sitemap template docs to reflect the changes in the
default template.
[1]
https://support.google.com/webmasters/answer/2620865?hl=en&topic=2370587&ctx=topic
Fixes #2569
Diffstat:
M docs/content/templates/sitemap.md | 21 +++++++++++++++++----
M tpl/tplimpl/template_embedded.go | 15 +++++++++++++--
2 files changed, 30 insertions(+), 6 deletions(-)
---
DIR diff --git a/docs/content/templates/sitemap.md b/docs/content/templates/sitemap.md
@@ -31,16 +31,29 @@ one.
## Hugo’s sitemap.xml
-This template respects the version 0.9 of the [Sitemap
-Protocol](http://www.sitemaps.org/protocol.html).
+This template uses the version 0.9 of the [Sitemap
+Protocol](http://www.sitemaps.org/protocol.html) with Google's [hreflang
+attributes](https://support.google.com/webmasters/answer/2620865?hl=en&topic=2370587&ctx=topic)
+for linking to translated content.
- <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
+ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml">
{{ range .Data.Pages }}
<url>
<loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
<lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
<changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
- <priority>{{ .Sitemap.Priority }}</priority>{{ end }}
+ <priority>{{ .Sitemap.Priority }}</priority>{{ end }}{{ if .IsTranslated }}{{ range .Translations }}
+ <xhtml:link
+ rel="alternate"
+ hreflang="{{ .Lang }}"
+ href="{{ .Permalink }}"
+ />{{ end }}
+ <xhtml:link
+ rel="alternate"
+ hreflang="{{ .Lang }}"
+ href="{{ .Permalink }}"
+ />{{ end }}
</url>
{{ end }}
</urlset>
DIR diff --git a/tpl/tplimpl/template_embedded.go b/tpl/tplimpl/template_embedded.go
@@ -87,13 +87,24 @@ func (t *templateHandler) embedTemplates() {
</channel>
</rss>`)
- t.addInternalTemplate("_default", "sitemap.xml", `<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
+ t.addInternalTemplate("_default", "sitemap.xml", `<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
+ xmlns:xhtml="http://www.w3.org/1999/xhtml">
{{ range .Data.Pages }}
<url>
<loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
<lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
<changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
- <priority>{{ .Sitemap.Priority }}</priority>{{ end }}
+ <priority>{{ .Sitemap.Priority }}</priority>{{ end }}{{ if .IsTranslated }}{{ range .Translations }}
+ <xhtml:link
+ rel="alternate"
+ hreflang="{{ .Lang }}"
+ href="{{ .Permalink }}"
+ />{{ end }}
+ <xhtml:link
+ rel="alternate"
+ hreflang="{{ .Lang }}"
+ href="{{ .Permalink }}"
+ />{{ end }}
</url>
{{ end }}
</urlset>`)