Been developing websites from simple static to complex data management through ecommerce for the past 12 years, haven't seen it all but I saw pretty good share of where we came from to be where we are today in building websites. There used to be a day where the client had no choice but to call us for changes Not saying clients shouldn't be able to update their own websites but you know what I mean, not every client should have access to it especially those who think web dev is just super easy... ya right
Anyhow, the reason for this post is I'm sitting on the fence between Open Source CMS and keep on building my own.
Open source : I've tried Joomla (f*ing hate it especially when it erases your custom line of codes), I've tried most of the popular one and stopped on Drupal. Relatively easy to use but customizing your own theme is a PITA. I hit crossroads and deadends with my team day in and day out. We can get the job done but we know how patched up it is to make it work.
In-house CMS : We have started working on our own in-house CMS which is by far the easiest system one has ever seen. It was built in Classic ASP so it had a compatibility issue and not avail to linux (obviously) We just recently put one of our team member on switching the code to PHP.
While I'm doing a new theme in Drupal it make sme wonder if I should just push for our in-house instead???
Any one of you ever faced this decision in your own web dev agency?
You and me are both in the same boat. I tried most open source CMS platforms and shopping carts.
After days of installing and testing everything I could find I wasn't very satisfied with anything really. If I HAD to choose a CMS it would be Wordpress only because there are many themes and plugins to save me time for rapid deployment. For ecommerce my final pick was opencart. None of these will ever function or look exactly as I want or the project requires without re-engineering the code and templates. If you go too far modifying the core you can't upgrade in the future.
The problem with all of these systems is that they try to cater to as many businesses and scenarios as they possibly can. A lot of the code is bloated with way too many features that you will never use. Stripping down the code before deployment is not possible because of future upgrades. Also I found that updating or creating new themes for these systems takes longer than rolling out custom.
With that said I created my own ecommerce solution. I have deployed two high traffic e-commerce businesses coming off of ShopScript and CSCart software and the speeds of the websites increased on average by 50%+.
Now I am in the process of creating a simple CMS system where customers can edit the content of the website but not the layout. This will ensure the highest performance on my end and still allow the client to change copy on the site. This super simple and efficient system runs of 3 tables in a mySQL database.
So as I always say, custom is the only way to go for e-commerce. For static or informational websites wordpress is ok only if the client already likes one of the templates already available on wordpress. I setup the software, create the mail boxes in postfix and give them a overall lesson how to use it. I charge for add-on services like adwords, hosting, e-mail, domain costs and maintenece for these clients. I very rarely go into the templates and modify any code. I call those ME TOO sites. (as in oh I have a wordpress site and love this template... me too!)
Thanks for your reply Faithless! Glad to see I ain't the only one.
Our in house CMS will use DIV tags as a delimiter of what content can be updated, this way we can get an existing site and implement our CMS quickly and easily. same will apply for the navigation which we will bring into the CMS as well.
See I don't even go that far. I create each template with PHP and HTML. The client has to login into an admin panel where it lists all the pages available for editing. They can only change the content inside a <DIV id="content">. They can also add or disable pages attached to a "category" predetermined by me and the client during the development phase. They cannot create new categories or sections in the menu. The admin panel runs with a dumbed down version of TinyMCE. They can also attach the page to a different section or category. Also when they are creating a new page they have to pick from an existing template created. It's a very simple system and more importantly it fast.
On a side note, even if your customers are using some kind of CMS their SEO will suffer. Very rarely does a client know about keywords, meta tags and so forth. I always tell my clients its better off they let me edit their site to ensure that all the SEO is accurate. Most of them agree and are willing to negotiate some kind of deal after explaining to them the benefits. If they are on wordpress I install the SEO plugin and tell them to cross their fingers as I don't offer any detailed support for that.
I, myself, am a pretty big WordPress advocate for clients that shouldn't be editing their own sites, however, it does come with a LOT of strings attached. There's usually SO many processes going on especially with plugins built by people who may or may not know what they are doing that the sites slow down significantly (the same of course goes for Drupal and Joomla).
If you can swing it, go custom. I totally agree with faithless on the setup, although I include tags so that way the client can't come back and say "we aren't on page 1 of Google!" and I can respond with "well, are you tagging?"