我使用NUXT建立了一个需要SEO的网站
当我使用www.xml-sitemaps.com网站查看是否可以找到我的所有页面时,它只会找到主页,而没有其他路线。当我尝试其他NUXT演示网站时,它们会全部找到。
我的robots.txt
档案看起来像:
User-agent: *
Disallow: /profile/
Sitemap: https://www.example.com/sitemap.xml
我正在使用@nuxtjs/sitemap
生成sitemap.xml
最终看起来像这样的东西:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url> <loc>https://www.example.com/about</loc> </url>
<url> <loc>https://www.example.com/</loc> </url>
</urlset>
如果这有帮助,我的nuxt.config.js
外观如下:
module.exports = {
/*
** Headers of the page
*/
head: {
title: 'Title',
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: 'Title' }
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
]
},
mode: 'spa',
loading: { color: '#3B8070' },
build: {
/*
** Run ESLint on save
*/
extend (config, { isDev, isClient }) {
if (isDev && isClient) {
config.module.rules.push({
enforce: 'pre',
test: /\.(js|vue)$/,
loader: 'eslint-loader',
exclude: /(node_modules)/
})
}
}
},
css: [
'~/assets/main.css'
],
modules: [
'@nuxtjs/pwa',
[
'@nuxtjs/sitemap', {
generate: true,
hostname: 'https://www.example.com',
exclude: [
'/profile'
]
}
]
],
plugins: [
'~/plugins/uikit.js',
'~/plugins/fireauth.js'
],
manifest: {
name: 'Title',
lang: 'en'
},
router: {
middleware: 'router-auth'
},
vendor: [
'firebase',
'uikit'
]
}
了解不同的Nuxt.js模式发生了什么很重要。阅读《Nuxt.js指南》中有关服务器端渲染的说明,他们在其中解释了可以配置框架使用的三种模式之间的区别:
明确概念后,您可以尝试将Nuxt.js配置文件中的“ mode”属性从“ SPA”更改为“ Universal”,以及在同一nuxt.config.js文件中有关xml网站地图配置的其他建议。
此外,您可以尝试使用以下两种方法尝试并了解不同的配置:
npm install -g create-nuxt-app
可以查看为您自动设置了多少种不同的配置。