Update (April 13, 2019): If you’re looking to print your entire WordPress site, try my plugin Print My Blog. The ideas from this post led to its creation.
I previously wrote about the conundrum of preserving your WordPress blog for a hundred years or so. The main solution I suggested was putting your blog’s content on Family Search… but the majority of commenters said they mostly wanted to just print it out on plain old paper.
So how can you print your blog and can it be easier?
Existing Ways To Print Your Blog
Print Each Page Individually
Some of the bloggers said they just printed each blog post, one at a time.
Browsers allow you to print the web page you’re visiting, so this seems pretty easy, right?
But manually printing each blog post is exhausting. (Ok, a Medieval Monk would have a different idea of exhaustion, having spent most of their lives just copying texts, but it’s painfully slow by modern standards.)
Also, usually your web page doesn’t print very well. You probably have a colorful header –which looks great on the screen but eats up ink. Or maybe a suggested posts widget or footer navigation –again, nice on the web not a waste of paper. And Heaven forbid your blog has white text on a black background.
So, manually printing each blog might not be the best way to go.
Print with some Printer Friendly Plugins
There are WordPress plugins for making your website more printer friendly.
These plugins should add a button on your post which will make it print it in a printer-friendly manner. Eg when you print the page, they’ll put your content on a white background, and remove sidebar widgets and menus.
So, those help the printed page look better and use less ink, but it’s still just as time consuming.
The Anthologize plugin is meant for creating an e-book from your blog’s posts. It can create the e-book in a lot of different formats, including PDF. You can then print the PDF file. It will be very printer friendly (you’re now printing an e-book, not a website) and you only need to press print once for the entire e-book, not each blog post individually.
So that’s pretty great. I took it for a spin and it worked great on my blog with dozens of blog posts.
But there are two main drawbacks: it might not work on really big blogs, and it’s a lot of clicks.
If your blog has more than a hundred blog posts, the e-book will also have a few hundred pages. Most servers will choke trying to make an e-book that large.
And it’s built to be very customizable, so there are a lot of options. I’m afraid it’s not just a matter of “click here to print your blog”. Most people will be able to figure it out eventually, but it’s a bit of work.
Print My Blog Plugin Proposal
So I’m thinking of creating another plugin to fill the need for an easy way to print your entire blog’s contents, reliably, in a printer-friendly manner.
The plugin could:
- have an admin page, on which is a button saying just “print my blog” and whatever other options we’ll need,
- when clicked, we’ll open a new page, and fetch a few posts’ content at a time and add them to this page,
- while we’re creating this massive page, we’ll initially hide all the content that’s being added onto it. Instead, we’ll just show a progress bar so folks won’t get distracted.
- when we’ve finished fetching all the blog posts and dumping them into this massive page, we’ll have two buttons: one to print the page, and one to download as a PDF
- clicking to print the page will just print the page. However, we’ll use some CSS magic to make the page’s content appear only when printing, and have the button to print it disappear when being printed.
I’m undecided whether to have this plugin piggy-back on Anthologize, or make it from scratch. Piggy-backing on Anthologize will bring lots of features, but also a few of its struggles (eg, overwhelming number of options and difficulty generating the files on the server). And right now, the proposed plan seems fairly straight-forward.
If you have suggestions on existing easy ways to print your entire blog, or suggestions on what features you’d like, feel free to comment.