因此,我目前正在为一个具有多个店面的网站实现sitemaps。
我使用nuxt sitemap module为静态页面生成了一个/sitemap/sitemap.xml
文件,比如主页、条款和条件以及隐私政策。
现在,该网站还包含每个店面的动态路线,例如:mysite.com/store1
& mysite.com/store2
当前的任务是为每个商店创建一个/sitemap.xml
,因此最终结果类似于:mysite.com/store1/sitemap.xml
该sitemap将包含与商店相关的所有内容,包括每个产品的动态子路由。
我目前还不知道有什么可能的方法可以做到这一点,我已经搜索了很多,但我没有找到任何关于这个的东西。有什么想法吗?
发布于 2020-06-10 18:17:01
您可以创建站点地图索引,如下所示:
{
sitemap: {
hostname: 'https://example.com',
path: '/sitemap.xml',
sitemaps: [
{
path: '/sitemap/sitemap.xml',
},
{
path: '/store1/sitemap.xml',
exclude: ['/**'],
routes: () => { /* return array of url for store #1 */ }
},
{
path: '/store2/sitemap.xml',
exclude: ['/**'],
routes: () => { /* return array of url for store #2 */ }
}
]
}
}
您将得到以下结果:
仅用于站点地图索引的所有静态路由的入口点crawlers)
发布于 2020-07-03 18:00:14
试试这个,它对我很管用
sitemap: {
path: '/sitemap.xml',
hostname: process.env.BASE_URL,
cacheTime: 1000 * 60 * 15,
gzip: true,
generate: false,
sitemaps: [
{
path: '/sitemap/sitemap.xml',
},
{
path: '/store1/sitemap.xml',
exclude: [],
routes: async () => {
let apiUrl = 'your site url' // or API url
const { data } = await axios.get(`${apiUrl}store1`)
return data.data.map(v => `/${v.id}`)
}
},
{
path: '/store2/sitemap.xml',
exclude: [],
routes: async () => {
let apiUrl = 'your site url' // or API url
const { data } = await axios.get(`${apiUrl}store2`)
return data.data.map(v => `/${v.id}`)
}
},
{
path: '/store3/sitemap.xml',
exclude: [],
routes: async () => {
let apiUrl = 'your site url' // or API url
const { data } = await axios.get(`${apiUrl}store3`)
return data.data.map(v => `/${v.id}`)
}
},
]
}
https://stackoverflow.com/questions/62250127
复制相似问题