WordPress Themes, Frameworks and Custom Development
A Guide to Building a WordPress Site
October 19th, 2014
WordPress has now become, statistically, the most utilized platform for deploying a Content Management System (CMS), powering a good 22% of the most popular websites! Perhaps this is because WordPress struck a chord not only with the blogging community – as was intended – but also with the greater web community because of its open source roots which have enabled it to grow so rapidly. It’s now recognized as a tried and true CMS that allows individuals and businesses of all types to use it as the platform for managing their website content easily.
The Right Tool for the Job
One important fact we want to state before we dig into WordPress, is that WordPress can be (and has been) customized to manage almost any type of website and suit any need, but that doesn’t mean it should always be the go-to solution. WordPress is not a silver bullet and there are cases where it simply is not the right solution at all (like say, a large eCommerce store), and another platform would be a better fit. There are literally hundreds of Content Management Systems to choose from, so it’s important to understand WordPress’ benefits and limitations prior to choosing it. Let’s be clear in the respect that WordPress is just a platform, a way of going about web design/development. In other words, a set of tools and rules that can be used to build a website with.
Despite this important caveat, its rapid growth has given way to a wide variety of ways to deploy a WordPress site. How WordPress is used can determine if the website is going to function the way it’s intended to, or not. An important fact to remember is that WordPress is not an out of the box solution for managing a website, it’s an open-source platform that will need customization to some degree, and that customization can take the form of designs, themes, plugins and custom coding. The level of customization that is needed is greatly dependent on what your needs are for managing your website.
“An important fact to remember is that WordPress is not an out of the box solution for managing a website, it’s an open-source platform that will need customization to some degree.”
In this article, we will lay out the most popular implementations of WordPress that are currently being used around the web right now and who they are a good fit for. On that note, we want to clarify two points about this article right off the bat:
- We will present a breakdown of each solution in a pro/con format, as well as giving recommendations of who it might best work for
- We embrace (and have personally used) all implementations, based on which was the right fit for the right client, so this is not a better or worse comparison. All these solutions have their place
So let’s get down to it.
The four most common ways you can build a WordPress site are:
- Using a pre-designed and coded Template/Theme
- Using a Framework (which can also come with its own Themes, or can be customized)
- Using a Drag n’ Drop Framework (same as above, but is more a robust “sitebuilder” like experience)
- Designing and coding a WordPress theme from scratch
Let’s start at arguably the most common and accessible level.
Imagine you wanted to build and furnish a house, but didn’t want to hire an architect, nor did you really want to spend the time jazzing up the whole place with the paint, decorations, etc… You were happy to simply fill the house with your personal belongings, once everything was prepared for you, something “turnkey.” You just need to settle on a Stock Plan for the builder and find an Interior Designer to handle the aesthetics. This is essentially what you’re doing when you purchase a Template for WordPress. The design and functionality are already taken care of and all you need to do is plug in your content (logo, colors, content and images).
Many Themes come with a load of features built in: content sliders and slideshows, custom page layouts, blogging capability, color/font customization, shortcodes…the list goes on. A purchased theme can be a blessing or a curse, depending on how it’s put together, as well as how well it’s documented and how much support there is from the original developers (which determines the level of support in case you run into a bug or want to customize functionality). In addition, the pre-designed theme route is quick, easy and often cheap…but can also feel “cookie cutter.” Ever received a business card from someone where you’ve seen the same “Vista Print” design before? It’s a similar experience.
“A purchased theme can be a blessing or a curse, depending on how it’s put together, as well as how well it’s documented and how much support there is from the original developers.”
The sweet spot for this solution is finding the right theme, especially one that that is designed and coded with a solid understanding of web standards and WordPress, but hopefully something that is not also used by everyone else. Unless you know enough about WordPress to know if this is the case or not (or hire a company/individual that does), this solution can be a gamble.
- Cost effective
- Lots of potential features
- Many great designs already out there
- Fast deployment and turnaround
- Lacks original design (the design can be shared with other websites)
- Can be buggy (or even broken in some cases)
- Has a learning curve (with sometimes spotty documentation)
- Lack of long-term support
- Can be hard to modify for individual needs
- Possible bug/conflicts with desired plugins
- Mainly Basic sites that need a quick turnaround and little to no unique design implementations (beyond basic colors/fonts/logo) or functionality needs
Utilizing its open source roots, the WordPress platform has allowed developers to create very unique methods of how to implement and configure a WordPress site. Frameworks are essentially a “code library” that is used to create a unique way of setting up a WordPress site. Beyond just add-ons and features, frameworks have established a way to go about building the actual structure of a WordPress site. A framework can be likened to the building method for a house, such as Adobe vs. Stick Frame and they have their own set of rules when it comes to how to build the house. Two examples of Frameworks are Genesis and Thesis.
Frameworks are more elaborate and feature rich than standard Themes, since they are attempting to establish a proprietary way of deploying a turnkey WordPress site. Often, when a framework is used, it’s used as a base and then a “Child Theme” is built off of it. A child theme inherits all the functionality of the Parent framework, but can have its own unique design and customization.
Frameworks are very powerful solutions for someone looking to build a robust WordPress site and for good reason; they have many features most websites will need, have a solid and vetted code base and often a ton of support from both the developers and the community alike. But they aren’t without their issues. If you don’t need all the features, you end up having a site that has a lot of extra and unused code, just like building a house too big will leave you with empty rooms. Their modified WordPress codebase is proprietary to the company and developers which could possibly make it tougher for the site to be easily modified later down the line, especially if the framework isn’t updated as the WordPress core continues to update and evolve. If you go this direction, it’s very important to choose the right one.
“Frameworks are very powerful solutions for someone looking to build a robust WordPress site and for good reason; they are feature rich, have a solid and vetted code base and often have a ton of support from both the developers and the community.”
- Extremely feature rich
- Little development or customization required for most website needs
- Many great designs to choose from
- Support community for bugs and errors
- Comprehensive documentation (usually)
- Proprietary code (utilizes a custom code structure that can heavily deviate from the default WordPress approach)
- Can be difficult to customize and theme due to having to learn the custom implementation of WordPress
- Financial overhead (can be pricey and can sometimes come with yearly fees for support)
- Code bloat due to many features that might go unused
- Possible bug/conflicts with desired plugins or custom code additions
- Businesses and individuals that want the established set of features and designs the framework offers, but do not know coding or development
- Developers who want to deploy nicely designed, feature-rich sites for clients that don’t want to spend the cost for custom development
Drag n’ Drop Frameworks
As an extension of the framework discussion, it’s important to mention that companies that have taken framework development to an even more functional level; creating frameworks that have the ability to “drag and drop” content right through WordPress (Pagelines and Headway being two examples). This, effectively, turns WordPress into a real-time site builder that would rival SquareSpace, GoDaddy, Google and many other online site builders that allow you to create unique website layouts without knowing any code. Yet it’s important to keep in mind that because these drag n’ drop frameworks are stretching the WordPress codebase far beyond its core functionality, they require a ton of proprietary code that needs to be maintained over time as the WordPress core changes and updates, for both security and functionality reasons. In addition, just like any other framework, they do pigeon hole a site into using WordPress in a specific fashion, which has the chance to cause problems down the line. Finally, just like other online website builders, if the company eventually decides to stop supporting the product, you’d be left either hiring a developer to support and update it or starting over from scratch.
- Extremely feature rich
- Easily used by those who don’t know code (ability to build out pages and content with an easy to use interface)
- Lots of great designs to choose from
- Solid support due to ongoing development
- Very proprietary (can be hard to migrate away from)
- Harder for developers to customize due to proprietary core code
- Learning curve
- Higher financial overhead
- Possible bug/conflicts with desired plugins
- Businesses and individuals that want an established set of feature and designs but do not know coding or development
- Websites that need the ability to customize layouts heavily with lots of dynamic fields and content
- Developers who want to deploy feature-rich sites for clients that don’t want to spend the overhead for custom development
When a WordPress website has very specific needs, whether it comes to design or functionality, sometimes the pre-made solutions can’t fit the bill due to the fact that they already come with set ways of implementing a WordPress website. Like any other quality CMS, WordPress has the ability to allow a design/development team to create something custom from the ground up and custom tailor every aspect of the site specifically to the needs of the client and the website.
To the benefit of the developer, WordPress is well documented and has a huge support community that helps customize it to achieve goals that it otherwise cannot do in an ‘out of the box’ installation. When choosing to develop a custom theme, what you get at the end of the process is a theme that has the design, features and content management tailored to your exact needs, like a house designed and built exactly to your specifications.
A custom theme can be configured and designed in any fashion; there are no rules or pre-defined ways of doing things. While this freedom is liberating and expansive, it can also cause a lot of issues, especially in the long run…and we’ve seen our fair share of poorly coded custom themes. When choosing this direction, you want to find a WordPress developer that understands the best practices of WordPress when building out custom themes. If you’re a consumer, the best way to find this out is through looking at their portfolio and getting references and testimonials. The custom route, just like building a custom design/build for a house, will provide you a unique end result, perfectly suited to you and your website needs…but that customization will most likely cost more than any of the aforementioned solutions.
“When choosing to develop a custom theme, what you get at the end of the process is a theme that has the design, features and content management tailored to your exact needs.”
- Completely customized features
- Lean and efficient code (only use what you need)
- Completely custom design and layouts
- Utilizes WordPress standards and open source code (if done correctly)
- Can be easily modified and extended to support new features and plugins
- Higher upfront cost
- Need to find the right developer who will be able to code the theme efficiently
- Ongoing bug fixes and support available only through developers (no community support since it’s a custom theme)
- Business and individuals that have specific and specialized functionality needs, as well as need a truly custom design
WordPress introduced a fairly revolutionary platform to the web. It gave an intuitive interface along with an intuitive Codebase that allowed designers and developers alike to extend the platform with ease. With that massive expansion that has taken place, many solutions have been born from it. As you can tell, there’s no one direction that is better than other, as they all have their strengths and weaknesses. Finding the right solution takes some careful qualifying by knowing your needs, asking the right questions, as well as understanding the different solutions to ensure a good fit in the long run. It’s through understanding these different implementations of WordPress that one can select the right fit for their project, with the added byproduct of helping the WordPress platform grow and mature productively. And that’s a good thing in the end for all of us.
Addendum: WordPress.org vs WordPress.com
One final clarification we wanted to end with, since we get this question a lot: what is the difference between WordPress.org and WordPress.com, and which is the right one to use?
WordPress.org is the main repository for the WordPress platform. From here, you can download the WordPress software and install it on a host, which enables you to host with whatever company you desire. This requires knowledge of how to set a WordPress site up, so it’s mainly utilized by developers. WordPress.com is a hosted solution, meaning you can sign up and get a WordPress site without needing to know any of the technical knowledge. This solution is geared towards those that want to get a WordPress site without having to hire a developer, especially those just looking to start a WordPress blog. With a few exceptions, almost all the solutions here can be used on either WordPress setup.