For a long time, the Shopify ecommerce platform has been met with mixed reactions from the SEO community.
There are a number of great businesses using the platform successfully.
That said, plenty of technical SEO professionals will tell you that there are certain elements of the platform that:
This, however, has the potential to change through edge SEO and Cloudflare Workers.
On April 13, CloudFlare’s Matt Prince confirmed via Twitter that the previous “gray cloud” relationship between Shopify and Cloudflare has changed.
Gray cloud is CloudFlare terminology for the CloudFlare integration not being “whole”.
Previously CloudFlare could only be used for DNS purposes with Shopify.
Now, you can request CloudFlare to enable “orange cloud” for the integration and make it stackable.
CloudFlare Product manager Patrick Donahue also confirmed that the company was in the process of updating public-facing documentation and the CloudFlare Workers dashboard to allow users to enable this integration themselves.
The gray cloud changing to an orange cloud could be a significant step in Shopify’s development as a preferred platform within the SEO community.
Wholly being on the CloudFlare network will yield some speed benefits.
It also allows for edge SEO practices to resolve some of the technical bugbears.
I’m hopeful that this new configuration possibility is also mirrored by the other major CDN platforms and the below fixes are available through both Akamai EdgeWorkers and the Fastly edge solution.
4 Shopify Edge SEO Possibilities
Now that we have the ability to modify the Shopify codebase (through the CloudFlare CDN and Workers), here are a few things we can take advantage of to further impose our visions of SEO best practice onto our Shopify client websites.
1. Modifying the Shopify Robots.txt File
Whenever you talk to a technically focused SEO consultant about Shopify, the robots.txt file is never far from the conversation.
While it doesn’t directly impact rankings, being able to control the contents of the .txt file can be useful in curbing index bloat and directing Google to not crawl specific paths.
The standard Shopify robots.txt that we’re all familiar with is:
# we use Shopify as our ecommerce platform User-agent: * Disallow: /admin Disallow: /cart Disallow: /orders Disallow: /checkout Disallow: /25686620/checkouts Disallow: /carts Disallow: /account Disallow: /collections/*+* Disallow: /collections/*%2B* Disallow: /collections/*%2b* Disallow: /blogs/*+* Disallow: /blogs/*%2B* Disallow: /blogs/*%2b* Disallow: /*design_theme_id* Disallow: /*preview_theme_id* Disallow: /*preview_script_id* Disallow: /discount/* Disallow: /apple-app-site-association # Google adsbot ignores robots.txt unless specifically named! User-agent: adsbot-google Disallow: /checkout Disallow: /carts Disallow: /orders Disallow: /25686620/checkouts Disallow: /discount/* Disallow: /*design_theme_id* Disallow: /*preview_theme_id* Disallow: /*preview_script_id* User-agent: Nutch Disallow: / User-agent: MJ12bot Crawl-Delay: 10 User-agent: Pinterest Crawl-delay: 1
However, now the gray cloud is turning orange, we can modify it through edge SEO.
While there isn’t a strong case, in my opinion, for removing elements of the out-of-the-box robots.txt file, through edge tools like Sloth and Spark, you’ll be able to add in additional lines.
2. Changing Shopify’s URL Structure
Through edge SEO and the new orange cloud integration, this should be achievable, as it is with other standard orange cloud integrations.
But just because you can doesn’t mean that you should.
As confirmed by John Mueller at VirtuaCon in April 2020, the structure of the URL containing additional subfolders, or keywords in those subfolders, doesn’t have an impact on rankings and the focus should be on clean URLs.
By that token, having a forced URL structure such as /pages/ and /collections/ might not lend itself to being “clean”, it’s better than having all URLs off of the root domain, like on Wix.
Using workers in this way could also lead to additional (and avoidable) latency in the page load, so changing up the URL structure could have a pay off with site speed.
You would also need to redirect the previous Shopify URLs to the new vanity URLs, again, adding in redirects for backlinks and previous website history.
3. Collecting Log Files From Shopify
Logfile analysis can be a hugely versatile and important tool within a technical SEO consultant’s arsenal.
This isn’t possible through Shopify due to the shared hosting situation isn’t possible to pull logs.
However, through Cloudflare Workers, it is possible to collect a form of log file through:
- The use of filter chains.
- Integration with a third-party application such as Loggly, or an owned Amazon S3 bucket.
The output from this is a log file format, which can be used in any mainstream logfile analysis tool and yield the same analysis results.
As you’re filtering the requests being made by Google (and other search engines) to your domain, it doesn’t affect the “shared” hosting that Shopify provides.
There’s no risk of getting other website requests (logs) in your data and compromising any data securities.
4. Implementing Hreflang
Hreflang can be complicated at the best of times, and even more so with international ecommerce stores due to product availability and shipping differences between different countries.
Shopify does make this a little simpler with having to have separate storefronts (rather than a single database structure) for an international web presence.
There are applications within the Shopify store such as Weglot and Helium to aid with implementing Hreflang, but edge SEO and workers can offer a more manageable solution.
Typically, hreflang on Shopify requires a chron job to run, so there is always a period of a few hours were one store may not necessarily reflect the other.
This allows for Google (and other search engines) to find an error and flag it via a webmaster tools platform.
Through a tool like Sloth, hreflang can be mapped in a CSV and converted into Cloudflare Worker code, and then deployed via the CDN.
As you’re deploying and updating the cache on Cloudflare, the change will be reflected on the live site within seconds.
This method of <head> hreflang injection is verifiable through third-party tools such as:
- Screaming Frog.
- HreflangChecker.com (which is a tool I built).
This way you circumvent the clunkiness of modifying the theme liquid or getting locked into a third-party application (as you own the process through your existing CDN).
All screenshots taken by author, April 2020