OpenGraph, Twitter Card and Schema.org snippet tags for Wagtail CMS pages.
The current version is tested for compatiblily with the following:
- Wagtail versions 2.7 to 2.15
- Django versions 2.2 to 3.2
- Python versions 3.6 and 3.9
Authored by Basil Shubin, and some great contributors.
First install the module, preferably in a virtual environment. It can be installed from PyPI:
pip install wagtail-metadata-mixin
You must have django-meta installed and configured, see the django-meta documentation for details and setup instructions.
First make sure the project is configured for django-meta.
Then add the following settings:
INSTALLED_APPS += (
'wagtailmetadata',
)
and just include meta/meta.html
template in your templates
{% load meta %}
<html {% meta_namespaces_schemaorg %}>
<head {% meta_namespaces %}>
{% include "meta/meta.html" %}
</head>
<body>...</body>
</html>
Check django-meta documentation for more details.
# models.py
from wagtail.core.models import Page, PageBase
from wagtailmetadata.models import MetadataPageMixin
# ensure MetadataPageMixin class goes before Page class
class CustomPage(MetadataPageMixin, Page):
schemaorg_type = "Page"
promote_panels = Page.promote_panels + MetadataPageMixin.panels
If you like this module, forked it, or would like to improve it, please let us know! Pull requests are welcome too. :-)
wagtail-metadata-mixin
is released under the MIT license.