I'm developing a small business website and want to give some control over content to the client but also allow myself control over the outputted code. Indeed allow the user to fill in the content gaps while not creating havoc.

I'm leaning towards WordPress rather than reinventing the wheel in, which would be my code of choice, or possibly just html.

Any recommendations either way? An alternative CMS maybe or some robust but productive framework? (interested in mention of python frameworks)

+2  A: 

I would advise against wordpress, which is really more of a blogging engine than a CMS. I've had good success with Drupal and Joomla which are true CMSs

Marcus King
I think WordPress has evolved into something much more than just a blogging engine.
whatever happen to "Write programs that do one thing and do it well"?
Christopher Mahan
@Marcus King, how would you distinguish between a CMS tool and a blogging engine? I mean--version control of postings? Multiple editors? Seriously--what would be the criteria you'd use for classifying an app one way or the other?
Onorio Catenacci
Cristian Ciupitu
+9  A: 

I think WordPress is perfectly suited for a CMS.

It depends on your needs. Wordpress isn't a CMS, but it has many features that make it suited as being used for one
+2  A: 

If you can code and you're at all open to learning a new language and framework, you should give Django some serious consideration.

Some of the time, you might find yourself reinventing the wheel, and yes, there is some learning overhead, but it's a really serious contender for "The next big thing".

It's major feature (over similar frameworks) is the automatically-generated admin area, which, if your models are logical enough, can be client-ready without any intervention from you. Of course you're more than able to customise things to help clients.

it does sounds very interesting, even though i've a million things to pick up in the world of .net. However they say another language always helps the understanding of your first! do google have their own python framework? know they use a lot of it, don't they?
Yeah Google has AppEngine which uses some of Django and some other stuff. It's a streamlined version for use on their servers so it doesn't have all the bells and whistles that Django-proper does. In time, I think they plan to implement more of it.
+5  A: 

Another option, if you do want to sit back and not waste too much time: Concrete5. It's PHP based and quite new but it's quite a nice layout and it's really natural for new CMS users. You can go from a paper-based sitemap and PSD to a full site structure, ready for data entry, within a day, two at a push.

It's quite heavy though. Give their demo a look in.

I checked out your link and like the promise Concrete5 has for simple, quick sites ( of which I have a need)
+17  A: 

Wordpress is NO CMS.

Wordpress is a very good blog platform, but it's by no means a CMS - although it can be used as one and the latest versions facilitate that.

Rolling your own is imo a very bad idea. There are plenty of CMS frameworks and tools out there, just try them.

I agree with you entirely, but there are many that will disagree with you, just because WordPress can technically be used as one.
I love that every person who claims that wordpress isn't a CMS always has to throw in something like "although it can be used as one and the latest versions facilitate that." - classic
Does it really matter?
+3  A: 

I've had experience with Wordpress modifying your html and making things like media placement quite snarky. I've grown tired of A)Waiting to click through the Wordpress dashboard to get to the function I need; and B)Constantly modifying and reloading the site to make sure my content is displayed the way I coded it. I think Markus is correct that WP is great for blogs, bad for static or partially-static websites.

I will suggest that if the service you are trying to provide is user content creation, then perhaps you could have a Wordpress component to the site where the user content is shown, but your other work (the static stuff) is built on something else you are comfortable with.

+4  A: 

Try a real CMS like Textpattern (simple and fast but powerful) or MODx (a nice "CMS platform" build for extensibility). Wordpress is too limiting, writing your own is too much.

+19  A: 

Given that the question is tagged ASP.NET, I'd recommend looking at N2. It's an open source CMS, and you have complete control over the HTML output. It runs on .NET 3.5, and can be used with MVC too.

Having written my own CMS... its... an ordeal. Finding a CMS that fits well into what you already have is tricky, and N2 did that best in that matter.
From all .net cms i tried, N2 is by far the best. It is nicely written (tdd, nhibernate for DAL, separated logic, easily extended with your own classes - content definition, easy to add new view template, etc). But, it's for devs. Others can find it little difficult to customize.
There is also Wordpress but it is for PHP devs. Others can find it little difficult to customize.
+2  A: 

I haven't really tried it yet, but since you said your preferred platform was ASP.Net, you could always check out umbraco.

+1  A: 

.. and I'm sure lots of others, too :)

I personally like Plone, and use it for some things. I also use Wordpress, and I do manual content management (depending on the site).

+6  A: 

I would go with Graffiti. You have full control over html, and it can be regular blogging platform and CMS.

+11  A: 

Graffiti from Telligent is marketed as a CMS. I use it as a blog engine, and it is tightly linked to the structure/concepts of a blog: chronological list of articles, articles are called posts, comments...

But their blog/site has shown some sites that use Graffiti but are far from looking like blogs.

be aware that development of GraffitiCMS ground to a halt for about a year and it's now been open-sourced which may or may not be a good development depending on interest from the community
Graffiti is now opensource and on CodePlex I managed to learn the framework and built a simple 5 page CMS over the weekend from soup to nuts. Graffiti is well designed with SoC and a layered architecture. Supports VistaDB, SQL Server and Access databases.
Simon Brangwin
+5  A: 

