Skip to main content

Flask extension for generating XML sitemaps

Project description

Flask Sitemapper

Flask Sitemapper is a Python 3 package that generates XML sitemaps for Flask applications. This allows you to create fully functional sitemaps and sitemap indexes for your Flask projects with minimal code.

You can install the latest version of Flask Sitemapper with pip:

pip install flask-sitemapper

For documentation (including for contributors), see the wiki.

Features

  • Easily generate and serve XML sitemaps and sitemap indexes for your Flask apps
  • Include URLs in your sitemaps by adding a decorator to their route/view functions
  • Serve your sitemap on any URL you choose
  • Include lastmod, changefreq, and priority information in your sitemaps
  • Specify whether to use HTTP or HTTPS for the URLs in your sitemaps
  • Compress your sitemaps using GZIP
  • Create multiple sitemaps and sitemap indexes for the same app
  • Supports apps using Flask blueprints
  • Supports apps serving multiple domains
  • Supports dynamic routes
  • Works with many different app structures

Sitemaps

Sitemaps are an easy way for webmasters to inform search engines about pages on their sites that are available for crawling. In its simplest form, a Sitemap is an XML file that lists URLs for a site along with additional metadata about each URL (when it was last updated, how often it usually changes, and how important it is, relative to other URLs in the site) so that search engines can more intelligently crawl the site. — sitemaps.org

For more information about sitemaps and the sitemap protocol, visit sitemaps.org

Basic Code Example

import flask
from flask_sitemapper import Sitemapper

sitemapper = Sitemapper()

app = flask.Flask(__name__)
sitemapper.init_app(app)

@sitemapper.include(lastmod="2022-02-08")
@app.route("/")
def home():
  return flask.render_template("home.html")

@sitemapper.include(lastmod="2022-03-19")
@app.route("/about")
def about():
  return flask.render_template("about.html")

@app.route("/sitemap.xml")
def sitemap():
  return sitemapper.generate()

app.run()

With the above code running on localhost, http://localhost/sitemap.xml will serve the following XML sitemap:

<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://localhost/</loc>
    <lastmod>2022-02-08</lastmod>
  </url>
  <url>
    <loc>https://localhost/about</loc>
    <lastmod>2022-03-19</lastmod>
  </url>
</urlset>

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

flask_sitemapper-1.6.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flask_sitemapper-1.6.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file flask_sitemapper-1.6.0.tar.gz.

File metadata

  • Download URL: flask_sitemapper-1.6.0.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for flask_sitemapper-1.6.0.tar.gz
Algorithm Hash digest
SHA256 0672d0ba2e51ea96460125167e4dd724e4fc7b37593e37dfe1e9a96b96844c25
MD5 2df3d04c2cdf86037fbe3311e0d72a53
BLAKE2b-256 56dc96d02e9fa10b8cbc15257a2cf8c5ffd5b36e84a28e7ce5afe2ba937f65f2

See more details on using hashes here.

File details

Details for the file flask_sitemapper-1.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for flask_sitemapper-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fd1ea089f7e9d3b9c5f9a6d4f9acd8dd5436a920e05717772b7f9fb45a70d879
MD5 7571976e239f6e7750f9ace48f71b645
BLAKE2b-256 7d8f179a3194958296bb003b5e92d2becf6ebcf5d67cd98b1222c0b758cc9577

See more details on using hashes here.

Supported by

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