Since I first wrote a review of Processwire more than six years ago, I've gone on to be an active user of the CMS and have used it on quite a few sites over the years. If you do a search for favourite your-preferred-cms plugins/modules/add-ons
, you'll get a lot of results, but there doesn't appear to be anything that's been written for Processwire, other than a forum thread which is a few years old now.
So here's a list of the modules that make it into every Processwire site I work on, listed alphabetically.
ALIF - Admin Links In Frontend
This module displays a configurable set of links to your site's admin from the front end of your site. The links you'll most commonly use will be the one to edit the current page, but you can turn others on and off too as you can see below. (Note Tracy at the top of the list is Tracy Debugger which will be discussed below.)
You can also configure where on the screen the toolbar appears and how it looks.
To have the toolbar appear on your site, add this to a template file, most likely a global file used on every page.
AIOM+ (All In One Minify)
This module will combine and minify CSS and javascript (it also does LESS but I don't use it for that) and minify HTML. To minify single files, you'd do this:
To combine and minify multiple files:
By default, only files which are in the ProcessWire template folder can be included. If you want to add files outside that folder, you have to turn on the Allow Directory Traversal option. Then use paths relative to your template folder, e.g.
Unfortunately, this module hasn't been updated for three years, although there is a fork which is being more regularly maintained.
Batch Child Editor
This module allows quick batch creation (titles only or CSV import for other fields), editing, sorting, deletion, and CSV export of all children under a given page.
I don't always use the functionality that this module provides but it's good to have installed for those situations where you do need it.
Database Backups
Create and/or restore database backups from the ProcessWire control panel.
Form Builder
This is a paid module and it actually has a lot more features than I use on most of my sites. The link above gives a detailed breakdown of everything you can do with the module, but the main benefits for me are in its saving of entries to the database, handling of spam via the honeypot method, and ease of modifiying the email notification templates.
General settings
This is a handy module for creating an editing interface for miscellaneous bits of information that might appear across a site but not necessarily be related to any one page. You can have as many or few fields listed as you like.
Lightwire-skin
This is a different skin for Processwire's CKEditor fields. To use, add this to Custom Config Options under the Input tab for the field.
You can see the difference between a CKEditor field with and without the skin applied below.
Markup SEO
Described as the all-in-one SEO solution for ProcessWire
, and it's pretty accurate. You can configure which templates to apply it to, what the title format should be, e.g. {title} – {sitename}
, which robots meta tags to include (useful for hiding development sites from bots), and a bunch of other useful stuff.
After installation, every page whose template is selected to have the module applied to it, will have an SEO tab.
To get the output to appear for your pages, you'd add this to your template:
Or if you wanted more fine-grained control:
Menu Builder
Easily create navigation lists and menus using a drag and drop interface. This module is similar to Markup Simple Navigation but will give you more fine-grained control over what appears in the menu, i.e. it will only display what you manually add to it. That might be an advantage or disadvantage depending on your situation, but it's closer to how the menu builder in Wordpress works (not saying that's necessarily a good thing or not).
To render a menu, add this to your template:
Modules Manager
Module Manager enables you to directly browse the Processwire modules directory from within your own site's control panel, then download and install.
Page Protector
This enables site admins to protect pages from guest access. It can also be used to protect an entire site, which is useful during development. If you want a site to only be viewable to logged in users, you can also add $page->loginForm
to a template and then select that template in the settings.
For protecting a site from non-logged-in visitors, I used to use Maintenance Mode, but Page Protector is a bit more flexible.
ProcessWire Upgrades
You could probably make a good argument that this one should be included as core functionality as it is with other CMSs.
Tracy Debugger
Billed as The ultimate debugging and development tool for ProcessWire
, it includes 35+ custom tools designed for effective ProcessWire debugging and lightning fast development
.
The settings page for the module is huge, so I won't try and list all the possible data you can output with it. Best just to install it and have a play around.
But below is just an example of the output. Hovering over each icon will reveal a different panel of information.
Version Control for Text Fields
This module provides simplified version control for text type fields. When editing pages, fields with old revisions available show up with a new icon in their header bars. By hovering that icon you get a list of available revisions and by clicking any one of those the value of that particular field is reverted to that revision.
XML Sitemap
This module will automatically generate an XML sitemap at yoursite.com/sitemap.xml
for use with Google Webmaster Tools etc.