I thought about using Drupal, then I was frustrated with how difficult it was to "bend" it to everything I needed. Them someone mentioned ExpressionEngine. It was a solid choice.

You can make a simple blog page with EE, or setup a forum, document library, photogallery, setup custom forms for users to enter info to be stored.

The possibilities are endless. I would recommend EE, because I thought about developing my own custom CMS until I stumbled upon this.

Check out some of the tutorials, it will show you how to load content from the database to the template, just by using tags like: {title} and {body}:

It is made in PHP, but with this, it takes the coding out of development.

After the initial learning curve, it's all down hill. Good luck!

+1  A: 

Well many of these answers are fine, but if you are talking ASP.Net, then you really should look at DotNetNuke. It is far and away the most popular .Net CMS with thousands of available modules and skins and one of the most active communities on .Net.

Joe Brinkman
+1  A: 

I would avoid Wordpress as a CMS in a professional environment. As stated earlier, it's a great blogging platform, but doesn't generally offer the robustness that most professional environments require. I'm a fan of Concrete5 so far as I've seen, although you may have to get into a little code to better control some of the formatting errors I've seen.

+1  A: 

I have had a bit of pain using blog engines like expression engine to make more static type sites, you end up working around a whole lot of features that you don't really need, and hacking things together for the things that you do. If your client is just your average small business type, they don't always relate to blogging terminology or concepts. They just want to update their interweb thingy, with something that works much like everything else they use on their computer.

Writing your own is certainly a large learning experience, and Hofstadter's Law will kick in like you wouldn't believe.

In the realm of, have heard very good things about graffiti, but not used it, was generally impressed by umbraco, have done a few sites with that, you get total control over the output, the ui is great, and clients understand it very easily.

I tried dotnetnuke a few years ago, but found that I had to work very hard to control the output, which (at the time anyway) was deeply rooted in the webforms paradigm, with all the markup horror that entails, although it does offer a huge number of addin modules, and has a massive user base.

+3  A: 

If you're looking for a cms in, you should consider DotNetNuke or if your looking for a blog CMs, you should consider Subtext

+11  A: 

Umbraco was suggested in one of the answers. We've had experience with it and many other CMS systems and I can safley recommend you to go that path, it's both easy to learn and simple to use while remaining a powerful tool to base your sites on.

I have only seen the demos for Umbraco (I couldn't get my host to support it), but it is _incredibly_impressive_!!
Jens Roland
+1  A: 

If you don't want a complicated CMS, but rather a blog (which is a simple CMS in a way) you could try the Byteflow blog engine. It's written in Django - a Python based web framework.

Cristian Ciupitu
+1  A: 

Since you tagged ASP use DotNetNuke. There are CMS' written in every language you can think of. But let me plug the grand-daddy, Zope (python).

Also Wordpress is not a CMS. it's a blogging framework that has some CMS features. But if your need isn't enterprise level, then Wordpress might be fine.

Stephen Cox
+2  A: 

As mentioned Umbraco is a really good and capable open source ASP.NET CMS. v4 (which just hit beta 2) has some really nice features including in-page editing and a neat package repository. The API does leave a bit to be desired if you want to do my code interaction but I'm working on resolving this with a project of my own.

+3  A: 

For a True CMS I can recommend you Joomla, Drupal and SimpleCMS. For Blogging Wordpress is in the best.

Joomla is pooooo.
Joomla is seriously one of the worst CMS out there, I would strongly recommend you go another direction.
+1  A:

After managing a Drupal site for a while, I settled into Plone 3 and never looked back.

We still have the Drupal site but it's rarely used. So much more is achieved, achievable with Plone. Keywords 'rounded' and 'cohesive' come to mind. if you wish to see those keywords in context.

Graham Perrin
+4  A: 

Another good CMS is KenticoCMS Easy to implement your own controls.

Patrik Potocki
+2  A: 

If you want to know more CMS, your can visit this website: CMS Matrix. You'll found a a lot.

Wordpress does fit simple CMS requirement, simple usage, friendly user interface, and easy to extends. Be careful when choosing CMS, some of them may have too many feature and too complex for simple use.

I was once setup a typo3, and failed to teach user how to use it. Then I move to wordpress.

Dennis Cheung
+1  A: 
+2  A: 

Hmm.. Too bad nobody said symphony yet..

The only reason to use wordpress is the nice looking admin interface, the code is poorly written and only pointed at blogs. It is possible to use WP as a 'real' cms, but not without hacking the core, or hacking away in templates..

+1  A: 

I think for pepole with existing html, Toko Cms will be the cheapest option

+1  A: 

WordPress fits well for a blogging setting and is relatively easy to adapt. I tried Drupal but I couldn't get it to play well. I'm still considering what CMS functions best with a workflow of translators in multiple languages.