
2026 · End-to-end design & development · Xpandex
SITOLDOS
Awning and pergola installer in Madrid, built for local SEO
- WordPress
- PHP
- JSON-LD
- GitHub Actions
- Theme
- Custom, no parent
- Focus
- Local SEO
- Deploys
- CI/CD via PR
Inside the site
Screenshots of the live site, at 1440px and 375px.

Desktop · 1440px

Mobile · 375px

Desktop · 1440px

Mobile · 375px

Desktop · 1440px

Mobile · 375px

Desktop · 1440px

Mobile · 375px
Context
An installer of awnings, pergolas and shade structures working the Madrid metro area with an in-house team. The business turns on two things: showing up when someone searches “awnings” plus their neighbourhood, and getting the quote form filled in.
The sector is visually impoverished: supplier catalogues, low-resolution photos and sites that look like 2011. There was room to build something that didn’t.
Approach
- Editorial treatment over real work. A large serif headline over photography of the company’s own installations, not catalogue stock. The brand red is used as a punctual accent, never as a background.
- Quote form in the hero, visible without scrolling and next to the photo. In this business the conversion is asking for a price, so burying it three screens down makes no sense.
- Local SEO done properly: local business schema with service area, headings per product type, and separate pages per service rather than one long page.
- Custom theme with no parent and no page builder. No inheriting CSS from a commercial theme that updates on its own schedule. The design system lives in the repo.
- Protected branch with PR review — changes reach production when someone has looked at them, not when someone pushes.
What I built
- Bespoke WordPress theme, no parent, no builder
- In-house design system: editorial typography, palette and vertical rhythm
- Quote form embedded in the hero and on every service page
- Local SEO: JSON-LD schemas, sitemap and per-service structure
- Project gallery with optimised, lazily loaded imagery
- Continuous deployment to Hostinger with a protected branch and documented rollback
Outcome
Live on its own domain. The promotion was made from the temporary working subdomain, and a fresh staging environment was stood up so the client can keep reviewing changes without touching the live site.
A note on this work
Built at Xpandex, where I run the full cycle: design, development, performance, accessibility, technical SEO and deployment. Installation photography supplied by the client.