Case studyBuilt by usWordPress to staticLaunching soon

ECRU Studios.

We built ECRU Studios a new shop from scratch: a bespoke static storefront in place of WordPress and WooCommerce, with a purpose built back office behind it for products, stock, orders and invoices.

The new Ecru Studios online shop homepage
01The results
3×faster to load2.5 seconds down to 0.8
12×fewer requests190 files down to 16
35×less JavaScript730 KB down to 21 KB
14 → 0plugins to licence, update and patchplus a premium theme
310/310product addresses kept exactly711 old addresses redirected
€420+a year of hosting and licences removedbefore further renewals still to confirm

Load time, requests and file sizes measured on the homepage, same computer, same emulated 4G connection, cache off. Full method under "Measured, not guessed".

02The starting point

A shop weighed down by its own stack.

ECRU's shop ran on WordPress and WooCommerce, a premium theme and fourteen plugins.

Every page asked a database for its content, then loaded around 190 files, with 145 scripts in the page, before a customer saw a thing. Each plugin was one more thing to licence, update and keep patched.

The hosting was an enterprise plan sized for heavy WordPress work, at €271.95 a year, and about €148 a year of confirmed plugin renewals sat on top. The whole rebuilt site is 147 MB. That is under 1% of the 25 GB plan it was paying for.

The old Ecru Studios WordPress homepage
Before · WordPress and WooCommerce
The new Ecru Studios static homepage
After · bespoke static store
03What we built

A back office made for one shop.

The storefront is 350 plain pages covering all 310 products across 25 categories, with Stripe checkout on ECRU's existing account. Behind it we built a bespoke back office, so the jobs plugins used to do are done by software shaped around how ECRU actually works.

Products and stock

New stock arrives as a spreadsheet and images, and the shop rebuilds itself. Price, stock and visibility are edited in one place, and a product's address never changes.

Orders and invoices

Every order is logged from Stripe checkout, and a branded PDF invoice is generated with the VAT broken out.

Finance

Revenue, best sellers, demand and margins worked out from the shop's own data, with a private cost register that never touches the public site.

Buying

A supplier's purchase order spreadsheet becomes products and a tracked order, with landed costs, deposits, deliveries and supplier details.

Pricing and shipping

Price suggestions drawn from each category's real price bands, and zone based shipping with free over thresholds.

Search

Search titles, descriptions and image descriptions written for every product as it is added.

Social studio

Turns a product into a ready to post graphic and caption, with a planning calendar. Nothing posts by itself.

Back in stock

Customers can ask to be told when a sold out piece returns, and that demand feeds straight into finance.

Locked down

Lockout after repeated failed logins, an optional IP allow list, secure cookies and security headers.

About 8,700 lines of purpose built code across the storefront generator, the back office and the checkout. No page builder, no WooCommerce, no plugin marketplace.

04Search rankings

Every address kept.

All 310 product pages keep exactly the same address they had on WordPress. Zero mismatches.

The old sitemap held 1,034 addresses and the new store has 349. We closed that gap with a 301 redirect map generated by comparing the two: 711 old addresses are covered, including 22 nested category pages, retired duplicate products, WooCommerce system pages and 518 old tag archives folded into the shop.

Every redirect was tested to land on a live page, real pages still answer normally, and anything genuinely gone shows a proper 404. Traffic and rankings move across with the shop.

05Measured, not guessed

The same homepage, side by side.

HomepageWordPress todayNew static store
Fully loaded2.5 s0.8 s
Main image visible2.45 s0.63 s
First paint1.1 s0.41 s
Requests19016
Page weight1.73 MB0.52 MB
JavaScript730 KB21 KB
Stylesheets299 KB25 KB
Scripts loaded1457
Page elements958156
Plugins14 plus premium themeNone

Method: the live homepage and the new build tested on the same computer in Chrome, cache off, with the same emulated 4G connection (about 8 Mbps and 150 ms latency). Five runs on the live site gave results within 5% of each other, three runs on the new build were identical. The new build was served locally with the network conditions emulated, so real hosting will add some delay to it. The request count and file sizes are not affected by hosting.

06The money

Running costs, cut at the root.

€271.95a year of enterprise hosting, sized for WordPress and WooCommerce
≈ €148a year of confirmed plugin renewals, with more still to check against invoices
≈ €60a year for the small server that runs the new store and its back office

Net saving of around €360 a year, with a further €100 or more possible once every licence is checked against its invoice. The saving is permanent because there is no stack left to renew.

07Security and rollout

Nothing left to patch.

The WordPress surface is gone: no plugins, no PHP, no database behind the storefront.

Static pages have nothing to inject into. The one login that remains, the back office, is the part we hardened, with lockout, an optional allow list and secure sessions.

The store is built, tested and measured. Going live is a staged cutover: a full test checkout on a staging address, one real low value order end to end, then the domain switches over. WordPress stays running as a fallback until ECRU is happy, and only then is it switched off.

08Your turn

Still on WordPress?

Send us your address and we will tell you straight what we would change, and what it could save you.

Send us your addressBack to the work