Excellence.rs — online store
700+ products, one migration, zero errors — and control the client now holds in their own hands.
- PHP 5.x, a decade-old system
- Orders worked reliably — but that was all
- No way to edit content beyond the basic catalogue
- Admin UX outdated compared with modern online stores
- 700+ products without real attributes — everything buried in the description as text
- Custom WordPress theme (ACF + PHP), not a page builder
- One universal Page Template — every page editable from the admin
- Custom WooCommerce archive template — categories and collections can have their own content
- 3 linked content types per product (FAQ, specifications, instructions)
- 700+ products structured through CSV with conditional logic per column
- A dashboard that keeps evolving directly around the client's needs
-
The old site had no real WooCommerce attributes — just a title, a price and a description in which the unit type (piece or metre), dimensions and other specifications were buried in sentences. No database was structured the way WooCommerce expects, so the only option was to treat the old site as the source of truth and go through it page by page, extracting the real values from the text by hand.
-
I considered a separate product template for each category, given how varied the catalogue is — but that quickly became an unnecessary complication. Instead, I built one master template with conditional logic: if a CSV column has a value for a product, the attribute is created on import; if the column is empty, the attribute is simply never added — it doesn't sit there empty. That way every product page looks clean, however rich or sparse its data actually was.
-
I made one empty master import schema, then filled it in separately for each product category — each category its own CSV file, all with the same column structure. All three linked content types (FAQ, specifications, instructions) went straight into the same rows, with no clicking through the admin to link them at this scale. Even the images were imported through the CSV — a gallery from a list of links, with the first image automatically becoming the Featured Image.
-
Instead of checking all 700+ products at once, I migrated and checked one category at a time. For each one I knew the expected value types and parameter ranges in advance, so simply scanning that category's table was enough to spot any deviation before it entered the system.
-
Instead of guessing every possible case up front, I refined the dashboard only after the client started using it and found the real weak spots themselves. The client made the first edits under my supervision, until they were confident with the full range of editing. Specifically, I added the most-used catalogue fields straight into WooCommerce Quick Edit, built a feature to run a sale on a whole category or collection at a single percentage with automatic start and end dates, and let the client hide a product from the site without deleting it.
From a chaotic database to 700+ structured products, in a system that improves every day — the result is excellence.rs.
Generated with Gemini
Let's talk about working together.
Leave a few sentences about what you're looking for — I reply personally, usually within 24 hours.
Prefer to book a call? Book it here.