Sitemap Template
Hugo wird mit einer integrierten Vorlagendatei ausgeliefert, die v0.9 des Sitemap-Protokolls berücksichtigt, aber diese Vorlage kann bei Bedarf überschrieben werden.
Eine einzige Sitemap-Vorlage wird verwendet, um die Datei sitemap.xml
zu generieren. Hugo wird automatisch mit dieser Vorlagendatei geliefert. Es ist keine Arbeit auf Seiten der Benutzer erforderlich, es sei denn, die sitemap.xml
soll angepasst werden.
A sitemap ist eine Page
und verfügt daher über alle page variables, die in dieser Vorlage vorhanden sind und sitemap-spezifische:
.Sitemap.ChangeFreq
Die Häufigkeit der Seitenwechsel
.Sitemap.Priority
Die Priorität der Seite
.Sitemap.Filename
Der Dateiname der Sitemapdatei
Wenn angegeben, verwendet Hugo /layouts/sitemap.xml
anstatt der internen sitemap.xml
Vorlage, die mit Hugo ausgeliefert wird.
Sitemap-Vorlagen
Hugo hat eingebaute Sitemap-Vorlagen, aber bei Bedarf können eigenen Vorlagen erstellt werden, entweder in layouts/sitemap.xml
oder layouts/_default/sitemap.xml
.
Photo by Hannes Wolf on Unsplash
Hugo’s sitemap.xml
Diese Vorlage entspricht der Version 0.9 des Sitemap Protocol.
<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>
Hugo fügt dieser Datei beim Rendern automatisch die folgende Kopfzeile hinzu. Bitte nicht in die Vorlage einfügen, da es kein gültiges HTML ist.
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
Nach dem Rendern steht in /public
folgende sitemap.xml
beim Template hello-friend-ng.
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>/en/sitemap.xml</loc>
<lastmod>2019-04-23T07:44:32+02:00</lastmod>
</sitemap>
<sitemap>
<loc>/fr/sitemap.xml</loc>
<lastmod>2014-09-28T00:00:00+00:00</lastmod>
</sitemap>
</sitemapindex>
Hugo’s sitemapindex.xml
Dies wird verwendet, um einen Sitemap-Index im mehrsprachigen Modus zu erstellen:
<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
Standardwerte für <changefreq>
, <priority>
and filename
können in der Konfigurationsdatei der Seite festgelegt werden, z.B:
[sitemap]
changefreq = "monthly"
filename = "sitemap.xml"
priority = 0.5
Die gleichen Felder können in front matter
einer einzelnen Inhaltsdatei angegeben werden, um den Wert zu überschreiben, der diesem Inhaltselement beim Rendern zugewiesen wird.