Lightweight and Powerful CMS
Updated February 2015
In addition to the standard version there is a now a second more feature-rich option called Runway designed for larger projects. I haven’t tried it yet but it looks interesting.
Updated May 2017
Perch 3 was released in March 2017 so this review should be taken with a grain of salt.
I first used Perch in 2007 and came to appreciate its deceptive power which stands in contrast to its unassuming appearance. Developers Rachel Andrew and Drew McLellan have recently released Perch 2 and it's a nice update with:
- Multi-user login
- Integrated 'Pages' app
- Import Wordpress posts/comments
- Create groups of users that can edit specific areas of the site.
Developing with Perch
Perch comes with several default ‘templates’ which in Perch-speak are PHP snippets — not complete pages — that allow you to manipulate the most common types of content types: text, images etc. While that's all well and good you will certainly want and need to extend Perch beyond its default functionality so you'll need to create custom templates and snippets which means code-level (PHP) tinkering. While basic coding should be expected when using a CMS the unsuspecting designer might feel a bit lost given that Perch is marketed as a lightweight system. Consider yourself warned.
Despite being reasonably code-savvy myself I nevertheless struggle with the technical aspects of working with Perch. I've been successfully using the MODX framework for a few years and as anyone who has used both Perch and MODX can attest, MODX is a more powerful and hands-on system than Perch. But what’s odd is that between the two I find Perch far more difficult to use as a designer/dev. I’m not sure if that’s a criticism of Perch or a testament to MODX. Perhaps it’s both.
Maybe it’s the not-so-great Perch docs that throw me off, though to be fair the MODX docs were not (at the time of writing) much better. Or maybe my brain just connected to the MODX way of doing things. Honestly I don’t know how to explain it. I do know that I have recommended Perch to numerous devs and despite being fans themselves they freely admit Perch is, at times, an usually frustrating and difficult system to work with. Draw your own conclusions.
Speaking of the docs, they’re spotty1 and I am by no means the only person who feel they are a weak link. I can’t truthfully say for certain they are entirely to blame for my difficulties (my ignorance of PHP at the time certainly factored heavily), but the threadbare nature of the docs are (or were) problematic, especially for the novice user.
If you’re a PHP developer I suspect you will have a much easier time filling in the holes of the documentation. On the other hand, if you don’t have a lot of experience you may find yourself “over your skis”, even for basic stuff like setting up a blog. Point-n-click it is not.
One distinction between a lightweight CMS like Perch and the full-featured Big Boys is the ability to extend and modify the core functionality and user-interface (UI). For front-end features like a blog or gallery this might be accomplished with plug-ins, add-ons or modules (see below) all of which are commonplace for all but the most basic CMS.
Back-end customization of the admin area is where the rubber meets the road and it might be done via System Settings, or by manually writing custom code. The level of built-in customization varies greatly but you’re unlikely to find much on offer in this regard unless you’re using a full-featured system.
The ability to fine-tune permissions for different user-groups, e.g., preventing certain users from performing a specific function such as editing a page, or a section of a page, is pretty much expected with all but the most basic CMS. Perch 2 does allow for a small measure of adjustment for admins and non-admins but it’s rudimentary, lacking the granular control found on other CMS. To be fair I’m not sure the average Perch user needs a deep level of control over user-permissions but it’s worth mentioning in case you’re considering it for a multi-user project.
Another important area is the UI. Being able to customize the (admin) back-end can greatly improve its usability for clients who may require a specific tool or conversely, are easily overwhelmed by a complicated UI with options they don't need on a day-to-day basis. Hand-tailoring the admin area to the client’s specific needs is a professional, and often necessary touch that’s always well-received.
Fortunately Perch has a minimalistic interface by default. While it’s not the nicest UI I've used it does score high with clients, though there isn't much in the way of user-customization that can be done. Again, I suspect this lack of tweaking will not be an issue for the typical Perch end-user but it’s worth pointing out.
One of the potential problem areas, especially for tech-challenged designers, is manually installing after-market apps. Because Perch does not have an internal delivery mechanism for downloading and installing its own apps the user must do it manually. While the instructions on the Perch site are generally good it can still be confusing. Being able to install an app with a click would greatly improve the user-experience, especially for beginners.
Once installed the each app has a settings page which can be accessed from the Perch back-end and is for the most part pretty straightforward and convenient.
As is the case with most CMS Perch offers several apps that allow for quick expansion of the core functionality:
- Backup - Backup the Perch folder and MySQL db.
- Blog - Feature-wise it can't compete with the Big Boys but it's still useful for most needs.
- Events/Calendar - Very customizable.
- Forms - Easy to implement and customizable.
- Foxy Cart - E-commerce. I haven't used this one.
- Image Gallery - Good for managing basic galleries.
- Twitter - I haven't used this one.
I'm tempted to say the add-ons are generally easy to configure, but “easy” is relative to how comfortable you are with reading technical instructions and basic coding. The add-on documentation continues to improve but you may nevertheless feel as though you’re on your own.
Even with my frustrations Perch remains one of my two favorite CMS, along with MODX. You may rightly ask, “If you have so much trouble why recommend it?” I think the answer to that question comes down to client satisfaction. My clients find it very easy-to-use which is an almost universal concern when discussing CMS options with them. As an end-user myself I genuinely like Perch, I think it’s a terrific CMS for small to medium sites with modest requirements.
But for the designer/developer in me the answer is different. For some reason Perch and I continue to have an antagonistic partnership. Is it me? Is it Perch? Honestly, I’m not sure.
As a developer I feel a sense of dread every time I dive-in. No, the docs weren’t great but they have improved so that’s not the entire problem. I have experience with a variety of CMS from the very simple to the Big Boys, and my PHP skills have improved so I’m not sure it’s a lack of technical skill either. Yet Perch inexplicably leads the pack in terms of my frustration level. It’s just... awkward, I don’t know how else to put it.
While it's not marketed to the power-user crowd — that’s what Perch Runway is for — my guess is that for many projects it has all the horsepower needed, assuming you know how to extract it. Don’t let my backhanded compliments dissuade you, Perch is a very capable CMS and is well worth consideration. Just remember the cute Perch logo and lightweight status do not necessarily mean this is an easy system for beginners to get their head around.
1 Updated 2014-09-2: I hear the docs have improved considerably.