The growth of your eCommerce business depends on the ease of navigation, reliability, speed, and usability of your website. Success in your eCommerce business also depends on the underlying platform used to sell content, tools, or products on your website. Yoast’s migration to the WooCommerce platform is an example of changing platforms for business efficiency and future success. In this article, we will take a close look at Yoast’s decision to migrate and the technical steps involved as well as the benefits of migrating.
Why did Yoast Migrate from EDD?
Yoast grew in popularity due to the success of their SEO blog and plugin. However, the plugin led to challenges managing the website. Therefore, the company sought a new method to make website management more efficient. Joost de Valk, the founder of Yoast, decided to transform the original WordPress installation into an Easy Digital Downloads (EDD) format.
EDD facilitated the selling and updating of premium plugins. Yoast developers found the format to be reliable for a number of years as they improved it. The software needed a more adaptable format. For example, Yoast wanted the ability to add various currencies not available with the existing format.
Yoast set out to find the perfect alternative while considering these necessary qualities:
- Supports recurring payments
- Supports user accounts
- Supports multiple currencies
- SEO platform creation
- Platform maintainability
- Reasonable costs of migration and integration
- Projected compatibility 5-10 years out
Yoast’s team of architects met in January of 2017 to discuss business needs and ways of meeting them. The primary goal was to find a platform compatible with WordPress as its Content Management System (CMS). The team concluded that WooCommerce fit the bill. However, there was just one problem— WooCommerce does not support multi-currencies.
Yoast got around this roadblock by implementing the Multilingual Press plugin. This plugin provides multisite installation, so the new platform uses a different site for each language. For instance, the English site uses the U.S. dollar as currency while a separate European site uses the euro as the currency.
After the Multilingual Press plugin was discovered as a solution to the multi-currency gap, WooCommerce became a far better solution because:
- Yoast can combine its plugin with the platform
- Webhook support and REST API is built-in
- Vibrant platform community
- Large ecosystem
- Good data model
- The platform is a complete eCommerce solution so Yoast only has to focus on SEO
The eCommerce Domain
In the eCommerce domain, the smoothness and accuracy of transactions and records are key. Prior to migration, Yoast experienced accounting difficulties from refunded transactions. The transactions processed correctly with client information and dollar amount, but when client refunds were processed, the transactions were automatically removed from the historical monthly revenue.
An essential aspect of eCommerce is the unique identifier, SKU, attached to each product. The SKU aids in identifying products before and after they are sold. The SKU also makes it easier to track transactions. Yoast’s new platform utilizes the same number their finance department uses to track products as the product SKU. The new platform increases the accuracy of historical data by:
- Auto-creating a historical record with every purchase
- Making historical data immutable
- Applying client information updates and refunds as a new separate transaction
The Technical Requirements
Yoast had lots of historical data needing migration from Easy Digital Downloads to the new platform. A migration tool capable of migrating large datasets— Pandas —was used to migrate everything at once. Migrating the dataset in such a large quantity was very complex. The data needed unserializing because it was saved in one meta value. However, Yoast shelled out to PHP for unserialization to increase efficiency. Migrating smaller quantities would have made it a smoother process.
Yoast now has two sites with all data available in one location— MyYoast. Orders are auto-synced to MyYoast using webhooks, the new platform’s syncing system. However, some information may be lost due to the receiving system being down. Therefore, another alternative may serve as a backup.
To avoid data loss due to a down receiving system, a message queue or delayed job project may be useful. Yoast utilizes a PHP port similar to the Ruby on Rails’ delayed job project. Delayed jobs may be scheduled for later execution to accommodate a down system. Therefore, the new platform is configured to a custom dummy URL and a scheduler class is used to schedule jobs. In this configuration, webhooks become jobs instead.
Here’s how it works:
- Several classes are set up to handle jobs
- Each class handles a fundamental building block
- A background worker handles the jobs
- Products are then instantly visible by the customer on MyYoast
Robust WordPress installation is the key to a successful framework.
Here’s how to set up WordPress:
- Professional help may be needed to navigate its unique features
- WordPress is key to updating eCommerce applications
- Composer explains setup
- The Twelve-Factor App also explains the setup
For optimal performance, object caching is recommended with high volume sales because:
- Without it, the order models must be re-instantiated with every request concerning an order
- Without it, the process is slower
- Re-instantiating order models is costly
Object caching and WooCommerce pull requests may also be used together for optimal performance.
Extensions and Plugins
Extensions and plugins were used to increase the functionality and success of Yoast’s migration. These include:
- CMB2 Field Type
- CMB2 Post Search Field
- Google Authenticator
- Google Authenticator Per User Prompt
- MailChimp for WordPress
- MailChimp for WordPress-Premium
- Multilingual Press
- New Relic Reporting for WordPress
- Romance Admin Color Scheme
- WooCommerce Country Based Payments
- WooCommerce Adyencw
- WooCommerce Coupon Links
- WooCommerce Dynamic Pricing
- WooCommerce Email Customizer
- WooCommerce EU VAT Number
- WooCommerce Give Products
- WooCommerce Paypal Express Checkout Gateway
- WooCommerce Product Bundles
- WooCommerce Subscriptions
- Yoast SEO: WooCommerce
- Yoast SEO Premium
The Benefits of Migrating
Although EDD and SEO popularity increased Yoast’s growth, migration was necessary to sustain growth and future success. Because of migration:
- Yoast’s performance improved substantially after launching the new platform
- Transferring accounts and refunds are much simpler
- The new platform and its built-in tools create a successful eCommerce business while preparing for future success
Bright Vessel is well-versed in WordPress installation and eCommerce platforms. Bright Vessel is also a verified WooCommerce expert. We are available to answer your questions concerning platform migration and eCommerce platforms. We can help you preserve your platform’s functionality while increasing its bottom line. Contact us today concerning your eCommerce.