It’s a brand new day, with a brand new update to your favorite Joomla eCommerce solution!

EasyStore 3.1.0 brings improvements to SEO, inventory management, checkout reliability, and order handling to help you run your online store more smoothly.

Let’s see what’s in store with this update!

EasyStore v3.1.0 Changelog:

  • New: Added native canonical URL support and configuration options for storefront pages.
  • New: Added SEF URL routing and helper integration for customer order invoices.
  • New: Improved checkout reliability with idempotency safeguards, atomic stock deductions, and cart hash validation.
  • New: Added automatic restocking for abandoned orders through the Scheduled Tasks plugin.
  • Fix: Fixed category SEF state synchronization with checkbox filters and active filter chips.
  • Fix: Prevented coupon usage conflicts and duplicate item rows when merging carts.
  • Fix: Fixed payment success email notifications for orders marked as paid.
  • Fix: Resolved coupon usage limit issues during coupon creation.
  • Fix: Added the missing language string to the contact file.
  • Fix: Fixed customer ID and runtime identity handling during account creation at checkout.

Native Canonical URL Support for Storefront Pages

native canonical url support for storefront pages
Native Canonical URL Support for Storefront Pages

When you sell products online, a single product may have multiple URLs. For example, a T-shirt might have a main product URL, while selecting different colors or sizes creates additional URLs. Search engines may find these URLs and need to determine which version to prioritize in search results.

This is where canonical URLs help. They tell search engines which URL should be treated as the preferred version of a page.

With EasyStore 3.1.0, you can now configure canonical URLs directly from your Joomla Dashboard, without installing a third-party extension. Under Global Configuration, you'll find two options for product variants:

  • Point to Main Product: Suppose your T-shirt has separate URLs for its blue and black variants. With this option, both variants point to the main T-shirt URL as their canonical URL. This helps search engines recognize the main product page as the preferred version.
  • Self-Referential: With this option, the blue and black variants each use their own URL as the canonical URL. This tells search engines that each variant URL is the preferred version of its respective page.

These settings give you more control over how search engines interpret product URLs and help you manage your store's SEO directly within EasyStore.

Learn more about the new canonical URL settings here.

Automatic Restocking for Abandoned Orders

automatically restock abandoned orders
Automatic Restocking for Abandoned Orders

When a customer starts checkout but doesn't complete the purchase, the order may remain abandoned. If stock has already been reserved or deducted for that order, those products can remain unavailable to other customers.

With EasyStore 3.1.0, the Scheduled Task plugin can automatically restock products associated with abandoned orders. This helps return the stock to your inventory without requiring manual updates, so those products can become available for other customers to purchase. This way, keep your inventory accurate and reduce the need to manage abandoned orders manually.

Learn more about automatic order cancelling and item restocking in our detailed guide.

Keep Orders and Coupons First Come, First Served

Imagine you have only one unit of a product left, but two or more customers attempt to purchase it at the same time. Without proper safeguards, simultaneous checkout requests can create inconsistencies in stock deduction.

EasyStore 3.1.0 introduces new safeguards to make these situations manageable:

  • Queue-based Stock Deduction: Checkout now includes safeguards for idempotency, atomic stock deduction, and cart hash validation. Low stock products are now locked following a customer's order, and this process is managed through a queue. Stock deductions will occur on a first-come, first-served basis after cart data validation to avoid clashing orders and duplicate checkout processing.
  • Prevent Coupon Usage Conflicts: The same process applies for coupons with limited usage as well. Previously, if a discount code was available to a limited number of customers, simultaneous redemption attempts created conflicts around the usage limit. The 3.1.0 update prevents these race conditions.

Other Updates and Fixes

Besides the massive new features added with 3.1.0, here is a rundown of the other quality of life improvements coming in with this update:

Synchronize Category Filters
We’ve fixed an issue involving SEF category state and checkbox filters, ensuring they stay synchronized with active filter chips.

Improved Customer Invoice URLs
Additionally, EasyStore now includes SEF URL routing and helper integration for customer order invoices, improving how invoice URLs are handled within your Joomla store.

Prevent Duplicate Item Rows on Cart Merge
We addressed a bug that led to duplicate item rows appearing during cart merges, so now the cart data remains more consistent.

Reliable Payment Confirmation Emails
Last but certainly not ‌least, we’ve resolved an issue where payment confirmation emails were failing to send when active orders were marked as paid. Now, customers will receive their payment success emails when their order status is updated accordingly.

Update to EasyStore 3.1.0

In summary, this update brings practical improvements to how your store handles URLs, unpaid orders, inventory updates, coupon usage, and payment notifications.

EasyStore continues to thrive based on your feedback and suggestions, aiming to give you the optimal Joomla eCommerce solution.

So, let us know how we can help you take your store to greater heights, and try out the latest update for yourself!

Get EasyStore