I am building a website for my first client.
I've built my own websites in the past from scratch using PHP, HTML, CSS, etc... without a framework or CMS.
Therefore, before I proceed with this client, I want to make sure I'm going down the right path. Assuming I've already had custom development experience building a CMS (admin login, content management, etc) and can somewhat easily port my code to this new project, I'm wondering if a CMS (let's say we go with Joomla), is the better way to go. My questions are:
Basically, given my experience building custom CMSs, what added benefit is there for going with something like Joomla vs just porting my code over?
And, the customer doesn't know anything about CMSs. Would it be better for me to go with custom development or build a site through a CMS? Is this something I should bring up to the customer?
Thanks
The basic story is this. If you do it yourself you know everything from the inside out but you also have to do everything from scratch and will make mistakes. If you use a CMS (of course I would use Joomla but it could be Drupal or Concrete 5 or one of the new ones) to some extent you have to live with the architectural decisions that other people have made. On the other hand they have millions of users and thus a lot of experience building in flexibility. With either Joomla or Drupal you don't have any limits on the customization you can do and there are many prexisting extensions that you can install for payments and so on and customize or you can integrate with other applictaions. Joomla uses its own framework while Drupal it somewhat depends on which version, but both have tons of developers and helpful communities. Basically in one of the major CMSes you have a lot of stability and people who have thought about many different problems and possibilities. So if you use an existing CMS you can be responsible for your customization and just keep an eye on all of the other parts. However you will have to deal with updates and API changes.
I'll add to Elin's comments.
Go a lot of content on pages? Yes Are you building software as a service? No way Jose!
Management and changing of templates is fairly straightforward. You can edit them and edit the css. With CSS I make sure I add a new custom.css include to the top of the template.php file and add all CSS changes to that file. This way when you update the template version (if required) you don't loose all your changes.
I spent a fair bit of time customising plugins in Joomla and Wordpress. Once again, same thing. Try and override javascript methods using included files. From experience, creating basic plugins and modules is easy - it quickly gets fairly confusing and messy when you start making your own database tables.
Yes, there are plugins for both. I would recommend trying to use pay-pal integration (or something similar). Two reasons 1) there is a level of confidence for consumers 2) you don't handle CC payments and all the hoo har that comes along with that and 3) it is low risk for you. Have a look through the extensions.joomla.org website to get an idea what is out there (or the wordpress plugins site)
I read seo as "trying to trick google". Stay away from that stuff. Adding analytics into Joomla, Wordpres, Drupal etc is a plugin away (or an upload of a file into cPanel/onto disk).
Hope that gives you a bit more useful info.
Happy coding!