Take the 2-minute tour ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

I've heard a lot about cms's like drupal, joomla, and wordpress. I've always hand-coded most of my PHP and HTML and done fine. What are the pros and cons of using a cms?

share|improve this question
1  
This should probably be a community wiki as it is about opinions. –  RandomBen Aug 6 '10 at 13:34

4 Answers 4

up vote 9 down vote accepted

From here:

Pros:

  1. The CMS enables your organization to concentrate on creation of content rather than development and design. No new “web pages” are created via code when new content is added. The CMS publishes the content into the framework (design) of your website.
  2. Non-technical members of your organization can manage, edit, and publish content to your website. No HTML experience or graphics experience is necessary. Usually, your most inexperienced web users can be trained on the CMS without much difficulty.
  3. All of your content is stored in a central location. The content is in a database, making it uniform and accesible in many powerful ways depending on the CMS.
  4. Content is searchable. Because it’s in a database, the content can be easily searched.
  5. Content can be scheduled to be published at a future date.
  6. Extended features such as a calendar, message boards/forums, and photo galleries are usually included in a Content Management System. These features can be managed from within the CMS, reducing the need to invest in and manage multiple systems.
  7. Multiple contributors/content authors can work on the same website without difficulty. You can establish website editors and authors with varying permissions. Have all content wait to be published until it’s approved by an editor, for example.
  8. Spell checking and linking tools are included in the CMS.
  9. Options such as content categories can help you organize content so your website visitors can find it easily.
  10. A CMS can be integrated with your email newsletter list, reducing the number of systems you invest in and storing your subscriber lists in one location.
  11. Since design and content are separated in a CMS-based system, changing the look-and-feel of your website is much easier.

Cons:

  1. You have more of an initial investment in your website, both in time and money, usually.
  2. There is training involved in using a CMS, and someone (usually at least one person, but sometimes more) in your organization must become the “webmaster” who owns the CMS, understands it, and carves time in their workload to manage it.
  3. A CMS does not make bad content good. It does not make a bad writer a good writer. In other words, your content will be easier to publish and manage with a CMS, but it will only be as good as the humans who produce it.
  4. Changing a CMS can be time consuming and expensive. If your web business plans to change drastically in the future, consider trying to anticipate the new business rules you’ll employ.
share|improve this answer
    
This list appears to be about the pros and cons relative to having a hosting company 'own' your website, or using a publishing platform such as wordpress.com, posterous, or tumblr. From the wording in original question, I'm guessing CJD is asking in terms relative to rolling your own. Also, I take issue with a lot of these, not least "content is searchable because it's in a database". Most 'high-end' search solutions involve indexing content and creating their own data store, so it's irrelevant whether the content is stored in flat files or a database. –  Bobby Jack Aug 6 '10 at 13:31
    
+1. I would add a pro is that all CMSs have a lot of functionality available (blogs, wikis, forums, etc.) but you canuse as much or as little as you want. If you start small, you can add in pieces later as needed, so it can grow as your nees grow. –  Milner Aug 6 '10 at 13:31
1  
@Bobby Jack This list seems to be independent of the hosting situation. Any particular part indicate to you otherwise? –  John Conde Aug 6 '10 at 13:34
    
Well, "Content is searchable. Because it’s in a database, the content can be easily searched." for example. I guess it's more downright misleading than dependent on the host, but the general nature of the list implies they're not really comparing with a hand-rolled solution (which could give all of the pros, for example) –  Bobby Jack Aug 6 '10 at 13:44
    
@Bobby: It's not "exisiting CMS" vs "hand-coded CMS". It's CMS vs coding static pages or semi-dynamic pages. –  Sylver Aug 7 '10 at 7:51

The pros of using a content management solution are:

  1. Users have access to update specific parts of your content
  2. You have a history of what content was so if a mistake was made you can roll it back.
  3. Multiple users have access to edit your site. Sometimes in overlapping areas.
  4. Provides a uniform format and feel for your site
  5. Provides access to decent layout templates
  6. Users don't have to know HTML
  7. Some CMS tools allow for approval workflows of new content. This allows more structure and control of what goes onto the site without extreme or manual overhead.

The cons:

  1. Everything has to fit within the structure provided by the CMS tool
  2. It can cost money and in some cases a ton of money
  3. It will cost time to setup
  4. Migration to and from the CMS solution cost time
  5. Many CMS solutions don't do SEO very well and there is no easy way to override their issues.
  6. Management can become tedious and a hassle because you cannot gain much use of DRY (Do not Repeat Yourself)

The company I currently work for was using a solution by Ektron but we moved away from it because the company is an engineering an manufacturing website. So it has a lot of products that follow a duplicate format. This meant whenever we wanted to make a change to our product information for 20 of our products we had to edit 20 pages. If we wanted to move controls around on the site it took a ton of time and sometimes wouldn't work like we wanted. If we wanted a special JavaScript enabled widget it was tough to implement. We also only had 2 people working on web content.

CMS to me is really for a website with a large amount of ever changing content that is managed by many people. The farther you get away from a large content management user base and constantly changing data the less likely it will have value. If your site needs to be agile in that its format and layout is always changing and a great deal of your content fits into a specific format that needs more fields that what a CMS has to offer then CMS may not be the best fit.

share|improve this answer
    
+1 True enough. For several of the sites I am involved with, we have hybrid solutions where the CMS is mixed with custom applications. Some CMS are more amenable to this than others. On one site I'm still using Fog Creek's CityDesk with dynamic mix-ins :) –  JasonBirch Aug 7 '10 at 4:32

I am a little in the same position as you - cranking out my own pages in AJAX/PHP/HTML/MYSQL, and looking at CMSes.

CMS seems very attractive and the advantages are obvious, but so far I have found they also represent a significant investment in study.

Installing a CMS like Joomla is easy as pie, you can find templates and build something that looks good in minutes, and easily add articles and pictures and stuff BUT if you are going to customize anything, or if you need something to work in some specific way, you will need to learn how the CMS works behind the scenes, how to write plugins, how to create templates...

I made a basic install of Joomla on my testing server. 3,918 files, 712 folders and 36 db tables. Figuring out what does what and how is bound to take some time.

That said, making templates doesn't seem too difficult and you can add features in minutes where it would take some serious work otherwise. For instance, I just went and added a blog component to my test installation. It took about 30 minutes to find, install, configure and post the first entry. Making your own blog engine and integrating it into your website could easily take weeks.

If you are willing to surrender the level of control you are used to (at least at the beginning) and to learn how to do stuff in whatever CMS you choose, a CMS should be great.

Personally, I am looking into using wordpress as a CMS, but until I feel comfortable with it to do whatever I want, I stick to coding by hand.

share|improve this answer

I've heard a lot about cms's like drupal, joomla, and wordpress. I've always hand-coded most of my PHP and HTML and done fine. What are the pros and cons of using a cms?

People write books and build careers out of selling answers to that question. You're not going to get a proper, relevant answer here.

Maybe if you provided some information about what the applications you write do then at least there would be a chance that the answers might be relevant to the question. The term Content Management System encompasses a huge variety of software.

Stop and think about how you could be better and more productive as a developer. Make a list of things which are difficult, you spend too much time on, or are just plain boring. Maybe there is a CMS which might alleviate these. But without knowing what the problem you need to solve is, we can't provide a solution.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.