Skip to content

Search & Social Sharing

Every public page on Sailboat Racing is built to be found by search engines and to look good when shared on social media — so your club's results help bring people to your site.

Search engine optimisation

Each public page automatically includes the metadata search engines rely on:

  • Descriptive titles and descriptions - unique to each page (club, series, race, sailor, class, boat).
  • Canonical URLs - tell search engines the preferred address for a page, avoiding duplicate-content penalties when filters are applied.
  • Structured data (schema.org) - machine-readable markup so results can appear as rich results in search:
    • Clubs are marked up as a SportsOrganization (including address and location when set).
    • Series, divisions, and races are marked up as SportsEvent — tagged as the sport "Sailing", and including the club as the event venue (Place) when the club has an address or map location set.
    • Sailor profiles are marked up as a Person.
    • Listings (clubs, series, sailors, classes, boats) include ItemList and BreadcrumbList data.
  • Descriptive image alt text - cover photos and homepage screenshots carry alt text, helping image search and screen-reader accessibility.

How year and category filters are indexed

Result pages can be filtered by year and category. To keep search results clean:

  • Past years are indexed individually - e.g. last season's series results remain discoverable at their own address (?year=2024).
  • The current year uses the clean address - no ?year= is added, since it is the default view.
  • Category filters are not indexed separately - they always point search engines back to the unfiltered page.
  • Empty filtered views are not indexed - if a year or category filter matches no results, that page is marked noindex so search engines don't index a blank view. A sailor, class, or boat page visited at its plain address with no activity this season instead shows its all-time record (clearly labelled as all-time totals), so the page stays useful and indexable.

Social sharing previews

When a page is shared on platforms like Facebook, X, LinkedIn, or WhatsApp, it shows a rich preview card (Open Graph and Twitter Card metadata):

  • Title and description matching the page.
  • Preview image - your club's cover photo is used on club-related pages. Pages without a cover (and the homepage) use a branded Sailboat Racing image.

!!! note "Cover image format" Club cover images are served in modern WebP format. Facebook and X render these previews correctly; LinkedIn may not always show the cover image. The branded fallback image always displays.

Sitemap and robots

  • A sitemap at https://sailboat.racing/sitemap.xml lists every public page — each club and all of its series, races, sailors, classes, and boats — so search engines can discover them. It is organised as a sitemap index with one main child sitemap plus one child sitemap per club. The main sitemap covers the site-wide pages (home, club directory, map, features, about, and privacy policy) and every club's home page; the per-club sitemaps carry that club's deeper pages. Race and series entries carry a lastmod date (the race date, or a series' most recent race) so search engines can prioritise re-crawling pages that have changed.
  • Only the sub-pages a club actually has data for are submitted. A club's home page is always listed, but its Results, Sailors, Classes, Boats, Calendar, Statistics, and Handicap lists pages appear in the sitemap only once there is something on them. The Calendar and Statistics pages are tied to the club having races.
  • robots.txt at https://sailboat.racing/robots.txt welcomes search engines and points them at the sitemap. The embeddable TV widgets are excluded from indexing, since they are display tools rather than destinations.
  • llms.txt at https://sailboat.racing/llms.txt is a short, plain-text map of the site (in the emerging llmstxt.org convention) aimed at AI tools rather than search engines. It lists only the top-level entry points — home, club directory, map, features, about, privacy policy, the Resources guides, and the Compare pages (Sailboat Racing vs Sailwave vs HalSail) — so a tool reading it gets a clean overview without crawling. The deep per-club, per-sailor, and per-series pages are left to the sitemap, which keeps this file small and always current.

You don't need to configure any of this — it is generated automatically from your club's data.

Clubs with no published results

Every club in the directory has a full set of pages from the moment it is listed, whether or not it has published anything yet. Two rules stop those empty pages competing with the club's own home page in search results:

  • Empty Statistics and Calendar pages are marked noindex. A Statistics page with no series and no races, or a Calendar with nothing scheduled, is chrome around no content. Search engines are told to skip them, so a search for the club's name reaches the club home page instead. Both pages become indexable automatically as soon as the club publishes races.
  • An unclaimed club's home page describes the claim, not results it does not have. Clubs that have set their own description always keep it. For an unclaimed club with nothing published and no description, the search snippet says the club has no results yet and invites a club officer to claim the page, rather than promising standings and sailor records that are not there. Once the club publishes results, or sets a description, the normal wording returns. The page itself carries a matching claim banner.

Page not found (404)

If someone follows a broken or out-of-date link — an address that doesn't exist, or one pointing at a club, series, race, or sailor that has been removed — they see a friendly Page not found page inside the normal site layout, complete with the site header, footer, and navigation, rather than a blank error. It offers two ways to carry on: Register your club and Browse active clubs. The page returns the correct 404 status and is marked noindex so search engines don't index dead addresses.