WordPress is a great platform but it’s not the perfect choice for all types of website.
I’m regularly asked to integrate WooCommerce, membership systems, courses and learning management systems into WordPress sites. Though these are all possible, my usual recommendation is to use a specialised service for those features.
A little history
Something the anti-WordPress brigade love to say is, “WordPress started as a blogging platform, I can’t see why it would be used to create any other type of website.”
Whilst the smugness of this statement might be suffocating, there is more than a grain of truth to it. WordPress was never designed to deal with some of the functionality it now regularly handles.
This shouldn’t be a criticism of WordPress: the authors developed something that became popular, so it’s natural for the platform to be extended in ways they could not anticipate.
However, this means there are some limitations to these integrations.
The post ID
Without getting into the workings of WordPress too heavily, much of the issue revolves around WordPress’s use of something called the post ID.
Every time a new post, page, product, order or another piece of content is created on a WordPress site, it is assigned a number that automatically increments. For instance, if you created a post, then a product and an order, the post ID for each of those might be 1, 2 and 3 respectively.
This works well until you need to merge two sets of data that might conflict: for instance, when a staging site needs to be pushed live after testing updates or a redesign.
The common sequence of events is this:
- The live site is migrated to a staging server while updates are performed/tested
- Orders continue to be placed on the live site (generating new orders and users: all utilising the post ID)
- When the staging site needs to be pushed live, it’s difficult to merge the data because both copies of the site have items containing the same post ID
This usually results in the work being manually re-performed on the live site. Far from ideal.
There’s a solution, right?
There are methods of combining these two databases, but they’re not straightforward and they don’t produce perfect results.
The process certainly isn’t something a site owner would want to be performing on a regular basis. And, whilst a redesign may not happen often, testing site updates and new features may happen frequently, especially on e-commerce sites.
There are times when it might be appropriate to integrate WordPress with WooCommerce or a membership system, but I would only recommend it when the number of orders/memberships are likely to be extremely low.
In all other situations, I would recommend using specialised services like Shopify or Teachable to handle that aspect of the website.