Shopify On-page SEO: The Only Guide You’ll Ever Need To Boost Your Rankings

Aug 29, 2019

When a lot of people think of ‘doing SEO’ it’s on-page SEO they’re talking about – tweaking their page titles, meta descriptions and other pieces of their shop’s code to optimize its structure for search engines.

It is very important and we’re going to show you exactly what to do to get your on-page SEO done to get more traffic and sales from Google and other search engines!

Before we start, if you haven’t already gone through our first guide in this series covering keywords you should do that one first. Keywords are the foundation of SEO and you’ll quickly come up short if you skip this and go straight to on-page SEO. Go through our Shopify keywords research guide now if you haven’t.

Put simply, on-page SEO is structuring your shop and the existing content to squeeze the maximum amount of SEO value out of them.

Why is On-Page SEO Important?

Search engines navigate through your shop (crawl it) to try to understand what it’s about. Google wants to index your shop’s pages so that they can be shown when someone searches for something that your shop provides.

On-page SEO is about making your shop as easy to navigate as possible for search engines and your content as easy to understand as possible. Similar to the idea of never hiding out of stock products on Shopify, but instead alerting customers when they are available – you’ll want to make it as easy as possible for search engines to find your store.

A shop with good on-page SEO is just like a well-organized physical shop with clear sections, signage, shelves, labels and even rooms.

Bad on-page SEO is a shop that just piles all of its products mixed-up together, without labels and scattered haphazardly all over the place!

The well-organized shop is clearly going to attract more visitors and buyers while the badly-organized shop if it has any visitors at all will leave them confused and running away.

You may have great content, fantastic products and a unique selling point but without on-page SEO you will struggle to be discovered on Google.

On-Page SEO Factors

Let’s look at the different factors affecting your on-page SEO:

  1. Page title
  2. Meta description
  3. Image Alt Tags
  4. URLs
  5. Internal Links
  6. Heading and Subheadings

1) Page Title (Meta Title)

A page title or simply, title, is the <title> HTML tag in the <head> of a webpage.

For visitors to your website it isn’t very visible: it isn’t shown on the page itself, just in a web browser tab like this:

…and yet it is one of the most important elements on a page for SEO. Search engines use it both as the link text for a search result:

(the ‘Home | Scotland’s Dunnottar Castle – where legends come to life.’) and for deciding what to rank the page for. Keywords here are crucial to ranking well.

Page titles may also appear when your content is shared on social media.

Good page titles are:

  • Unique
  • Describe the page
  • Contain good keywords
  • Of the right length
  • One per page

Above all else it’s most important that every page on your site has a unique page title. If pages with different content share a page title they may be viewed as the same (duplicate content) and only one of them may be listed (indexed) by search engines.

Describe the page

When a user presses a search result link, search engines want them to be taken to a page containing what the link text has promised. The page title should describe what the user is going to get when they visit, as specifically as possible.

You can’t simply stuff keywords in here to rank for them- the page content needs to match the page title.

Contain good keywords

Your page title should contain keyword phrases that people are searching for. Avoid strap lines, very broad keywords or just your shop name if they aren’t things people would search for to buy your product. 

Good keywords are also searched-for a decent number of times a month and aren’t ridiculously competitive for you to rank for. Take a look at our first article in this series for help finding good keywords.


Even though the ideal page title length is nuanced, if you’re starting out with SEO keeping the length of your page titles under 70 characters gets you a long way. 70 characters is roughly what search engines will display and you’ll mostly avoid them being cut off with ellipses (…).

The actual ‘ideal’ length though is indeed a bit more nuanced. With a wide variety of screen widths and search result formats search engines will display more or less than 70 characters frequently. You’ve also noticed that different characters are different widths- an ‘i’ is narrower than a ‘w’, so the search engine display width is actually pixels rather than a character count.

