djangocms-page-sitemap 1.3.0

Creator: codyrutscher

Last updated:

Add to Cart

Description:

djangocmspagesitemap 1.3.0

django CMS page extension to handle sitemap customization
Support Python version:

Python 3.9, 3.10, 3.11

Supported Django versions:

Django 3.2, 4.1, 4.2

Supported django CMS versions:

django CMS 3.9, 3.11


Note
djangocms-page-sitemap 0.8 has been relicensed with BSD license.


Note
djangocms-page-sitemap 1.0 dropped compatibility with Python 2 and Django < 2.2


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.3.0 (2023-09-26)
Features

Migrate to bump-my-version (#96)



1.2.0 (2023-05-08)
Features

Update GH actions / linting configuration (#79)
Add support for Django 4.2 / django CMS 3.11



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.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.