E-Commerce · SEO & Lead Gen · Web Design & Dev

Sacks.ie: Custom WooCommerce Theme Rebuild

A custom WooCommerce theme for Ireland's bulk bag and sandbag supplier, replacing an Astra and Elementor stack. The home page now scores 99 for mobile performance, up from 64, with every product, order and URL carried over.

Client Sacks.ie
Industry E-Commerce, Packaging & Industrial Supplies
Live Preview Visit site ↗
Categories E-Commerce, SEO & Lead Gen, Web Design & Dev
Tools WordPress (custom theme) WooCommerce ACF Pro PHP JavaScript Yoast SEO + Local SEO WP-CLI Lighthouse
The new Sacks.ie home page on a desktop screen and a phone: headline, Shop all packaging button and the four main bag categories.

What changed

Lighthouse mobile tests on sacks.ie: the old theme the evening before launch (November 9), the new theme on launch day (November 10).

64 → 99 Mobile performance score, home page
8.1 s → 1.9 s Largest Contentful Paint on a phone
−83% Home page download: 3.6 MB down to 0.6 MB
111 → 52 Requests to load the home page
0 of 195 Live URLs changed or broken
15 / 15 Checkout scenarios matching the old totals to the cent

A Shop That Had Grown in Layers

Sacks.ie has supplied Irish builders, farmers, councils and fuel merchants for 17 years from its yard near Limerick: about 150 products, from a single sandbag to full pallets of one-tonne bulk bags, each with several quantity price breaks and next-day DPD delivery. I already knew the shop well, having built its DPD Ireland shipping integration and Eircode checkout autofill.

The site worked, but it had grown in layers. It ran on Astra and Astra Pro, with Elementor building the home page, the footer and eight content pages, and Slider Revolution driving the hero. That stack had real costs:

  • Slow, heavy pages. The home page loaded 3.6 MB over 111 requests, including 71 CSS and JavaScript files. On a phone its main image appeared after 8 seconds.
  • Weak on-page SEO. The home page and every content page had no H1, and the home page title was “Home – Sacks”. robots.txt pointed at a sitemap that returned 404, and links on every page led to missing pages.
  • Hard to manage. Product descriptions carried years of leftover page-builder code, inline styles and shortcodes from an even older theme. Changing a sentence meant opening Elementor.
  • A lot to protect. 150 variable products, live card payments, DPD label printing, PDF invoices and years of customer orders. A broken checkout or a lost URL would cost the business real money.

The brief: a modern, fast shop, with no data loss, no checkout breakage and no change to any URL.

BeforeThe old Sacks.ie home page on desktop: a large logo, a black menu bar and a photo slider of children in sack races.
AfterThe new Sacks.ie home page on desktop: the headline Irish Supplier of Bulk Bags, Sandbags and Heavy Duty Packaging, two buttons, category tiles and a 4.9 Google rating.
The home page now opens with a clear promise, two calls to action and the main categories, in place of a slider.

Audit first, then design in the browser

Before designing anything, I mapped the live site: every plugin, every URL, the category tree, the checkout and shipping rules, the structured data and the SEO report the client had commissioned. That produced a list of everything Astra and Elementor were quietly doing that the new theme had to replace, or deliberately drop.

The new design was built as a clickable HTML prototype (home, category, product, basket, checkout, info pages and the mobile menu), so the client reviewed real pages in the browser rather than static mock-ups, and their feedback went straight into the build.

A custom theme, not another layer

The prototype became a lean custom WordPress theme driven by ACF Pro. It uses native WooCommerce templates and hooks throughout, so the payment, shipping and invoice plugins keep working exactly as before. The home page is built from editable sections, and shared details such as phone numbers, opening hours, review figures and shop messages live in one Theme Settings screen.

  • Category pages group the bulk bags by size (Small, Quarter Tonne, Half Tonne, One Tonne and more) with a sidebar, filters and sorting, without creating a single new URL.
  • Product pages put the buy box first: price range, size, stock, quantity price breaks and Add to basket, then the description.
  • Instant search shows results from the first letter, filtered in the browser in under a millisecond per keystroke, with a server fallback.
  • A slide-out basket and a stepped checkout built on WooCommerce’s own checkout form.
  • Information pages (Delivery, Contact, About and more) moved off Elementor into one clean template, plus new Directions and How to Order pages.