Something else to add to the mix is that search engines will consider for ranking purposes much more than 70 characters. There is no hard stop at 70 where everything else is thrown away. Many users have success with being flexible with page title lengths and erring on the side of long page titles rather than too short.

One per page

There should only be one page title in the head of your web page. Include two or more and you risk them being ignored by search engines or one being arbitrarily selected.

I’m going to later show you how to create good page titles for all of your products and collections, but for now let’s continue with this overview of on-page SEO factors. 

2) Meta description

The meta description or sometimes just description is the <meta name=”description” content=””/> HTML tag in the <head> of a webpage.

Visitors to your website can’t see it at all on the page. Search engines use it as the paragraph text in search results:

(it’s the ‘Visit Dunnottar Castle for an…’ text). 

Bonus Tip: Having a keyword in meta description is not one of the top ranking factors. That said, we recommend you include your main keyword in the meta description.

Meta descriptions also appear sometimes when sharing on social media.

For SEO, the main purpose of a meta description is to encourage a user to press your search result rather than someone else’s. You’ll notice too that sometimes keywords are made bold depending on what the user has searched for.


Every meta description on your site should be unique. If a unique meta description can’t be generated it is best practice to leave it off of the page entirely. Search engines can do a pretty good job of generating some text from the page contents themselves. 

Depending on what the user has searched for a search engine may also decide not to show your meta description and display some other text that matches better.

Describes the page

A meta description shouldn’t be the same text throughout your entire site. It should describe the specific page.

Compelling copy

You are writing primarily to encourage a user to visit your page here- your target isn’t to include as many keywords as possible. Write in a human way using sentences rather than lists of keywords. 

Why would a searcher visit your page/site rather than somewhere else? That’s what to bear in mind when writing your meta description copy. 

Containing good keywords

Even though the keywords you use here won’t be considered by search engines for ranking, as mentioned they are often made bold if they match the user’s search- drawing their eye. If they’re looking for a specific thing including that phrase in your copy will make your result more attractive rather than abstract generalities.


Search engines will truncate (cut off) any text over around 160 characters. Make sure you express a coherent and compelling description in under 160 characters. Sometimes a little less or a little more is shown, but 160 is by far the majority of search results.

Only one

There should be just one meta description in the head of your page. More than one and a search engine will arbitrarily select one or ignore it. 

I’ll show you later how to set great meta descriptions for all of your products and collections. 

3) Image Alt Tag

The image alt tag is the alt property on the HTML <img> element. For example <img src=’dog.jpg’ alt=’Black Labrador’ />. 

Visitors can’t see it unless they hover their mouse over the image or they are visually impaired and using special software.

Search engines use it for ranking of both the individual image in their image search and for the ranking of the page the image is on.


There is no SEO value to setting every image alt tag to the same text like ‘dog collars’. If search engines see lots of images with the same alt text on your shop it will just be ignored.

The image alt text should be unique as possible. Note that it is okay if a very small number of images share the same alt text.

Describes the image

The alt text should accurately describe the image as specifically as possible. ‘Cheap dog collars’ is not as good for SEO as ‘Black studded leather dog collar’.

Containing good keywords

If alt text is unique and describes the image that’s usually enough. But think about tweaking it to include good keywords. ‘Black studded leather dog collar’ could become ‘Black studded leather comfortable dog collar’ if your keyword research revealed [comfortable dog collar] as a good target keyword. 


Alt text should be at most a sentence in length. It shouldn’t be a list of comma-separated keywords like ‘Dog collar, leather dog collar, black dog collars’. It should be written naturally, as if you were captioning the image. 

I’ll show you how to optimize your image alt tags on your product and collection pages shortly. 

4) URLs

On mobile devices and on some desktop web browsers the URL is becoming less visible.

For search engines, though it is still crucial to have well-optimized URLs. The keywords found in a URL are used for ranking the page. 

Describes the page

Looking at the URL it should be obvious what the page content is.

…is poor for SEO.

…is very good for SEO.

Contain good keywords

Describing the page’s content is the primary goal of SEO for the URL, but this can be tweaked to use variations of keywords and modifiers like ‘quality’ from what you’ve discovered from your SEO.

It’s worth noting that the keywords should be separated with a dash ‘-’ and not mashed together like:


Your URLs should not be excessively long by having either a) a very deep folder structure or b) trying to stuff in keywords. 

A very deep folder structure could look like this:

There is some debate that keywords further to the left carry more weight than those to the right, however as long as you do not have a very deep URL structure like this there is no evidence to suggest having /products or similar in the front is bad.

Trying to stuff in keywords is not worthwhile for SEO here. It can dilute their value and be flagged as spammy. Aim simply to describe the page contents in less than a sentence.

I’ll show you how to create great SEO for URLs on your Shopify products and collections later in this article.

5) Internal Links

Links can be either: 

  • internal: to content on your own domain or 
  • external: to content on other domains.

Internal links help search engines to navigate around your shop to discover pages. Keywords in the link text provide SEO for those keywords to the page that’s being linked to. How often a page is linked to also boosts its SEO. 

Clear navigation structure

From your navigation, usually a top navigation bar plus links in the footer, it should be possible to get to the first level of pages on your shop. That’ll be every individual collection, blog and key pages.

From this first level you should be able to get to the second and final level. These will be every individual product and individual blog posts. 

You should not have three, four or more different levels of navigation to go through to get to pages which are key to your SEO.

Having two levels makes it easy for search engines to navigate your shop and more likely that all of your pages will be indexed.

Link liberally internally

One of the biggest mistakes is relying just on your navigation for links. Instead, for the best SEO link liberally from within the page content. On a product page this could be to related products, collections and blog content. On a blog article it’ll be to products and collections relevant to the post.

Have good keywords in the link text (Anchor Text)

The link text is the text that’s shown as something that can be pushed by the user. In HTML it’s this ‘Dog collars’ text: <a href=’/dog-collars’>Dog collars</a>.

If your links look something like this:

To view our dog collars click here

…with ‘click here’ as your link text your SEO will suffer.

Have the link text describing where the link is going to like:

View our dog collars 

This gives Google a signal that the page the link goes to is relevant to [dog collars], making it more likely it’ll rank for that term.

Include links naturally in text

There are certain places like in your footer where it’s fine and expected to have a list of perhaps 10-15 links. However this should not be overdone. Including links naturally within paragraphs of text is best for SEO.

6) Headings and Subheadings

A heading is the <h1> HTML tag. It’s also called a H1 or primary heading. Subheadings are <h2>, <h3>, <h4> etc.

Usually themes will apply a different style to headings and subheadings than paragraph text, making it larger and bolder.

For search engines headings are important for understanding what the entire page is about. Subheadings are important for splitting the page into separate topics.

In both cases the keywords in a heading or subheading carry more SEO weight than plain paragraph text.

That’s to say writing ‘dog collars’ in a paragraph of text is less likely to rank the page for that term than writing ‘dog collars’ in a heading or subheading. 

One heading, multiple subheadings

Each page should have a single <h1> heading describing what the page is. For a product this will be the product name, blog article the subject of the post and so on.

Since subheadings split up a page into separate topics/sections not all pages need subheadings. A simple homepage for example may only have a heading and no subheadings.

But wherever possible use subheadings to divide up the page content. On a product page this could be subheadings describing each key feature of the product with a paragraph of text underneath.

For your subheadings you can choose <h2>, <h3>, <h4> and onwards. Don’t worry exactly which since there’s no evidence that these carry different SEO weights. Just use them logically in the page where the text and styles makes sense.

Use a heading and subheadings HTML for actual headings

You cannot simply put all of the text on a page into headings and hope this boosts their SEO. This will likely be ignored by search engines.

Similarly, putting a long paragraph of text with multiple sentences into a single heading will be ignored for SEO.

Headings and subheadings should be a single sentence or shorter and used in the same way you’d split up a document.

