WordPress is by far the most popular CMS platform and is used to power over 25% of all websites on the Internet. Simply put WordPress is taking over the Internet and shows no signs of slowing down. Whether it is eCommerce, a blog, a corporate website, or even a major University website, WordPress can do the trick. We are even getting requests to use WordPress as an Intranet for a major institution. WordPress can work for a small startup, small business, growing enterprise, or even a major website like Tech Crunch or Wine Enthusiast Magazine.
The biggest problem I see with WordPress is the misinformation around it. Can WordPress scale to be used by a large website or business? Absolutely. Can it be cost effective too? Yes. However, how you go about doing some of those things is a different thing entirely.
Here are some of the major things you should consider when building a WordPress site in order to ensure it can either scale or meet the budget you are looking for to implement the software.
Hosting, Development Operations, & Maintenance:
Every WordPress website needs hosting and Maintenance. There are many cheap hosts like Godaddy and Bluehost. There are also specialized hosts like WPEngine and Pantheon. I would suggest going with a specialized host or high quality host if budget is not as big of a concern. Pantheon is a great option because they offer a lot of development operations tools and can scale up via their cloud offering.
You will need a development site to test changes and maintain the site by upgrading plugins and the core software. Choosing a good host that makes this easy is important to maintaining the software lifecycle of WordPress.
Prebuilt Theme vs Custom Theme:
This is an extremely important decision as far as how you are going to build your WordPress website. Ultimately you will have to theme your WordPress site and most likely use a child theme structure to make your site as modular and scalable as possible. There are many prebuilt themes on Themeforest and other sites, that you can buy for approximately 50 dollars. However, most of these themes are more attractive than they actually become when you start to use them and are often a far worse solution than building a custom theme.
Here at Trellis we have a core responsive theme built on the Foundation 6 responsive framework, and we include the necessary components and plugins for the specific site and situation we are building for to speed up production. We then custom build the theme as a child theme to our core theme so that the theme is specific to the site and there is no unnecessary code slowing down or making the site difficult to improve in the future.
If you go with a prebuilt theme you should most likely make sure you are going to use it for the specific layouts it has because once you go down the rabbit hole of customizing it heavily it is most likely going to be more expensive than custom building a theme from the start. For more information on the benefits and disadvantages of going custom vs prebuilt please read this blog on which theme option to go with.
Whether you go prebuilt or custom I would suggest using a responsive framework like Bootstrap or Foundation because they have done the majority of responsive front end development for you and their documentation is easy to use. Additionally there is a large pool of developers who know how to use the frameworks.
Custom Page Templates:
Although WordPress started as a simple blogging software, it can now be used to create complex pages that can be used for almost any purpose. By default WordPress will have a few page templates that can be used for simple layouts, supplemented by the widgets that can be added to sidebars. However, premium themes will come with much more in depth page templates that have prebuilt visual functionality such a slideshow, parallax scrolling, a gallery and much more.
We personally prefer building custom page templates by using advanced custom fields to power the backend. This allows us to create the exact types of fields for the different types of content on the website such as images, text, links, and much more.
Custom Post Types:
Post types, in many ways, are very similar to page templates in that they can be individual pages. By default, WordPress has posts, which can be applied to the blog template to be used as a blog post. However, you can create custom post types for whatever you want. For instance we have a jobs post type, an events post type, a locations post type, and an eBooks post type. Larger sites may have many more post types. These post types can be individual pages or simply snippets or pieces of an actual page such as our careers page that publishes all the jobs post types on one page.
Determining what should be a custom post type and page template is critical for building the backend infrastructure of your WordPress website. Unfortunately, WordPress’s database structure is fairly simplistic, and I believe, stores all post types in one table. Having said this, you may have to do some custom database work like we did for Wine Enthusiast Magazine if you want to scale the platform.
By default you have categories and tags and you can tag and categorize each post for blogging purposes. However if you have a complex data structure and need the ability to use multiple taxonomies you may need to create custom taxonomies for other things beyond just categories and tags. An example would be if you are using categories or tags for blog posts but you need a taxonomy for jobs. In this case you might want to create the taxonomy job type, and you could create job types like executive, sales, IT, HR, etc… and assign them to the jobs post type.
By default WordPress is not multi site unlike a software like Magento. However it can be used for multi site and as of version 3.0 you can use the WordPress multi site feature. Before you build your WordPress site you need to prepare and install the multi site infrastructure. This is something you want to plan for before you build your site not after! Multi site is a great feature if you want to control multiple websites within the WordPress admin panel. This is a good strategy if you have many sites because theoretically it is less expensive to maintain and host one codebase & software versus many different code bases and softwares.
Plugins are the best and worst part of WordPress. I say this because they can extend the core WordPress functionality at almost no cost and be extremely valuable, but they can also be the dawn of your WordPress websites existence. What that means is that every plugin is now another security risk, requires maintenance and upgrades, and can cause massive compatibility conflicts with future web development and initiatives. Long story short, you should avoid using plugins if they are not necessary and only use plugins if you absolutely need them for the functionality you are trying to accomplish.
We only use a few core plugins on every site we build and only use other plugins sparingly if necessary. Those plugins are:
- Advanced Custom Fields
- Yoast SEO Plugin
- Contact Form 7 or Gravity Forms
After those plugins we may use a plugin like Mailchimp for WordPress, Hubspot Analytics, or other plugins as necessary for certain functionality but we try to limit them as much as possible so the site runs fast and is maintainable.
If you have many moving elements like a slideshow, modals, or other features that go beyond just static content, expect that these features will take more time and cost more to build. Therefore you should carefully plan exactly how these features will work to make sure you’re not wasting developers time and money, especially when planning for mobile device compatibility. These would most likely be considered custom front end development features.
There can also be many custom backend features. If you need an admin panel feature that is not supplied by a plugin on the marketplace or native WordPress core functionality, this will most likely need to be a custom backend feature. Some custom features might need both a front end component and backend component so they can be controlled in the admin panel.
Short codes are an excellent way to expand the capabilities of the WysiWyg editor in WordPress so that you can easily add things like buttons, boxes, tables, and other html elements without actually coding them out in HTML. The short codes act as a way to create such html elements with simpler short codes that a non developer can use. There is a great plugin called short codes ultimate that has many great short codes. You can also custom create short codes for specific use cases.
A blog is the cornerstone of many WordPress websites. You can create posts and assign a blog page or specific page to display those posts. You can customize your blog page and posts to look however you want or simply use the default theme styling that you have. This will largely depend on whether you build a custom theme or use a prebuilt theme that has existing blog templates you will have to use. You can say up author pages and create author templates as well using native WordPress functionality.
Every website will most likely need a form for customer inquiries or other purposes. Chances are you will want to use a plugin like Contact Form 7 or Gravity Forms. Its certainly possible to custom create forms or create them in many different ways but in most cases a plugin will suffice. Building a custom form will most likely take more time therefore utilizing the plugins can be a huge time saver and allow a non developer to be able to make certain changes in the admin panel.
If you want to have downloadable eBooks or other types of downloadable content there are several plugins you might want to use. Additionally you might want to develop a custom post type like we have developed to display our eBooks such as the top CMS platforms by usage.
Widgets can be used to control content on certain sections of a page such a sidebar, header, or other areas of the website. They can be especially useful for displaying different types of content in areas in which the page template or custom post type itself might be limited in the admin panel. Planning out how your widgets will be used to control content and the website is important in the planning process of building your website.
Do you need your emails or newsletter to go to Mailchimp or Salesforce. You will most likely be using other software like Hubspot, Mailchimp, Salesforce, or other types of software that will help grow your business. Manually entering information from your website to these other software can be tedious, therefore an integration can be a crucial element to making you more successful. You can either use a plugin that has the integration capabilities you need or custom build the integration for your specific purposes. Either way you need to plan how this integration will be successful and executed properly.
WooCommerce is now a staple of many WordPress sites and is actually the most used eCommerce platform worldwide in terms of total number of sites using it. WooCommerce is simply a plugin to the WordPress core, however you will most likely need many other plugins and custom features to be competitive in the eCommerce space. WooCommerce is a great starter eCommerce package but is difficult to scale into the enterprise because of how complex eCommerce can become.
A while back I wrote a post on setting up a WordPress website that probably needs updating haha but it should help you get started. If you need help getting started with WordPress please reach out to the team at Trellis.