【问题标题】:How to add a sitemap.xml in Nextjs如何在 Nextjs 中添加 sitemap.xml
【发布时间】:2020-09-03 13:34:41
【问题描述】:
我试过这个帖子XML sitemap for Nextjs,但它没有帮助我。
如何创建站点地图和 robots.txt 将其动态添加到 nextjs 项目是我的问题。
我已经使用 nextjs 和 mongodb 和 express js 建立了一个博客。
这是我的项目结构前端(nextjs)
--.next
-- components
-- node_modules
-- pages
-- static
-- config.js
-- next.config.js
-- package.json
-- package-lock.json
【问题讨论】:
标签:
node.js
seo
next.js
robots.txt
xml-sitemap
【解决方案1】:
您可以在 server.js 中添加快速路由:
const sitemapString = '<?xml version="1.0" encoding="UTF-8"?>\n' +
'<urlset\n' +
// ...
'</urlset>';
expressServer.get( "/sitemap.xml", function( req, res ){
res.end( sitemapString );
});
或者创建一个文件/pages/sitemap.xml.ts:
// -- dummy exported default, if necessary
export default function Dummy(props){
return null;
};
export const getServerSideProps = async (context) => {
const { res } = context;
const sitemapString = createSitemap();
res.setHeader("Content-Type", "text/xml");
res.write(sitemapString);
res.end();
return {
props: {},
};
};
或者您可以静态创建sitemap.xml,并将其放入/public 文件夹中。