我从sitemap xml generator网站下载了我的XML sitemap。我把我的sitemap.xml放在我的公共目录下,但是当我试图将sitemap.xml提交到谷歌控制台时,我收到了以下错误:一般HTTP错误:404 Not Found HTTP错误:404个
所以我编码了app.get('/sitemap.xml', function( req, res, next ) { res.header('Content-Type', 'text/xml'); res.render( 'sitemap' ); )};
当我导航到'website/sitemap.xml'我得到以下错误:
此页面包含以下错误:
- 第42列第1行的错误:属性itemscope的规范强制值 *
谢谢你的帮忙
6条答案
按热度按时间h9vpoimq1#
使用https://www.xml-sitemaps.com/等工具生成sitemap.xml文件
上传项目中的sitemap.xml
然后将其添加到.js文件中:
请确保将YOUR_PATH更改为sitemap.xml文件所在的实际路径。
rqcrx0a62#
Sitemaps不一定是XML文档。一个简单的带有URL的文本文件就足够了,所以下面的代码也可以正常工作。在下面的例子中,
fetchMyUrls()
是一个函数/方法,它异步获取并返回可用的URL作为字符串数组(URL字符串)。hwamh0ep3#
对于那些正在寻找一种在代码上动态创建XML的方法,并且不想使用其他库或将文件存储在公用文件夹中的人,可以使用以下命令:
i1icjdpr4#
在我的NodeJS express项目中,没有安装任何库,我能够使用我喜欢的视图引擎(handlebar)将其添加到我的路由中。
干杯!
disbfnqx5#
最好的方法是创建一个脚本来自动生成站点Map。在很多情况下,URL应该是基于数据库中的数据动态的。
sitemap包是在Express中创建站点Map的一个很好的包:
第一步
创建一个中间件,它将动态生成站点Map,然后将其缓存为下次对服务器的调用。例如,我们可以将逻辑提取到名为
sitemap_generator.js
的单独文件中,我们可以为它定义和导出generate_sitemap
中间件:第二步
在服务器配置文件中从
sitemap_generator.js
导入generate_sitemap
中间件,并将其堆到/sitemap.xml
端点:就是这样。您的站点Map现在应该在
/sitemap.xml
端点上可用,因此在浏览器中导航到该端点并检查它是否在那里。z9smfwbn6#
从网站生成sitemap.xml文件后-以https://www.xml-sitemaps.com/为例-您可以简单地复制/粘贴: