Can Wordpress be replaced by a Framework like Django or Ruby on Rails? Can Wordpress be replaced by a Framework like Django or Ruby on Rails? wordpress wordpress

Can Wordpress be replaced by a Framework like Django or Ruby on Rails?


You can achieve the same frontend with Wordpress, but what you will not be able to achieve is the speed and scale - and most importantly, maintainability - of an application based on a more application-oriented architecture.

Wordpress is highly flexible, but it's also slow, and needs an awful lot of TLC to be able to operate at any kind of significant scale. Its design allows for very flexible runtime modification of behavior, but this is also a bit of a Pandora's Box, since it means that code can end up running all over the place for any given page, which makes maintenance a nightmare.

Wordpress is extremely good at being a CMS, but once you start to push it outside of those bounds, you get into trouble, and find yourself having to write your own more abstract framework that runs inside of the context of Wordpress to be able to fulfill your application's needs.

That said, if you have an application that you can build in the context of Wordpress, I'd say go for it! Wordpress can be a wonderful tool for building a proof-of-concept or MVP. If it gets you up and running, then it may be the right choice over writing a full application. However, just be aware that you're going to hit some brick walls as your product design matures and your audience grows, unless your application fits within a rather narrow set of design requirements, so long-term, you may find yourself having to move to a custom application.

Credentials: I've spent the last couple of years maintaining a Wordpress install that served over 25 million monthly uniques, and we had to get very clever to keep it running. We've since replaced it with a Rails application that serves pages somewhere on the order of 10x-30x faster, and is significantly more extensible as an application, allowing us to start exploring application potential that we really couldn't get with Wordpress.


I once made the decision while working in some start-up to choose WordPress for an advanced e-commerce, community-driven marketplace.

It. Was. The. Worst. Possible. Decision.

This is how I was feeling:

enter image description here

At the beginning, it was looking good - you have an amazing community, plugins for everything etc. But let's face the truth - at it's root - WordPress is a blogging platform!

  • Every piece of content technically is a post.
  • It's a nightmare to create advanced item relationships
  • WordPress is not Object-Oriented. It has a lot of classes, but in general, you'll have to use a lot of functions like get_post_meta to manage core features of it. Something like $post->author()->comments() is just a dream.
  • Functionalities are not consistent. Some functions work one way, while others that seems to be very similar work in a different way. Sometimes you need some weird hacks to achieve task that seem to be simple. It makes you read the docs very often to see how a function that you're using for the 1000th time is working. (However, to be honest, I need to say that the WordPress documentation is great!)

The WordPress community is doing a great job, but compared to ANY good Framework there is one main difference - Frameworks are just frameworks - they're a set of tools and those tools are there to help you do your project. WordPress already is trying to be something that you might then change.

I'd say: If you need a car, you can buy some tools and build it, or you can buy a truck and try to modify it until it'll start to look like a car.

I'll never use WordPress for anything that needs some well-organized, custom functionality.

It's just good for blogs and some small e-commerce, but only because some guys did a great job modifying the truck to become a car creating functionalities of products, that are really posts, connecting them with promotions, that are really post-metas, and adding some promotions managers that in some magical way wrap it all together.


I want to offer a dissenting opinion, even though I upvoted the top answer.

Is Rails really special?

Rails was created by David Hansson who extracted it from Basecamp, software that's replicated in a free Wordpress plugin, WP Project Manager. I think that's a pretty good indicator that Rails developers are underestimating PHP and Wordpress.

MVC and WP

True, it doesn't follow an MVC pattern. But if you use hooks, separate logic (in plugins) from views (in templates), then you'll have good code separation. (Also hint: custom post types are like models.)

Framework vs Application

As you can see, Wordpress can be treated like an application or a framework. It is an application, with all the components you'd expect to find in a framework. Right out of the box you have security, authentication, and extendibility. And it's meant to be extended.

Scaling

WP powers 18% of the internet's websites, including TechCrunch, Smashing Magazine, and (parts of) CNN. Seems there are ways to make WP scale. Disclaimer: I have no experience working on megasites like these, so I'm offering mere conjecture.

WP Future

The current abition of the WP community is to shift WP from a CMS to a framework. I think it's a natural progression considering that all the pieces are in place. And the Wordpress community is going strong.