A basin mixer sold in four finishes may carry four manufacturer codes and appear on dozens of other websites with the same description. It often comes with a spec sheet, a fitting guide and a parts diagram, frequently as PDFs. Bathroom SEO is largely about deciding which of those pages and files should stand for the product in search, and then adding something the copies lack.

What follows applies Google’s documentation to how taps, showers, vanity units, baths and sanitaryware are sold online. Each Google rule links to its source, and my own opinions are marked as such.

Finishes that carry their own codes

Bathroom brassware is typically offered in chrome plus a handful of other finishes: brushed brass, matt black, brushed nickel, gunmetal. Each finish usually has its own manufacturer code, and often its own barcode. That makes finishes real variants, not cosmetic options.

Google’s URL guidance asks for each variant to have a distinct URL, either in the path or as a key=value parameter. Fragments are ignored for indexing, so a finish chosen after # does not exist as a separate page.

The variant documentation offers a single-page set-up and a multi-page one. With a single page, one canonical URL represents the group, and each finish must be preselectable through its own URL with the correct photo, price, stock and add-to-basket. With multiple pages, each finish has its own canonical and the full group is repeated in every page’s markup.

My preference for most taps is the single page. The one thing to get right is that a preselected finish shows that finish’s own code as visible text, because that code is often what the buyer typed.

In the markup, a finish maps to https://schema.org/color, to material, or to both. Give every variant its own sku or gtin, and give the group its own ID through productGroupID.

Product codes are search terms

Many installers, and some homeowners, search by code. They copy it from a showroom quote, a plumber’s list or an old fitting’s paperwork. A page that shows the code only inside a spec tab built by JavaScript is relying on Google to render that tab before it can match the search.

  • Put the code near the product name, in plain HTML.
  • When the buyer switches finish, update the visible code along with the photo.
  • Use the same code in sku when it is the code you sell under. Google’s merchant listing rules say a sku must not contain whitespace, so strip the spaces some manufacturers print.
  • Add the barcode as gtin when you have it.
  • Make sure your own site search finds products by code, including codes with spaces or hyphens removed. That is my advice rather than Google’s.

When dozens of shops share one description

Many bathroom products are sold by many retailers, most of them starting from the manufacturer’s text. Google’s documentation in my sources does not set a rule for this, so the following is advice. A page that repeats the same paragraph as every competitor gives Google little reason to choose it.

What helps is information the manufacturer copy tends to leave out:

  • the minimum water pressure in bar, and whether the product suits a combi boiler or a low-pressure system;
  • tap hole count, spout reach and projection, and whether a waste is included;
  • what else the buyer needs to order, such as a concealed valve, a bath waste or a fixing kit;
  • your own photos, especially of finishes that look different in daylight.

Spec sheets, fitting guides and drawings

These documents are part of how bathroom products are bought. Many sites publish each one as a PDF, and Google can index PDFs. A fitting guide can then outrank the product page for a code search.

Put the essential figures on the product page as HTML text, and link the PDFs from there. Dimensions, pressure range, connection sizes and valve type are worth stating in a table.

Two Google points from the canonical documentation are worth knowing:

  • When the same PDF is served from several URLs, a canonical can be sent in an HTTP header, which suits PDFs. Use an absolute URL.
  • Do not use robots.txt to deal with duplicates. Google may index a disallowed PDF address anyway, with none of its text.

Technical drawings need their own care. Google’s image guidance calls alt text the most important image metadata, so give a dimension drawing alt text with its key measurements. For drawings embedded as inline SVG, Google suggests a <title> element. Keep text-heavy drawings away from the main product image slot, since Google advises against them as the preferred image.

Widths, handing and suites

Vanity units come in a run of widths, often 500, 600 and 800 mm, each in several colours. Those map neatly to size and color in variesBy.

Handing does not. Shower baths, offset quadrant trays and L-shaped baths are sold in left-hand and right-hand versions, and Google’s list of variesBy values has nothing for that. My advice: do not force handing into size or colour. Either give each hand its own product page with a link to its pair, or keep one page and record the hand as a basket option with its own SKU, outside the variant markup.

Suites raise a different question. A toilet and basin pack sold as one item is a single product with one price, which can be marked up as such. A “build your own suite” page listing several separate products is closer to a category page. Google’s merchant listing rules say only single-product pages qualify, and an AggregateOffer is not accepted.

Filters that plumbers actually use

Bathroom categories filter by finish, tap holes, mounting (deck or wall), minimum pressure, width, valve type and waste type. Combined, these produce far more URLs than there are products. Google’s faceted navigation guide notes that crawling them can use a lot of server resources and slow the discovery of new URLs.

  • Promote a few combinations that match searches, for example wall-mounted basin taps, low-pressure shower valves or 600 mm vanity units. Give each one a real category page. This is my advice; base the choice on your own Search Console queries.
  • Block the remainder with robots.txt disallow rules for filter parameters, keeping products and one unfiltered listing crawlable, or keep filter state in a fragment.
  • Return a 404 at the URL itself for empty combinations, such as a three-hole deck-mounted bath filler in a finish you do not stock.
  • For path-based filters, keep the order fixed and stop duplicate filters appearing.

When a whole collection is withdrawn, Google’s URL guidance suggests noindex for an empty category, or a 404 if the category is gone for good. That advice covers categories, not individual products that are out of stock.

Showrooms and delivery details

Bathroom showrooms can add LocalBusiness markup to each store page, alongside Organization and BreadcrumbList, as Google’s ecommerce structured data overview recommends.

For merchant listings, set delivery and returns policies once at organisation level and override them only for exceptions, such as baths and shower trays sent on a pallet. Prices must be above zero, so quote-only bespoke items cannot appear in those results.

A bathroom SEO check in eight steps

  1. Search Google for three of your manufacturer codes, one per finish. Note whether your product page, your PDF or another retailer appears.
  2. Open a tap in a non-default finish through its own URL. Confirm the code, photo and price all change.
  3. Check in the Rich Results Test that every variant has its own sku or gtin.
  4. Compare your best-selling product’s description with the manufacturer’s. If they match, rewrite the opening and add fitting facts.
  5. Find every URL your most popular spec sheet is served from.
  6. Look at a handed shower bath. Does each hand have a distinct SKU, and does the markup avoid inventing a variesBy value?
  7. Apply tap-hole and finish filters together and see whether the result is crawlable.
  8. Request an impossible filter combination and confirm it returns a 404.

Three of the four bathroom product pages I tested with Lighthouse on 23 October 2026 passed every SEO check, and the fourth had links without descriptive text. A fifth page did not complete its test. That is less reassuring than it sounds. Lighthouse checks basics such as crawlable links, alt text, meta descriptions and robots.txt, and none of the problems above: copied manufacturer descriptions, finish codes, duplicate spec sheet PDFs or plumbing filters.

Bathroom pages also tend to carry heavy galleries and trade price scripts, covered in bathroom website performance. For the commercial side, see selling bathroom products online, and for planners and finish pickers, the bathroom configurator. If you would like this checked on your own site, see my ecommerce SEO audit, or for WooCommerce shops, WooCommerce structured data.

Sources

Google documentation, checked October 2026: