Anatomy of a WordPress Project from a Pricing Standpoint

A common misconception with WordPress sites is that the number of pages makes a difference in the price of a project. It used to be, back when static web pages were the status quo, that each page was hand-coded in HTML. However, in the age of content management systems like WordPress, that is no longer the case. Now, charging more to code out a 10-page site versus a 5-page site when the only difference is the content, makes no sense. The reason for this is because WordPress uses a template system for rendering content. So, by creating a single template for rendering a page, WordPress can use that same template to render any other pages that are created in the system. From a coding perspective, the work involved in creating a 1-page site versus a million-page site, where all of the pages are rendered using the same template, is exactly the same. Granted, if you have a site with thousands of pages versus a just a few, the number of pages will have an impact on the price from a content entry or data migration perspective.

Typically, these are the primary drivers in the cost of your average WordPress website development project:

  1. Custom design
  2. The number of custom content types or taxonomies
  3. The number of templates
  4. The complexity of the templates or custom data entry screens.

Custom design typically runs about 15–20% of the overall cost of the project and is what gives your site a look and feel that is unique. It is possible to simply purchase or find a free WordPress theme, but this is more common among the do-it-yourselfer’s or ‘site builders’ who aren’t coders and tend to piecemeal sites together using existing plugins. Generally, if someone is going to invest in custom development, they are also going to invest in custom design as well.

A content type, is essentially any type of content that needs to be handled differently. WordPress calls these ‘custom post types’. An example would be an ‘Event’ content type. Events typically have start and end dates and/or times, can be shown on a calendar and have a limited useful life span. Contrast that with a ‘Staff’ content type where you typically would want to display each staff member’s name, position, a picture, a brief bio and maybe their contact information. Neither of these content types would be a good match for the standard, built-in WordPress ‘Page’ or ‘Post’ content types which only support a title and content field. Typically, when creating a new content type, it is also necessary to create some custom data entry components in the administrative area of the site.

A taxonomy is, as you would expect, a way of classifying content. A taxonomy will typically hold any number of terms. Playing off of the ‘Staff’ content type example from above, it might make sense to create a taxonomy called ‘Department’. This taxonomy would then contain terms like ‘Marketing’, ‘Sales’ and ‘Accounting’. Taxonomies can be setup to allow you to select only one term for a piece of content, or many. They can also be hierarchical, or flat. The beauty of a taxonomy is that the site owner can create, edit or remove taxonomy terms as needed.

A template is essentially a file that handles the output of a specific WordPress context. WordPress also has the concept of a theme, which is basically a collection of templates files to cover all of the possible contexts. As an example, a page template would handle the output for the ‘Page’ context in WordPress. Additionally, you can have a ‘Post’, so a post template would handle that context. You also have a blog template, which handles the collective display of individual blog posts. If your site doesn’t have a blog, then perhaps you don’t need those templates. Anytime you have a custom content type, it will likely result in the need for a custom template for that specific content type. It is also common that you may want to have a template that handles the collective display of your custom content type. Taxonomies are another context which commonly requires additional templates.

This covers the typical use case where a client wants a WordPress site with a custom theme and maybe one or two custom content types. Of course there are other costs to development projects, such as the domain name, hosting, client meetings, project management, and other behind-the-scenes development tasks to ensure that your code is managed and deployed in a professional manner.

There are a slew of other things that can impact the cost of your website or web application project, such as:

  • Accelerated Timeline – Anytime you have a tight deadline, it means that developers are going to have to work longer hours to get the work done. Then once they are done with your site, they are going to need a little extra downtime to recover, which isn’t free.
  • Larger Team – A larger project generally means a larger team, which means paying money to more people and paying people to manage the people and make sure they get everything done.
  • Quality People – You pay for what you get. If you don’t invest in quality coders, then you get low quality code that costs more over the long run to fix. It can actually save you money to pay more for a good coder to do the job right the first time.
  • Security – While security is always a concern, when your reputation and revenue is on the line, you shouldn’t take any chances. Paying for a security review of any changes being made to the code can help prevent the embarrassment of a site being hacked or costly data theft.
  • Data Migration – If you have an existing site or want to import data from an offline system, it could incur significant development costs to plan out a migration, write migration scripts, and test and run them.
  • Information Architecture – Large websites have lots of content and making sure the structure of the site makes sense to visitors is extremely important. Get this wrong and people may leave your site in droves just because you’ve made it difficult to find something.
  • Copywriting – There comes a time when you can’t write all of the content for your site. At some point, you will likely need to hire writers to create the initial content for the site or even on a regular basis. Additionally, you may opt to have a professional handcraft copy for landing pages or calls to action.
  • Responsive Web Design – Having a website that is just as easy to view and navigate on a mobile phone or tablet as it is on a laptop or desktop computer requires a fairly significant amount of knowledge and work.
  • Integrations – Essentially, anytime you want your site to integrate with a third-party service, it will cost more. Sometimes there are plugins that can handle this and sometimes those plugins are free. But if what you need is custom, this could significantly increase development costs.
  • Registration – Anytime you have people registering on your site, you will have to setup that registration process, ensure that you are effectively preventing spam registrations, and make sure you have taken the proper security precautions to protect user data.
  • E-commerce – Typically, e-commerce sites are significantly more expensive because there is a lot more work to do and a smaller margin for error since money is changing hands on your site. If you are doing e-commerce, you have to deal with SSL certificates, trust indicators, shipping, taxes, inventory management, payment gateways, email receipts, etc.
  • Membership – A close cousin to e-commerce, membership sites have a lot of the same concerns. While you generally don’t have to worry with inventory, shipping or taxes, you pick up a few more concerns like registration, restricted content, newsletters and subscription levels.
  • Landing Pages – Landing pages are pages that have a call to action and exist to generate leads from marketing campaigns. It is important that the design is attractive, but not distracting, the copy is captivating, the call to action is clear and the lead capture form is simple and straightforward. Additionally, navigation should be minimal or non-existent to ensure that visitors to the page are more likely to stay on the page and perform the desired action. A lot of thought, planning and even testing goes into landing pages and they are expensive, although highly valuable.
  • Search Engine Optimization (SEO) – There are a lot of technical aspects to SEO that generally fall under the domain of a web developer. As an example, one of these is a close cousin to data migration: URL redirects. When moving a site, a page, or collection of pages, it is important to put the proper URL redirects in place so those moved pages don’t lose search traffic. Sometimes your web developer or development team has a good understanding of SEO. Sometimes you may need to hire a separate SEO team. This is an ongoing cost, not something that you set and forget. However, the benefits of SEO are generally cheaper long-term than any other online marketing strategy.
  • Analytics – Integrating an analytics system onto your site is one thing, but ensuring that you are capturing and tracking the right data is another. Paying someone to properly install, configure and interpret analytics is a valuable service.
  • Backups – If you have a website that isn’t being backed up to a third-party location on a regular basis, then you are in a position where you could potentially lose part or all of your website if it is hacked, a site update goes wrong or a developer makes a mistake when deploying code. Spend the money to have at least two redundant copies of the files and database made regularly, one of which should be off-site. Don’t just rely on your web host to handle backups for you.
  • Multi-Lingual – If your site needs to support more than one language, there is more effort in making sure that every word visible on your site can be translated. Additionally, there are architectural considerations as to how the different translations of your site will be exposed to the public.
  • Advanced Functionality – There are probably an infinite number of items that could fall under this classification, but here are a just a few that are relatively common:
    • Maps
    • Calendars
    • Booking / Appointments
    • Reviews
    • Photo albums
    • Directories
    • Forums
    • Surveys / polls
    • Job boards
    • Live chat
    • Documentation
    • File sharing