Summary: Don't use this plugin if SEO is something you care about. There are other print plugins that can help you do this in a cleaner way with less of an SEO risk.
WP-Print “displays a printable version of your WordPress blog’s post/page.” That’s what it says on the plugins website, the plugins page on WordPress.org actually points you straight there.
After installation, there are two options: either to add a code snippet to each page where you want the print link to appear, or to use a shortcode print_link on an individual post or page. It adds a link to a /print version of a post, so the post
Would get a print link:
To get this to work I actually had to go to Settings -> Permalinks and re-save the permalink settings, this is something the plugin should do by itself. Clicking the print link takes you to a printer-friendly version of the post, with a print css loaded that’ll cleanly print that post for you. I think there should be a third option for this plugin: to automatically add the print link to the end of a post using the
the_content filter. Right now you either have to use the shortcode on each page or go in to your template and fix it, which might be too hard for people.
I don’t like the way this plugin works from an SEO perspective at all: it adds a second, duplicate, version of each post on your site and it doesn’t even have a canonical on this print version pointing back to the original post, potentially causing big issues. The simple fact that there’s a nofollow attribute on the print link doesn’t fix that. It loses a full star because of it, it’d get half of it back if it added a canonical back to the original post or page.
I think that a way better way of doing this would actually be to add a decent print CSS to your theme, or even better, a print section in your theme’s normal CSS. Of course this would require coding as well. I’m quite certain there are other plugins though that do this in a better, more SEO friendly way.
As is to be expected from a seasoned plugin developer as Lester Chan, the plugin is reasonably well coded. I would rather have it use more specific namespaces though, as well as not have it rely on the fact that the plugin is in the
In the backend, it doesn’t use a nonce for its basic settings, nor does it use the Options API. It does use a nonce for it’s uninstall functionality though, and having that uninstall functionality is actually pretty nice.