网上关于 WordPress、Drupal、Expression Engine的对比有之，
Blogging Software Comparison
WordPress is arguably the most popular blogging software used today, and with good reason. It is extremely easy to install, even for newcomers, and works very well out-of-the-box. The default setup requires very little tuning to make it search engine friendly, and what tuning it needs can be easily done from within the WordPress user interface. There’s no need to meddle under the hood to write PHP code or whatnot just to get it working the way you want it to.
It also has a lot of plugins available, so even things that are not supported by default, like the meta description tag, can be easily added by means of a plugin, as mentioned in my other article General Principles for Designing a New Theme or Template for Your Blog.
This is probably the software you should use if you satisfy the following conditions:
You want to “just blog”, and don’t want to mess around with programming code, website design and the like.
You are satisfied either with the default theme (appearance) provided by WordPress, or can find a WordPress theme from a third party that suits your requirements.
You are a solitary blogger – you don’t need support for separate blogs on one website, where there are different people posting to different blogs.
Personally, I feel that WordPress is probably a good choice for most casual bloggers. It particularly excels if you are a newcomer to web development, since the default setup is perfectly usable if you are not too fussy.
It’s also free.
Drupal is more than just a blogging tool, although more and more people are using it to blog. It is a full-fledged content management system (CMS), which means that you can use it to run your whole website, set up forums, shopping carts, normal web pages, etc. As a consequence of this, it is also considerably harder to set up than WordPress.
The default setup for Drupal also needs some work before it can be used optimally for blogging. However, its fundamental design as a CMS starts to shine when you need to support multiple blogs with multiple authors. Support for multiple blogs, multiple sites and multiple authors come built-in with Drupal.
Designing your site to look and behave the way you want it to with Drupal, however, will probably be a daunting task for many people. Don’t undertake it unless:
You know CSS and HTML. If you only know how to design web sites using WYSIWYG web editors like Nvu and Dreamweaver, you don’t qualify.
You know how to write PHP programs. Yes, you read it right — knowledge of PHP is mandatory.
You are willing to devote time to deciphering the Drupal source code. (Remember, this is someone else’s code, so deciphering it takes more time and effort than figuring out your own.)
In addition, don’t be deceived by appearances – it may appear as though you can configure a Drupal theme by simply modifying (or creating) some theme files. However, you will soon find that some features can only be supported or suppressed by going through the other files in the Drupal core modules. (Unfortunately, which files these are is not necessarily documented nor where you expect them to be.) In other words, there’s no clean separation of things in the Drupal source code — to change or support particular features, you will have to go through many files that are all over the place.
To sum up, use Drupal if:
You need support for multiple blogs and multiple authors. Drupal’s built-in support for this is superb.
You don’t need to implement your own theme or template, or you don’t mind spending time to figure out the Drupal source code and have the programming (PHP) and designing (HTML/CSS) ability to do it.
Drupal is free.
Expression Engine is a powerful content management system that can be used to manage your website and blog.
Where this software really shines is the ease with which you can configure your site and the extent you can control things. Unlike Drupal, you don’t have to be a programmer to create your own theme, and for the most part, you can even use WYSIWYG web editors like Dreamweaver to design the appearance of your web pages. You simply have to add some tags into the portions of your pages where you want your posts to appear, etc, when you’re done. In spite of this ease of configuration, you can control and configure just about every aspect of your blog or website’s appearance and behaviour. For example: do you want a meta description tag field? Just create a “custom tag”, add it to your template, and the field will automatically appear in the Post screen when you write a new entry.
While the software is a web designer’s dream, its out-of-the-box configuration at the time I write this is less than ideal. The default theme that ships with Expression Engine is, quite frankly, something that no self-respecting webmaster would want to use. Note that I’m not talking about the appearance here. The title tags of every page on your blog is by default the name of your blog. If you don’t know why that is not a good idea, read my article How to Create a Search Engine Friendly Website. Your page web statistics is also, by default, displayed on your web pages. (Come on people, only newbies want to display how many people visited their website! Everyone else uses their stats for other purposes.) The 404 page, along with the proper 404 HTTP status code, is not displayed in the default theme for missing pages, whereas WordPress and Drupal has support for displaying 404 pages out of the box: the webmaster doesn’t have to mess around with about such petty details.
Use this software, if:
You want to configure your own theme for your blog. I know of no other blog software that comes even close to how easy you can control every single aspect of your blog. Try designing for Drupal and then move to Expression Engine and you’ll know what I mean. And you don’t even have to be a programmer to do this.
You are willing to pay for a licence if you run a commercial site.
This is commercial software. A limited version (the “Core” version) is free for personal use.