django CMS page extension to handle sitemap customization
Project description
django CMS page extension to handle sitemap customization
Support Python version:
Python 3.7, 3.8, 3.9, 3.10
Supported Django versions:
Django 2.2, 3.2
Supported django CMS versions:
django CMS 3.7 - 3.10
Features
Support for changefreq and priority customisation per-page
Option to exclude a page from the Sitemap
Values are cached
django CMS toolbar integration
Available on Divio Cloud
Quickstart
Install djangocms-page-sitemap:
pip install djangocms-page-sitemap
Add to INSTALLED_APPS with django.contrib.sitemaps:
INSTALLED_APPS = [ ... "django.contrib.sitemaps", "djangocms_page_sitemap", ]
Load it into the urlconf, eventually removing django CMS sitemap:
... urlpatterns = [ path("admin/", admin.site.urls), ... path("", include("djangocms_page_sitemap.sitemap_urls")), ... ]
Load robots_index templatetag and add it to the page in the head tag of the django CMS pages (or in a shared base template):
{% load robots_index %} ... <head> <!-- somewhere in the head tag --> {% page_robots %} </head> ...
If you need to provide a custom sitemap configuration (for example to add more sitemap classes to it, you can append the sitemap url explicitly:
from django.contrib.sitemaps.views import sitemap from djangocms_page_sitemap.sitemap import ExtendedSitemap from myapp.sitemaps import MySiteSitemap urlpatterns = [ ... path("sitemap.xml", sitemap, { "sitemaps": { "cmspages": ExtendedSitemap, "myapp": MySiteSitemap, } ), ... ]
django-app-enabler support
django-app-enabler is supported.
You can either
Installation & configuration: python -mapp_enabler install djangocms-page-meta
Autoconfiguration: python -mapp_enabler enable djangocms_page_meta
Fully using this package will require some changes that cannot be modified by django-app-enabler:
Remove any existing sitemap declaration from urls.py;
Load robots tags in the page like outlined above;
Run migrations: python manage.py migrate
Check documentation above for details.
Usage
After installing as above, you will be able to tune the sitemap setting for each page.
A new menu item Sitemap properties will be available in the page toolbar.
For each page you will be able to set the following flags / values:
Sitemap changefreq (default: the django CMS default)
Sitemap priority (default: 0.5)
Include page in sitemap (default: True)
Set noindex value to page robots meta tag
Set noarchive value to page robots meta tag
Provide any additional robots meta tag values
page_robots options
page_robots meta tag accepts the following parameters:
page: the page to render robots meta tag (default: current page). Can be any valid page lookup
site: the current site id (default: current site).
Settings
PAGE_SITEMAP_CHANGEFREQ_LIST: List of frequency changes
PAGE_SITEMAP_DEFAULT_CHANGEFREQ: Default changefrequency (default: django CMS value -monthly-)
PAGE_SITEMAP_CACHE_DURATION: Cache duration: same as django CMS menu cache)
History
1.1.0 (2022-08-27)
Bugfixes
Fix error when populating the toolbar on page types (#67)
Fixed serialization issue when trying to upload the addon to Divio Cloud. (#73)
Add support for Django 3.2 / django CMS 3.10 (#74)
1.0.0 (2020-12-21)
Features
Add support for django-app-enabler (#63)
Update tooling and drop Python 2 / Django < 2.2 compatibility (#10208)
0.8.1 (2020-05-02)
Enable django CMS 3.7.2 on python 3
0.8.0 (2020-01-12)
Relicense under BSD license
0.7.0 (2019-08-22)
Add compatibility with Django 2.2
Drop compatibility with Django < 1.11
Drop compatibility with django CMS < 3.6
Move to django-app-helper
0.6.0 (2019-07-13)
Drop compatibility with Django < 1.11
Drop compatibility with Python 3 < 3.5
0.5.4 (2019-07-13)
Fix error when page_robots is executed outside a request
Fix tox for older environments
0.5.3 (2019-03-09)
Add Django 2.0, 2.1 support
Add django CMS 3.6 support
Apply workaround to avoid triggering Page.site_id deprecation warning
0.5.2 (2018-04-07)
Make robots_extra not required
0.5.1 (2018-02-27)
Fix error in migration dependencies
0.5.0 (2018-02-22)
Add Django 1.11 support
Add django CMS 3.5 support
Package as Divio Cloud addon
Add support for noindex, noarchive robots meta tag
0.4.3 (2019-07-13)
Fix error when page_robots is executed outside a request
Fix tox for older environments
0.4.2 (2019-04-08)
Add support for noindex, noarchive robots meta tag
0.4.1 (2016-12-02)
Add Django 1.10 support
0.4.0 (2016-10-26)
Drop compatibility with django CMS 3.1 and below, Django 1.7 and below
0.3.1 (2015-10-18)
Improve defaults
0.3.0 (2015-10-18)
Add Python 3.5
Add option to exclude page from sitemap
0.2.0 (2015-08-15)
Update to support django CMS 3.1
Drop support for Django 1.4, 1.5
Add support for Django 1.8
0.1.0 (2014-08-26)
Initial version.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file djangocms-page-sitemap-1.1.0.tar.gz
.
File metadata
- Download URL: djangocms-page-sitemap-1.1.0.tar.gz
- Upload date:
- Size: 20.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 264870b37e9ac66a25e8ee0802851489890a1bf64e0908f7a446b25135d22b68 |
|
MD5 | 42c8ea9cc51751629e6752849879d324 |
|
BLAKE2b-256 | 7c581b3dfc974a0e1836dfb9d7f03bd88fc23118b2aa4c1976098a1a79f07313 |
File details
Details for the file djangocms_page_sitemap-1.1.0-py2.py3-none-any.whl
.
File metadata
- Download URL: djangocms_page_sitemap-1.1.0-py2.py3-none-any.whl
- Upload date:
- Size: 29.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63d284b51f39fd9ad54781e1af10d7b95e54db51b658924cafa1278b5e31ba48 |
|
MD5 | 1432c46ae7cee6d8ffd7a9e1788ddd0e |
|
BLAKE2b-256 | 2a5e12c951a2f9881173c0f5d908520a01d1b0a7b164f3c6023a78369e0deb36 |