SEO Across All of Spain: Provinces, Expats, Premium Projects and a Profile Catalogue

A window company that works all over Spain needs to be found by someone in Teruel, a British owner on the Costa Blanca and an architect with a villa project, each with a different question. We built pages for each of them, kept every page useful on its own, and made the whole catalogue readable by search engines and AI assistants.

SEO Across All of Spain: Provinces, Expats, Premium Projects and a Profile Catalogue
View project:
estimia.es
estimia.es
SEO Across All of Spain: Provinces, Expats, Premium Projects and a Profile Catalogue - Province page

The Challenge

People look for windows by place: “ventanas Alicante”, “windows Costa del Sol”, “carpintería de aluminio cerca de mí”. A company that works in every province needs a page for each of those searches in Spanish, English and Russian - without hundreds of copies of one template with the city name swapped, which search engines treat as thin content.

Not all visitors want the same thing, either. A family in a cold inland province is worried about heating. A foreign owner of a coastal villa is worried about being overcharged in a language they don’t speak. An architect wants to send drawings, not use a calculator.

Our Estimia and Ventanas Fraktal case studies introduce the province pages; this one shows what they are built from, the separate routes for different visitors, and how the sites are made readable for AI assistants.

A Province Page Built from Data

Estimia has a page for each of Spain’s 52 provinces in each of its three languages. Each page is put together from several separate sources, so two provinces end up with different content, not just a different name:

  • A climate text written for that province in each language: Almería is about sun and solar-control glass, Teruel about frost and triple glazing.
  • A monthly chart of temperatures and rainfall (ERA5 averages for 2014–2023) is drawn at build time as a plain SVG, and next to it sits the building code: the province’s CTE climate zone and the maximum U-value and air permeability the code allows for windows there. The same figures go into Dataset markup, so Google can read them exactly as the page shows them.
  • Profiles are picked for the climate: four PVC and four aluminium systems for each climate type, with low-U profiles for the mountains and solar-control options for the south. Each links to its page in the catalogue.
  • Articles are picked for the climate too: cold provinces get articles on insulation and condensation, hot ones on overheating and sun protection, the wet north on humidity and wind.
  • The English version of the page adds price estimates for the province. The factory price doesn’t depend on the province, so the page doesn’t pretend it does. The installed price does: delivery distance, local labour, the glass the climate zone requires, corrosion-proof hardware near the sea. The page shows three common items estimated from those factors and how far they are from the national average.
  • The EU energy rules for that province, a FAQ with structured data, and links to six nearby provinces.

Pages for Foreign Homeowners

Many foreign owners search for “Costa Blanca” or “Marbella”, not a province. Estimia has six of these coastal zones in English and Russian: Costa Blanca, Costa del Sol, Marbella, Costa Brava, Costa Cálida and Mallorca. They don’t copy the province page; they answer different worries: service in the visitor’s language, a fair price known before speaking to a seller, a project managed from abroad, and the profile brands they know from home. Each zone is tied to its province, so it shows that province’s recommended profiles, the installers working there (or an invitation to join where there are none yet), and a link to the full province page.

A Separate Route for Large Projects

Villas, new builds and commercial glazing don’t fit into a window calculator. They have their own page in all three languages, written for architects and developers. The visitor uploads the architect’s files - up to five PDF, DWG, DXF or image files of up to 20 MB each - and adds the province, the project type and a note. The request goes into the platform’s moderation queue as an order, with the files attached and stored privately, so the team reviews it and opens it to companies in that region the same way as any other request.

“Near Me” Searches

Searches like “carpintería de PVC cerca de mí” are common in Spain. There are three indexable pages for them - PVC, aluminium and metal - each with a short explanation and a list of all provinces grouped by autonomous community, so both visitors and search engines get to the right province in one click.

The “Companies near me” button calls a small edge function that guesses the visitor’s province from the city or region of their connection and redirects to that province’s page. Since estimia.es is now served through its own proxy, so that it stays reachable from Spain, the function sees the proxy’s location instead of the visitor’s. For now the button always opens the general “near me” page, and the province list below it is what actually takes visitors to their province.

A Profile Catalogue You Can Compare

The catalogue holds 79 profile systems from six manufacturers - windows, sliding systems and doors - each with its own page in three languages. The comparison page puts all 34 window profiles in one table: U-value, profile depth, chambers, glass thickness and sound insulation. It is sorted by U-value by default; any column can be sorted with a click, and the table can be filtered by brand, by material or by typing a name.

The table is already in the HTML, so search engines see every row, and the filters only hide or reorder rows in the browser. The same catalogue is published as JSON files at build time, and the platform’s calculator reads profile descriptions, specifications and photos from them. The website and the calculator always describe a profile the same way.

Readable by AI Assistants

Estimia publishes an llms.txt file: a short description of the platform, notes on how to present it (an independent platform, prices as 2026 estimates, not quotes), and a map of the main pages, tools, guides and every article. A second file, llms-full.txt, contains the full text of all 48 English articles. Every article in every language also has a clean markdown copy at the same address ending in .md. Both files are built from the blog itself, so they update with every new article.

The Same Approach on Ventanas Fraktal

Ventanas Fraktal, a window company, has its own region pages for all 52 provinces in Russian, English and Spanish, with a URL in each language (/ru/okna-alicante/, /en/windows-alicante/, /es/ventanas-alicante/) linked as language versions of one page. In Russian, province names are put in the correct grammatical case in headings and text, so they read naturally.

Each province has four FAQ questions of its own in each language: delivery to the towns of that province, measurement and installation there, which windows suit its climate, and who gives which warranty. That is more than 600 answers, all published with FAQ structured data. Each page also lists the towns where the company measures, recommends profiles for the region and names the regional government that runs the energy grants.

The offer block sits over a full-width map of the province (Leaflet with OpenStreetMap). The points on the map are currently generated sample data, placed inside each province and the same on every build; the component takes a plain list of coordinates, brand and year, so it can show the company’s real installations once they are entered.

The blog is written in the CMS and pulled in when the site is built. Its images are downloaded before the build and optimised with the rest of the site.

Tech Stack

- Sites: Astro (static build), Tailwind CSS, Svelte islands
- Province data: per-province climate texts, ERA5 climate averages, CTE DB-HE1 limits
- Charts and maps: SVG generated at build time; Leaflet + OpenStreetMap on Fraktal
- Structured data: FAQPage, BreadcrumbList, Dataset
- Edge: Cloudflare Pages Functions ("near me" redirect)
- Premium leads: Laravel API into the platform moderation queue, private file storage
- Catalogue: 79 profiles, static JSON API used by the calculator
- AI readability: llms.txt, llms-full.txt, markdown copies of every article
- Content: blog from the CMS with images synced before build (Fraktal)
- Languages: Spanish, English, Russian

Result

Estimia has a page for every province in three languages, built from that province’s own climate figures, building-code limits and recommendations; pages for the coasts where foreign owners buy; a route that brings architects’ plans straight into the platform; “near me” pages that lead to the right province; a catalogue of 79 profiles compared in one table; and a knowledge base that AI assistants can read in plain text. Ventanas Fraktal covers the same 52 provinces with FAQs written for each one. Every page is static HTML, fast and fully visible to search engines.