A more dynamic way to register Open Graph protocol
This app is made to facilitate the SEO of OnePage sites. With it you will have an administrative ready to register the metas or if you prefer to include a dictionary in your settings.py
with the values that must be loaded.
If there is a dictionary in the settings it will not use the database and you can hide the users' OPG registration by the access level of the user/group.
Now you can create OGPs in an easy way.
The test matrix guarantees coverage for:
- pythos2·7 : Django 1.8
- pythos2·7 : Django 1.11
- pythos3·4 : Django 1.8
- pythos3·4 : Django 1.9
- pythos3·4 : Django 1.11
- pythos3·5 : Django 1.8
- pythos3·5 : Django 1.9
- pythos3·5 : Django 1.11
- pythos3·5 : Django 2.0
- pythos3·5 : Django 2.1
- pythos3·6 : Django 1.8
- pythos3·6 : Django 1.9
- pythos3·6 : Django 1.11
- pythos3·6 : Django 2.0
- pythos3·6 : Django 2.1
- pythos3·7 : Django 1.8
- pythos3·7 : Django 1.9
- pythos3·7 : Django 1.11
- pythos3·7 : Django 2.0
- pythos3·7 : Django 2.1
pip install django_opg
Add django_opg
in INSTALLED_APPS
:
INSTALLED_APPS = [
...
"django_opg",
...
]
Execute:
python manage.py migrate
Import {% load ogp %}
and add {% show_ogp %}
in your <header>
tag
You can include the metas straight into your settings. The app currently supports the following data:
OGP = {
"og_title": "Ricardo Baltazar Chaves | Site",
"og_type": "website",
"og_description": "My personal site.",
"og_url": "https://www.ricardobaltazar.com/",
"locales": [{"og_locale_alternate": "en_US"}, {"og_locale_alternate": "pt_BR"}],
"images": [
{
"og_image": "https://www.ricardobaltazar.com/static/principal/images/profilepic-new.ac1b7deb01a8.jpg",
"og_image_url": "https://www.ricardobaltazar.com/static/principal/images/profilepic-new.ac1b7deb01a8.jpg",
"og_image_type": "image/jpeg",
"og_image_width": 100,
"og_image_height": 200,
"og_image_alt": "The Ricardo image",
},
{
"og_image": "https://www.ricardobaltazar.com/media/palestra_eventos/IMG_20170811_195143268.jpg.430x360_q85_box-679%2C0%2C3479%2C2340_crop_detail.jpg",
"og_image_url": "https://www.ricardobaltazar.com/media/palestra_eventos/IMG_20170811_195143268.jpg.430x360_q85_box-679%2C0%2C3479%2C2340_crop_detail.jpg",
"og_image_type": "image/jpeg",
"og_image_width": 300,
"og_image_height": 400,
"og_image_alt": "Ricardo Speech SEO",
},
],
}
If there is no OGP
key in the settings, the application will fetch the data in the database.
The BasicMeta
model is selected with first()
, so only one record can exist to prevent data from being selected.