-
Notifications
You must be signed in to change notification settings - Fork 1
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
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
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 0
No packages published