Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including @montacasa/sitemap-generator with all npm packages installed. Try it out:

var sitemapGenerator = require("@montacasa/sitemap-generator")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

@montacasa/sitemap-generator v0.0.18

Montacasa's frontend sitemap generator

Sitemap Generator

Generates a sitemap.xml from a given list of links.

It can also generate multiple sitemaps and a sitemap index file, if the number of links exceeds the maximum per sitemap.

Usage

  • Install the package with npm i @montacasa/sitemap-generator.
  • And run it with a list of links - either a variable of type array or a file containing one link per line.

Example with a variable

  const generator = require('@montacasa/sitemap-generator');

  // Define the sitemap urls
  const urls = [
    "https://www.example.com/path/1",
    "https://www.example.com/path/2",
    "https://www.example.com/path/3"
  ];

  // ..and some other options
  const filepath = './src/sitemap.xml';
  const domain = 'https://www.example.com';

  // Create an async function
  const sitemap = async() => {
    const message = await generator({domain, filepath, urls});
    console.info(message);
  }

  // Generate!
  sitemap(); // 'DONE! One single sitemap generated with 3 links.'

Options

urls

An array of links. Optional.

E.g.:

  [
    "https://www.example.com/path/1",
    "https://www.example.com/path/2",
    "https://www.example.com/path/3",
    // ...
  ]

file

A file path for a list of links. Optional.

E.g.: ./urls containing:

"https://www.example.com/path/1"
"https://www.example.com/path/2"
"https://www.example.com/path/3"
...

max

The maximum number of links per sitemap. Optional, default is 50.000 according to sitemaps.org FAQ.

filepath

The path to which the generator should write the sitemap(s). Optional, default is ./sitemap.xml.

domain

Optional. If not provided, the domain is extracted from the first link in the links list (either the file or array).

The domain is to be used in the sitemap index file. E.g.:

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://www.example.br/sitemap-0.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://www.example.br/sitemap-1.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://www.example.br/sitemap-2.xml</loc>
  </sitemap>
</sitemapindex>

List of links

Both urls and file are optional, but you must provide either one or another!

If both urls and file are provided, file will prevail over urls.

Multiple sitemaps

If the number of links in urls or file is higher then max, the sitemap will be split in as many sitemaps as needed at the same dir, and a sitemap index will be created at filepath.

In that case, supposing you are using default values, sitemap.xml would be the sitemap index and the sitemaps would be named sitemap-0.xml, sitemap-1.xml and so on, with maximum 50k links each. (See example above.)

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free