Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@netlify/plugin-sitemap

Package Overview
Dependencies
Maintainers
15
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@netlify/plugin-sitemap

Automatically generate a sitemap for your site after it finishes building in Netlify.

  • 0.8.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
Maintainers
15
Weekly downloads
 
Created
Source

Netlify sitemap plugin

Automatically generate a sitemap for your site after it finishes building in Netlify.

Installation

You can install this plugin in the Netlify UI from this direct in-app installation link or from the Plugins directory.

To use file-based installation, add the following lines to your netlify.toml file:

[[plugins]]
package = "@netlify/plugin-sitemap"

Note: The [[plugins]] line is required for each plugin, even if you have other plugins in your netlify.toml file already.

To complete file-based installation, from your project's base directory, use npm, yarn, or any other Node.js package manager to add this plugin to devDependencies in package.json.

npm install -D @netlify/plugin-sitemap

Configuration

By default, the plugin generates a sitemap based on the publish directory configured in your site build settings or netlify.toml. To change the default behavior use the buildDir configuration.

[[plugins]]
package = "@netlify/plugin-sitemap"

  [plugins.inputs]
  buildDir = "public"

Writing to a subfolder path

If your site is meant to be served from a subfolder, you can also apply the filePath parameter in order to place the sitemap.xml in a particular location within in the buildDir. NOTE: this parameter must contain the full file name including "sitemap.xml".

[[plugins]]
package = "@netlify/plugin-sitemap"

  [plugins.inputs]
  buildDir = "public"
  filePath = "some/subfolder/sitemap.xml"

Excluding files from sitemap

[[plugins]]
package = "@netlify/plugin-sitemap"

  [plugins.inputs]
  buildDir = "public"
  exclude = [
    # By file Path
    './build-dir/path-to/file.html',
    # By Glob pattern
    '**/**/child-one.html'
  ]

Pretty URLs

Pretty urls a.k.a. site.com/index.html being turned into site.com/ is on by default.

To disable this feature set the prettyURLs option to false

[[plugins]]
package = "@netlify/plugin-sitemap"

  [plugins.inputs]
  buildDir = "public"
  # disable pretty URLS and keep `index.html` & trailing `.html` file references in paths
  prettyURLs = false

When using pretty URLs, missing trailing slashes can be appended by setting the trailingSlash option to true. This renders site.com/page-one.html as site.com/page-one/.

[[plugins]]
package = "@netlify/plugin-sitemap"

  [plugins.inputs]
  buildDir = "public"
  prettyURLs = true
  # Append missing trailing slash to pretty URL
  trailingSlash = true

Set the default values for "changefreq" and "priority"

[[plugins]]
package = "@netlify/plugin-sitemap"

  [plugins.inputs]
  changeFreq = "daily"
  priority = 0.5

Set base URL from environment variable rather than plugin input

You can include an environment variable (NETLIFY_PLUGIN_SITEMAP_BASEURL) in your Netlify site to set the base URL that will be used by the plugin. This option is useful if the baseUrl plugin input can't be used. Example use case: different Netlify sites built from the same repository and don't/can't have custom domains.

Priority of base URL assignment: plugin input baseUrl -> env NETLIFY_PLUGIN_SITEMAP_BASEURL -> Netlify site default URL

[[plugins]]
package = "@netlify/plugin-sitemap"

  [plugins.inputs]
  baseUrl = "http://example.com"

NOTE: Although the above is called base URL this actually ends up being the hostname in the sitemap and as such trying to use a URL like http://example.com/en/ will results in http://example.com/

Add a prefix to the URL

You can include an environment variable (NETLIFY_PLUGIN_SITEMAP_URL_PREFIX) in your Netlify site to set the URL prefix that will be used by the plugin. This option is useful if the urlPrefix plugin input can't be used. Example use case: different Netlify sites built from the same repository and don't/can't have custom domains.

Priority of base URL assignment: plugin input urlPrefix -> env NETLIFY_PLUGIN_SITEMAP_URL_PREFIX

[[plugins]]
package = "@netlify/plugin-sitemap"

  [plugins.inputs]
  urlPrefix = "/en/"

Keywords

FAQs

Package last updated on 30 Mar 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc