RSEC: From WordPress to a Custom Trade and Retail Platform
RSEC supplies electronic security equipment from Cape Town: CCTV, alarms, gate automation, intercoms, electric fencing, access control, locks, tools and off grid power. It sells to two very different buyers from one catalogue, professional installers who buy at trade prices and homeowners who buy at retail.
On 5 October 2026 rsec.co.za moved off WordPress and onto a platform we built for RSEC from scratch. This case study covers why, what the new platform does, how we moved a live store without losing its Google rankings, and what RSEC gets out of it.
About RSEC
RSEC’s customers are mostly people who already know what they want. An installer standing on site needs a specific camera, panel or gate motor part, needs to know the price they will pay, and needs to know whether it is in stock. A homeowner wants to find the right kit without installer knowledge, and wants someone to confirm it will work before they pay.
That is the core of the business, and it is why the website had to change.
Where it started
The previous site was WordPress with the Divi theme and WooCommerce. It looked like a shop, but it was not working like one. When we audited it in August 2026, reading the real database rather than guessing, this is what we found:
- 691 products, and not one price in the database. Every price lived in two monthly Excel workbooks, one for trade and one for retail, which customers downloaded from the site.
- The cart and checkout had never taken an order. RSEC was already running as an enquiry business. WooCommerce was carrying weight it never used.
- The price lists held roughly 6,300 product codes against 691 products online. Only 54 products on the site had a product code at all, so there was no clean way to connect a price to a product.
- 2,820 product tags for 691 products, most of them used once, plus a long list of plugins doing jobs a single system should do: a mega menu plugin, a search plugin, popups, contact forms, notifications, WhatsApp buttons and a membership plugin to hide the price lists.
- A Google Ads conversion tag loaded on every page but never fired a conversion, so RSEC could not see which ads produced enquiries.
None of this was anyone’s fault. It is what happens to a busy store after a few years of adding a plugin for each new need. But every month, updating prices meant uploading new spreadsheets and hoping customers downloaded the right one.
Why a custom platform, not another fix
We could have kept patching WordPress. The problem was that RSEC’s real business rules, who sees which price, how a trade account gets approved, how a monthly price list maps onto the catalogue, did not exist anywhere in the old site. They lived in people’s heads and in spreadsheets.
A custom platform let us write those rules down once, in code, and have the whole site follow them. It is built on Laravel, a widely used PHP framework, with a Filament admin dashboard for RSEC’s staff. Think of it as the difference between a shop with a separate lock on every cupboard and a shop with one key system that knows who is allowed into which room.
What we built
An enquiry list instead of a fake checkout
RSEC quotes before it sells, so the site now works the way the business does. Anyone, signed in or not, can add products to an enquiry list, adjust quantities and send it in one go. The list says plainly what happens next: no payment, no obligation, and RSEC replies with availability, lead time and a firm price. Every product page also has “WhatsApp about this” and a click-to-call button for the installer who just wants to ask.
Prices that follow the account
Pricing now sits inside the platform, and every price on the site passes through one rule:
- A guest sees no prices, just “Log in for pricing” and the enquiry button.
- A new sign-up is held until RSEC approves it, and sees nothing until then.
- An approved retail customer sees retail prices.
- An approved trade customer sees the trade price and the suggested retail price, so they can quote their own client on the spot.
RSEC’s staff approve each new account as retail or trade with one click. Trade is never self-selected. At launch we checked all 977 public addresses on the site while signed out, and no price showed on any of them. We also signed in as retail and as trade to confirm the same check does find prices when it should, because a test that never finds anything proves nothing.
The monthly price list, in one upload
RSEC still works from its monthly Excel workbooks, and we did not ask them to change that. Instead, staff upload the new workbook in the admin and press one button. The platform reads every sheet, matches each product code to its product, and updates the prices.
The clever part is that it remembers. The first time a code is matched to a product, whether automatically or by a staff member on the review screen, that link is stored. Next month’s upload reuses every remembered link, so only genuinely new codes need a person to look at them. In testing, products carrying a code went from 54 to 286 after the first matching pass, and a repeat upload of the same workbook matched every row from memory.
A catalogue built for people who know what they want
- Search that answers as you type, showing the product and its stock badge, so an installer can type a model number and go straight to it.
- A menu driven by the real category tree, with departments down the side and sub-departments as image cards, instead of a hand-built menu that drifted out of date.
- Category pages that explain the category. The alarms page, for example, opens by explaining the difference between wired, wireless and hybrid panels before listing 157 products, with brand filters for AJAX, IDS, Olarm and Paradox.
- Brand pages for the brands RSEC carries.
An admin RSEC can run without us
Staff edit pages, articles, products, categories and brands with a live preview beside the form that updates as they type, so they see the real page before saving. Images uploaded in the admin are resized and converted to WebP automatically, so a 4000 pixel photo from a phone does not slow the site down. The original images were served as much smaller WebP copies, roughly a tenth of the original weight.
Every public form (enquiry, contact, register, login and password reset) is protected by Cloudflare Turnstile, which stops bots without making customers pick out traffic lights.
Moving a live store without losing Google
A rebuild that loses its search rankings is a step backwards, so this was planned from the first day, not fixed afterwards.
- Every old address still works. Product, category, tag and page URLs kept the same shape, and old image links redirect to their new home.
- Existing accounts moved across with their passwords. 543 customer and trade accounts were migrated. People sign in with the password they already had, and it is upgraded to modern encryption the first time they do. Nobody had to reset anything, and every account kept its approval.
- Analytics and Search Console carried over. The same Google Analytics property, both Search Console verifications and the Bing verification were in the new site from launch, so RSEC’s history did not restart.
- The Google Ads conversion now fires. It is recorded when an enquiry is actually sent, so RSEC can finally see which ads produce enquiries.
- We tested before switching. On launch day every one of 956 sitemap pages loaded with no failures, and the old WordPress site was kept intact behind the scenes as a rollback path.
The result, measured
rsec.co.za now lists 687 products across 211 categories and 13 brand pages. We ran Google PageSpeed Insights on the home page on 6 October 2026, the day after launch:
| Performance | Accessibility | Best Practices | SEO | |
|---|---|---|---|---|
| Mobile | 89 | 100 | 100 | 100 |
| Desktop | 93 | 100 | 100 | 100 |
Both runs also passed all four of PageSpeed’s Agentic Browsing checks, which look at whether AI assistants and browsing agents can read and use the page. These are lab scores from one run each; PageSpeed scores move a few points between runs, and real visitor data takes about four weeks to catch up with a new site.
What RSEC gets out of it
- Pricing in one place. One monthly upload instead of spreadsheets customers had to download and search.
- Trade customers see their price instantly, without phoning or opening a workbook, while guests and retail customers never see trade pricing.
- Enquiries that match how RSEC sells, with a full product list attached, instead of a checkout nobody used.
- Fewer moving parts. One platform replaces the theme, WooCommerce and a long list of plugins, which means fewer updates and fewer things that can break.
- Their own control. Staff run products, pages, specials and account approvals themselves.
This is a real example of the custom web application development side of what we do, not just websites.
RSEC’s products also reach the installers who fit them. Icon Technical, a Cape Town security installer and a recognised installer of RSEC products, uses RSEC catalogue images, with RSEC’s permission, to show the real equipment behind each layer of its security systems. More of our security sector work is in our guide to website design for security companies, and the rest of our client work is on the portfolio.
Considering something similar?
If your prices live in spreadsheets, your checkout never takes orders, or you sell to trade and retail from one catalogue, the cost depends on the size of the catalogue, how pricing works and what has to move across from your current site. Our E-Commerce Website package is the starting point for a standard store, and a platform like RSEC’s is quoted on scope. Request a quote and we will tell you honestly which one you need.
Frequently Asked Questions
Is RSEC still a WordPress site?
No. Since 5 October 2026 rsec.co.za runs on a custom Laravel platform built by JWD, with a Filament admin dashboard. The old WordPress and WooCommerce site was retired.
Why did RSEC move away from WooCommerce?
Because RSEC quotes before it sells, and the WooCommerce checkout had never taken an order. Prices also lived only in monthly spreadsheets, not in the store. The new platform is built around enquiries and account-based pricing, which is how RSEC actually trades.
How does a business show trade prices to installers and retail prices to the public?
By tying prices to approved accounts. On RSEC, guests see no prices, approved retail customers see retail, and approved trade customers see trade plus suggested retail. Staff decide which type each account gets, and one rule in the platform controls every price on the site.
How do monthly price lists get onto the website?
Staff upload the Excel workbook in the admin and press one button. The platform matches each product code to its product and remembers every match, so the next month’s list updates prices automatically and only new codes need checking.
Did RSEC lose Google rankings or customer accounts in the move?
The move was planned to avoid both. Old product, category and page addresses still work, analytics and Search Console carried over, and 543 existing accounts moved across with their existing passwords. All 956 sitemap pages were checked on launch day with no failures.
How much does a custom platform like this cost?
It depends on catalogue size, how pricing works and how much has to migrate from the old site. A standard store starts with our E-Commerce Website package; a custom platform is quoted on scope once we understand the business.
Why do trusted brand names matter so much in security equipment?
Because a failed camera or alarm has real consequences for someone’s safety or property. Buyers are cautious, so recognised brands such as AJAX, Centurion, Hikvision and Paradox reduce the perceived risk, and brand pages and brand filters help buyers find them quickly.