diff --git a/src/module.ts b/src/module.ts index 987af6eb..4f9fd270 100644 --- a/src/module.ts +++ b/src/module.ts @@ -106,16 +106,21 @@ export default defineNuxtModule({ } // warn about bad config - if (!nuxt.options._prepare && Object.keys(config.sitemaps || {}).length) { - // if the user is doing multi-sitempas using the sitemaps config, we warn when root keys are used as they won't do anything - const invalidRootKeys = [ - 'includeAppSources', - 'sources', - ] - for (const key of invalidRootKeys) { - if (Object.keys(config).includes(key)) { - logger.warn(`You are using multiple-sitemaps but have provided \`sitemap.${key}\` in your Nuxt config. This will be ignored, please move it to the child sitemap config.`) - logger.warn('Learn more at: https://nuxtseo.com/sitemap/guides/multi-sitemaps') + const normalizedSitemaps = typeof config.sitemaps === 'boolean' ? {} : config.sitemaps || {} + if (!nuxt.options._prepare && Object.keys(normalizedSitemaps).length) { + // if the only key of config.sitemaps is `index` then we can skip this logic + const isSitemapIndexOnly = typeof normalizedSitemaps?.index !== 'undefined' && Object.keys(normalizedSitemaps).length === 1 + if (!isSitemapIndexOnly) { + // if the user is doing multi-sitempas using the sitemaps config, we warn when root keys are used as they won't do anything + const invalidRootKeys = [ + 'includeAppSources', + 'sources', + ] + for (const key of invalidRootKeys) { + if (Object.keys(config).includes(key)) { + logger.warn(`You are using multiple-sitemaps but have provided \`sitemap.${key}\` in your Nuxt config. This will be ignored, please move it to the child sitemap config.`) + logger.warn('Learn more at: https://nuxtseo.com/sitemap/guides/multi-sitemaps') + } } } }