{
  "report": "https://handsomelocal.com/research/trade-website-features/",
  "site": "https://handsomelocal.com",
  "publisher": "Handsome Local",
  "licence": "Quote with attribution to Handsome Local and a link to the report. Screenshots are not part of this dataset.",
  "notes": [
    "Counts are of tags set by hand from a 1,440 px desktop screenshot and the page hints recorded at capture.",
    "A share is a whole-number percentage of its group and is null when the group is under 10.",
    "Platform \"unknown\" is excluded from the platform shares and reported as its own count.",
    "The sample is the editor's hand-picked gallery, not a sample of trade websites in general."
  ],
  "evidence": {
    "style": "observed",
    "colour": "observed",
    "features": "observed",
    "region": "observed",
    "platform": "inferred",
    "typeface": "inferred",
    "tech": "inferred"
  },
  "definitions": {
    "click-to-call": "The phone number is a tel: link or styled as a button, so a tap on a phone dials it.",
    "phone-in-header": "A phone number sits in the header or a top bar on every page.",
    "sticky-cta": "A call, quote or book button stays fixed on screen while the page scrolls.",
    "quote-form": "A quote or enquiry form on the home page, or one click away behind a visible link.",
    "online-booking": "A booking or scheduling widget, or a book online flow.",
    "live-chat": "A chat bubble is visible, or the page loads a chat script.",
    "reviews-widget": "An embedded third-party review feed, such as Google, Trustpilot, Checkatrade or Yelp.",
    "review-count": "A number of reviews, or an aggregate rating with a count, printed on the page.",
    "accreditation-badges": "Legible trade body or scheme logos: Gas Safe, NICEIC, FMB, TrustMark, BBB, Angi and the like.",
    "licence-number": "An actual licence, registration or company number printed on the page.",
    "before-and-after": "Paired before and after photos of the firm's own work.",
    "project-gallery": "A gallery or grid of the firm's own jobs, three or more images.",
    "service-area-map": "A map or list of the towns and postcodes covered.",
    "team-photos": "Photos of the actual staff, named or not.",
    "van-photo": "The firm's own liveried van or truck in a photo.",
    "prices-shown": "Prices, call-out fees or price ranges printed on the page.",
    "emergency-line": "A 24-hour or emergency number called out separately from the main number."
  },
  "generated": "2026-10-15",
  "data_cut": "2026-09-28",
  "sample": {
    "n": 117,
    "byTrade": [
      {
        "trade": "plumbers",
        "count": 21
      },
      {
        "trade": "electricians",
        "count": 16
      },
      {
        "trade": "roofers",
        "count": 13
      },
      {
        "trade": "construction",
        "count": 11
      },
      {
        "trade": "hvac",
        "count": 25
      },
      {
        "trade": "landscapers",
        "count": 14
      },
      {
        "trade": "handyman",
        "count": 2
      },
      {
        "trade": "cleaners",
        "count": 3
      },
      {
        "trade": "pest-control",
        "count": 12
      }
    ],
    "byRegion": [
      {
        "region": "uk",
        "count": 35
      },
      {
        "region": "us",
        "count": 82
      }
    ],
    "captureFrom": "2026-09-07",
    "captureTo": "2026-09-28",
    "dataCut": "2026-09-28",
    "credited": 47,
    "ownBuilds": 5
  },
  "features": [
    {
      "term": "click-to-call",
      "count": 114,
      "share": 97
    },
    {
      "term": "phone-in-header",
      "count": 104,
      "share": 89
    },
    {
      "term": "quote-form",
      "count": 64,
      "share": 55
    },
    {
      "term": "review-count",
      "count": 62,
      "share": 53
    },
    {
      "term": "accreditation-badges",
      "count": 60,
      "share": 51
    },
    {
      "term": "service-area-map",
      "count": 55,
      "share": 47
    },
    {
      "term": "licence-number",
      "count": 51,
      "share": 44
    },
    {
      "term": "team-photos",
      "count": 49,
      "share": 42
    },
    {
      "term": "van-photo",
      "count": 48,
      "share": 41
    },
    {
      "term": "project-gallery",
      "count": 40,
      "share": 34
    },
    {
      "term": "online-booking",
      "count": 35,
      "share": 30
    },
    {
      "term": "reviews-widget",
      "count": 35,
      "share": 30
    },
    {
      "term": "emergency-line",
      "count": 31,
      "share": 26
    },
    {
      "term": "live-chat",
      "count": 19,
      "share": 16
    },
    {
      "term": "prices-shown",
      "count": 19,
      "share": 16
    },
    {
      "term": "sticky-cta",
      "count": 10,
      "share": 9
    },
    {
      "term": "before-and-after",
      "count": 5,
      "share": 4
    }
  ],
  "features_by_region": [
    {
      "group": "uk",
      "n": 35,
      "terms": [
        {
          "term": "click-to-call",
          "count": 34,
          "share": 97
        },
        {
          "term": "phone-in-header",
          "count": 31,
          "share": 89
        },
        {
          "term": "quote-form",
          "count": 22,
          "share": 63
        },
        {
          "term": "review-count",
          "count": 22,
          "share": 63
        },
        {
          "term": "accreditation-badges",
          "count": 21,
          "share": 60
        },
        {
          "term": "service-area-map",
          "count": 21,
          "share": 60
        },
        {
          "term": "team-photos",
          "count": 15,
          "share": 43
        },
        {
          "term": "project-gallery",
          "count": 13,
          "share": 37
        },
        {
          "term": "licence-number",
          "count": 12,
          "share": 34
        },
        {
          "term": "van-photo",
          "count": 12,
          "share": 34
        },
        {
          "term": "reviews-widget",
          "count": 10,
          "share": 29
        },
        {
          "term": "prices-shown",
          "count": 8,
          "share": 23
        },
        {
          "term": "emergency-line",
          "count": 7,
          "share": 20
        },
        {
          "term": "live-chat",
          "count": 6,
          "share": 17
        },
        {
          "term": "sticky-cta",
          "count": 5,
          "share": 14
        },
        {
          "term": "online-booking",
          "count": 4,
          "share": 11
        }
      ]
    },
    {
      "group": "us",
      "n": 82,
      "terms": [
        {
          "term": "click-to-call",
          "count": 80,
          "share": 98
        },
        {
          "term": "phone-in-header",
          "count": 73,
          "share": 89
        },
        {
          "term": "quote-form",
          "count": 42,
          "share": 51
        },
        {
          "term": "review-count",
          "count": 40,
          "share": 49
        },
        {
          "term": "accreditation-badges",
          "count": 39,
          "share": 48
        },
        {
          "term": "licence-number",
          "count": 39,
          "share": 48
        },
        {
          "term": "van-photo",
          "count": 36,
          "share": 44
        },
        {
          "term": "service-area-map",
          "count": 34,
          "share": 41
        },
        {
          "term": "team-photos",
          "count": 34,
          "share": 41
        },
        {
          "term": "online-booking",
          "count": 31,
          "share": 38
        },
        {
          "term": "project-gallery",
          "count": 27,
          "share": 33
        },
        {
          "term": "reviews-widget",
          "count": 25,
          "share": 30
        },
        {
          "term": "emergency-line",
          "count": 24,
          "share": 29
        },
        {
          "term": "live-chat",
          "count": 13,
          "share": 16
        },
        {
          "term": "prices-shown",
          "count": 11,
          "share": 13
        },
        {
          "term": "before-and-after",
          "count": 5,
          "share": 6
        },
        {
          "term": "sticky-cta",
          "count": 5,
          "share": 6
        }
      ]
    }
  ],
  "features_by_trade": [
    {
      "group": "plumbers",
      "n": 21,
      "terms": [
        {
          "term": "click-to-call",
          "count": 21,
          "share": 100
        },
        {
          "term": "phone-in-header",
          "count": 21,
          "share": 100
        },
        {
          "term": "van-photo",
          "count": 16,
          "share": 76
        },
        {
          "term": "online-booking",
          "count": 13,
          "share": 62
        },
        {
          "term": "quote-form",
          "count": 12,
          "share": 57
        },
        {
          "term": "review-count",
          "count": 12,
          "share": 57
        },
        {
          "term": "reviews-widget",
          "count": 10,
          "share": 48
        },
        {
          "term": "team-photos",
          "count": 10,
          "share": 48
        },
        {
          "term": "accreditation-badges",
          "count": 9,
          "share": 43
        },
        {
          "term": "licence-number",
          "count": 9,
          "share": 43
        },
        {
          "term": "emergency-line",
          "count": 8,
          "share": 38
        },
        {
          "term": "service-area-map",
          "count": 7,
          "share": 33
        },
        {
          "term": "live-chat",
          "count": 5,
          "share": 24
        },
        {
          "term": "prices-shown",
          "count": 3,
          "share": 14
        },
        {
          "term": "sticky-cta",
          "count": 3,
          "share": 14
        },
        {
          "term": "project-gallery",
          "count": 2,
          "share": 10
        }
      ]
    },
    {
      "group": "electricians",
      "n": 16,
      "terms": [
        {
          "term": "click-to-call",
          "count": 15,
          "share": 94
        },
        {
          "term": "phone-in-header",
          "count": 13,
          "share": 81
        },
        {
          "term": "accreditation-badges",
          "count": 11,
          "share": 69
        },
        {
          "term": "licence-number",
          "count": 10,
          "share": 63
        },
        {
          "term": "service-area-map",
          "count": 10,
          "share": 63
        },
        {
          "term": "review-count",
          "count": 9,
          "share": 56
        },
        {
          "term": "team-photos",
          "count": 9,
          "share": 56
        },
        {
          "term": "van-photo",
          "count": 8,
          "share": 50
        },
        {
          "term": "emergency-line",
          "count": 6,
          "share": 38
        },
        {
          "term": "online-booking",
          "count": 6,
          "share": 38
        },
        {
          "term": "prices-shown",
          "count": 4,
          "share": 25
        },
        {
          "term": "quote-form",
          "count": 4,
          "share": 25
        },
        {
          "term": "reviews-widget",
          "count": 4,
          "share": 25
        },
        {
          "term": "project-gallery",
          "count": 3,
          "share": 19
        },
        {
          "term": "live-chat",
          "count": 1,
          "share": 6
        }
      ]
    },
    {
      "group": "roofers",
      "n": 13,
      "terms": [
        {
          "term": "click-to-call",
          "count": 13,
          "share": 100
        },
        {
          "term": "phone-in-header",
          "count": 12,
          "share": 92
        },
        {
          "term": "quote-form",
          "count": 12,
          "share": 92
        },
        {
          "term": "project-gallery",
          "count": 10,
          "share": 77
        },
        {
          "term": "review-count",
          "count": 7,
          "share": 54
        },
        {
          "term": "service-area-map",
          "count": 7,
          "share": 54
        },
        {
          "term": "accreditation-badges",
          "count": 6,
          "share": 46
        },
        {
          "term": "licence-number",
          "count": 6,
          "share": 46
        },
        {
          "term": "reviews-widget",
          "count": 3,
          "share": 23
        },
        {
          "term": "team-photos",
          "count": 3,
          "share": 23
        },
        {
          "term": "van-photo",
          "count": 3,
          "share": 23
        },
        {
          "term": "emergency-line",
          "count": 2,
          "share": 15
        },
        {
          "term": "live-chat",
          "count": 2,
          "share": 15
        },
        {
          "term": "before-and-after",
          "count": 1,
          "share": 8
        },
        {
          "term": "sticky-cta",
          "count": 1,
          "share": 8
        }
      ]
    },
    {
      "group": "construction",
      "n": 11,
      "terms": [
        {
          "term": "click-to-call",
          "count": 10,
          "share": 91
        },
        {
          "term": "phone-in-header",
          "count": 7,
          "share": 64
        },
        {
          "term": "project-gallery",
          "count": 7,
          "share": 64
        },
        {
          "term": "accreditation-badges",
          "count": 6,
          "share": 55
        },
        {
          "term": "licence-number",
          "count": 6,
          "share": 55
        },
        {
          "term": "review-count",
          "count": 5,
          "share": 45
        },
        {
          "term": "quote-form",
          "count": 4,
          "share": 36
        },
        {
          "term": "reviews-widget",
          "count": 3,
          "share": 27
        },
        {
          "term": "service-area-map",
          "count": 3,
          "share": 27
        },
        {
          "term": "live-chat",
          "count": 2,
          "share": 18
        },
        {
          "term": "before-and-after",
          "count": 1,
          "share": 9
        },
        {
          "term": "sticky-cta",
          "count": 1,
          "share": 9
        },
        {
          "term": "team-photos",
          "count": 1,
          "share": 9
        }
      ]
    },
    {
      "group": "hvac",
      "n": 25,
      "terms": [
        {
          "term": "click-to-call",
          "count": 25,
          "share": 100
        },
        {
          "term": "phone-in-header",
          "count": 23,
          "share": 92
        },
        {
          "term": "licence-number",
          "count": 16,
          "share": 64
        },
        {
          "term": "van-photo",
          "count": 16,
          "share": 64
        },
        {
          "term": "accreditation-badges",
          "count": 15,
          "share": 60
        },
        {
          "term": "team-photos",
          "count": 13,
          "share": 52
        },
        {
          "term": "quote-form",
          "count": 12,
          "share": 48
        },
        {
          "term": "review-count",
          "count": 12,
          "share": 48
        },
        {
          "term": "service-area-map",
          "count": 12,
          "share": 48
        },
        {
          "term": "online-booking",
          "count": 11,
          "share": 44
        },
        {
          "term": "emergency-line",
          "count": 10,
          "share": 40
        },
        {
          "term": "prices-shown",
          "count": 7,
          "share": 28
        },
        {
          "term": "live-chat",
          "count": 5,
          "share": 20
        },
        {
          "term": "reviews-widget",
          "count": 5,
          "share": 20
        },
        {
          "term": "project-gallery",
          "count": 3,
          "share": 12
        },
        {
          "term": "sticky-cta",
          "count": 2,
          "share": 8
        }
      ]
    },
    {
      "group": "landscapers",
      "n": 14,
      "terms": [
        {
          "term": "click-to-call",
          "count": 14,
          "share": 100
        },
        {
          "term": "phone-in-header",
          "count": 12,
          "share": 86
        },
        {
          "term": "project-gallery",
          "count": 11,
          "share": 79
        },
        {
          "term": "quote-form",
          "count": 10,
          "share": 71
        },
        {
          "term": "service-area-map",
          "count": 5,
          "share": 36
        },
        {
          "term": "accreditation-badges",
          "count": 4,
          "share": 29
        },
        {
          "term": "review-count",
          "count": 4,
          "share": 29
        },
        {
          "term": "reviews-widget",
          "count": 4,
          "share": 29
        },
        {
          "term": "team-photos",
          "count": 4,
          "share": 29
        },
        {
          "term": "online-booking",
          "count": 2,
          "share": 14
        },
        {
          "term": "before-and-after",
          "count": 1,
          "share": 7
        }
      ]
    },
    {
      "group": "pest-control",
      "n": 12,
      "terms": [
        {
          "term": "phone-in-header",
          "count": 12,
          "share": 100
        },
        {
          "term": "click-to-call",
          "count": 11,
          "share": 92
        },
        {
          "term": "accreditation-badges",
          "count": 8,
          "share": 67
        },
        {
          "term": "review-count",
          "count": 8,
          "share": 67
        },
        {
          "term": "service-area-map",
          "count": 7,
          "share": 58
        },
        {
          "term": "quote-form",
          "count": 6,
          "share": 50
        },
        {
          "term": "team-photos",
          "count": 6,
          "share": 50
        },
        {
          "term": "emergency-line",
          "count": 5,
          "share": 42
        },
        {
          "term": "reviews-widget",
          "count": 5,
          "share": 42
        },
        {
          "term": "van-photo",
          "count": 4,
          "share": 33
        },
        {
          "term": "licence-number",
          "count": 3,
          "share": 25
        },
        {
          "term": "live-chat",
          "count": 3,
          "share": 25
        },
        {
          "term": "prices-shown",
          "count": 3,
          "share": 25
        },
        {
          "term": "online-booking",
          "count": 2,
          "share": 17
        },
        {
          "term": "before-and-after",
          "count": 1,
          "share": 8
        },
        {
          "term": "project-gallery",
          "count": 1,
          "share": 8
        },
        {
          "term": "sticky-cta",
          "count": 1,
          "share": 8
        }
      ]
    }
  ],
  "style": [
    {
      "term": "photographic",
      "count": 64,
      "share": 55
    },
    {
      "term": "bold",
      "count": 60,
      "share": 51
    },
    {
      "term": "corporate",
      "count": 42,
      "share": 36
    },
    {
      "term": "dark",
      "count": 17,
      "share": 15
    },
    {
      "term": "friendly",
      "count": 17,
      "share": 15
    },
    {
      "term": "minimal",
      "count": 11,
      "share": 9
    },
    {
      "term": "colourful",
      "count": 9,
      "share": 8
    },
    {
      "term": "illustrated",
      "count": 7,
      "share": 6
    },
    {
      "term": "typographic",
      "count": 3,
      "share": 3
    },
    {
      "term": "traditional",
      "count": 1,
      "share": 1
    }
  ],
  "colour": [
    {
      "term": "white",
      "count": 107,
      "share": 91
    },
    {
      "term": "blue",
      "count": 43,
      "share": 37
    },
    {
      "term": "red",
      "count": 32,
      "share": 27
    },
    {
      "term": "green",
      "count": 31,
      "share": 26
    },
    {
      "term": "yellow",
      "count": 31,
      "share": 26
    },
    {
      "term": "black",
      "count": 30,
      "share": 26
    },
    {
      "term": "navy",
      "count": 30,
      "share": 26
    },
    {
      "term": "orange",
      "count": 18,
      "share": 15
    },
    {
      "term": "grey",
      "count": 6,
      "share": 5
    },
    {
      "term": "teal",
      "count": 5,
      "share": 4
    },
    {
      "term": "beige",
      "count": 3,
      "share": 3
    },
    {
      "term": "purple",
      "count": 3,
      "share": 3
    },
    {
      "term": "brown",
      "count": 2,
      "share": 2
    },
    {
      "term": "pink",
      "count": 1,
      "share": 1
    }
  ],
  "platform": {
    "known": [
      {
        "term": "wordpress",
        "count": 70,
        "share": 64
      },
      {
        "term": "custom",
        "count": 14,
        "share": 13
      },
      {
        "term": "astro",
        "count": 10,
        "share": 9
      },
      {
        "term": "wix",
        "count": 6,
        "share": 6
      },
      {
        "term": "webflow",
        "count": 4,
        "share": 4
      },
      {
        "term": "squarespace",
        "count": 3,
        "share": 3
      },
      {
        "term": "duda",
        "count": 1,
        "share": 1
      },
      {
        "term": "framer",
        "count": 1,
        "share": 1
      }
    ],
    "knownN": 109,
    "unknown": 8
  },
  "platform_by_region": [
    {
      "group": "uk",
      "n": 33,
      "terms": [
        {
          "term": "wordpress",
          "count": 20,
          "share": 61
        },
        {
          "term": "astro",
          "count": 8,
          "share": 24
        },
        {
          "term": "custom",
          "count": 5,
          "share": 15
        }
      ]
    },
    {
      "group": "us",
      "n": 76,
      "terms": [
        {
          "term": "wordpress",
          "count": 50,
          "share": 66
        },
        {
          "term": "custom",
          "count": 9,
          "share": 12
        },
        {
          "term": "wix",
          "count": 6,
          "share": 8
        },
        {
          "term": "webflow",
          "count": 4,
          "share": 5
        },
        {
          "term": "squarespace",
          "count": 3,
          "share": 4
        },
        {
          "term": "astro",
          "count": 2,
          "share": 3
        },
        {
          "term": "duda",
          "count": 1,
          "share": 1
        },
        {
          "term": "framer",
          "count": 1,
          "share": 1
        }
      ]
    }
  ]
}