/django-seo2

Provides a set of tools for managing Search Engine Optimisation (SEO) metadata for Django sites.

Primary LanguagePythonMIT LicenseMIT

django-seo2

https://travis-ci.org/romansalin/django-seo2.svg?branch=master https://coveralls.io/repos/romansalin/django-seo2/badge.svg?branch=master&service=github Code Health Documentation Status

Overview

This is a set of powerful and flexible SEO tools for Django. It allows you to associate metadata with:

  • absolute paths
  • model instances
  • model classes
  • views

Metadata can be edited in the Django Admin in a centralised place, but also alongside any associated models.

This is however a framework, not an app. To use this library, you need to define the metadata you want and add the output to your templates. Everything else (retrieval, formatting, escaping, caching) is handled for you. Therefore, you have complete control over the data you store.

As requirements change, it may become necessary to add new metadata fields. Having the metadata definition confined to a single, short class means that it is easy to update.

Requirements

  • Python (2.7, 3.3, 3.4, 3.5)
  • Django (1.7, 1.8, 1.9)

Installation

The easiest way to install django-seo2 is to use use pip:

pip install django-seo2

Example

Here is an example of a definition:

from djangoseo import seo

class BasicMetadata(seo.Metadata):
    title = seo.Tag(max_length=68, head=True)
    keywords = seo.KeywordTag()
    description = seo.MetaTag(max_length=155)
    heading = seo.Tag(name="h1")
    subheading = seo.Tag(name="h2")
    extra = seo.Raw(head=True)

    # Adding some fields for facebook (opengraph)
    og_title = seo.MetaTag(name="og:title",
                           populate_from="title",
                           verbose_name="facebook title")
    og_description = seo.MetaTag(name="og:description",
                                 populate_from="description",
                                 verbose_name='facebook description')

As you can see it is very flexible, but there is much more than this simple example.

The full documentation can be read online at http://django-seo2.readthedocs.org/.

History

This is a fork of django-seo, which is no longer maintained.