This is the third article in my series on analyzing Shopify themes.
The first article used Google’s PageSpeed Insights tool to rank the performance of each theme on mobile and desktop devices. The second updated those speeds using Google’s new Core Web Vitals metrics as measured by Lighthouse, the open-source tool from Google.
This post addresses the search-engine-optimization capabilities of every Shopify theme, using Lighthouse, on various page types — home, products, collections, blogs — for desktop and mobile. The results of my study are below.
A high Lighthouse SEO score doesn’t mean a site will have good organic rankings. It does mean that its pages comply with minimum SEO practices, such as titles, meta descriptions, and canonicals.
Google’s Martin Splitt recently hosted an “Ask Me Anything” discussion on Reddit. I asked him about Lighthouse SEO reporting.
Here’s our dialog.
Thank you for doing this!
I was playing a bit with the PageSpeed Insights API, which is powered by Lighthouse and it was great to see improvements to the SEO checks (for example, https://github.com/GoogleChrome/lighthouse/pull/11022).
As you know, structured data is super important, but the check in LH is still very limited: https://web.dev/structured-data/.
Do you think we would see more checks like the ones performed by the updated Rich Testing Tool in Lighthouse?
His response included the role of Google’s various SEO tools.
Thanks for spotting the work we were doing there :). I worked with Umar on that check and the new href audit in the SEO part of Lighthouse.
There is work underway for better-structured data checks in Lighthouse, but that’ll probably take a little longer. We actually have an intern working on that this intern season! I’m really excited about that!
Regarding Rich Results Test vs. Lighthouse (and allow me to also touch upon Structured Data Testing Tool while we’re at it)… well, there’s a fundamental difference between the three!
- Lighthouse strives to provide vendor-agnostic best practice guidance for web developers. As such, guidance that is specific to Google Search isn’t going to land in the Lighthouse core. We are considering a Lighthouse plugin, though, similar to what Google Ads offers.
- Rich Results Test is a tool to check if the structured data is valid for a website to be eligible for rich results, it’s not a generic structured data testing tool. It’ll certainly grow and continue to be an important staple in making websites that are eligible for rich results.
- Structured Data Testing Tool is a bit weird, IMHO [in my humble opinion]. It tests for all sorts of structured data based on Schema.org. All of that is valuable and great, but it confuses people as to what that means for their pages in SERPs on Google. And what if something is recommended from a Schema.org perspective but required for rich results? It’s a Google Search related tool, so what should it show? There isn’t the one true answer to that, I think.
There is a bunch of solutions in the works for general structured data testing and guidance, but I think having a clearer separation between what’s Google-specific structured data and what’s open source Schema.org structured data guidance is a good thing.
While it’s a Google product, Lighthouse attempts to be vendor-agnostic. Note Splitt’s response, above, “Lighthouse strives to provide vendor-agnostic best practice guidance for web developers.” This confirms that top SEO scores in Lighthouse won’t necessarily translate to high rankings in Google.
Lighthouse’s basic structured-data test is helpful. But also remember to check the Rich Results Test since Google plans to deprecate the Structured Data Testing Tool.
Shopify SEO Study
I used the same approach for analyzing SEO metrics as for page speed previously. I focused on Lighthouse’s SEO scores for four types of pages for each theme: products, collections, other pages, and blogs. I included the home page, too, when available.
In addition to the Lighthouse scores in column B, the Sheets also include my expanded audit results, as follows:
- is-crawlable (column F). Indicates if the page has meta robots no-index.
- meta-description (column G). Does the page have a meta description?
- hreflang (column J). Whether the hreflang on the page is valid.
- canonical (column M). Does the page have a valid canonical tag?
- document-title (column P). Does the page include a title?
- image-alt (column S). Do image elements have alt text?
- structured-data (column V). Checks if the page’s structured data is valid.
- tap-targets (column Y). Flags pages that have click targets too small or too close (for mobile).