Original research · Updated October 31, 2026

The State of Small Business Websites in Bucks County & Philadelphia (2026)

We checked the public websites of local small businesses in four areas ourselves. Here is what we found, how we measured it, and the data.

If you run a plumbing company in Doylestown or a salon in Allentown, your website is often the first thing a customer opens after finding you on a map. We wanted to know how local small business websites hold up on the basics, so instead of quoting a national survey, we went and checked them.

This is an original study by Artol Web Studio in Yardley, PA. We built the sample from public OpenStreetMap listings, ran the same automated checks on every site, and publish only totals by trade and area. No business is named. Every figure on this page links to the part of the methodology that explains it, and the aggregate data is free to download.

Key findings

46%

of working homepages passed all six basics: HTTPS, a valid certificate, a mobile viewport tag, a page title, a meta description, and a contact form or click-to-call link

Base: 371 working homepages.

Source: This study's methodology: All six basics

Checked October 31, 2026

65%

of working homepages gave visitors a contact form or a click-to-call link. The rest had neither on the homepage.

Base: 371 working homepages.

Source: This study's methodology: Contact form or click-to-call

Checked October 31, 2026

74%

of working homepages had a meta description, the summary search engines can show under a result

Base: 371 working homepages.

Source: This study's methodology: Meta description

Checked October 31, 2026

42%

of working homepages had LocalBusiness structured data telling search engines what kind of business it is

Base: 371 working homepages.

Source: This study's methodology: LocalBusiness structured data

Checked October 31, 2026

89%

of working homepages ended on a secure https:// page when visited at http://

Base: 371 working homepages.

Source: This study's methodology: HTTPS by default

Checked October 31, 2026

87%

of working homepages had a mobile viewport tag, so phones show the page at phone size

Base: 371 working homepages.

Source: This study's methodology: Mobile viewport tag

Checked October 31, 2026

17%

of working homepages showed a copyright year of 2025 or earlier

Base: 371 working homepages.

Source: This study's methodology: Copyright year

Checked October 31, 2026

10%

of the websites linked from business listings did not load on two separate visits

Base: 412 listed websites visited.

Source: This study's methodology: Listed website loads

Checked October 31, 2026

67%

of independent business listings on OpenStreetMap in these areas had no website link at all

This describes the public map listing, not whether the business has a website. Base: 5,210 independent business listings.

Source: This study's methodology: Website link on the business listing

Checked October 31, 2026

159 KB

was the median size of a homepage's HTML, before images, scripts, and styles

Base: 371 working homepages.

Source: This study's methodology: Server response and page size

Checked October 31, 2026

The results in charts

How the working homepages did on each check

Share of working homepages that passed each check, across all four areas and every trade in the sample.

  1. Valid SSL certificate98%n = 371
  2. Page title95%n = 371
  3. Server responded within 0.8 seconds92%n = 371
  4. Ends on HTTPS when typed without it89%n = 371
  5. Mobile viewport tag87%n = 371
  6. Meta description74%n = 371
  7. Contact form or click-to-call65%n = 371
  8. Click-to-call link on the homepage57%n = 371
  9. Passed all six basics46%n = 371
  10. LocalBusiness structured data42%n = 371
  11. Copyright year shows 202642%n = 371
  12. Contact form on the homepage37%n = 371

Each bar: 371 working homepages. How we measured this

Passed all six basics, by trade

Share of each trade's working homepages that passed every one of the six basics.

  1. HVAC86%n = 14
  2. Plumbers71%n = 14
  3. Lawyers70%n = 23
  4. Chiropractors69%n = 13
  5. Dentists66%n = 29
  6. Landscapers54%n = 13
  7. Accountants and tax preparers54%n = 13
  8. Real estate agents50%n = 16
  9. Nail, beauty, and spa salons47%n = 30
  10. Restaurants40%n = 43
  11. Auto repair shops38%n = 34
  12. Hair salons and barbers33%n = 40
  13. Cafes and bakeries10%n = 42