BeforeThe old Bulk Bags category page: one long grid of products.
AfterThe new Bulk Bags category page: a Bag sizes sidebar, sorting, and products grouped under Small Bags, Quarter Tonne and other size headings.
Bulk bags grouped by size, with filters and sorting. The category URL is unchanged.
BeforeThe old product page for a heavy-duty one tonne bag: sales copy in mixed fonts next to the photo, with the price and buy button further down.
AfterThe new product page: breadcrumbs, price range, size, In stock, quantity selector and Add to basket next to the photo.
The buy box comes first: price range, size, stock, quantity and Add to basket.
BeforeThe old Sacks.ie home page on a phone: a large logo and a small slider fill the first screen.
AfterThe new Sacks.ie home page on a phone: search bar, headline and Shop all packaging button on the first screen.
On phones, search and the headline are visible straight away.

Two custom plugins

Sacks.ie AI Assistant. An on-site assistant that answers product and delivery questions, adds products to the basket and tracks an order from its order number and email address. The lookup is privacy-safe: a wrong email gets no order details back.

Printed Bulk Bags configurator. A new landing page where trade customers build a custom printed bag (size, lifting loops, print sides) and send the enquiry straight to the yard, with a gallery of 16 real printed-bag photos that I retouched and optimized.

The new Printed Bulk Bags page, where trade customers configure a custom printed bag and send an enquiry.
New: the Printed Bulk Bags configurator.

Technical SEO, built in

  • One H1 on every page and a proper H1 > H2 > H3 order.
  • A new home page title and description written around real search terms.
  • LocalBusiness, FAQPage, Product and BreadcrumbList structured data, added to Yoast’s graph without duplicates.
  • robots.txt and the sitemap reference fixed, links to six missing pages removed, and an llms.txt file added for AI search tools.
  • A sitemap bug found and fixed before launch that would have dropped 21 products from Google’s product sitemap.
BeforeThe old Sacks.ie contact page, built in Elementor.
AfterThe new contact page: address, phone, email and opening hours, with a Need a hand sidebar and links to the other help pages.
Content pages moved off Elementor into one clean template with a help sidebar.

Proving it on a full staging copy

I cloned the live shop to a protected staging site that couldn’t send emails, book couriers or be indexed, and compared old and new side by side before anything went live:

  • 195 live URLs, all returning the same status code.
  • 175 SEO titles and descriptions, unchanged.
  • 15 basket and checkout scenarios across Ireland, Northern Ireland, the UK and the EU, matching the old site to the cent on subtotal, shipping, VAT and total.
  • Order management: statuses, PDF invoices, packing slips and DPD labels.

Over 240 product descriptions were cleaned of old builder code, with a full backup and a one-command restore. Database autoload was trimmed by 55%, and the server’s PHP cache was tuned with the host’s approval, which speeds up the admin as well as the shop. The switch itself is reversible: the old theme and its content stay in the database, so the shop could roll back in minutes.

Results

Lighthouse mobile tests on sacks.ie: the old theme the evening before launch, the new theme on launch day.

Page Metric Before After
Home Performance score 64 99
Home Largest Contentful Paint 8.1 s 1.9 s
Home First Contentful Paint 3.6 s 1.4 s
Home Total download 3.6 MB 0.6 MB (−83%)
Home Requests 111 52
Product Performance score 65 75
Product First Contentful Paint 2.9 s 1.3 s
Product Total download 1.4 MB 0.8 MB (−42%)

On desktop the new home page scores 99 and the product page 92. In pre-launch tests, uncached pages also came back from the server 25–31% faster, with 57–71% less HTML.

And what didn’t change matters just as much: every URL, every product, every order, checkout totals to the cent, and the SEO title and description of every page except the home page, which was rewritten on purpose.

Faster, Cleaner, Nothing Lost

Sacks.ie now runs on a theme built for the shop: a home page that scores 99 on mobile, pages that are easy to edit, and SEO built in. Every product, order and URL came across untouched, and the old theme stays one click away.

elegantweb studio Get Started ↗
Email