我在Hugo中有一个多语言网站,现在自动生成的站点地图如下:
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://domain/en/sitemap.xml</loc>
<lastmod>2022-04-20T08:34:57+02:00</lastmod>
</sitemap>
<sitemap>
<loc>https://domain/it/sitemap.xml</loc>
<lastmod>2022-04-20T08:34:57+02:00</lastmod>
</sitemap>
</sitemapindex>
问题是所有的英文内容(默认语言)在url中都不包含/en,而只是段符本身,例如/products/blog。意大利语内容在url中包含语言指示,例如/it/prodotti,/it/blog。
站点地图方面,把英文站点地图放在/en/sitemap中似乎不太可取。它应该在/domain/sitemap_en.xml中。
关于如何自定义站点地图的本地化url的任何线索?
谢谢。
下面是hugo内置的sitemapindex模板:https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/_default/sitemapindex.xml
他们使用.SitemapAbsURL
变量,但我没有在文档中找到它的来源。但是,您可以重写sitemapindex,例如使用.Permalik
要覆盖内置的sitemapindex.xml模板,请在以下位置创建一个新文件:
- 布局/sitemapindex.xml
- 布局/_default sitemapindex.xml