n is the number of working homepages in each row. Not shown: 7 trades with fewer than 10 working homepages. How we measured this

Passed all six basics, by area

  1. Philadelphia, PA55%n = 99
  2. Bucks County, PA48%n = 71
  3. Lehigh Valley, PA (Lehigh and Northampton counties)43%n = 146
  4. Mercer County, NJ36%n = 55

n is the number of working homepages in each row. How we measured this

Contact form or click-to-call on the homepage, by industry

  1. Health81%n = 48
  2. Home services80%n = 69
  3. Auto79%n = 34
  4. Professional services73%n = 52
  5. Beauty53%n = 79
  6. Food and drink47%n = 85

n is the number of working homepages in each row. Not shown: 1 industry with fewer than 10 working homepages. How we measured this

Mobile viewport tag, by industry

  1. Food and drink92%n = 85
  2. Professional services92%n = 52
  3. Health90%n = 48
  4. Beauty89%n = 79
  5. Home services86%n = 69
  6. Auto65%n = 34

n is the number of working homepages in each row. Not shown: 1 industry with fewer than 10 working homepages. How we measured this

LocalBusiness structured data, by industry

  1. Home services54%n = 69
  2. Health44%n = 48
  3. Food and drink42%n = 85
  4. Professional services38%n = 52
  5. Auto38%n = 34
  6. Beauty33%n = 79

n is the number of working homepages in each row. Not shown: 1 industry with fewer than 10 working homepages. How we measured this

Map listings that link to the business's own website, by area

Share of independent OpenStreetMap listings in each area with a link to the business's own website. This reflects how completely each area has been mapped as much as the businesses themselves.

  1. Philadelphia, PA44%n = 1756
  2. Bucks County, PA27%n = 714
  3. Lehigh Valley, PA (Lehigh and Northampton counties)27%n = 1988
  4. Mercer County, NJ19%n = 752

n is the number of independent business listings in each row. How we measured this

What the results mean for a local business

The technical checks mostly passed. Nearly every working site had a valid certificate and a page title, and most had a mobile viewport tag. Where sites fell short was closer to the customer: the homepage gave no obvious way to get in touch, or it had no meta description, so search engines had to guess what to show under the result.

Those are cheap fixes. A phone number in the header that is a tap-to-call link, a short contact form, and one or two sentences of description do not need a redesign. The same goes for HTTPS: most sites that failed that check already had a valid SSL certificate and were only missing the redirect from http:// to https://.

  • Make the phone number in your header a click-to-call link, and put a short contact form on the homepage.
  • Write a meta description for the homepage that names your trade and your area.
  • Make sure typing your address with http:// sends visitors to https://.
  • Add LocalBusiness schema markup with your business name, type, and service area.
  • Update the copyright year in the footer, or remove it.
  • Check that the website link on your Google Business Profile and other listings still opens your site.

Where the gaps were largest

Differences between trades were much larger than differences between areas. Home service, health, and professional service sites passed all six basics far more often than restaurant, cafe, bakery, and salon sites. The gap came mostly from the contact check: food and beauty homepages were the least likely to have a click-to-call link or a contact form, perhaps because those homepages tend to lead with a menu, an ordering button, or a booking widget instead.

Auto repair sites stood out for a different reason. They were the least likely of any industry to have a mobile viewport tag, a sign of older sites that were never rebuilt for phones. Across all trades, more homepages had no copyright year in their HTML than had an outdated one, often because the theme or site builder fills it in with JavaScript.

On the map side, most independent listings had no website link at all. Listings in Philadelphia were the most likely to link to a website and listings in Mercer County the least likely, and salon, spa, and auto repair listings rarely linked to one. That says as much about how completely volunteers have mapped each area as about the businesses, which is why we report it separately from the website checks.

What this study does not tell you

It is not a census or a ranking. The sample comes from public map data, every trade was sampled evenly, and the checks read a single homepage without running its JavaScript. Use the by-trade and by-area charts to compare like with like, and read the limitations before quoting a figure as a fact about every business in a county.

