hugo/docs/content/templates/sitemap.md

76 lines
2.5 KiB
Markdown
Raw Normal View History

2014-05-07 02:58:25 -04:00
---
2014-05-29 18:42:05 -04:00
aliases:
- /layout/sitemap/
lastmod: 2015-12-10
2014-05-29 18:42:05 -04:00
date: 2014-05-07
linktitle: Sitemap
2014-05-07 02:58:25 -04:00
menu:
main:
2014-05-29 18:42:05 -04:00
parent: layout
next: /templates/404
notoc: true
prev: /templates/rss
title: Sitemap Template
weight: 95
2014-05-07 02:58:25 -04:00
---
A single Sitemap template is used to generate the `sitemap.xml` file.
Hugo automatically comes with this template file. **No work is needed on
the users' part unless they want to customize `sitemap.xml`.**
2014-05-07 02:58:25 -04:00
A sitemap is a `Page` and have all the [page
2014-05-07 02:58:25 -04:00
variables](/layout/variables/) available to use in this template
along with Sitemap-specific ones:
**.Sitemap.ChangeFreq** The page change frequency<br>
**.Sitemap.Priority** The priority of the page<br>
2015-12-10 14:39:06 -05:00
**.Sitemap.Filename** The sitemap filename<br>
2014-05-07 02:58:25 -04:00
If provided, Hugo will use `/layouts/sitemap.xml` instead of the internal
one.
2014-05-07 02:58:25 -04:00
## Hugos sitemap.xml
2014-05-07 02:58:25 -04:00
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.
2014-05-07 02:58:25 -04:00
<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 }}{{ 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>
2014-05-07 02:58:25 -04:00
***Important:** Hugo will automatically add the following header line to this file
on render. Please don't include this in the template as it's not valid HTML.*
2014-05-07 02:58:25 -04:00
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
## Configuring sitemap.xml
2015-12-10 14:39:06 -05:00
Defaults for `<changefreq>`, `<priority>` and `filename` values can be set in the site's config file, e.g.:
[sitemap]
changefreq = "monthly"
priority = 0.5
2015-12-10 14:39:06 -05:00
filename = "sitemap.xml"
2015-12-10 14:39:06 -05:00
The same fields can be specified in an individual page's front matter in order to override the value for that page.