The Client
Red Chillies Interiors is a design-and-build company in Al Quoz, Dubai, with twenty years of projects behind it. Unlike most interior firms in the city, it owns its joinery workshop and employs a production team of more than forty craftsmen, so the kitchens, wardrobes and panelling it designs are made in-house rather than placed with a factory.
Its buyers fall into three groups: villa and apartment owners across Dubai, Abu Dhabi and Sharjah, business owners fitting out offices, clinics, restaurants and retail units, and, since this project, contractors and design studios that need a joinery factory they can rely on.
The Challenge
The previous WordPress site had grown over the years into something that could not be trusted as a source of truth, let alone rank: a flat services list that mentioned the workshop only in passing, duplicate homepage copies that stayed indexable, and project content that needed a full audit against the client's own records before it could go live again.
The client then handed us their real service list: seven categories and around seventy-five sub-services, with overlaps such as bespoke furniture appearing under both joinery and custom furniture. Turning that into seventy-five thin pages would have produced exactly the kind of site Google ignores.
They also wanted to keep their Hostinger hosting, keep every old URL working, and go live quickly. Ranking was the priority, and nothing could claim a price, a timeline or a credential the client had not verified.
Our Approach to Website Development for an Interior Design Company
We mapped the client's taxonomy to seven service hubs and 53 supporting pages before writing a line of code, so every page has one search intent and one place in the navigation. Duplicates were merged and documented, and sub-services too small to stand alone became sections of their parent hub rather than separate URLs.
That map lives in a single file and drives the mega menu, the footer, the services index, the breadcrumbs and the structured data. Change the map and the whole site rebuilds consistently, which is why a 99-page site has no orphan pages.
Buyer journeys follow how people actually search. A homeowner searching for custom wardrobes lands on a wardrobe page, sees the joinery hub it belongs to, and can move to the area page for their community. A procurement manager searching for a fit-out contractor finds a page written for prequalification, with licence, ISO scope and developer registrations stated plainly.
What We Built
A two-pane mega menu with icons
Seven categories sit on an icon rail; hovering any of them switches the right-hand pane to that category's pages and a photograph. A short hover delay stops the pane flicking back to the first category as the cursor crosses the gap.
Seven service hubs and 53 service pages
Every hub and page follows the same structure: a photographic header, a plain-English answer to why the client is different, verified figures, a grid of what is included, a step-by-step process, related projects, a specification section and a FAQ. Each page carries at least 1,200 words of original copy written for its own search intent.
FAQs that double as structured data
The FAQ on every service page is written as page content first. The build system reads those questions and answers and generates the FAQPage schema from them, so the markup can never say something the visitor cannot see. Process steps generate HowTo schema the same way.
Project pages rebuilt from verified material
Twenty-three projects were rebuilt with a facts panel, a short write-up, a tagged scope and a gallery, each checked against the client's photography so the portfolio can be sent to a procurement team without a caveat.
Enquiry routes on every page
A WhatsApp button, a tracked call button in the mobile header, a short form and direct numbers are on every page. The contact page says plainly that the team replies in working hours and will say if a job is not a fit.
What Made This Project Different
Three decisions set this build apart.
A rule that nothing unverified goes live
We wrote a checker that runs on every build. It fails the build if any page mentions a price, a square-foot rate, a percentage or a duration, if a title or meta description runs long, if a page has more than one H1, fewer than seven FAQs or fewer than 1,200 words, or if a link or image points at nothing. Thirteen plausible operational claims we could not verify were listed for the client to confirm rather than published.
Seven hubs instead of seventy-five pages
The merges were deliberate and documented, so the client can see why bespoke furniture lives in one place and why interior joinery is a section rather than a URL. Each hub is strong enough to rank on its own; each supporting page targets a term the hub does not.
A new audience for the workshop
During the build the client told us they also manufacture joinery for other contractors and design studios. We checked the Dubai search results, found only three firms courting trade work openly, and built a dedicated joinery subcontractor page wired into the hub, menu and homepage. That page targets a market the old site never addressed.
Problems We Solved Along the Way
Project content needed a full rebuild from source material
Years of edits had left photographs and descriptions on the old WordPress site out of step with which project they actually belonged to. Publishing them as-is risked putting the wrong project in front of a prospective client, so we rebuilt every project from the client's own image folders, verified the attribution against their records, and left out anything we could not confirm. The result is a portfolio the client can send to a procurement team without a caveat.
Sixty-five legacy URLs, including some that only differed by capital letters
The old site had blog posts, spare homepage copies, legacy project slugs with spaces and capitals in them, and WordPress leftovers such as feed and comment URLs. Dropping them would have thrown away whatever authority they held. We mapped all 65 to the best new page: blog posts to the matching service, old projects to new projects, the rest to the homepage. Two project URLs differed from the new ones only in letter case, and a case-insensitive rule sent them into a redirect loop. A guard that fires only on mixed-case requests fixed it, and every one of the 99 pages returned 200 on the live domain.
Hosting that did not support what the staging environment did
The site was staged on Vercel, where the YouTube Shorts feed on the homepage ran as a serverless function. Hostinger has no such thing. We ported the feed to a small PHP file with a six-hour cache, wrote the Apache rules by hand because Hostinger disallows rewrite maps, and guarded the HTTPS redirect against the CDN so it could not loop. The deploy itself runs over FTPS with the host's certificate pinned and a manifest that uploads only files that changed.
Going live without losing the old site
Rather than delete WordPress, we took a backup and moved the old files into a parked folder on the same server, blocked from the web. Anything missed on launch day was recoverable in minutes. Nothing was.
Built for Mobile
Every page is built for a phone first. The hero image is cropped so the stair fills a portrait screen, the mega menu becomes an accordion with the same seven icons, and phone numbers and WhatsApp are one tap away.
SEO Built In From Day One
Website design for an interior design company in Dubai only pays off if the pages can be crawled, understood and trusted. Technical and on-page work shipped with the build, not after it.
- Unique titles and meta descriptions on all 99 pages, checked for length on every build.
- Flat keyword URLs with four-level breadcrumbs, mirrored in BreadcrumbList schema.
- Service, OfferCatalog, HowTo, FAQPage and AggregateRating structured data, generated from page content.
- XML sitemap, robots.txt, canonical tags, a branded 404 and HTTP-to-HTTPS and www redirects matching the canonicals.
- One-year cache headers on images and fonts, lazy loading below the fold, and high fetch priority on the hero image.
- Compressed, correctly sized photography from the client's own projects.
- A noindex staging copy kept separate from the live domain, so test pages never reach Google.
Results
The site went live on 3 November 2026. These are the measured numbers at launch.
| Lighthouse, homepage | Performance | Accessibility | Best practices | SEO |
|---|---|---|---|---|
| Desktop | 100 | 98 | 100 | 92* |
| Mobile | 79 | 98 | 100 | 100 |
*The desktop SEO audit flagged robots.txt as unreachable from the test machine. The file is live and valid, so the real score is higher. Desktop LCP 0.5 s, CLS 0.01; mobile LCP 4.7 s on a throttled connection, which is the next thing being tuned.
- 99 pages indexable from day one, all returning 200 on the live domain.
- 65 legacy URLs redirected with 301s; no old page returns a 404.
- Around 152,000 words of original copy, every page over 1,200 words.
- Zero prices, timelines or unverified credentials published, by design.
Rankings and enquiries are still early, since the site only recently went live.










