django CMS page extension to handle sitemap customization
Project description
django CMS page extension to handle sitemap customization
Support Python version:
- Python 2.7, 3.5, 3.6, 3.7
Supported Django versions:
- Django 1.11 to 2.2
Supported django CMS versions:
- django CMS 3.6+
Note
djangocms-page-sitemap 0.8 has been relicensed with BSD license.
Note
djangocms-page-sitemap 0.7 dropped compatibility with django CMS < 3.6. 0.6.x releases will be made if necessary after 0.6 release.
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.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.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size djangocms_page_sitemap-1.0.0-py2.py3-none-any.whl (29.6 kB) | File type Wheel | Python version py2.py3 | Upload date | Hashes View |
Filename, size djangocms-page-sitemap-1.0.0.tar.gz (20.5 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for djangocms_page_sitemap-1.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a0d227574cdb572abcee216620946a225b6b2ec8d2b5c8b70c9f1ae56052fed |
|
MD5 | 85a125880aaa5c6851c4d371e2be56eb |
|
BLAKE2-256 | 7c346d879bd8f1820c81deb7c8ecc48f56bc5a2c5ee79ecd15ab721ca84c5945 |
Hashes for djangocms-page-sitemap-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | de88163b7d9e41c5c5f33592ffbf6ef0d9a69a74b5244437cadd51ebed6c003a |
|
MD5 | ea357d43d57e52cf71b13773a79969ba |
|
BLAKE2-256 | 291d94be84ae44e8d47f060e9098ed0dbdace625fea64b4ab9dab1579f2c74c2 |