Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
#1 2005-01-18 22:13:47
- zem
- Developer Emeritus
- From: Melbourne, Australia
- Registered: 2004-04-08
- Posts: 2,579
[plugin] [ORPHAN] zem_prblock
zem_prblock is a Textpattern plugin that reduces the incentive for comment spam by blocking PageRank on outgoing links. It also allows attributes such as class and target to be selectively applied to links to external web sites.
Comment spam is usually motivated by web site owners trying to improve their ranking in Google search results. They do this by including links to their web site in comments submitted to many different blogs. Google interprets these links as meaning that the spammer’s web site is very popular.
zem_prblock works by ensuring that Google ignores links to external web sites. It offers two different methods: javascript redirection, and the rumoured-soon-to-be-announced rel=nofollow technique. The plugin only alterss links within a predefined block, and skips local, relative and ‘mailto:’ links.
Download and documentation: link.
This was initially a software ransom, but it’s already paid in full, so it’s available for download now.
YToxMDp7czo0OiJuYW1lIjtzOjExOiJ6ZW1fcHJibG9jayI7czo2OiJhdXRob3IiO3M6MTU6IlRocmVzaG9sZCBTdGF0ZSI7czoxMDoiYXV0aG9yX3VyaSI7czoyNjoiaHR0cDovL3RocmVzaG9sZHN0YXRlLmNvbS8iO3M6NzoidmVyc2lvbiI7czozOiIwLjEiO3M6MTE6ImRlc2NyaXB0aW9uIjtzOjc5OiJBcHBsaWVzIFBSIGJsb2NraW5nIHRvIG91dGdvaW5nIGxpbmtzLCB0byByZWR1Y2UgdGhlIGluY2VudGl2ZSBmb3IgY29tbWVudCBzcGFtIjtzOjQ6ImhlbHAiO3M6MjUzNToiPHA+PHN0cm9uZz56ZW1fcHJibG9jazwvc3Ryb25nPiByZWR1Y2VzIHRoZSBpbmNlbnRpdmUgZm9yIGNvbW1lbnQgc3BhbSBieSBibG9ja2luZyBQYWdlUmFuayBvbiBvdXRnb2luZyBsaW5rcy48L3A+CgoJPHA+Q29tbWVudCBzcGFtIGlzIHVzdWFsbHkgbW90aXZhdGVkIGJ5IHdlYiBzaXRlIG93bmVycyB0cnlpbmcgdG8gaW1wcm92ZSB0aGVpciByYW5raW5nIGluIEdvb2dsZSBzZWFyY2ggcmVzdWx0cy4gIFRoZXkgZG8gdGhpcyBieSBpbmNsdWRpbmcgbGlua3MgdG8gdGhlaXIgd2ViIHNpdGUgaW4gY29tbWVudHMgc3VibWl0dGVkIHRvIG1hbnkgZGlmZmVyZW50IGJsb2dzLiAgR29vZ2xlIGludGVycHJldHMgdGhlc2UgbGlua3MgYXMgbWVhbmluZyB0aGF0IHRoZSBzcGFtbWVyJiM4MjE3O3Mgd2ViIHNpdGUgaXMgdmVyeSBwb3B1bGFyLjwvcD4KCgk8cD56ZW1fcHJibG9jayB3b3JrcyBieSBlbnN1cmluZyB0aGF0IEdvb2dsZSBpZ25vcmVzIGxpbmtzIHRvIGV4dGVybmFsIHdlYiBzaXRlcy4gIEl0IG9mZmVycyB0d28gZGlmZmVyZW50IG1ldGhvZHM6IGphdmFzY3JpcHQgcmVkaXJlY3Rpb24sIGFuZCB0aGUgcnVtb3VyZWQtc29vbi10by1iZS1hbm5vdW5jZWQgPGEgaHJlZj0iaHR0cDovL3NpbW9uLmluY3V0aW8uY29tL2FyY2hpdmUvMjAwNS8wMS8xNy9yZWxOb0ZvbGxvdyI+cmVsPW5vZm9sbG93PC9hPiB0ZWNobmlxdWUuICBUaGUgcGx1Z2luIG9ubHkgZWZmZWN0cyBsaW5rcyB3aXRoaW4gYSBwcmVkZWZpbmVkIGJsb2NrLCBhbmQgc2tpcHMgbG9jYWwsIHJlbGF0aXZlIGFuZCAmIzgyMTY7bWFpbHRvOiYjODIxNzsgbGlua3MuICBBZGRpdGlvbmFsbHksIGl0IGNhbiBiZSB1c2VkIHRvIGFwcGx5IHByZWRlZmluZWQgYXR0cmlidXRlcyB0byBvZmZzaXRlIGxpbmtzLCBmb3IgZXhhbXBsZSB0byBmb3JjZSBleHRlcm5hbCBsaW5rcyB0byBvcGVuIGluIGEgbmV3IHdpbmRvdywgb3IgdG8gZGlzcGxheSB0aGVtIGluIGEgZGlmZmVyZW50IGNvbG91ci48L3A+CgoJPHA+VG8gdXNlIGl0LCBlZGl0IHRoZSBUZXh0cGF0dGVybiBmb3JtIG5hbWVkIDxzdHJvbmc+Y29tbWVudHM8L3N0cm9uZz4gKG5vdCAmIzgyMTY7Y29tbWVudF9mb3JtJiM4MjE3OyAmIzgyMTE7IHRoYXQmIzgyMTc7cyB0aGUgaW5wdXQgZm9ybSksIGFuZCBzdXJyb3VuZCB0aGUgY29kZSB3aXRoIGEgPGNvZGU+Jmx0O3R4cDp6ZW1fcHJibG9jayZndDsgJmx0Oy90eHA6emVtX3ByYmxvY2smZ3Q7PC9jb2RlPiB0YWcsIGxpa2UgdGhpczo8L3A+Cgo8Y29kZT48YnIgLz4KJmx0O3R4cDp6ZW1fcHJibG9jayZndDs8YnIgLz4KJmx0O3R4cDptZXNzYWdlIC8mZ3Q7Jmx0O2JyIC8mZ3Q7PGJyIC8+CiZsdDtzbWFsbCZndDsmYW1wOyM4MjEyOyAmbHQ7dHhwOmNvbW1lbnRfbmFtZSAvJmd0OyAmYW1wOyMxNjA7JmFtcDsjMTYwOyAmbHQ7dHhwOmNvbW1lbnRfdGltZSAvJmd0OyAmYW1wOyMxNjA7JmFtcDsjMTYwOyAmbHQ7dHhwOmNvbW1lbnRfcGVybWxpbmsmZ3Q7IyZsdDsvdHhwOmNvbW1lbnRfcGVybWxpbmsmZ3Q7Jmx0Oy9zbWFsbCZndDs8YnIgLz4KJmx0Oy90eHA6emVtX3ByYmxvY2smZ3Q7PGJyIC8+CjwvY29kZT4KCgk8cD5UaGUgdGFnIGNhbiBhbHNvIGJlIHVzZWQgaW4gb3RoZXIgcGxhY2VzLCBzdWNoIGFzIGFuIGFydGljbGUgZm9ybSwgYnV0IHRoZSBiZW5lZml0cyBhcmUgbW9zdCBvYnZpb3VzIHdoZW4gdXNlZCB0byBibG9jayBsaW5rcyBzdWJtaXR0ZWQgaW4gY29tbWVudHMuPC9wPgoKCTxwPjxzdHJvbmc+QXR0cmlidXRlczo8L3N0cm9uZz48L3A+CgoJPHVsPgoJPGxpPjxzdHJvbmc+dHlwZTwvc3Ryb25nPiAmIzgyMTE7IFVzZSA8Y29kZT50eXBlPSJqYXZhc2NyaXB0IjwvY29kZT4gdG8gcmVwbGFjZSBsaW5rcyB3aXRoIEphdmFzY3JpcHQgcmVkaXJlY3Rpb247IG9yIDxjb2RlPnR5cGU9Im5vZm9sbG93IjwvY29kZT4gdG8gYWRkIHRoZSA8Y29kZT5yZWw9Im5vZm9sbG93IjwvY29kZT4gYXR0cmlidXRlLiAgVGhlIGRlZmF1bHQgaXMgJiM4MjE2O25vZm9sbG93JiM4MjE3Oy48L2xpPgoJCTxsaT48c3Ryb25nPmNsYXNzPC9zdHJvbmc+LCA8c3Ryb25nPnRhcmdldDwvc3Ryb25nPiwgZXRjICYjODIxMTsgVGhlc2UgYW5kIGFueSBvdGhlciBhdHRyaWJ1dGVzICh3aXRoIHRoZSBleGNlcHRpb24gb2YgPGNvZGU+dHlwZTwvY29kZT4pIHdpbGwgYmUgYWRkZWQgdG8gb2ZmLXNpdGUgbGlua3MsIG92ZXJyaWRpbmcgdGhlIGV4aXN0aW5nIGxpbmsgYXR0cmlidXRlIGlmIGl0IHdhcyBzZXQuICBMb2NhbCBhbmQgbm9uLWh0dHAgbGlua3Mgd2lsbCBub3QgYmUgY2hhbmdlZC4gIEZvciBleGFtcGxlLCB0aGlzIHdpbGwgYWRkIDxjb2RlPnRhcmdldD0iX2JsYW5rIjwvY29kZT4gdG8gYWxsIGV4dGVybmFsIGxpbmtzIGluIGFuIGFydGljbGUgYm9keTo8L2xpPgoJPC91bD4KCjxjb2RlPjxiciAvPgombHQ7dHhwOnplbV9wcmJsb2NrIHRhcmdldD0iX2JsYW5rIiZndDs8YnIgLz4KJmx0O3R4cDpib2R5IC8mZ3Q7PGJyIC8+CiZsdDsvdHhwOnplbV9wcmJsb2NrJmd0OzxiciAvPgo8L2NvZGU+IjtzOjQ6ImNvZGUiO3M6MTEzNjoiCiMgJElkOiB6ZW1fcHJibG9jay5waHAsdiAxLjcgMjAwNS8wMS8xOCAwNDozNjo0MSB6ZW0gRXhwICQKCmZ1bmN0aW9uIHplbV9wcmJsb2NrX3JlcGxhY2UoJGF0dHIsICR0eXBlPSdub2ZvbGxvdycpIHsKCWdsb2JhbCAkc2l0ZXVybCwgJHplbV9wcmJsb2NrX2F0dHM7CgoJJGF0dHMgPSBAc3BsYXQoJGF0dHIpOwoKCSRsaW5rID0gQCRhdHRzWydocmVmJ107CglpZiAoJGxpbmspIHsKCQkkdXJsID0gcGFyc2VfdXJsKCRsaW5rKTsKCQkkbXlkb21haW4gPSBwcmVnX3JlcGxhY2UoJy9ed3d3XC4vJywgJycsICRzaXRldXJsKTsKCQkkbGlua2RvbWFpbiA9IHByZWdfcmVwbGFjZSgnL153d3dcLi8nLCAnJywgQCR1cmxbJ2hvc3QnXSk7CgoJCWlmICgkbGlua2RvbWFpbiBhbmQgQCR1cmxbJ3NjaGVtZSddID09ICdodHRwJyBhbmQgJGxpbmtkb21haW4gIT0gJG15ZG9tYWluKSB7CgkJCWlmICgkdHlwZSA9PSAnbm9mb2xsb3cnKSB7CgkJCQkkYXR0c1sncmVsJ10gPSAnbm9mb2xsb3cnOwoJCQl9CgkJCWVsc2UgewoJCQkJJGF0dHNbJ2hyZWYnXSA9ICdqYXZhc2NyaXB0OjsnOwoJCQkJJGF0dHNbJ29uQ2xpY2snXSA9ICJ3aW5kb3cubG9jYXRpb24uaHJlZj0nJGxpbmsnOyByZXR1cm4gZmFsc2U7IjsKCQkJfQoKCQlpZiAoaXNfYXJyYXkoJHplbV9wcmJsb2NrX2F0dHMpKQoJCQkkYXR0cyA9IGFycmF5X21lcmdlKCRhdHRzLCAkemVtX3ByYmxvY2tfYXR0cyk7CgkJfQoJfQoKCSRvdXQgPSAnJzsKCWZvcmVhY2ggKCRhdHRzIGFzICRrPT4kdikgewoJCSRvdXQgLj0gJyAnIC4gJGsgLiAnPSInLiR2LiciJzsKCX0KCglyZXR1cm4gJzxhJy4kb3V0Lic+JzsKfQoKZnVuY3Rpb24gemVtX3ByYmxvY2soJGF0dHMsICR0aGluZykgewoJZ2xvYmFsICR6ZW1fcHJibG9ja19hdHRzOwoKCSR0eXBlID0gaXNzZXQoJGF0dHNbJ3R5cGUnXSkgPyAkYXR0c1sndHlwZSddIDogJ25vZm9sbG93JzsKCSR6ZW1fcHJibG9ja19hdHRzID0gJGF0dHM7Cgl1bnNldCgkemVtX3ByYmxvY2tfYXR0c1sndHlwZSddKTsKCgkkb3V0ID0gcGFyc2UoJHRoaW5nKTsKCglyZXR1cm4gcHJlZ19yZXBsYWNlKCdAPGFccysoW14+XSspPkBlaScsICJ6ZW1fcHJibG9ja19yZXBsYWNlKFwiXFwxXCIsIFwiJHR5cGVcIikiLCAkb3V0KTsKfQoiO3M6NDoidHlwZSI7czoxOiIwIjtzOjU6Im9yZGVyIjtzOjE6IjUiO3M6MzoibWQ1IjtzOjMyOiI2M2Q2MDcyMjZjNjA1NGE4OGM1MDkxNGFmOTM2Mjk2ZiI7fQ==
Alex
Offline
Re: [plugin] [ORPHAN] zem_prblock
I’m sure it works great (like all your plugins do), but – if someone prefers hacks – rel="nofollow"
can be easy added to the visitor’s url by changing line 102 in publish/comment.php file to
$name = '<a href="http://'.$web.'" title="'.$web.'" rel="nofollow">'.$name.'</a>';
Offline
#3 2005-01-18 23:58:29
- zem
- Developer Emeritus
- From: Melbourne, Australia
- Registered: 2004-04-08
- Posts: 2,579
Re: [plugin] [ORPHAN] zem_prblock
They can also put URLs in the comment text, remember.
Alex
Offline
Re: [plugin] [ORPHAN] zem_prblock
You know… every time I sit down to implement some feature I want, you go and release a plug-in that does it.
You cooin’ with my bird?
Offline
Re: [plugin] [ORPHAN] zem_prblock
As I mentioned on Zem’s site, something like this should be incorporated into Textpattern by default.
Offline
Re: [plugin] [ORPHAN] zem_prblock
I do suppose the overall support of this rel=“nofollow” attribute is better than nothing. Any word on how this effects validation?
Last edited by gonzo409 (2005-01-19 02:54:51)
Liberal. Geek.
Offline
#7 2005-01-19 03:00:20
- Andrew
- Plugin Author
- Registered: 2004-02-23
- Posts: 730
Re: [plugin] [ORPHAN] zem_prblock
perfectly valid in both html & xhtml
Offline
#8 2005-01-19 03:01:38
- zem
- Developer Emeritus
- From: Melbourne, Australia
- Registered: 2004-04-08
- Posts: 2,579
Re: [plugin] [ORPHAN] zem_prblock
rel
is standard XHTML. target
isn’t, which is why my site won’t validate.
Alex
Offline
Offline
Offline
#11 2005-01-19 03:49:46
- zem
- Developer Emeritus
- From: Melbourne, Australia
- Registered: 2004-04-08
- Posts: 2,579
Re: [plugin] [ORPHAN] zem_prblock
Anyone know how to get in touch with the Google Blog people, to let them know Textpattern is on board?
I sent an email to their feedback address, but I’m not holding my breath.
Alex
Offline
Re: [plugin] [ORPHAN] zem_prblock
> zem wrote:
> I sent an email to their feedback address, but I’m not holding my breath.
Uh, just did the same :-)
And no, outside the 2 emails adresses on the webpages, I don’t.
Offline