How To Do On-Page SEO On Shopify

Shopify is a great platform to perform on-page SEO on. It’s optimize-able in all of the right places and can be efficient to do so too.

As you probably know, every shop is based on a theme and that theme is built using Liquid, a templating language. A lot of your on-page SEO work can take place in the Liquid templates to make your work efficient.

1) Image alt tags

Most of the images on product, collection and blog article pages should have automatically-generated image alt tags with your theme.

It’s important to note that it is not required to enter an alt tag in the Shopify admin for these images… don’t waste your time!

You can check if your product, collection and blog article images have alt tags by using the web browser developer tools as here:

If you find there are images without an alt tag here, contact your theme developer. They should be using the Liquid image.alt which is defaulted to for example on the product page, product.title.

For images in other places like the product description, collection description, article content and page content you add an alt tag to an image using the editor as here:

2) URLs

Most of your URLs on Shopify will be already good for SEO. A product’s URL will be the product title. Usually that’s the best thing to have like:

But if your products are heavily branded like ‘Chloe’ the URL will simply be:

…which is not good for SEO.

In this case you will want to edit the URL to add some good keywords.

The easiest way is to use the bulk edit feature in your Shopify admin. Here you can simply select many products, collections, pages and blog posts and edit them all at once.

Here’s a video showing how to use the bulk editor to improve the SEO of your URLs:

3) Internal links

The main places where you’ll be adding internal links are your blog posts and pages. Here, you follow the guidelines earlier in this guide and link from within their text.

For existing content a useful tool in finding pages that aren’t linked to enough is Google Search Console. The internal links report there shows you the number of links each page has:

The pages with the most links should be your highest-value pages: best-selling products, most popular collections, best converting content. Check the list for these and any that don’t feature create new internal links for them from existing or new content.

4) Page titles and meta descriptions

There are four ways to approach doing your on-page SEO on Shopify:

  1. Manually optimize each page individually
  2. Use the bulk editor to optimize each page individually slightly more efficiently
  3. Optimize all pages at once with some smart Liquid code – templating
  4. Use an app like Plug in SEO Plus to optimize all pages at once – templating
A) Option A – Manually optimize titles and descriptions one-by-one

If you have a very small site and your product range rarely changes then A is your best option.

You can push the ‘Edit SEO’ option available on products, collections, blogs, articles and pages as here: 

This is okay for a very small number of products / collections / articles / pages, but as you can tell it is very inefficient and monotonous for any more than that.

B) Option B – Manually optimize titles and descriptions using the bulk editor

It is slightly more efficient than editing everything one-by-one. The bulk editor built into the Shopify admin looks like a spreadsheet and lets us edit page titles and meta descriptions, still manually, but quicker than going into individual products one-by-one.

Here’s how to use the bulk editor to edit the page titles and meta descriptions of your products:

As you can see this is a bit faster than editing them one-by-one but you are still editing them individually. If you have any more than a few tens of products, collections, articles and pages and your stock changes fairly frequently it’s unlikely you’ll earn more back from SEO than your time spent editing their page titles and meta descriptions in this way.

Options C & D – Automatically optimize titles and descriptions using templates

Options C & D use templates for your page titles and meta descriptions so that you can optimize 10s, 100s and even 1000s of pages at once in hours or even minutes.

Rather than editing each, one-by-one, by creating a template to define how a title and description should be composed lets you give the hard work to the Shopify platform or an app.

You will hardly ever get a return on your investment manually editing all of your page titles and descriptions. That’s why our winning strategy that we recommend is to:

  1. Create good templates for all of your page titles and meta descriptions at once, and then…
  2. Manually edit the small number of titles and descriptions than could benefit from it 

There are two ways to build these templates, let’s look at both now so you can decide which is right for you.

C) Option C – Use Liquid coding to optimize all of your titles and descriptions at once

