Luk*_*als 5 sitemap.xml next.js
..我有一个支持多语言的 Next.js 应用程序(英语作为默认语言,德语作为辅助语言 - 英语在https://mywebsite.com上,德语在https://mywebsite.com/de上) 。
我正在使用next-sitemap备用引用来链接页面的英语和德语版本,从而为页面生成站点地图。以下是我的下一个站点地图配置:
/** @type {import('next-sitemap').IConfig} */
module.exports = {
siteUrl: `https://mywebsite.com`,
generateRobotsTxt: true,
exclude: ['/app/*', '/social-redirect'],
robotsTxtOptions: {
policies: [
{
userAgent: '*',
[process.env.VERCEL_ENV !== 'preview' && process.env.VERCEL_ENV !== 'development'
? 'allow'
: 'disallow']: '/',
},
],
},
alternateRefs: [
{
href: 'https://mywebsite.com',
hreflang: 'en',
},
{
href: 'https://mywebsite.com/de',
hreflang: 'de',
},
],
};
Run Code Online (Sandbox Code Playgroud)
在生成的站点地图中,站点地图的英文条目看起来不错。他们有正确的替补裁判。但在站点地图的德语条目中,备用参考在路径中具有两次语言,例如:https://mywebsite.com/de/de/blog。这是问题next-sitemap还是我做错了什么?如果有人能帮助我,我会很高兴!
这也发生在我身上。我认为这是下一个站点地图的问题
就我而言,我有语言en和en-gb生成的网址是:
<xhtml:link rel="alternate" hreflang="en" href="http://localhost:3000/en/en-gb/blog/"/><xhtml:link rel="alternate" hreflang="en-gb" href="http://localhost:3000/en-gb/en-gb/blog/"/> 您可以使用next-sitemap.config.js的 Transform 属性来配置替换
`transform: async (config, path) => {
return { ...config,
loc: path.replace('/en-gb/en-gb', '/en-gb')
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1681 次 |
| 最近记录: |