Skip to main content

Pelican plugin to generate sitemap in plain-text or XML format

Project description

Sitemap

Build Status PyPI Version License

This Pelican plugin generates a site map in plain-text or XML format. You can use the SITEMAP variable in your settings file to configure the behavior of the plugin.

Installation

This plugin can be installed via:

python -m pip install pelican-sitemap

Usage

The SITEMAP setting must be a Python dictionary and can contain these keys:

  • format, which sets the output format of the plugin (xml or txt)

  • priorities, which is a dictionary with three keys:

    • articles, the priority for the URLs of the articles and their translations

    • pages, the priority for the URLs of the static pages

    • indexes, the priority for the URLs of the index pages, such as tags, author pages, categories indexes, archives, etc.

    All the values of this dictionary must be decimal numbers between 0 and 1.

  • changefreqs, which is a dictionary with three items:

    • articles, the update frequency of the articles

    • pages, the update frequency of the pages

    • indexes, the update frequency of the index pages

    Valid frequency values are always, hourly, daily, weekly, monthly, yearly and never.

  • exclude, which is a list of regular expressions that will be used to exclude matched URLs from the sitemap if any of them match. For example:

SITEMAP = {
    "exclude": [
        "^/noindex/",  # starts with "/noindex/"
        "/tag/",       # contains "/tag/"
        "\.json$",     # ends with ".json"
    ]
}

If a key is missing or a value is incorrect, it will be replaced with the default value.

You can also exclude an individual URL by adding metadata to it, setting private to True.

The sitemap is saved in: <output_path>/sitemap.<format>

Note: priorities and changefreqs are information for search engines and are only used in the XML site maps. For more information, see: https://www.sitemaps.org/protocol.html#xmlTagDefinitions

Example

Here is an example configuration (it is also the default settings):

SITEMAP = {
    "format": "xml",
    "priorities": {
        "articles": 0.5,
        "indexes": 0.5,
        "pages": 0.5
    },
    "changefreqs": {
        "articles": "monthly",
        "indexes": "daily",
        "pages": "monthly"
    }
}

Contributing

Contributions are welcome and much appreciated. Every little bit helps. You can contribute by improving the documentation, adding missing features, and fixing bugs. You can also help out by reviewing and commenting on existing issues.

To start contributing to this plugin, review the Contributing to Pelican documentation, beginning with the Contributing Code section.

License

This project is licensed under the AGPL-3.0 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pelican_sitemap-1.1.0.tar.gz (6.5 kB view hashes)

Uploaded Source

Built Distribution

pelican_sitemap-1.1.0-py3-none-any.whl (6.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page