It also does not measure what a website does for a business: search rankings, calls, bookings, or revenue. A site can pass every check here and still not bring in work, and a site that misses one can still do well. If you want to see where your own site stands, the free website grader runs similar checks in your browser.

Methodology

This is an observational study of public information. We used no logins, paid data, or private APIs, and we did not contact any business. The business list comes from OpenStreetMap, the volunteer-built public map, through its public Overpass API. The website checks are what a browser does when it opens a page: one visit to each homepage, plus its robots.txt file and a secure connection to read the certificate.

We followed robots.txt for every site, identified our checker in every request with a user agent that links to this page, visited at most four sites at a time, and paused between requests to the same site. Sites that refused our checker, or whose robots.txt asked us not to visit, are left out rather than counted as failing.

Trades differ a lot in how many listings they have, so we sampled websites evenly: up to the same number per trade in each area, drawn reproducibly at random from listings that link to their own website. Overall figures are simple totals across that sample and are not weighted by how common each trade is, so use the by-trade charts for any one trade. Figures with fewer than ten businesses in their base are not shown here or in the data. The scripts that collected the data are kept with this site's code, so the study can be repeated each year with the same method. The table shows how the sample was built, and the cards after it explain each check.

Business list: OpenStreetMap data as of October 31, 2026. Website visits: October 31, 2026.
StepCount
Named listings in the trades and areas we cover5,841
Left out: tagged as a chain or franchise brand566
Left out: own website shared with several other listings65
Independent listings (the base for website-listing figures)5,210
Websites drawn for the checks (up to 12 per trade in each area)444
Left out: robots.txt asked us not to visit6
Left out: the site refused our checker26
Listed websites visited (the base for broken-site figures)412
Did not load, on two separate visits41
Working homepages (the base for every page check)371

What we checked, and how

Website link on the business listing

We downloaded every OpenStreetMap listing tagged with one of the study's trades inside each area's county boundaries. We kept listings with a name and left out chains: listings tagged with a brand, and listings whose website is shared with several other listings.

For each remaining listing, we read its website tag and sorted it into three groups: a link to the business's own website (including a site builder address), a link only to a social, directory, booking, or ordering profile, or no link.

Counts as a pass: Not a pass or fail. It describes the public map listing, which volunteers maintain, not whether the business has a website.

Listed website loads

We visited the website address on each sampled listing. A site counted as broken if its address did not resolve, timed out, refused the connection, looped through redirects, returned an error status, came back empty, or showed a parked, for-sale, expired, or suspended page.

When a listing linked to a page deep inside a site that no longer exists, we tried the site's home page before calling it broken. Every broken site was visited a second time, at least half an hour later, and counted only if it failed both times.

Counts as a pass: The homepage loaded on at least one visit. The figure counts the sites that failed both.

HTTPS by default

We opened each address the way a customer might type it, starting with http://, and followed redirects to the final page.

Counts as a pass: The final page was on https://.

Valid SSL certificate

We opened a secure connection to the server that delivered the homepage and read its certificate.

Counts as a pass: The certificate was unexpired, issued for the site's hostname, and trusted. A certificate that was only missing an intermediate certificate counted as valid, because browsers fill that gap themselves.

Mobile viewport tag

We looked for a viewport meta tag in the homepage HTML. Without one, phones show a shrunken desktop page that visitors have to pinch and zoom.

Counts as a pass: A viewport meta tag that sets width=device-width.

Page title

We read the homepage's title tag, the text that names the page in browser tabs and search results.

Counts as a pass: A title tag with text in it.

Meta description

We read the homepage's meta description tag, the summary search engines may show under the title.

Counts as a pass: A meta description tag with text in it.

Contact form or click-to-call

On the homepage only, we looked for a click-to-call link (a phone link that dials when tapped) and for a form with a message box, a phone field, or name and email fields. We also counted the markup common form builders leave in the page (WordPress form plugins, Squarespace, Wix, Weebly, Duda, GoDaddy, HubSpot, JotForm, Typeform, Google Forms, and others), because those forms are often drawn by JavaScript.

Search boxes and email-only newsletter signups did not count.

Counts as a pass: A click-to-call link, a contact form, or both, on the homepage.

LocalBusiness structured data

We read every JSON-LD block and schema.org microdata type in the homepage HTML and compared them with LocalBusiness and the types schema.org lists under it, such as Plumber, Dentist, Restaurant, HairSalon, and Attorney. We read that list from the current schema.org vocabulary file.

JSON-LD that does not parse was ignored, as search engines ignore it. An Organization type on its own did not count.

Counts as a pass: At least one LocalBusiness type, or a type under it.

Server response and page size

We timed how long the server took to start sending the homepage after our request (time to first byte, not counting redirects) and measured the size of the homepage HTML after decompression. Google's web.dev guidance treats a time to first byte of 0.8 seconds or less as good.

The checks ran from one cloud server in Ashburn, Virginia, close to many hosting data centers, so these times are faster than a customer on a phone in Bucks County would see. HTML size does not include images, scripts, or styles.

Counts as a pass: The server started responding within 0.8 seconds.

All six basics

A homepage passed all six basics if it ended on HTTPS, had a valid certificate, a mobile viewport tag, a page title, a meta description, and a contact form or click-to-call link. Structured data, the copyright year, and speed are reported separately and are not part of this score.

Counts as a pass: Every one of the six checks.

Limitations

  • The business list is only as complete as OpenStreetMap. Volunteers add listings and their website links, so many businesses are missing, many listings lack a website link the business does have, and some trades (plumbers, electricians, roofers) are thinly mapped. The listing figures describe the map, not every business in an area.
  • Independent means no brand tag and no website shared with several other listings. A few franchise locations or larger organizations without brand tags may remain in the sample.
  • Websites were sampled evenly across trades and areas, and overall figures are not weighted. They describe the sampled sites, not every small business website in the region.
  • Several trades had too few sites to report on their own and only count toward their industry and the overall figures.
  • We checked one page per site, the homepage, and read only its served HTML without running JavaScript. Contact forms, phone links, and copyright years that a site adds with JavaScript are missed, so those figures may undercount.
  • A listed website that did not load may mean the business moved to a new address and the map was not updated, not that the business has no working site. It is still the link customers find.
  • Response times were measured once, from a data center, and do not show what a visitor on a phone experiences. HTML size leaves out images, scripts, and styles, which usually make up most of a page's weight.
  • Sites that refused our checker or asked crawlers not to visit were left out, and they may differ from the rest.
  • The checks are automated rules, not a person reviewing each site. We spot-checked results while building them, but some sites will be misclassified.
  • Websites change. These results describe the sites on the dates shown in the methodology table.

Download the data and cite this study

Download the data

The aggregate dataset has every figure on this page, by area, industry, and trade, with its count and base. Figures with a base under the minimum sample size are left blank. It has no business names, addresses, phone numbers, or website addresses.

Download the aggregate CSV

Contains information from OpenStreetMap, made available under the Open Database License. The aggregate CSV is shared under the same license.

Cite this study

Artol Web Studio. (October 31, 2026). The State of Small Business Websites in Bucks County & Philadelphia (2026). https://artolwebstudio.com/research/state-of-small-business-websites-2026

Link to it (HTML)

<p>Source: <a href="https://artolwebstudio.com/research/state-of-small-business-websites-2026">The State of Small Business Websites in Bucks County &amp; Philadelphia (2026)</a>, Artol Web Studio.</p>

Quote a key finding (HTML)

<blockquote cite="https://artolwebstudio.com/research/state-of-small-business-websites-2026">
  <p>46% of working homepages passed all six basics: HTTPS, a valid certificate, a mobile viewport tag, a page title, a meta description, and a contact form or click-to-call link.</p>
  <footer>Source: <a href="https://artolwebstudio.com/research/state-of-small-business-websites-2026">The State of Small Business Websites in Bucks County &amp; Philadelphia (2026)</a>, Artol Web Studio</footer>
</blockquote>

Press summary

