Joe is a Futurologist & tech expert with dozens of accurate billion dollar predictions.
Shopify is wonderfully simple, but that can also be a curse as small ecommerce shops start to face increased competition from incumbent brick and mortars who are suddenly taking ecommerce seriously.
One place where Shopify's overly simplified approach appears to possibly hold websites back is technical SEO, this is generally understood to be how the technical code and infrastructure of a website impact its ability to rank documents/content in a search engine. For this article. we will also consider it to be the Shopify User Interface and how that impacts SEO rankings. I am an established Shopify SEO expert and I have worked with dozens of small to mid-sized ecommerce merchants hosted with Shopify to improve their rankings (and revenue) on Google, Bing, DuckDuckGo, and Google Shopping.
In this article, I examine some of the major and minor technical SEO challenges Shopify presents and current solutions for them if I am aware of those. This guide will be continually updated, if you have more challenges or solutions please comment with them or contact me via my website.
Like other CMS systems where plugins, apps, or extensions are allowed Shopify has a weakness here where a website will be reliant on what content an app loads and that contents impact on page load speed, cumulative layout shift, and other factors that could make pages on a website feel clunky or unprofessional. Modern search engines have tuned algorithms to detect such imperfections on websites and reward sites/documents that present a better experience to users.
Solution #1: Before you install any Shopify App make sure you run a baseline test using a tool like GT Metrix or other software designed to emulate what a user might see in their browser. Immediately after installation runs your test again and compares the results, if an app causes major issues remove it and try to find another solution. You should also make sure you never have Apps installed that are not in use and try to keep your usage of Shopify Apps to a minimum.
Solution #2: If you absolutely must have an App and it uses third-party content like fonts or images that slow your webpages down, you can improve the user experience by utilizing DNS Prefetch tags. You will have to code these directly into your Shopify theme's Liquide code. I have written a full guide on how to do this over here.
Shopify locks all users out from editing the robots.txt file and handles all edits to these files at a global level. Robots.txt is used by websites to tell crawlers for search engines, social media websites, SaaS tools, and other web projects how to behave. This includes blocking specific crawlers completely and keeping crawlers from seeing specific content.
One big issue caused by this is that Shopify can at any time limit how SEO-focused SaaS applications view data on your website. Currently, Shopify has major limits on crawling for the SEO tool suite Ahrefs and institutes a crawl delay for the link database Majestic. There are no limitations for Moz or SEMrush. Shopify also blocks all Nutch-based web crawlers from viewing any content which means if you built your own Apache Nutch crawling utility it would be unable to view content on your site, this is to cut down on scrapping issues most likely.
Another big issue is that if a new crawler was to emerge for a business utility like a new advertising system or a new search engine that required different treatment than what Shopify has set for all user-agents currently, you would be unable to institute this and would have to wait on Shopify's internal team to deploy an update. For example, Google Adsbot ignores Robots.txt files unless named specifically (even ignoring the * command), thankfully Shopify handles this well currently, but it shows a future issue may be caused, at least temporarily, by other ad networks.
Finally, because you are unable to block crawlers from seeing a specific piece of content using Robots.txt you will have to rely on the usage of the Meta Robots tag for removing content from search indexes.
Solution: There is no solution to this problem. If your project requires the capability to edit the Robots.txt file directly, Shopify is not an appropriate solution for your needs and it is unlikely this will ever be something they add.
Shopify offers a small set of Meta Tag editing options for your products and collections. Found at the bottom of the editing screen in your admin area under the link "Edit Website SEO" you are given only 3 options: Page Title (i.e. Title tag), Description (i.e. Meta Description), and URL and Handle (i.e. SEO friendly page URL slug).
While these are good, basic, options for SEO and provide a great foundation they are severely lacking for some usage cases. For example, if you wanted to publish a product but only for a paid advertising campaign, you have no ability to add a Meta Robots "Noindex" tag here. If suddenly a search engine or major platform such as Pinterest began requiring a new meta tag or usage of the Meta Keywords tag you would have to wait on Shopify to upgrade this section before being able to implement these SEO changes.
Another issue here is that these tags are all manually entered on a per-page basis. Manual editing is great, but for some ecommerce merchants, this presents a unique problem if they have hundreds of thousands of similar items they want to bulk edit.
Solution #1: You can edit your theme's Liquid code to include various meta tags and leverage IF statements to ensure only the selected pages are affected. This needs to be thoroughly documented as the code will not be shown inside of any page-level GUI editor on Shopify.
Solution #2: There are some Shopify Apps that allow for bulk editing of the SEO meta tags Shopify allows, but none that are able to add additional fields to your "Website SEO" section.
Search engines tend to prefer keyword-rich and descriptive image filenames and alt attributes.
Shopify does not allow the editing of filenames natively, once you upload an image file, that is the name it will keep on your Shopify store. If you are bulk uploading or importing files from a dropshipping website, this can be a problem as the filenames could be in a foreign language or even completely unrelated.
You can and should edit the alt attributes for each of your product images on your Shopify store. This makes your website more accessible and is correlated to higher rankings in Google and Google Images where some shoppers look for products. However, when uploading a new product image Shopify does not prompt you to include an image alt attribute for the image and there are no ways to bulk add the same image attribute to all of the images for a product.
Not having image alt attributes added to all of your images could also mean your store is in violation of the Americans With Disabilities Act of 1990 opening you up to a lawsuit if you are based in the United States.
Solution #1: Make it part of your new product addition process to download each image and give it a good keyword-rich file name and include Image Alt attributes after uploading a file. If the photos are just the products themselves you might be able to use something simple like the name of the product.
Solution #2: There are Shopify Apps that claim to automate this process for you. In fact, most Apps claiming to provide automated SEO perform this task for you for a monthly fee. These services likely use some sort of Computer Vision API to understand your images and apply alt attributes, which may mean they do not give very precise alt attributes, but they will scale it quite quickly.
Solution #3: There are also Shopify Apps that allow for bulk editing of your images some of which offer at least a little service free of charge. If you need bulk editing of alt attributes these would be a great fit.
Solution #4: Shopify does allow Apps to edit filenames. While this is not native functionality, finding an App to enable it could help boost your SEO while reducing the work required to download each image, rename, and upload them.
Much like image filenames, there is no way to optimize the file size of an image once uploaded to Shopify. Much like image alt attributes for efficient SEO, if this was a native function, you would prefer that it happened either in bulk or automatically.
There are algorithms out there that can compress image file sizes without suffering the loss of visual quality. These, like most things today, often end up being offered as SaaS applications such as Kraken which allows you to compress images one at a time via their web interface. Search engines today desire fast-loading websites as part of offering a good experience to their users and it is a known ranking factor for Google and Bing.
Solution #1: Optimize each image before uploading them to your store. If you only have a few products or add products to your store slowly this manual process will work fine and be more cost-effective. Use a service such as Kraken.io's Web Interface to upload images, compress them, and download the optimized versions.
Solution #2: There are Shopify Apps that are capable of automatically compressing your images, most often for a monthly fee. Make sure that any service you select does not rename your image files.
This is probably one of the most visible and irritating parts of Shopify for new ecommerce owners. You can easily see your competition ranking at the top of Google, Bing, or DuckDuckGo with a large block of useful text at the bottom of their category pages helping users navigate a massive collection of products, but when you write a description for your Collection it appears at the top of the page.
It may be a simple correlation, but we have found providing useful text on a large category page to help consumers identify what products they might be interested in or what gifts might be best for a friend/loved one/colleague from a collection appears to help those pages rank higher on the fat head terms and even on some long-tail keywords. Overall this brings in more traffic with a transactional intent but from consumers who are not yet sure what specific product they want to solve their need, only a more broad category of product they need.
This is a default setting for Shopify themes and some themes actually remove the code completely, which has led many ecommerce websites to simply avoid writing more than one or two sentences for their collection pages leaving them outgunned in the SERPs by larger, better-funded, ecommerce brands that use a different shopping cart system.
Solution: You can edit your Liquid code to move your Collection description from the top of the page to the bottom or to add it in if it was removed by your theme developer. It is a simple and painless process too. There is a full step-by-step guide with screenshots on how to do this here.
Google and Bing both use Schema.org to help display search results and pull in featured snippets. While this has some limited uses for ecommerce, it can still help your brand stand out from other listings. Unfortunately, Shopify does not have any native Schema.org functionality, even though it has been a part of SEO and web development since 2011.
Solution #1: Add schema.org manually. You can add Schema.org for your organization/website manually to the header of your site using JSON-LD and editing your Liquid code.
Solution #2: There are Shopify Apps that are capable of adding Schema.org to your website. Note that they may add different types of Schema or use different formats. For example, one App might be capable of adding Schema.org for each product while others might only add Schema.org markup for your brand. Some of these are the same Apps that power automated alt attributes and other things, test carefully to ensure you are getting the results that you want for your SEO.
Shopify allows anyone to build an ecommerce shopping cart quickly and easily and to be able to sell products across the country or globally with minimal effort. This makes the platform stand out and has attracted hundreds of thousands of users, but when it comes to driving localized foot traffic Shopify leaves something to be desired.
There are several key things that a search engine might look for on a website or document to help determine a store is local to a city, region, or country including Schema.org markup of a local NAP (Name, Address, Phone Number), an embedded Map, Localized Pages, Localized Product Pages, Directions to a store location, local keywords on pages, and a store locator.
There are also several tools Shopify could offer to aid the localization of a store and drive foot traffic, but that is not or may not be native components of Shopify/your theme including:
Unfortunately, a large majority of this will have to either be done manually or with third-party tools / Shopify Apps.
Solution #1: Localized Pages / Product Pages - Use the Page builder on Shopify and write out custom pages for each location where you do business if delivery or nearby your store. You can even create unique page templates to use here in Liquid. If you are not an SEO make sure you consult with one to determine how best to target these pages and how many you should make. For example, if you sell honey-baked hams from your store in Hurst, TX that might be your main product page target but you could build out a special Page to also sell them via your delivery service to nearby communities such as Euless, TX, and Bedford, TX.
Solution #2: Store Locator - There are Store Locator Shopify Apps that do a great job of adding a Store Locator feature to your website.
Solution #3: Manual Local Schema.org - You can manually add your store information and Schema.org tags to your store using Liquid code and add this to either the footer or specifically to product pages, collection pages, etc... this works great if you have only one location or one main location.
Solution #4: Automated Local Schema.org - As stated before there are Shopify Apps that may add Local Schema.org code to your site automatically or this could be included in your Theme. If neither of those solutions works for you, then adding this in manually is the best option.
Solution #5: Google Map / Open Street Map embed - This is up to your theme developer. Make sure you select a theme with a map embed option and register your API key with whichever map system the theme uses, then add the API key in your Theme Settings. Shopify has a great help document on this here.
Solution #6: HREFLANG Tags - If you sell products in different countries/languages then using HREFLANG will help ensure the right customers see the product/collection page they are looking for. This is not a native feature of Shopify and has to be added to the Liquid code. This is incredibly advanced and should be done by an experienced Shopify developer and reviewed by an experienced international SEO consultant. Shopify's Developer website has a brief introduction to HREFLANG on Shopify here.
Getting Google Shopping (i.e. the Google Channel) setup on your Shopify is difficult and confusing enough, but adding new products is even more confusing.
When you add a new product to your add product screen there are no Google Field options to adjust. In fact, you are unable to edit these fields until a product has been added to your store, which makes getting a product on to Google Shopping and optimizing it more time-consuming and far less efficient.
Solution: There are no real great solutions for this problem. Instead adjust your add new product workflow to include editing the Google Fields for your desired settings/optimizations (i.e. adding color, material, target age, target gender, etc...)
Those are the 9 largest technical SEO challenges with Shopify. If you run into any more challenges with the platform's code or GUI (not the content or off-page SEO) please leave a comment below or notify me on my website and I will do my best to find a solution for you and include that here.
Create your free account to unlock your custom reading experience.