blog Review

New CMS Review — Perch

Several months ago I blogged about using Textpattern as the CMS for the Harry Ferguson Memorial website. It was while I was implementing that site I realised how Txp should really be used, and that it wasn’t really necessarily the best fit for a site of this nature, as it’s main use is for “publishing” with really no provision at all for page based content management. WordPress does a much better job of this, but still is very much aimed at publishing over curating content.


I came across the Perch cms and almost instantly knew it would be the right fit for the job. Perch is pretty simple: it has quite a small functionality set, a very clear and linear management console, a fantastic support channel manned by Drew McLellan himself, providing helpful and very prompt responses. At £35 it’s not too expensive for use on a cheap web development job.


It would be great if the Solutions section on their website was to be beefed up a little with more code examples and tutorials as I’m sure there’s more that has been and can be done with the perch engine.


Basic usage is simple. Instead of (like WordPress) creating a series of templates, specifying which content goes to which type of page, and then creating the content with Perch you write each page as a file.php and specify content fields for it. Insert the perch runtime script in the header of each page, and then visit the page:

<?php include('perch/runtime.php'); ?>
<!DOCTYPE html>
<html xmlns="" lang="en" xml:lang="en">

In your body create some content fields as such, and fill them with the Perch content tags.

<h1><?php perch_content(‘Harry heading’); ?></h1>
<?php perch_content(‘Harry intro’); ?>
Go into your perch management console and you will now find two fields available to select, choose their content type and fill in the content.

As the admin user, once you have filled in all the fields your “editors” (the name for all other users) can come in and make adjustments to the headings and the content.

No css, no html, no breaking. Perfect.

ps.. ruby ftw!