Oliver Palmer

33% of Shopify sites are failing at basic SEO

I hacked together up a Python script to crawl the internet and see how many Shopify stores are violating one of the basic rules of SEO

Illustration of a web browser filled with question marks

When conducting eCommerce audits, there are a handful of markers that I've learned to look out for. Litmus tests. Rocks that I can turn over out which might reveal something the site's maturity and, perhaps, offer hints at other problems which aren't so immediately.

One of my first ports of call is usually to see how a site uses H1 heading tags. For the uninitiated, in HTML parlance, the H1 tag is the 'big heading' on a page. It's the title of the document, so to speak. Along with the title tag and URL slug, H1s are the main signals you have to tell Google what each page on your site is about.

In most cases, each page should have a unique H1 and title tag which, ideally, matches the keywords that you expect people would type into the search br when looking for that page. Like all SEO guidelines, this one is a bit contentious, but despite all their machine learning doohickey Google continues to affirm the value of H1s.

How often are H1s omitted entirely?

Pretty much every site that I see uses H1 tags correctly on category and product pages. But homepages are an absolute shemozzle. Sometimes the H1 is applied to the 'big text' on the page ("STOCKTAKE SALE NOW ON!") but frequently they're simply not there at all. I audit dozens of sites each year and a good chunk of them fail this test.

While I see it alot, my experience is fairly anecdotal. Occasionally, during a thoughtful moment peering into the flames of a campfire in the remote wilderness, the thought pops into my mind, "What does this look like at scale?! How many sites out there are violating this most basic principle of SEO" After mulling it over for a bit, I decided to find out.

How I tried to find out

Using BuiltWith, I compiled a list of the URLs of every single Shopify store in Australia. I chose Shopify because that's what many of my clients use (and it's a platform I like) and I chose Australia because that's where I'm based. Even in this case, the extract was a 32mb CSV file with 95,842 entries which strained even my fully specced M1 Macbook Pro. Spreadsheets ain't meant to be that big!

The script churning away

I made a fetching animated GIF of the script in operation but Eleventy crushed the animation in the name of performance, so you'll just need to use your imagination

In order to separate the wheat from the chaff, I queried each URL against the Semrush API to include only websites which are currently spending money on Google Ads. My logic here was that if you're running Google Ads, you're serious about getting visitors to your website. You know that traffic means money. That removed 88,428 test sites, passion projects and other non-serious contenders and a grand total of of 7,054 URLs to check.

Late last Friday afternoon, I hacked together a janky Python script to query each website, retrieve any code wrapped in an H1 tag and dump it into alongside the URL into CSV. I then set my Mac to 'caffeinate' mode to stop it from going to sleep and went home for the weekend.

The final results

When I came back on Monday morning, the results were in:

2,361 websites (or 33% of the total) did not have an H1 tag on their homepage. These sites fairly broadly covered the spectrum from scrappy start-ups to established, sophisticated players.

Why is this important?

Missing H1s hint at greater problems

H1s aren't really that important in and of themselves. Yes, they're an important signal but on their own, they're not going to be the reason you rank #1 or #500 for a search term. Rather, it's a sign that the site has been built by designers and developers without regard for SEO and there are likely other problems lurking beneath the surface.

Lost opportunity

H1s help search engines to understand what each page on your site is about. If you don't one, Google will try to figure it out for themselves and they don't always get it right. That can mean result in lower search rankings due to sub-par clickthrough on search results, for starters.

Accessibility

Google is not the only 'robot' that reads your code. Screen tend to use the H1 tag as a way of orienting the user to the content on the page. If you don't use headings correctly, it can your website bloody awful for visually impaired users.

Usability and conversion

A big chunk of your visitors will enter your site via the homepage. This is often their first impression of your website, so having a big, clear heading is a great opportunity to explain what your site is about.

As Steve Krug said in Don't Make Me Think.

Your goal should be for each page or screen to be self-evident, so that just by looking at it the average user will know what it is and how to use it. In other words, they'll "get it" without having to think about it.

How do I check my own site?

If you're not sure whether your site has an H1 on the homepage or elsehwhere, you can check using the 'Inspect' tool in your browser's Developer Tools. Just right-click on the page and select 'Inspect' (or 'Inspect Element' in Firefox). This will open up the Developer Tools panel and you can search for the H1 tag in the HTML code.

Checking for H1 in browser's dev tools

Open up dev tools in your browser and search for H1

Other things you should check

While you're having a look, you might as well check a handful of things as well. There's plenty of mistakes that people make with H1 tags.

H1s on random big text

The most common mistake I see people make is using H1s for things that aren't headings. For example, I often see H1s being used for navigation menus, images, contact forms and other elements that aren't headings. This is a dead giveaway that your agency has absolutely no regard for SEO at all and simply uses H1 for visually prominent headings.

Too many H1s

The H1 is a top level heading. As the HTML specification says:

The heading level corresponds to the levels of nested sections. The h1 element is for a top-level section, h2 for a subsection, h3 for a sub-subsection, and so on.

If you have multiple H1s, you're effectively diluting the power of the tag and shouting "ALL OF THESE THINGS ARE AS IMPORTANT AS EACH OTHER!" This can be fairly common, too. The homepage of a major Australian bedding retailer came back in my CSV with 21 different H1s on their homepage.

Too long (or too short)

A good rule of thumb is to keep your H1s between 50 and 60 characters. Any longer and they're likely to be truncated in the search results. Any shorter and you're probably not giving Google enough information to understand what the page is about.

A final word

Not having an H1 on your homepage is not the end of the world. Plenty of the sites that I found in this audit violated this rule and still ranked #1 for highly competitive search terms. Rather, it is a red flag. In my experience, sites that violate this rule often contain a raft of other technical SEO issues which can often be traced back to the same root cause—a site built by an agency that lack of understanding of SEO and its importance in the design and development stage.