To get your SEO exactly how you want it, option C needs you to have a bit of experience with Liquid and HTML coding. With option D the Plug in SEO Plus support team can help out with everything for no extra charge.

Let’s look at building a page title template for your product pages.

First, open up the theme editor in your Shopify admin and find the theme.liquid file. In there you should see some code which generates a <title> for every page on your shop.

There are many possible different ways a theme can generate your page titles, so I can’t give you a one-size-fits-all advice here. Try to understand how the page title is generated first before starting to add a product page title template.

When you feel you understand how the page title is generated we want to create a template just for product pages. To do this we will add a new condition to identify just product pages to use our template there.

As an example, it might look like this before:

<title>{{ page_title }}</title>

Change it to this so that we can create a template just for the product page:

{% if contains ‘product’ %}

   <title>{{ page_title }}</title>

{% else %}

   <title>{{ page_title }}</title>

{% endif %}

Now we can build a title template in Liquid for our product pages to have better SEO.

Usually we’ll want the product name to appear first, so:

{% if contains ‘product’ %}

   <title>{{ product.title | escape }}</title>

{% else %}

   <title>{{ page_title }}</title>

{% endif %}

The escape is used so that any special characters (characters that have a special meaning in HTML) won’t break the page.

You can continue to build up a good page title template for your product pages using any Liquid here:

Follow the guidelines and best practices earlier in this guide.

You can also find some ideas and inspiration in the help we’ve written for our Plug in SEO Plus customers. Just note that the syntax with Plug in SEO Plus Liquid is a little different to Shopify Liquid:

By building up a template in this way you can efficiently improve the SEO of all of your products at once.

D) Option D – Template optimizations in Plug in SEO Plus

I recognised that option C was the best way to SEO page titles and meta descriptions on Shopify but realized that the Liquid code can get complicated and can be difficult even for strong Liquid coders.

That’s why I built the powerful templating feature of Plug in SEO Plus. Here you can benefit from strong SEO templates manageable in a simple way through the app. Our support team is also happy to build the perfect page title templates for you for no extra charge.

You don’t have to edit any of your Shopify theme. Just use our recommended templates for each page type and then customize them to suit your SEO goals.

See how easy it is for your product page titles in this short demo:

With Plug in SEO Plus you can implement my strong SEO templating strategy on your whole shop in a simple way.

Templating – When to optimize page titles and meta descriptions individually

1) The title isn’t very descriptive or very short

This is often true of collection names so let’s take that as an example. Say you have a collection called ‘Summer’, your page title shouldn’t be ‘Summer’- far too vague for SEO.

First, check what the page title is being generated as. Go to the Summer collection page in your desktop web browser. Hover over the web browser tab with your mouse cursor, wait a couple of seconds and you’ll see a popup of the page title.

If you’re using the Plug in SEO Plus appender feature with an append of ‘| Organic Colourful Kidswear’ the page title may be something like ‘Summer | Organic Colourful Kidswear’. Pretty good for SEO and you probably don’t need to manually enter a page title in this case.

However if the page title is simply ‘Summer’, either enable the Plug in SEO Plus appender feature or manually enter a page title in your Shopify admin.

2) The title keywords are difficult to rank for or not worthwhile enough

A page title should always describe what is on the page, but some keywords to describe the page are better than others for SEO: achievable for you to rank for and with a decent search volume.

Say you have a product named ‘Gold bracelet’. Your keyword research shows that this is an ultra competitive keyword to rank for and likely not achievable for you to break into the first page of search results.

However you’ve identified ‘Gold braid cuff bracelet’ as a good keyword to target: often searched for but with not a lot of competition.

In this case, manually entering a page title in your Shopify admin of ‘Gold braid cuff bracelet’ for this product is a good solution.

3) The description has a lot of technical specs or non-paragraph text 

The main role of your meta description is to get users to press your link in their search results rather than someone else’s. If the one shown by Google appears mangled or random (see the below screenshot for an example) then manually setting the meta description in your Shopify admin can sort this out.

