国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

NodeJs生成sitemap站點(diǎn)地圖的方法示例

2024-05-06 16:52:02
字體:
供稿:網(wǎng)友

如果博客是使用Hexo管理的,sitemap可以使用插件來生成。但對于一個(gè)內(nèi)容管理網(wǎng)站,后端可能是express、koa之類的框架,這時(shí)sitemap就需要自己來生成了

什么是sitemap

Sitemap可方便網(wǎng)站管理員通知搜索引擎他們網(wǎng)站上有哪些可供抓取的網(wǎng)頁。最簡單的Sitemap形式,就是XML文件,在其中列出網(wǎng)站中的網(wǎng)址以及關(guān)于每個(gè)網(wǎng)址的其他元數(shù)據(jù)(上次更新的時(shí)間、更改的頻率以及相對于網(wǎng)站上其他網(wǎng)址的重要程度為何等),以便搜索引擎可以更加智能地抓取網(wǎng)站。

sitemap結(jié)構(gòu)

<url> <loc>http://www.jouypub.com/</loc> <lastmod>2019-05-01</lastmod> <changefreq>daily</changefreq> <priority>0.5</priority></url>
  • loc:文章鏈接地址
  • lastmod:最后更新時(shí)間
  • changefreq:更新頻率,daily/monthly
  • priority:權(quán)重

生成sitemap,基于express項(xiàng)目

開源包: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優(yōu)化

上面那種方法在文章數(shù)少時(shí)還能使用,如果有幾千甚至幾萬篇文章,一次拉取的方式就不適合了,就需要把返回結(jié)果寫入到文件中,一天更新一次。只需要只需要把

sitemap.toXML()

改成

fs.writeFileSync("app/assets/sitemap.xml", sitemap.toString());即可。每次請求sitemap時(shí)讀文件即可

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 大荔县| 招远市| 沈丘县| 龙泉市| 广元市| 曲阳县| 永吉县| 上饶县| 电白县| 犍为县| 息烽县| 理塘县| 且末县| 张家界市| 广汉市| 曲麻莱县| 贵阳市| 苏州市| 广河县| 固始县| 邛崃市| 博野县| 永吉县| 和龙市| 贞丰县| 隆化县| 石家庄市| 泰兴市| 九江县| 宿州市| 望奎县| 鄂托克旗| 涡阳县| 芮城县| 衡水市| 景东| 新巴尔虎左旗| 仪征市| 永德县| 昌吉市| 榆树市|