最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

NodeJs生成sitemap站点地图的方法示例

来源:动视网 责编:小采 时间:2020-11-27 21:55:10
文档

NodeJs生成sitemap站点地图的方法示例

NodeJs生成sitemap站点地图的方法示例:如果博客是使用Hexo管理的,sitemap可以使用插件来生成。但对于一个内容管理网站,后端可能是express、koa之类的框架,这时sitemap就需要自己来生成了 什么是sitemap Sitemap可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的Site
推荐度:
导读NodeJs生成sitemap站点地图的方法示例:如果博客是使用Hexo管理的,sitemap可以使用插件来生成。但对于一个内容管理网站,后端可能是express、koa之类的框架,这时sitemap就需要自己来生成了 什么是sitemap Sitemap可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的Site


如果博客是使用Hexo管理的,sitemap可以使用插件来生成。但对于一个内容管理网站,后端可能是express、koa之类的框架,这时sitemap就需要自己来生成了

什么是sitemap

Sitemap可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的Sitemap形式,就是XML文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网站。

sitemap结构

<url>
 <loc>http://www.jouypub.com/</loc>
 <lastmod>2019-05-01</lastmod>
 <changefreq>daily</changefreq>
 <priority>0.5</priority>
</url>
  • loc:文章链接地址
  • lastmod:最后更新时间
  • changefreq:更新频率,daily/monthly
  • priority:权重
  • 生成sitemap,基于express项目

    开源包:sitemap,地址: https://github.com/ekalinin/sitemap.js

    > npm install --save sitemap

    代码中使用

    const express = require('express')
    const sm = require('sitemap');
    
    router.get('/sitemap.xml', function (req, res) {
     let pageRequest = Object.create({});
     pageRequest.pageSize = -1;
     pageRequest.pageNum = 1;
     api.post('/article/list', pageRequest, function (result) {
     let urls = [];
     for (let article in result) {
     urls.push({
     url: article.url,
     changefreq: 'daily',
     lastmodrealtime: true,
     priority: 1,
     lastmod: article.updateTime
     });
     }
    
     let sitemap = sm.createSitemap({
     hostname: 'http://invest.jouypub.com',
     cacheTime: 600000, // 600sec, cache purge period
     urls: urls
     });
    
     sitemap.toXML(function (err, xml) {
     if (err) {
     console.log(err);
     return res.status(500).end();
     }
     res.header('Content-Type', 'application/xml');
     res.send(xml);
     });
     });
    });
    
    

    sitemap优化

    上面那种方法在文章数少时还能使用,如果有几千甚至几万篇文章,一次拉取的方式就不适合了,就需要把返回结果写入到文件中,一天更新一次。只需要只需要把

    sitemap.toXML()

    改成

    fs.writeFileSync("app/assets/sitemap.xml", sitemap.toString());即可。每次请求sitemap时读文件即可

    文档

    NodeJs生成sitemap站点地图的方法示例

    NodeJs生成sitemap站点地图的方法示例:如果博客是使用Hexo管理的,sitemap可以使用插件来生成。但对于一个内容管理网站,后端可能是express、koa之类的框架,这时sitemap就需要自己来生成了 什么是sitemap Sitemap可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的Site
    推荐度:
    标签: 创建 生成 的方法
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top