Writer’s Block CMS


Created on Tuesday, February 22, 2005. I last modified it on Thursday, April 2, 2015.
Filed under Software, Web Backend.

A multi-user Content Management System with blogging, article writing, multiple categorising and the ability to give items their own text URL instead of being forced to use an ID number. It’s running this site right now, in fact.

Writer's Block has been discontinued (2 Apr 2015).

Writer's Block ran this website for more than a decade! I now use Jekyll.

Writer's Block is still available for download as a source code reference, but end-users should not install or use it because no further support or patches will be delivered.

What is Writer’s Block?

If the written word is the wheel, then Writer’s Block is the sweet, sweet fossil fuel in the engine that keeps it spinning. A free, flexible, elegant Content Management System that helps you maintain any web site you want, at any size you want, with no hassle and no restrictions. In fact, it’s running this entire site right now.

Capability kung fu

Whether you want to run a simple blog, or want to publish articles, start a community hub with a blog for each of your friends, or port an entire HTML site, Writer’s Block gives you everything you need.

Intuitive and flexible blogging

Change the date, make draft entries and assign or reassign multiple categories that you create, all at once. Let your readers make comments on a form that remembers who they are. Or, make as many Mini Blogs as you want and use them as self-contained journals to keep track of projects, or let your friend have one and start a community. Create, edit and delete blog posts with only a few clicks, while keeping your readers updated with RSS 2.0 and Atom 1.0 feeds for blogs, Mini Blogs and recent comments.

Like a dynamic HTML page

Anypages can be filled with anything you want — a placeholder page, a custom 404 error, a list, a table of photos, an embedded application — and of course, articles of any complexity, from single-page summaries to feature articles spanning multiple pages. Revise them completely online, sort them obsessively under categories you define, and sit back as the Anypage appears in your archives automatically. All the advantages of static HTML without the pain.

Custom URLs

Give your Anypages, Mini Blogs and categories a text URL that means something: why link to a hard-to-remember ID number when you can link to a memorable name? Used with Apache’s mod_rewrite to make shortcut URLs, the advantage is even greater.

Spammers, where is your messiah now?

Spamguard employs blacklist technology that has been programmed to be future-proof, and complements it with automatic comment thread closing to protect your blog comments with as little babysitting from you as possible. And if you do get flooded, clean-up is as simple as using the Mass-delete tool to pattern-match spam comments using REGEX and delete tens or thousands at a time. Wondering where the screenshot is? There’s nothing worth showing: v3.8’s anti-spam measures are so strong that I simply don’t get spamments any more.

Site-wide templating system

Writer’s Block’s HTML-based templating system makes it easy for non-programmers to get output where they want it. Simply put a special template tag, like {NEXT} where you want a Next Page link, and Writer’s Block will put one right there. And if you really want to get specific about it, you can even edit list output HTML code, link text, error and confirmation messages and forms easily from the language file. Or if you want a site written in German, simply translate the language file to change Writer’s Block’s output across the board.


Administer to your website using an application that has been designed for ease-of-use, intuitiveness and accessibility, with tools to help you get the job done. Insert special punctuation and text formatting marks in their correct entity form with The Punctuator. Moderate and delete individual comments, or use a powerful pattern-matching system to mass-delete comments. Create new users and give them permissions to certain features of the Admin section, or curb unruly ones quickly and simply.


Your users can keep up to speed with you using the RSS 2.0 or Atom 1.0 feeds supplied for your blog and Mini Blogs. A dynamic Sitemap automatically grabs new articles and categories. Skip around archives with Next and Previous jumps, link to permalinks for pretty much everything, and make comments on a form that remembers who you are.


  • A plain text editor like Notepad or BBEdit (I like EditPad Pro and Lite), a browser (preferably with Javascript enabled) and an FTP program (I like Filezilla).
  • A server (preferably running Apache) running least mySQL 4.1 and at least PHP 4.1.
  • An existing mySQL database and permissions to create, alter and drop tables, and to insert, update, delete and select rows.

Licensing and support

Writer’s Block is released under the General Public License. Its use and distribution must be free of charge, and any derivatives of it must also be bound by the GPL. Writer’s Block comes with no warranty or guarantee whatsoever, but if you get an error I’ll work with you to try and solve it.

The Punctuator was originally written by Alex King as JS QuickTags. It’s licensed under the GPL if it comes bundled with Writer’s Block, but an LGPL version is available as a separate library. The Admin section uses icons from Mark James’ Silk collection.

Let me at it!

The current version is v3.8.

You can Download Writer’s Block v3.8 (118 KBs) and Download the v3.8–v3.8a patch (28 KBs) and Download the current blacklists (4.54 KBs) or Download the v3.6–v3.8 Inclusive patch (1.7 KBs) or Read the Changelog

Download language files

Writer’s Block is currently available in only one language: English. I’m totally not multilingual. English is the default language file. To install a language file, put it in your template/ folder, then edit line 12 of control.php to point to the file.

English (2.38 KBs) By Desi Quintans.

That's all there is, there isn't any more.
© Desi Quintans, 2002 – 2022.