mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-21 21:35:28 +02:00
Merge commit '766085c2dc6fc95ac30fda2a9ebde2355fc12554'
This commit is contained in:
@@ -35,18 +35,35 @@ A sitemap is a `Page` and therefore has all the [page variables][pagevars] avail
|
||||
|
||||
If provided, Hugo will use `/layouts/sitemap.xml` instead of the internal `sitemap.xml` template that ships with Hugo.
|
||||
|
||||
## Sitemap Templates
|
||||
|
||||
Hugo has built-on Sitemap templates, but you can provide your own if needed, in either `layouts/sitemap.xml` or `layouts/_default/sitemap.xml`.
|
||||
|
||||
For multilingual sites, we also create a Sitemap index. You can provide a custom layout for that in either `layouts/sitemapindex.xml` or `layouts/_default/sitemapindex.xml`.
|
||||
|
||||
## Hugo’s sitemap.xml
|
||||
|
||||
This template respects the version 0.9 of the [Sitemap Protocol](http://www.sitemaps.org/protocol.html).
|
||||
|
||||
```
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
{{ range .Pages }}
|
||||
```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>
|
||||
@@ -59,6 +76,23 @@ on render. Please don't include this in the template as it's not valid HTML.
|
||||
`<?xml version="1.0" encoding="utf-8" standalone="yes" ?>`
|
||||
{{% /note %}}
|
||||
|
||||
## Hugo's sitemapindex.xml
|
||||
|
||||
This is used to create a Sitemap index in multilingual mode:
|
||||
|
||||
```xml
|
||||
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
{{ range . }}
|
||||
<sitemap>
|
||||
<loc>{{ .SitemapAbsURL }}</loc>
|
||||
{{ if not .LastChange.IsZero }}
|
||||
<lastmod>{{ .LastChange.Format "2006-01-02T15:04:05-07:00" | safeHTML }}</lastmod>
|
||||
{{ end }}
|
||||
</sitemap>
|
||||
{{ end }}
|
||||
</sitemapindex>
|
||||
```
|
||||
|
||||
## Configure `sitemap.xml`
|
||||
|
||||
Defaults for `<changefreq>`, `<priority>` and `filename` values can be set in the site's config file, e.g.:
|
||||
@@ -72,4 +106,6 @@ Defaults for `<changefreq>`, `<priority>` and `filename` values can be set in th
|
||||
|
||||
The same fields can be specified in an individual content file's front matter in order to override the value assigned to that piece of content at render time.
|
||||
|
||||
|
||||
|
||||
[pagevars]: /variables/page/
|
||||
|
Reference in New Issue
Block a user