Supercharge WooCommerce performance and search with ElasticPress WooCommerce

elasticpress-woocommerce
WooCommerce is the world’s most popular e-commerce software, available as a free WordPress plugin. Its expansive extensions library houses a number of premium extensions addressing recurring payments, different payment gateways, shipment tracking tools, and more.

Scaling open source e-commerce solutions like WooCommerce, that can be installed on infrastructures of all shapes and sizes, is challenging. Online stores typically require intensive database transactions: complex queries on both the front and back-end that filter and sort products based on several categories, stock, and properties like pricing and reviews.

Further, most shoppers depend on site search to find products. Complex filters combined with keyword search across fields heavily tax relational databases like MySQL, the underlying database used by WordPress. And of course, increased store traffic increases the number of database queries to process, making every transaction even slower. Not surprisingly, many WooCommerce sites run quite slowly.

Here at 10up, we configure WordPress to power websites serving millions of pages every day. Most high traffic implementations can efficiently scale while retaining performance by caching entire pages, essentially “saving them for later” so most of the processing and queries are skipped on future page views (until the content changes). However, these techniques rarely cut it for e-commerce, due to constantly changing inventories, a large number of filter combinations for each product list page, and the dependency on keyword search.

We are proud to offer a solution, with the release of ElasticPress WooCommerce: a free, open source WordPress plugin that harnesses Elasticsearch by building on ElasticPress. ElasticPress WooCommerce runs all intensive WooCommerce queries through Elasticsearch instead of MySQL (on the front end and in the administration panel), rendering pages and processing complex product searches and filters very quickly—ElasticPress WooCommerce can easily turn database queries that take 3-4 seconds into Elasticsearch queries that take 30 milliseconds.

Elasticsearch is an open source search server that performantly executes complex and intense queries. GitHub uses Elasticsearch to power it’s code search, often querying billions of lines of code. ElasticPress is a plugin by 10up that integrates WordPress with Elasticsearch. Out of the box, ElasticPress synchronizes a WordPress site’s content into an Elasticsearch instance, and routes WordPress search queries to Elasticsearch. It also provides a powerful API for developers to create and shape more complex content queries without hurting performance.

ElasticPress WooCommerce improves store performance, which equates to increased sales. Site owners can turn sluggish WooCommerce sites into instantly loading stores that can efficiently scale as traffic grows.

10up provides expert Elasticsearch consulting and hosting for large and enterprise clients, as well as ElasticPress setup and complex search implementation. To learn more, please contact us.

  1. This is a really awesome contribution to the WP community, just like Flexibility. Do you know, or recommend any “cloud” providers for Elisticsearch that would work with this plugin? For those of us using and loving WP Engine, we don’t have the ability to install Elisticsearch on our servers.

    • Thanks for the kind words! 10up offers hosted / managed Elasticsearch – designed for integration with ElasticPress – to select clients, since our plans typically start at ~$200/month. It’s targeted at larger organizations, and we’re fairly selective about who we’re serving at this early, “version 1” stage. That said, if you’re interested, get in touch through our contact page. You can also find more basic hosted plans (not necessarily optimized for ElasticPress/WordPress) through third parties starting at lower price points (~$50/mo), if you do a little searching.

Leave a Comment

We make web publishing easy. Maybe even fun.