如果博客是使用Hexo管理的,站点地图可以使用插件来生成。但对于一个内容管理网站,后端可能是表达,高雅之类的框架,这时站点地图就需要自己来生成了
站点地图可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的Sitemap形式,就是XML文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间,更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网站。
& lt; url> & lt; loc> http://www.jouypub.com/</loc> & lt; lastmod> 2019 - 05 - 01 & lt;/lastmod> & lt; changefreq> daily & lt; priority> 0.5 & lt;/priority> & lt;/url> >之前
-
<李> loc:文章链接地址李>
<李> lastmod:最后更新时间李>
<李> changefreq:更新频率,每日/每月李>
<李>优先:权重李>
开源包:网站地图,地址:https://github.com/ekalinin/sitemap.js
比;npm安装,节省网站地图
代码中使用
const表达=要求(表达) const sm=要求(“网站地图”); router.get('/网站地图。xml的函数(点播,res) { 让pageRequest=Object.create ({}); pageRequest。页大?1; pageRequest。pageNum=1; api。邮报》(“/文章/列表”,pageRequest、功能(结果){ 让url=[]; (让文章的结果){ urls.push ({ url: article.url, changefreq:“每天”, lastmodrealtime:没错, 优先级:1、 lastmod: article.updateTime }); } 让网站地图=sm.createSitemap ({ 主机名:http://invest.jouypub.com, cacheTime: 600000//600秒,清除缓存 url: url }); 网站地图。toXML(函数(呃,xml) { 如果(err) { console.log(错); 指标()最终返回res.status (500); } res.header(“内容类型”、“application/xml”); res.send (xml); }); }); }); >之前
上面那种方法在文章数少时还能使用,如果有几千甚至几万篇文章,一次拉取的方式就不适合了,就需要把返回结果写入到文件中,一天更新一次。只需要只需要把
<代码> sitemap.toXML() 代码>
改成
<代码> fs.writeFileSync (“app/资产/网站地图。xml”, sitemap.toString()); 代码>即可。每次请求站点地图时读文件即可
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
NodeJs生成sitemap站点地图的方法示例