Skip to content

TangoAgency/django-seo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

django-seo

Seo fields for objects of any model registed in admin or for specified url.

Installation:

  1. Put seo as LAST item to your INSTALLED_APPS in your settings.py within your django project.
  2. Sync your database:

    ./manage.py syncdb

Usage:

In settings.py:

Add names of ModelAdmins to be override:

SEO_FOR_MODELS = [
    '<app>.models.<Model>',
]

In template:

First of all, load the seo_tags in every template you want to use it:

{% load seo_tags %}
Use::

{% seo <titledescription> [for <object>] %}

Or::

{% seo <titledescription> [for <object>] as <variable> %} {{ <variable> }}

Example:

settings.py:

INSTALLED_APPS = (
    ...
    'app',
    ...
    'seo',
)

SEO_FOR_MODELS = [
    'app.models.Object',
    'app.models.Another',
]

templates/object.html:

{% load seo_tags %}
<html>
    <head>
        <meta name="description" content="{% seo description for object %}" />
        <meta name="keywords" content="{% seo keywords for object %}" />
        <title>{% seo title for object %}</title>
    </head>
    <body>
        {{ object.content }}
        <h1>{% seo title for object as seo_title %}{{ seo_title }}</h1>
    </body>
</html>

If you are using extend

templates/base.html:

<html>
    <head>
        <meta name="description" content="{% block description %}{% seo description %}{% endblock %}" />
        <meta name="keywords" content="{% block keywords %}{% seo keywords %}{% endblock %}" />
        <title>{% block title %}{% seo title %}{% endblock %}</title>
    </head>
    <body>
        {% block content %}{% endblock %}
    </body>
</html>

templates/object.html:

{% load seo_tags %}
{% block description %}{% seo description for object %}{% endblock %}
{% block keywords %}{% seo keywords for object %}{% endblock %}
{% block title %}{% seo title for object %}{% endblock %}

{% block content %}
    {{ object.content }}
{% endblock %}

templates/another.html:

{% load seo_tags %}
{% block description %}{% seo description for another %}{% endblock %}
{% block keywords %}{% seo keywords for another %}{% endblock %}
{% block title %}{% seo title for another %}{% endblock %}

{% block content %}
    {{ another.content }}
{% endblock %}

Redsolution CMS classifiers:

Content plugins

Packages

No packages published

Languages

  • Python 97.0%
  • HTML 3.0%