Basic Newbie designer - To CMS or not?

I have designed a few small websites for friends, and a few clients. I use Dreamweaver, and code the HTML and CSS myself, and also using Dreamweaver to create a template for the Header, nav, and footer areas, so updates are a breeze. So far all my sites are static and this has worked up until now. I’m also just learning a little about Jquery. This will only be a parttime biz for me, so I’d like to keep everything simple.

I recently lost a potential client because I was unsure of my abilities… they wanted an events calendar, registration forms with payment option, a secure login page for clients, and wanted to be able to update a few things themselves. I know I can eventually figure out how to do all these things… using JQuery, PHP, CushyCMS, or something. My question is… which direction should I go from here? I’m not opposed to learning PHP or a CMS… do I put my energies into learning a CMS (they seem to be the wave of the future and seem to have plugins for forms, event calendar, etc.), or do I continue with Dreamweaver, HTML/CSS and figure out how build what I need or use available plugins (which I’m a little clueless on as well).

I’ve been reading Sitepoint forums - lots of good info - and it seems that Perch is a nice CMS that may meet my needs (and future clients). Is the only reason to go with a CMS, is so the client can update info on their site themselves? I’d be very grateful for any direction, advice you can provide me. Thanks, Diane.

Learning PHP and JavaScript along with jQuery will take a while, and you don’t want to deliver a product that you don’t fully understand yourself. I recommend you keep on doing what you’re doing and then handing the CMS implementation off to another contractor.

In the case of your potential client, you should have gone along with their requirements, requested a quote from a web developer, and factored that into your proposal. I’d suggest getting back in touch with them.

There are a few more good reasons to use an off-the-shelf CMS.

One reason is that you won’t have to reinvent the wheel. It definitely isn’t a bad idea to learn how to do one yourself, but when you have to deal with security, eCommerce, and the like, you might need a while until you’re able to do all that yourself. You could always learn PHP (or any other programming language) and create your own PHP framework or CMS for simpler sites and use a pre-made CMS or Framework for the more complicated tasks such as eCommerce and so on. Or you could use your own CMS and implement a third-party eCommerce system. There are plenty possibilities for you once you are good with a programming language of your choice.

The other big advantage to using an off-the-shelf product, is maintainability. By using your own build, the client is stuck with you. That may or may not be something you want. Would you use an off-the-shelf product, your client has more flexibility and you usually find a plethora of support and extendibility by third-party plugin/add-on developers.

Even if you just do this for a hobby, it can never harm knowing your way around the more popular CMSes, including WordPress, Drupal, MODx and the like. The smaller CMSes like Cushy and Perch are great to learn (and use) too.

Yes, I second what kohoutek said. A CMS is a very useful tool of trade, and gives you the ability to create highly functional sites without reinventing the wheel, as mentioned. If you were going to offer some kind of trade (such as plumbing) you wouldn’t feel compelled to create all your own machinery. You would learn to use the equipment that has been designed for plumbers and get on with it. A CMS is a bit like those tools of trade. It allows you to provide a really useful website quickly, and as kohoutek also said, the site can be handed to someone else who knows that CMS later if need be.

Kohoutek didn’t mention ExpressionEngine (which we both use) probably because it has a price tag on it, but it’s a beautiful CMS to use. I know a guy who has a regular day job but who does websites as a hobby for a bit of money on the side, and he uses ExpressionEngine. It is not a big cost for a client, and because he is doing these sites for fun, he doesn’t charge nearly as much as a full time designer would, but clients still love his work (as he is very skilled).

Yes, ExpressionEngine is a wonderful CMS and if the cost doesn’t put you off, it’s one you should definitely consider as it’s highly sophisticated. I use it whenever I can.

Thank you all for your input. I appreciate it.

With ExpressionEngine is the cost per client? Does it get loaded to each client’s server space and then I use it from there (and let client access certain areas for editing content)? Was unclear if the license is for me (I buy once) and I can use for several clients. Or if I buy one for each project/client.

So with EE or Perch, do I create the HTML within the program? I’m comfortable with Dreamweaver and just wondering how the pages are created.

