1 2 3 4 5 6 7 8 9 10 11 12 | from django.template import Library
import re
register = Library()
r_nofollow = re.compile('<a (?![^>]*nofollow)')
s_nofollow = '<a rel="nofollow" '
def nofollow(value):
return r_nofollow.sub(s_nofollow, value)
register.filter(nofollow)
|
More like this
- Frequently used tags/filters for Jinja2 by mathwizard 3 years, 8 months ago
- Compact list_filter with counter by fab10m 1 year, 3 months ago
- Convert numbers in USA notation to brazilian notation by eOliva 3 years, 7 months ago
- A simple rest template filter by marinho 4 years, 6 months ago
- hide emails with PIL - template filter by dekomote 2 years, 7 months ago
Comments
You can use also jQuery like:
$(".comment a").attr({rel: "nofollow"});
to add rel="nofollow" attribute to all a within class .comment
#
@polarbear
This would not work. I doubt that Google interprets JavaScript to check if it may or may not contribute the current sites pagerank to a link.
#
One small issue with this is that the regex doesn't match when you just add the text "nofollow" somewhere in one of the links being tested e.g: an href with a fragment-identifier like so: "blah.com#nofollow"
The following regex prevents bypassing the filter in this way
#
building on
muffinresearch's regex:This matches only internal links. (hopefully)
#