I'm very new to coding (having only taken Web Development 101 at university aka 'OMG CSS u guise'), and I'm just beginning to realize that knowing HTML/CSS alone isn't good enough. I've decided that it would be best for me to learn the hell out of one CMS, because I'm not keen on learning a full programming language. Mainly I just want to be able to create websites that load instantly (think Sproutcore home page) that happen to use some kind of templating system to make things easier to administer over time.
I've looked into WordPress, and I know that it's a super popular platform for a reason, but it seems like most sites running WordPress don't load very quickly. I've read around a bit and it seems like the opinion of a lot of coders out there is that WP is a "heavy" platform. And, besides, I just recently viewed source on wordpress.org and found that they're not even running WordPress there! I mean come on!
I've also looked into ExpressionEngine, and I'm very impressed with the way things are done. It seems like after the learning curve it should be simple to use and highly extensible, but at $300 per commercial site license + the cost of add-ons, I'd like to be a bit more convinced of it's value. I know that AListApart, JasonSantaMaria.com, change.gov, iLounge, and many more high quality, high traffic sites run on ExpressionEngine, but I'm not totally convinced it's worth the price given that WP can surely do the job well enough in 90% of cases.
I would really appreciate your opinion.
Maybe I should just say F all this, and create my static pages with straight HTML/CSS, and then use a blogging platform like Tumblr or WordPress strictly for blog posts, as per Sproutcore?
Would love to hear your opinion.
Migrating wordpress 3.0.1 from one server to another
Get all posts' IDs from WordPress blog via xmlrpc request
Managing Multiple Wordpress Sites
This isn't to do with Expression Engine specifically, but any good commercial CMS.
Problem when I try to move my WordPress blog to a new server
Nearly anything can do the job - including WordPress - it's just a matter of how easily and quickly it lets you do your job.
WordPress Fatal Error: call to undefined function
Nothing is free - it's just a matter of whether you - or your users - pay for it in time, or in dollars (or Euros.
Display wordpress comments before the plugins?
How to create feedburner feed for sub-folder?
How to style the first and last menu item in WordPress
Amortize $300 over the life of the product - from the first big setup to every time you need to make a tweak - and think about how much effort EllisLab developers have spent themselves, and thus saved you.
Then think about how little they're actually charging for that value.. Or, if WP happens to align perfectly with your needs, just use that.. But I strongly support commercial software products (partly because I work with them and make them) and IMO 4 times out of 5, the ROI is better than a free alternative..
You need to use the right tool for the job.
It will not do you well to learn just one CMS and then try to shape all your problems to fit that solution.
I suggest you learn the features and downsides of several CMSs and apply whichever one is the best for the particular site you are working on.
Or even use a combination.
Limiting yourself to learning just one CMS as if it is the be-all-and-end-all of CMSs will only hurt you, and it might make your customers miserable when they're forced to use a product that wasn't even designed with their needs in mind.. You say that wordpress.org doesn't use WordPress, but I suggest you look more closely.
The wordpress.org site is quite complex, therefore it might not make sense to use WP as the main CMS for that site.
But did you look at the Blog (aka News) section? That's running on WP.
Look at the Showcase section.
That's WP too!. My guess is that they use WP where it's appropriate, and perhaps something else where WP isn't appropriate.
Which brings me back to my original point: You need to use the right tool for the job.. Edit #1 - Oh, and as for your interest in making fast-loading sites: The CMS has some influence on that because some have more overhead than others, but the CMS is not the only thing that affects a site's performance.
Sproutcore loads fast because it's a tiny page, it's got only one small image and a tiny stylesheet.
So of course it's going to load fast! You can make a complex site load fast, too, if you use things like caching, small graphics, code/database optimizations, content delivery networks, throw more hardware at it, etc etc etc.. Edit #2 - If you're interested in creating static sites for performance, but you want to have some templating control, take a look at Jekyll.
It's a script that combines your templates with plain text files that are formatted using Textile or Markdown, and spits out complete HTML pages.
You might also be interested in Movable Type, which is a platform that can generate static HTML.
Once again, the right tool for the job...
there are so many choices out there..
In order to make Wordpress or Drupal do the same out of the box features ExpressionEngine has takes a bit of tweaking or php knowledge.
ExpressionEngine was a great tool for me while I used it.
The templating language and admin aren't too hard to get into with only html and css knowledge.
Using third-party addons such as Structure and most from Pixel & Tonic will make your sites easy to develop and most of all easy for clients to manage.. Wordpress is a blogging platform, not a CMS.
I find the admin too bare bones and confusing for clients to properly separate and manage their different kinds of structured content.
It works great for blogging, but try to make a staff page or anything more structured and it falls apart.. If price is an issue I would recommend looking into Symphony CMS, which follows a similar concept to organization of content as ExpressionEngine.
Though you have to learn XSLT, which can be a bigger learning curve than EE's own tag language.
But, it's free.. I primarily work with projects now using Django, which is a python framework and will have a bigger learning curve than Wordpress, ExpressionEngine or Symphony.
But it gets the job done for small and large projects alike.
If you're looking to take the plunge so to speak, might as well go straight for the jugular..
The community is nowhere near as supportive or vibrant, and there is nothing EE can do (after hours of painstaking configuration, mind you) that WordPress doesn't do better (in my opinion).
Add to that the best plugin interface I've ever seen, and WordPress truly is limited only by the imagination and capabilities of the developer.
And the technology, I suppose.. WordPress is not always the best tool for the job, but I'd say it is always a better tool than EE..
But in my opinion for most sites ExpressionEngine is a better choice than WordPress.
The $300 for the license gets you support from paid support staff plus the community is really awesome.. Paid software will always, in my opinion, be a cheaper solution than free software as you're getting better quality code, guaranteed support and a commitment from the developers.
Try getting support for wordpress and it will run you $15,000 per year or more.. Additionally in order to do anything truly special with WP you need to know wordpress with EE you can build outstanding sites without any php knowledge and you're not forced to work within the confines of what is essentially blogging software.
Admittedly it's gotten a little beyond blogging recently buy it nowhere near as flexible as EE.. Sean.
What it does in some cases, in fact, is actually create static files that are loaded on subsequent page requests.. As for minification, they say that 20% of loading time is server-side, and 80% is front-end code.
(Of course, server-side delays are generally worse in than front-end delays, but still...) So when you're thinking of optimizing, front-end is often the first place to think about..
If the site needs pages and some sort of "posts" like a blog or simple news feed, WP is a good candidate.
If there are other types of content EE2 might be the way to go as you create a new channel for each type of content (pages, posts, events, products, etc).
Relating all these types of content to other content with the Playa Add-on has been pretty cool too.. In WP you can create a custom post type and customize the fields to create a suitable home for these other types of content, but by default it's meant for blogs.
So I wouldn't say that WP can't be a CMS, I would say it's a blogging engine that can be a CMS with some work.
. Two problems with EE instead WP.
First, you can find many out-of-the-box solutions for WordPress from themes to plugins that can let a site with simple needs be created quickly.
If I have a project that needs to go up quickly, find a premium theme that fits good enough, do some slight modifications and I'm done.
The second thing is that for the average person WordPress will be easier to use in creating and maintaining content, especially if the content is posts and/or pages.. And use WP Super Cache to speed up WordPress!.