If you have any products/pages/collections/articles where you think this may be the case,let’s first check what the meta description is.

Go to the offending page in your desktop web browser. Right click on a blank piece of the page and select ‘View source’. In the HTML find ‘<meta name=”description’. Here the value for ‘content’ is your meta description.

If the text doesn’t look compelling or is mangled here then we have two options: 

  1. figure out a template to auto-generate good meta descriptions for products like this or 
  2. manually enter a meta description.

Option 1) is worth considering if all or most of your products have descriptions like the one you’re looking at. Say your product description is:

  • Fits FG90235, PG93002, MKLM355 and FG021111
  • Forged steel
  • Three year warranty

The meta description may come out as:

Fits FG90235, PG93002, MKLM355 and FG021111 Forged steel Three year warranty

You could set up a meta description template in Plug in SEO Plus for all of your products as: 

Over 10 years of experience making high quality machine parts in the USA. %% page_description %%

Making the meta description:

Over 10 years of experience making high quality machine parts in the USA. Fits FG90235, PG93002, MKLM355 and FG021111 Forged steel Three year warranty

Much more compelling for users, so much better for SEO. 

Note that you shouldn’t set a meta description template the same for every page on your site. You can simply avoid this, as we have in our example, by including a Liquid variable (%% page_description %%).

4) There is no description and no or unspecific text on the page

Collections often suffer from this problem. 

If you have set no collection description and your collection page is simply a list of products, there isn’t enough data for either Plug in SEO Plus or Google to show a good meta description.

What can happen in this case is that your paragraph text in Google (which usually comes from the meta description) is a mangled bunch of product names. This won’t perform well for click-through.

The simple way to sort this out is to just set a collection description in your Shopify admin. If for some reason you don’t want to do this, you can also set a meta description manually in your Shopify admin. 

Manually setting a page title and meta description for every single page on your shop is rarely a good use of your time. Instead, make full use of the powerful Plug in SEO Plus templating and simply pick out pages that need a bit of extra attention and manually set their page title and meta description in your Shopify admin.

Here is an example of ‘Product Page Title’ template from Plug in SEO:

You can learn more about how templates work and automate Metas (page title and description) for product/category/other pages on your Shopify store.


On your homepage, product, collection, blog, and article pages, the heading H1 should be set in your theme template. If it isn’t, first try contacting your theme developer since a well-structured theme will always have a single H1 heading on every page.

If your theme developer won’t help you can edit your theme templates to add H1 headings. Note that you should be comfortable with basic HTML, Liquid and CSS coding before you do this. Always 

  1. make the changes in a theme copy and 
  2. take a backup and test before and after your changes.

Let’s take your product pages as an example. Here we open up product.liquid in the Shopify theme editor. 

To open a product.liquid file, go to:

  • Online Store > Themes > Actions > Edit Code. 
  • You’ll find the product.liquid file inside the ‘Templates’ folder.

Once you open the product.liquid file, find all of the places where {{ product.title }} are (this is the liquid property for the product title).

Please see the below screenshot to see all the mentions of {{ product.title }} in your product.liquid file.


Once you find the one that corresponds to the visible piece of text on the product page that should be a heading you can change the HTML tag from whatever it was before to a H1.

Here I show you how to change an H2 to H1:

After you’ve done this be sure to view it on your shop. You may need to add CSS styles to get it looking as it looked before.


For subheadings you will use the editor in your Shopify admin to style the text as a ‘Heading 2’ or 3, 4, 5 and on.

Just as a well-written article is, break up the description using subheadings like this: 


I’ve shown you exactly what on-page SEO is for Shopify and how to apply it to your store. By starting to think about on-page SEO whenever you create new content you will have an edge on your competitors.

With the Shopify platform plus some custom coding or an app like Plug in SEO Plus you have everything you need to optimize your shop for search engines and build a steady stream of free organic traffic!

Explore Our Apps