sitemap and robots for expressjs
npm install express-sitemap




Sitemap and Robots for expressjs 3 and 4
Install through NPM
``bash`
npm install express-sitemap`
orbash`
git clone git://github.com/hex7c0/express-sitemap.git
inside expressjs project
`js
var sitemap = require('express-sitemap')();
var app = require('express')();
sitemap.generate(app);
`
if you want generate your own url
`js
var sitemap = require('express-sitemap');
sitemap({
map: {
'/foo': ['get'],
'/foo2': ['get','post'],
'/admin': ['get'],
'/backdoor': [],
},
route: {
'/foo': {
lastmod: '2014-06-20',
changefreq: 'always',
priority: 1.0,
},
'/admin': {
disallow: true,
},
'/backdoor': {
hide: true,
},
},
}).XMLtoFile();
`
and this will be sitemap.xml
`xml`
and this will be robots.txt
`txt`
User-agent: *
Disallow: /admin
reset prototype Object for sitemap
`js`
sitemap.reset();
generate sitemap (wrapper)
`js`
sitemap.generate(app);
generate sitemap from express 4.x configuration. Add an array with Router path if you want use nested callback
`js`
sitemap.generate4(app [, Router]);
generate sitemap from express 3.x configuration
`js`
sitemap.generate3(app);
generate prototype Object for sitemap if you use middleware or dynamic building
`js`
sitemap.tickle();
write sitemap Object to file (set pathname inside module configuration or like argument)
`js`
sitemap.XMLtoFile([path]);
write robots.txt to file (set pathname inside module configuration or like argument)
`js`
sitemap.TXTtoFile([path]);
write both to files
`js`
sitemap.toFile();
stream sitemap to web
`js`
sitemap.XMLtoWeb(res);
stream robots.txt to web
`js`
sitemap.TXTtoWeb(res);
#### options
- http - String Website HTTP protocol (http | https) (default "http")cache
- - Integer Enable cache integration, refresh map after this millisecond value (default "false")url
- - String Website URL (default "127.0.0.1")port
- - Number Website Port (default "80")sitemap
- - String Name of sitemap file (default "sitemap.xml")robots
- - String Name of robots file (default "robots.txt")sitemapSubmission
- - String Set Sitemap absolute location into robots (default "disable")route
- - Object Add extra information to sitemap related to this documentation (default "disabled")lastmod
- - Date Integrity not controlledchangefreq
- - String Integrity not controlledpriority
- - Float Integrity not controlledalternatepages
- - Array Add alternate language pages related to this documentationrel
- - String Integrity not controlledhreflang
- - String Integrity not controlledhref
- - String Integrity not controlledallow
- - Boolean Flag for "allow" this route from parsing, and save into robots.txt (default "null")disallow
- - Boolean Flag for "disallow" this route from parsing, and save into robots.txt (default "null")hide
- - Boolean Flag for hide this route from globally parsing (no .xml or .txt) (default "false")map
- - Object Force route (hideByRegex
- - Array Array of RegEx that remove routes from output (default "disabled")generate
- - Object Fastly generate sitemap from express app (default "disabled")
you can use route: {'ALL': {} }` if you want propagate extra information to all your urls
Take a look at my examples