Press summary

Study: many local small business websites in Bucks County, Philadelphia, Mercer County, and the Lehigh Valley miss basic checks

Yardley, PA, October 31, 2026. Artol Web Studio, a small business web design studio, today published The State of Small Business Websites in Bucks County & Philadelphia (2026), an original study of the public websites of independent local businesses in Bucks County and Philadelphia in Pennsylvania, Mercer County in New Jersey, and the Lehigh Valley.

The study checked whether each homepage loads, uses HTTPS with a valid certificate, works on phones, has a page title and meta description, gives visitors a contact form or a click-to-call link, and carries LocalBusiness structured data. Home service, health, and professional service websites passed the basics more often than restaurant, cafe, and salon websites, which most often lacked a direct way to call or write from the homepage.

Results are published only as totals by trade and area, and no business is named. The full methodology, charts, and a free aggregate dataset are on the study page.

Key findings

  • 46% of working homepages passed all six basics: HTTPS, a valid certificate, a mobile viewport tag, a page title, a meta description, and a contact form or click-to-call link (base: 371 working homepages).
  • 65% of working homepages gave visitors a contact form or a click-to-call link. The rest had neither on the homepage (base: 371 working homepages).
  • 74% of working homepages had a meta description, the summary search engines can show under a result (base: 371 working homepages).
  • 42% of working homepages had LocalBusiness structured data telling search engines what kind of business it is (base: 371 working homepages).
  • 89% of working homepages ended on a secure https:// page when visited at http:// (base: 371 working homepages).
  • 87% of working homepages had a mobile viewport tag, so phones show the page at phone size (base: 371 working homepages).
  • 17% of working homepages showed a copyright year of 2025 or earlier (base: 371 working homepages).
  • 10% of the websites linked from business listings did not load on two separate visits (base: 412 listed websites visited).
  • 67% of independent business listings on OpenStreetMap in these areas had no website link at all (base: 5,210 independent business listings).
  • 159 KB was the median size of a homepage's HTML, before images, scripts, and styles (base: 371 working homepages).

About the data

Artol Web Studio counted 5,210 independent small business listings in OpenStreetMap across Bucks County, PA; Philadelphia, PA; Mercer County, NJ; and Lehigh Valley, PA (Lehigh and Northampton counties), then visited the websites listed for a stratified sample of 444 of them on October 31, 2026. No business is named in the results.

Media contact: arthur@artolwebstudio.com

Sources

  1. OpenStreetMap contributors: OpenStreetMap dataThe business listings. Downloaded October 31, 2026 through the Overpass API, under the Open Database License.
  2. OpenStreetMap Wiki: Overpass APIThe public query service we used to download the listings.
  3. Schema.org: LocalBusinessThe structured data type, and the types under it, counted in the LocalBusiness check.
  4. web.dev: Time to First Byte (TTFB)The 0.8 second threshold for a good server response.
  5. RFC 9309: Robots Exclusion ProtocolThe robots.txt rules our checker followed.
  6. Open Data Commons: Open Database License (ODbL) 1.0The license for OpenStreetMap data and for our aggregate CSV.

Questions we get asked

Which businesses are in the study?

Independent businesses in the study's trades listed on OpenStreetMap in Bucks County, Philadelphia, Mercer County, and Lehigh and Northampton counties. Chains, franchises tagged with a brand, and listings without a name were left out.

Can I find out how my own business did?

No. We do not publish or share results for any single business, and the published data has no names or website addresses. You can run similar checks on your own site with the free website grader.

Can I use these figures in an article or report?

Yes. Please cite the study with a link to this page; the citation and link snippets above are ready to copy. The aggregate CSV is shared under the Open Database License, with credit to OpenStreetMap contributors.

Will you repeat the study?

Yes. We plan to run it every year with the same method and publish each edition on its own page, so results can be compared over time.

Talk to a real person in Yardley, PA

Book a 30-minute call. We will tell you what your site needs, what it costs ($0 down, $249/mo hosting), and whether we are a fit. We reply within one business day.