Skip to content

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.

License

FrankBie/django-seo-link

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages