HTML-first, schema-complete, AI-search-ready. Built to rank in Google and to be cited by ChatGPT, Perplexity, and Google AI.
A purpose-built, HTML-first, schema-complete local SEO website for an established Costa del Sol business typically lands in the EUR 4,000 to EUR 9,000 range for a 10-15 page site, depending on the number of location pages, the depth of the service pages, and the migration work from an existing site. The fixed quote includes the design, the build, the content, the schema, the AI-search layer, and the handover.
Anything cheaper is usually WordPress plus a template, which will not rank the same way. Anything more expensive is usually an agency overhead that does not change the output. I do the work end to end as a solo operator, which keeps the cost honest.
Not always. If your current site is fast, mobile-friendly, and has clean schema, a rebuild is wasted spend. If it is on a slow CMS, has no schema, and reads like a 2018 brochure, the rebuild pays for itself inside six months. I do an honest audit first, then tell you what to fix versus what to rebuild. No upsell.
When a rebuild is the right call, I write the site in HTML-first, schema-complete, AI-search-ready code. No WordPress bloat, no plugin pile-up, no JavaScript-rendered text that the crawlers cannot read. The site you launch is the site the search engines and the AI assistants actually see.
An SEO website is built to be read by search engines and AI assistants, not just by humans. That means clean HTML, fast page speed, mobile-first design, structured data on every page, location-specific content, internal links that match the silo structure, and copy that answers the questions real customers actually search for. A 'normal' website is built to look good in a browser and is often unreadable to anything else.
The most expensive websites I am asked to replace are the ones that look great in a browser and return blank pages to the crawlers because the content is rendered in JavaScript. The fix is a rebuild, not a patch.
Three things. First, structured data on every page: ProfessionalService, WebPage, Place on location pages, and FAQPage on commercial pages. Second, content that answers the specific questions your customers ask, in the order they ask them, with the supporting data the assistants look for. Third, a clean internal link structure that signals each page as the canonical answer for its target query.
Without those three layers, ChatGPT and Perplexity will not cite you, no matter how good the design is. I build all three into the site from day one.
Strip the build to essentials. No CMS, no plugin pile-up, no JavaScript-rendered text. HTML-first code, a flat file structure, a single design system, a 4-week build cycle from brief to launch. The site I launch on week four is the same site the search engines see on day one.
The fastest launch is not the cheapest. A 2-week rush on a WordPress template is a 6-month rebuild waiting to happen. The 4-week HTML-first build is the right speed for an established local business.
Match it to your customers. If 80% of your customers search in English, lead in English. If 80% search in Spanish, lead in Spanish. If it is a real 50/50 split, build a bilingual site with hreflang tags, a clear language switcher, and a separate URL structure for each language. Avoid machine-translated content. The assistants can spot it, and the customers spot it faster.
For Costa del Sol, the high-intent expat towns (Fuengirola, Mijas, San Pedro, parts of Marbella) are English-first. The high-intent Spanish towns (Malaga city, parts of Estepona, Benalmadena) are Spanish-first. The page language should match the page's target query.
HTML-first means the page's content is in the HTML, not in JavaScript that runs after the page loads. Search engines and AI assistants read the HTML first. JavaScript-rendered content is a second-class citizen; the crawlers see it, but less reliably, and the assistants often ignore it. HTML-first sites are faster, more reliable to crawl, and easier to update.
Most modern web design ignores this because the tools are built around JavaScript. The trade-off is a pretty site that is half-invisible to the systems that drive traffic. I do HTML-first because the goal is to be found, not to be impressive in a portfolio.
Three rules. First, a .com beats a .es for international or expat-facing businesses. Second, a domain that matches your brand beats a domain stuffed with keywords. Third, an exact-match domain that has been used before can carry a Google penalty; check the history before you buy. The domain is a long-term asset, not a quick SEO trick.
If you are an established business, the right domain is the one you already have, even if it is not perfect. Domain authority compounds over years. A new keyword domain starts from zero.
A homepage, an about page, a contact page, a services section (one page per service), a locations section (one page per town you serve), a blog index, and a free-audit landing page. For a Costa del Sol business serving the standard 9-town cluster, that is roughly 25-30 pages, each with unique content, unique schema, and a clear internal link target.
More pages is not better. The right 25 well-built pages beat 100 thin ones. The full page inventory for a Costa del Sol local SEO build is in the build spec; the audit confirms which subset your business actually needs.
Three rules. First, keep the URL structure the same where possible; if you have to change URLs, set up 301 redirects from the old to the new, one per old URL. Second, migrate the structured data on day one, not as a follow-up. Third, keep the old site live in a maintenance state for 90 days after the launch, with a single page pointing at the new site, in case anything needs to roll back.
Most ranking drops after a migration are caused by missed 301 redirects, missing structured data, or a sitemap that was not updated. I handle the migration as part of the website build, with a 30-day post-launch check to confirm the rankings are stable.
I build websites for established local businesses across the Costa del Sol (Marbella, Estepona, Puerto Banus, San Pedro de Alcantara, Mijas, Fuengirola, Benalmadena, Torremolinos, Malaga) plus international clients in the UK, Ireland, the US, and the UAE. Reply within 24 hours.
Pick the option that fits. I read every message and reply within 24 hours, every working day.
A purpose-built, HTML-first, schema-complete local SEO website for an established Costa del Sol business typically lands in the EUR 4,000 to EUR 9,000 range for a 10-15 page site. The fixed quote includes the design, the build, the content, the schema, the AI-search layer, and the handover. Anything cheaper is usually WordPress plus a template, which will not rank the same way.
Not always. If your current site is fast, mobile-friendly, and has clean schema, a rebuild is wasted spend. If it is on a slow CMS with no schema, the rebuild pays for itself inside six months. I do an honest audit first, then tell you what to fix versus what to rebuild. No upsell.
An SEO website is built to be read by search engines and AI assistants, not just by humans. That means clean HTML, fast page speed, mobile-first design, structured data on every page, location-specific content, internal links that match the silo structure, and copy that answers the questions real customers actually search for. A 'normal' website is built to look good in a browser and is often unreadable to anything else.
Three things. Structured data on every page (ProfessionalService, WebPage, Place on location pages, FAQPage on commercial pages). Content that answers the specific questions your customers ask, in the order they ask them. A clean internal link structure that signals each page as the canonical answer for its target query. Without those three, the assistants will not cite you, no matter how good the design is.
Strip the build to essentials. No CMS, no plugin pile-up, no JavaScript-rendered text. HTML-first code, a flat file structure, a single design system, a 4-week build cycle from brief to launch. The site I launch on week four is the same site the search engines see on day one.
Match it to your customers. English-first for the high-intent expat towns (Fuengirola, Mijas, San Pedro, parts of Marbella). Spanish-first for the Spanish-dominant towns (Malaga city, parts of Estepona, Benalmadena). For a real 50/50 split, build a bilingual site with hreflang tags, a clear language switcher, and a separate URL structure for each language. Avoid machine-translated content.
HTML-first means the page's content is in the HTML, not in JavaScript that runs after the page loads. Search engines and AI assistants read the HTML first. JavaScript-rendered content is a second-class citizen. HTML-first sites are faster, more reliable to crawl, and easier to update. I do HTML-first because the goal is to be found, not to be impressive in a portfolio.
Three rules. A .com beats a .es for international or expat-facing businesses. A domain that matches your brand beats a domain stuffed with keywords. An exact-match domain that has been used before can carry a Google penalty; check the history before you buy. If you are an established business, the right domain is the one you already have, even if it is not perfect. Domain authority compounds over years.
A homepage, an about page, a contact page, a services section (one page per service), a locations section (one page per town you serve), a blog index, and a free-audit landing page. For a Costa del Sol business serving the standard 9-town cluster, that is roughly 25-30 pages, each with unique content, unique schema, and a clear internal link target. More pages is not better; the right 25 well-built pages beat 100 thin ones.
Keep the URL structure the same where possible. If you have to change URLs, set up 301 redirects from old to new, one per old URL. Migrate the structured data on day one, not as a follow-up. Keep the old site live in a maintenance state for 90 days after the launch, with a single page pointing at the new site, in case anything needs to roll back. Most ranking drops after a migration are caused by missed 301 redirects, missing structured data, or a sitemap that was not updated.