I have used WordPress in a number of different ways over the last (just shy of )10 years. I got my start building a blog that my friends I and I wrote
Freelancing Days
Over the course of about two and a half years of freelancing, I worked with dozens of clients. They most commonly were:
- Comedians
- Small non-profits.
- Small Businesses and Restaurants
- An SEO consultant on products that he offered (my first foray into product development rather than developing primarily for marketing)
A site I worked onwhile freelancing
The first three groups of sites make up a large percentage of WordPress sites. There are freelancers and agencies in just about every town/city in the world helping Individuals, smaller non-profits, small businesses, and restaurants get online every day. In general, the organization has little knowledge about what tools they should use, and doesn't care what WordPress is. These are the passive users of WordPress.
The Enterprise
I then moved to a couple of large organizations( ranging from 50 to 500,000 employees). Here, WordPress was chosen by the organization, but it was never the main technology of the site. It was a supplement
WordPress supplemented the technology, rather than being its base.
Each of these organizations had at least 5 engineers, but it was rarely more than one or two people who worked on WordPress, and outside of security updates, months would go by without any work being done to WordPress from a coding standpoint. At one organization during a major redesign, the only reason WordPress was updated to match the site design was due to other tasks taking less time than anticipated.
Big Media
Some of the biggest WordPress sites (at the time) were at Condé Nast. The New Yorker switching to WordPress received praise from Matt Mullenweg (twice!), while WIRED, Vogue, Bon Appetit, and others were receiving large amounts of page views and allowing editorial teams to seamlessly publish a lot of content. Working with the teams on each of these sites showed me that when you have multiple people all working on WordPress at once, you can make it do whatever you need it to.
Let's Try Something Different
The next step was a short stop building an analytics product with WordPress as the main piece of the backend technology. Essentially, it was using WordPress as a framework. WordPress provided much of what we needed, but we could have just as easily used something that advertises itself as a framework. WordPress gave us a lot of things out of the box though. We didn't need to build a user system, we could use WordPress. We didn't need to build a command line interface, we could use WP-CLI. By using WordPress, we got a lot out of the box for free.
Where I am now
I primarily work on five sites now: two personal, one volunteer non-profit, two for work. My personal sites are "boring" sites. The non-profit site is rather complicated, in that it is a marketing site, a conference registration system, a blog, and an intranet all in one. But it's also not 100% WordPress. Many pieces have been carried forward
And my two work sites? Those are content-heavy media sites. They feature a lot of videos and regularly go viral.
What WordPress Excels At
The problem for WordPress is that for all of these sites, it works pretty well. It's far from perfect, but it works. One of the biggest challenges for WordPress, especially when it comes to core features that are used on almost all sites, is that it needs to work for many many use cases. Working on sites of all shapes and sizes has taught me there is rarely one solution that solves every site's problems.
Serving many masters means people look at WordPress and think "It's just a blog", and it is, it powers this blog. They look at it and think "It's for small business brochure sites" and it is, it powers many of them. They look at it and think "It's for big media sites with large staff" and it is, it powers ScaryMommy.
Scale is often thought of as the ability to receive a lot of traffic or handle a lot of users, but scale also means working for many use cases. This is the type of scale that is the biggest challenge for WordPress. It doesn't have a narrow focus of serving one use case, it has a broad focus of serving all users use cases. Scaling WordPress from a core perspective means providing features that first, work for all, and second can be modified to be better for them as well. Out of the box, WordPress is never going to solve every use case, but when features make it harder for a use case, we really need to ask ourselves if they should go into core.