I definitely don’t want to spend time recreating the wheel. And I also would be doing this more as a hobby/biz. I’m just trying to find a direction that will give me flexibility in design, something sort of simple, with a little room to grow. I would love to put my time in learning something that I can use for all projects.

ExpressionEngine works on a one-off license basis, so one license for one site. The same goes for Perch.

How you work with it depends on your development setup. The majority of people work on the templates/documents via an editor, so if Dreamweaver is your code editor of choice, you’d be using that to edit the files. You could, of course, also edit the files directly via the CMSes admin panel.
You can have a local environment and create a local test site, then upload that to a remote server once it’s ready. You could use SVN or Github or something else to make working between your local files and the production files easier, but that’s a different topic.

I would highly recommend Wordpress as a starting point for learning a CMS. It was the first one I learnt and I found it really simple and basic. If you know html and css you can have a dynamic site in no time.

Yes, it’s a good starting point. The main advantage I see by starting with WordPress is that you have to work with basic PHP which can serve as a nice introduction to the language. And the installation process is quite easy.

EE sounds good, but will be too expensive for my small clients. I was looking at Perch and thinking about going with it. But now… maybe WordPress instead? What are the advantages of WordPress over Perch?

And with Perch (not sure about WP and others), I see that the content for editing is placed within the Perch files, and only a PHP line with a tag for Perch is in the HTML. I may not be explaining this well. But if the actual content is not displayed in the html, only a tag for Perch, I’m wondering about the SEO. Does this text get seen by search engines? Thanks.

The template tags in Perch aren’t all that different than the WordPress tags you’ll be using. You still write your own markup in both and insert the functions (template tags) to your markup. The HTML will be displayed in full in your HTML documents, just like it would with a static site, so you need not worry in that regard.

The advantage of WordPress over Perch is that WordPress has a monstrously huge community behind it. It’s open source and doesn’t cost you anything other than time and maintenance. There a a gazillion plugins for it and you will almost always find answers to any issues you run into on the net. There are hundreds of resources, frameworks, themes, and tutorial sites out there for WP.

The disadvantage is that WP gets updated too frequently. This will increase your maintenance work load as many of WordPress’ upgrades are crucial security fixes or other bug fixes that need instant upgrading. Often times, plugins will not be compatible with the latest version of WordPress. That can be a headache, so it’s important that you use as few plugins as possible and always do some research on a plugin and see whether it’s good, secure, and frequently updated by its developer. You’ll soon find that the majority of plugins written for WordPress are of a mediocre quality, have markup hard-coded into the plugin itself. So, always make sure a plugin is backed up by good references elsewhere on the net and read through the designated plugin forum on

Perch, like WordPress uses templating tags, so you’ll need to learn what each of these do. Perch has far fewer tags than WP has. Perch doesn’t have a particularly large user base and not all that many plugins. It’s a different target audience, not unlike ExpressionEngine. That can be a good thing, but it might also pose problems down the line and depend on your own abilities to trouble-shoot and/or extend the CMS to a functionality that you need for a project.

In terms of future expandability but keeping costs down initially, it might even be worth checking out MojoMotor, the baby brother of ExpressionEngine. It is much cheaper, and easily upgrades to EE later on if need be. (Well, that’s what they say, but I haven’t tried it.)

One thing I can say about it, though, is that it currently has incredible support, usually directly from the main developer himself.

Looks like I have a little thinking/researching to do.

I like MojoMotor, it’s a simple way to for a client to update content. And it’s not hosted, so I believe that means is more secure.

However, a database is handy if my client wants to track and download their report data. So Perch seems like it may work out for that. Not sure what it would take to do that myself - and would rather not reinvent that wheel if I don’t need to.

WP seems like a good thing to learn which can handle that and more. I’m a little concerned if it is simple enough for my non-techie client to learn to update their web content. Guess I will just need to jump in and try it out myself.

Thank you all for your time, opinions, and expertise.

By update, do you mean post news or totally change the flow of the site?

Just post news, or add new links on a page for something like a resources list… simple stuff.