@stdian/express-sitemap

1.9.1 • Public • Published

express-sitemap

NPM version

Sitemap and Robots for Express.js 3 and 4

Installation

Install through NPM

npm install @stdian/express-sitemap

or

git clone git://github.com/stdian/express-sitemap.git

API

inside Express.js project

var sitemap = require('express-sitemap')();

var app = require('express')();

sitemap.generate(app);

Methods

if you want to generate your own url

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

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>http://127.0.0.1/foo</loc>
        <lastmod>2014-06-19</lastmod>
        <changefreq>always</changefreq>
        <priority>1</priority>
    </url>
    <url>
        <loc>http://127.0.0.1/foo2</loc>
    </url>
</urlset>

and this will be robots.txt

User-agent: *
Disallow: /admin

reset prototype Object for sitemap

sitemap.reset();

generate sitemap (wrapper)

sitemap.generate(app);

generate sitemap from express 4.x configuration. Add an array with Router path if you want use nested callback

sitemap.generate4(app [, Router]);

generate sitemap from express 3.x configuration

sitemap.generate3(app);

generate prototype Object for sitemap if you use middleware or dynamic building

sitemap.tickle();

write sitemap Object to file (set pathname inside module configuration or like argument)

sitemap.XMLtoFile([path]);

write robots.txt to file (set pathname inside module configuration or like argument)

sitemap.TXTtoFile([path]);

write both to files

sitemap.toFile();

stream sitemap to web

sitemap.XMLtoWeb(res);

stream robots.txt to web

sitemap.TXTtoWeb(res);

sitemap(options)

options

  • httpString Website HTTP protocol (http | https) (default "http")
  • cacheInteger Enable cache integration, refresh map after this millisecond value (default "false")
  • urlString Website URL (default "127.0.0.1")
  • portNumber Website Port (default "80")
  • headString Head of XML file (default "")
  • sitemapString Name of sitemap file (default "sitemap.xml")
  • robotsString Name of robots file (default "robots.txt")
  • sitemapSubmissionString Set Sitemap absolute location into robots (default "disable")
  • routeObject Add extra information to sitemap related to this documentation (default "disabled")
  • lastmodDate Integrity not controlled
  • changefreqString Integrity not controlled
  • priorityFloat Integrity not controlled
  • imageString Integrity not controlled
  • alternatepagesArray Add alternate language pages related to this documentation
    • relString Integrity not controlled
    • hreflangString Integrity not controlled
    • hrefString Integrity not controlled
  • allowBoolean Flag for "allow" this route from parsing, and save into robots.txt (default "null")
  • disallowBoolean Flag for "disallow" this route from parsing, and save into robots.txt (default "null")
  • hideBoolean Flag for hide this route from globally parsing (no .xml or .txt) (default "false")
  • mapObject Force route () detection and building (default "disabled")
  • hideByRegexArray Array of RegEx that remove routes from output (default "disabled")
  • generateObject Fastly generate sitemap from express app (default "disabled")

you can use route: {'ALL': {} } if you want to propagate extra information to all your urls

Examples

Take a look at my examples

License GPLv3

Package Sidebar

Install

npm i @stdian/express-sitemap

Weekly Downloads

1

Version

1.9.1

License

GPL-3.0

Unpacked Size

65 kB

Total Files

8

Last publish

Collaborators

  • stdian