Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Django SEO internal Linking and Siloing Middleware - Makes polishing your site structure a charm. Replace Terms with links in your content without editing the content. Configure Rules for every term seperately, exchangeable backend. Supports BeautifulSoup and Lxml. Configure the Content Area by using css selectors, define exceptions to that rule.
Python
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
seo_link
AUTHORS
CHANGELOG.txt
LICENSE
MANIFEST.in
README
setup.py

README

SEO_Link app
=============

If you have a big site and want insert links into your content,
but do not want to edit all the content, this is the app for you.
It makes SEO link shaping a charm.


Description
#############
This reusable app is designed for injecting SEO Links to content areas
of a website.
It parses the html output and injects links based on a term dictionary.
The injection of the terms and links can be configured.
The injection is triggered based on OperationPath rules.
e.g. path contains/startswith/regex/exact : /abc/

The content area the injection should be done with can be
configured:

- OPERATIONAL_CSS_SELECTOR_CLASSES
- OPERATIONAL_CSS_SELECTOR_IDS
- IGNORE_CSS_SELECTOR_CLASSES
- IGNORE_CSS_SELECTOR_IDS

This way you could mark content areas, where the operation should be performed.


Installation
-------------

Add it to your installed apps:

    INSTALLED_APPS += ['seo_link']

Set the middleware as last in your middleware classes chain,
but before any csrf middleware if you want to use any form
of caching

    MIDDLEWARE_CLASSES = [
        ...
        'django.middleware.common.CommonMiddleware',
        ...
        'seo_link.middleware.SeoLinkMiddleware',
    ]
    
To enable the admin preview functionality and the test cases
add url(r"^link/", include("seo_link.tests.urls")),
to your urls conf.

First steps:
    There is a basic configuration included in the test cases.
    python manage.py test seo_link --failfast
    
Dependencies:
--------------
    BeautifulSoup 
    South
    Django
    - optional lxml
    
Backends:
----------
    - seo_link.backends.simple.SimpleBackend
        It is Beautiful Soup Based
    - seo_link.backends.simple.SimpleCachedBackend
        Cached version of the Simple Backend
    - seo_link.backends.advanced.LXMLBackend
        LXML Based version
    - seo_link.backends.advanced.LXMLCachedBackend
        Cached LXML version
      
Settings:
----------
        please check the seo_link/settings.py for all the possible configurations
Something went wrong with that request. Please try again.