a plumber's site in Parma: 53 pages, no images, 40 KB of CSS

web · 2026-11-10 · 6 min

gvclima.it went online a few days ago. It is the site of G.V. Srl, a plumbing, heating and air-conditioning firm on Via Strasburgo 18/A in Parma. It is not a portfolio: it is a working tool for a business that lives on phone calls.

what a plumber's site has to do

someone searching for a plumber in Parma has a problem right now: a leak, a boiler that has locked out, an air conditioner that stopped cooling. They do not want a "who we are" page written in the third person. The site has to answer three questions in a few seconds: what you do, where you work, how to call you.

so the phone number sits at the top, clickable, repeated in every section, with WhatsApp next to it. Everything else — services, prices, areas, guides — is for the person who does not have the problem yet, or is still deciding.

53 pages, one per intent

the site has 53 HTML pages: the home page, 17 service pages, 15 area pages, 14 guides, plus prices, quote request, contact, company and privacy. It is not one page that lists everything: it is one page for each thing someone searches for.

"plumber Parma" is not "drain unblocking Parma" and it is not "plumber Fidenza". A page that tries to answer all three wins none of them. Every service page has its own title, description, H1, questions and links to the towns where that service is actually done.

the 15 area pages follow the same logic: "plumber Collecchio" has a page, "plumber Fidenza" has another, and each one says what is actually different in that town — not the same text with the name swapped.

the technical choices

the site is generated by a Node script that writes static HTML files. No framework, no hydration, no database: 53 files, each one self-contained.

  • inline CSS: 40.5 KB inside every page, zero blocking requests.
  • inline JavaScript: 5.1 KB, only for the mobile menu and the questions.
  • self-hosted fonts: two woff2 files, no call to Google Fonts.
  • no images: the icons are 99 inline SVGs. The home page is 124 KB of HTML and nothing else.

the consequence is that the first pixel depends on a single request. There is no image to optimise, no font to download, no bundle to parse. For a site that has to load on a phone on 4G, inside a bathroom, that is the choice that matters.

what the markup says to search engines

every page carries its own structured data: the business is declared as Plumber, HVACBusiness and LocalBusiness at once, with address, coordinates, opening hours, phone and a service catalogue. Every service page has its Service node, every page has a BreadcrumbList, the home page has an FAQPage with 11 questions and the FAQ page has 42.

there is also a sitemap.xml, a robots.txt and an llms.txt that summarises the business for assistants that read the site. Not because Google uses it — it does not — but because answer engines do, and more searches go through them every month.

what I did not do, and what was wrong

three things, written here because a case study that only lists wins is useless.

  1. there are no Google reviews yet: the array is empty and the site shows nothing. When the first ones arrive, it fills itself.
  2. there are no photos of the work. A plumber sells trust, and a photo of a well-made installation is worth more than a hundred words. It needs real photos, not stock.
  3. until yesterday the canonical of every page pointed at the Firebase staging domain, not at gvclima.it. The site was live on the right domain but told Google to index the other one. Fixed in one line of configuration and rebuilt: canonical, sitemap, robots and Open Graph now all point at gvclima.it.

what to measure now

the site does not bring traffic on its own. The next three measurements are: Search Console, to see which queries it appears for; the Google Business Profile, for the calls that come from there; and the phone, to understand whether the site does anything.

if the calls have not changed in two months, the problem is not the site: it is that nobody sees it, and then the work is reviews, local citations and content, not design.