Shopify Blog SEO: Rank Your Posts and Measure What They Sell

Shopify blog SEO means making the posts on your store’s built-in blog rank for searches your customers make, then sending those readers to the collections and products that answer the next question. On Shopify that comes down to three things: picking topics a blog post can win (not ones a collection page should own), filling in each post’s title, meta description, handle and alt text, and linking every post into the store. Then you measure which posts produce orders, because traffic alone will not tell you.
This guide covers all of that with the Shopify-specific details most guides skip: how blog URLs and tag pages really work, what structured data your theme already outputs, what to ignore in the AI search noise, and how to calculate revenue per blog post with a worked example.
Shopify Blog SEO: Is the Native Blog Good Enough?
For most stores, yes. The native blog sits on your own domain, so links that posts earn and the internal links they send help the whole store. Every post gets its own page title, meta description and URL handle fields, posts are listed in your sitemap automatically, and you can link straight to products and collections from the editor.
Where it falls short is editorial workflow, not search engines:
- Authors must be staff. Shopify only lets you pick the store owner or a staff member with admin access as the author, so a guest expert needs a staff account to get a byline (per Shopify’s blog post documentation).
- Basic editor. No internal link suggestions, no revision history and no approval workflow. Teams often draft in a shared doc and paste in.
- Theme-dependent output. Structured data, breadcrumbs, related posts and page speed depend on your theme and apps, not on the blog feature itself.
Those limits matter when you publish many posts a month with several writers. For one to eight posts a month, the native blog is rarely what holds rankings back. Topic choice and internal linking are.
Pick Topics the Blog Can Win (and Leave the Rest to Collections)
The most common Shopify blog mistake is writing posts for searches where Google wants to show a shopping page. Someone typing “linen dresses” wants a grid of products, so a collection page should target it. Someone typing “linen vs cotton for hot weather” wants an explanation, which is a blog post. Look at the current top results before you write: if they are mostly category and product pages, a blog post will struggle no matter how good it is.
| Search pattern | What the searcher wants | Best Shopify page type |
|---|---|---|
| how to, what is, why does, tips for | Learn or fix something | Blog post |
| X vs Y, which is better, is X worth it | Compare before choosing | Blog post linking to both products or collections |
| best X for Y (with a product grid in results) | Shortlist of products | Collection page, supported by a buying guide post |
| best X for Y (with articles in results) | Advice and picks | Blog post (buying guide) |
| product type + attribute (round oak coffee table) | Browse and buy | Collection page |
| brand + model name | One specific product | Product page |
| what size, how to measure, how to care for | Pre-purchase or post-purchase help | Blog post or a dedicated page, linked from the product page |
Where blog topics come from
- Customer questions. Support emails, chat logs, reviews and returns reasons are the best topic list you have. A question you answer five times a week is a post.
- Search Console queries. Look for question-style queries where your product or collection pages get impressions but few clicks. That is demand your store is close to but not answering.
- Keyword tools and autocomplete. Tools such as Google Keyword Planner, Semrush or Ahrefs give volume and difficulty; autocomplete and People Also Ask give phrasing. Favor specific, longer queries tied to a product you sell over broad topics with big volume.
- Use cases, occasions and comparisons. A home store can write about rug sizes for a king bed; a skincare brand about layering order; an apparel brand about what to wear to an outdoor wedding. Each points at a collection you want to grow.
Before writing, check that no existing post or collection already targets the same query. Two pages chasing one search split clicks and confuse Google about which to rank. Merge or redirect instead of publishing a near-duplicate. For more on picking terms that lead to purchases, see high-intent keywords.
On-Page Setup Inside the Shopify Editor
You create posts in the Shopify admin under Content > Blog posts. These are the fields that affect search, in the order you meet them:
| Field | What it does for SEO | What to enter |
|---|---|---|
| Title | Becomes the H1 on the page and the default title tag | The question or promise in plain words, with the main keyword |
| Content | The body Google ranks | H2 and H3 headings from the editor, short paragraphs, lists, tables, images, links |
| Excerpt | Text shown on the blog landing page | One or two sentences; without it Shopify shows the start of the post with no formatting |
| Image | Featured image on the blog page and social shares | A real photo, with alt text describing what it shows |
| Author | Byline readers see | The staff member who actually knows the subject |
| Tags | Creates tag archive pages | A few broad categories, not a tag per keyword |
| Search engine listing: page title | The title tag in search results | Main keyword near the start, about 60 characters |
| Search engine listing: meta description | The snippet Google may show | What the reader gets, in about 150 to 160 characters |
| Search engine listing: URL handle | The last part of the URL | Short, hyphenated, no dates or filler words |
| Visibility | Whether the post is live | Visible, or a scheduled date |
Title tags and meta descriptions
If you leave the search engine listing empty, Shopify uses the post title and the start of the post. Override both. The editor warns that text past 70 characters for a title or 320 for a description might get cut off, while Shopify’s SEO guidance recommends about 60 and 160. Treat 60 and 160 as targets: Google truncates by pixel width, and it may rewrite either one anyway. The title tag matters for ranking; the description mainly affects whether people click.
Headings and structure
The post title is your only H1, so do not add another one in the body. Use H2s for main sections and H3s inside them, and put the main keyword in at least one H2 where it reads naturally. Start the post with a direct answer in the first two or three sentences. It is what searchers want, and it is the passage Google and AI assistants most often quote.
Images and media
- Rename files before uploading (wool-runner-washing-machine.jpg, not IMG_2847.jpg).
- Write alt text that describes what is in the image, in plain words. Keywords only where they truthfully describe it.
- Compress large photos before upload. Shopify’s CDN resizes images for display, but a huge original still costs time.
- Embedded videos and social posts add useful proof (a how-to clip, a customer’s photo), but each embed loads extra scripts. Use them where they show something text cannot.
Length
Shopify’s own SEO help suggests at least 500 words for blog posts. Use that as a floor, not a target: a sizing question may be fully answered in 600 words, while a buying guide that compares eight products needs far more. Look at what the top results cover and answer all of it, then add what they missed.
Shopify Blog URLs, Tags and Duplicates
Every Shopify blog post URL follows the same pattern: /blogs/blog-handle/post-handle. Your store starts with one blog named News, which is why so many posts live under /blogs/news/. That middle part is not fixed. You can create another blog with a better name (for example, a blog called Guides at /blogs/guides/), and large stores do: Allbirds publishes its articles under /blogs/the-perch/. Only the /blogs/ prefix is fixed.
Do not rename the blog or move posts just for a nicer path on a blog that already ranks. The handle matters far less than the content, and moving URLs costs you time while Google processes the redirects. Pick a sensible blog name at the start.
Changing a post’s handle
When you edit a post’s URL handle, Shopify shows a pre-selected Create a URL redirect option. Leave it checked. Unchecking it turns every link and ranking the old URL had into a 404.
Tag pages
Each tag you add creates an archive page at /blogs/blog-handle/tagged/tag-name. Shopify’s default robots.txt blocks combined-tag URLs (the rule Disallow: /blogs/*+*), but single-tag pages stay crawlable. A dozen thin tag pages that each list two posts add nothing. Keep tags few and broad, and give important topics a real hub post instead of relying on a tag archive.
Product duplicates are the other Shopify classic: a product linked inside a collection can appear at /collections/x/products/y as well as /products/y. Shopify adds a canonical tag pointing to the main product URL, but when you link from a post, use the plain /products/y URL so your internal links point at the version you want ranked.
Internal Links: The Job of Every Post
A blog post that ranks but sends nobody to a product is a cost, not an asset. Internal links do two jobs: they give readers the next step, and they tell Google which collection and product pages matter for which topics.
- Link to the most specific page. A post about choosing a coffee table for a small living room should link to the small-space or round coffee tables collection, not to the homepage or to a broad Furniture page.
- Use descriptive anchor text. “Round oak coffee tables” tells readers and Google what is behind the link; “click here” does not.
- Link back from the store. Add a “how to choose” or sizing link on the matching collection or product page, so shoppers with doubts find the answer and the post gets internal links too.
- Link between related posts. Every new post should link to two or three older ones on the same theme, and you should add a link to it from at least one older post that already gets traffic. Otherwise new posts sit orphaned on page 4 of the blog index.
- Place the first product link early. Many readers leave after the answer. If the first link to a product sits at the very end, most never see it.
Build Clusters Around Collections
Topical authority sounds abstract, but on a store it is concrete: a collection you want to rank, plus a group of posts that answer the questions shoppers ask before buying from it, all linked to each other and to the collection. Plan by collection, not by calendar date.
This structure also helps you prioritize. Start with the collections that bring the most revenue or margin, not with the topics that are easiest to write about.
Technical Checks That Matter for Blog Pages
Shopify handles hosting, HTTPS and the base robots.txt, so the technical list for a blog is short. Check these once per theme and after installing apps:
- Sitemap. Shopify generates /sitemap.xml automatically, and it points to a blog sitemap (on most stores sitemap_blogs_1.xml) that lists each blog and post. Submit /sitemap.xml in Google Search Console once; new posts are added for you.
- Article structured data. Shopify’s structured_data Liquid filter outputs a schema.org Article for a blog post, and the Dawn theme’s article template uses it ({{ article | structured_data }}). Many other themes and older themes do not. Paste a post URL into Google’s Rich Results Test; if no Article item appears, ask your developer to add that one line to the article section. Avoid installing a schema app on top of theme markup that already exists, or you end up with two conflicting Article blocks.
- Speed. Blog templates often load every app script your product pages use (reviews widgets, popups, chat). Test a blog post, not just the homepage, in PageSpeed Insights, and remove apps you no longer use. Shopify’s Web Performance dashboard shows real-user Core Web Vitals.
- Mobile. Shopify themes are responsive, but wide tables, embedded widgets and huge hero images can still break the mobile layout of a post. Read your longest post on a phone.
- Canonical tags. Themes output a canonical URL on every post by default. Check that a post’s canonical points to itself, especially if you use a page builder or an app that renders posts.
Why a Shopify Blog Post Is Not Indexed (and How to Fix It)
When a post does not show up in Google, inspect its URL in Search Console first; the URL Inspection tool tells you whether Google knows the page and why it is not indexed. Then work through these Shopify-specific causes:
| Symptom | Likely cause | Fix |
|---|---|---|
| Post returns 404 for visitors | Visibility is Hidden, or the scheduled date has not arrived | Set Visibility to Visible, or check the schedule |
| Whole store not indexed | Online store password page is still on | Remove the password in Online Store preferences when you launch |
| Old URL returns 404 after an edit | Handle changed with the redirect box unchecked | Create a URL redirect from the old path to the new one in the admin |
| Crawled, currently not indexed | Thin or near-duplicate content, or a topic another page already covers | Expand with first-hand detail, or merge into the stronger page |
| Tag pages indexed instead of posts | Many thin tag archives competing with posts | Cut tags to a few broad ones and link to posts directly |
| Indexed, though blocked by robots.txt | Combined-tag or filtered URLs found through links | Usually nothing; Shopify blocks these on purpose |
| New post found slowly | No internal links point to it | Link to it from a related post that already gets traffic |
Shopify can generate blog post drafts with Sidekick. A generated draft that repeats what every other page says is exactly the kind of content that sits in “crawled, currently not indexed.” Use drafts as a starting outline, then add what only your store knows: sizing data from returns, photos of real use, test results, and answers to the questions customers actually send you.
Show Experience: Authors and First-Hand Detail
Google’s quality guidelines reward content that shows experience and expertise. On a store blog, that looks like:
- A real author byline (a staff account for the person who knows the subject, with a short bio if your theme supports it).
- Original photos and measurements instead of stock images and manufacturer copy.
- Specifics from running the store: which size people exchange most, what customers say after six months of use.
- Reviews and customer photos, linked from or embedded in buying guides.
- Clear about, contact and policy pages, so readers and Google can see who stands behind the advice.
Earn Links With Posts Worth Citing
Links from other sites still help pages rank, and blog posts earn them far more easily than product pages. The posts that attract links are the ones with something to cite: a size chart built from your return data, a care test with photos, a guide a niche community keeps sharing. Pitch those to partners, suppliers, creators you work with and journalists covering your category. Skip paid link schemes; they are against Google’s spam policies and can cost you rankings.
How Often to Publish, and When to Refresh
The top guides disagree on cadence, from one strong post a month to several a week, and none of them cites evidence for a number. Pick the cadence you can sustain with posts that each answer a real question and link to a collection. For a small store, two good posts a month beat eight thin ones. If you are still deciding whether the blog deserves budget at all, run the numbers in is SEO worth it first.
Refreshing usually pays faster than publishing. Revisit a post when:
- Search Console shows impressions rising but clicks flat (rewrite the title and description).
- It ranks on page two for its main query (expand it with what the top results cover).
- Linked products are sold out or discontinued (swap the links).
- It gets traffic but almost no product clicks (move product links up, add a comparison table).
Measure Revenue per Blog Post
Search Console tells you which posts get impressions and clicks. It does not tell you which posts sell. For that you need organic sessions, orders and revenue by landing page. If GA4 is connected to your store (for example through Shopify’s Google & YouTube app), you can pull it in a few minutes.
Step 1: Open the landing page report
In GA4, go to Reports, Engagement, Landing page. Choose at least 90 days so small posts have enough data.
Step 2: Keep only organic blog sessions
Add a filter for Session default channel group exactly matching Organic Search, then type /blogs/ in the table search box so only blog landing pages remain.
Step 3: Add orders and revenue
Show Sessions, Key events for the purchase event, and Total revenue. Export the table to a spreadsheet.
Step 4: Calculate revenue per session and product click-through
Divide each post’s revenue by its sessions. Then, in Explore, build a path exploration that starts at the post and count how many sessions reach a /products/ or /collections/ page next.
Worked example (illustrative numbers)
Two posts on the same store over 90 days:
| Metric | Post A: How to wash wool sneakers | Post B: Best travel shoes for Europe |
|---|---|---|
| Organic sessions | 6,000 | 1,800 |
| Sessions that click to a product or collection | 300 (5%) | 270 (15%) |
| Same-session orders | 15 | 27 |
| Revenue (average order $90 and $110) | $1,350 | $2,970 |
| Revenue per session | $0.23 | $1.65 |
Post A gets more than three times the traffic, but Post B earns more than twice the revenue and about seven times more per visit. The fixes are different. Post B deserves a refresh and more internal links pointing at it, since every extra visit is worth about $1.65. Post A answers a care question for people who often already own the product; its job is to move more readers to a product, so test a comparison block or a “shop replacement laces and wash bags” link near the top, and judge it on click-through first.
Why the numbers understate blog posts
Landing page reports credit a purchase to the page where that session started. Many blog readers come back days later through a branded search, an email or a direct visit and buy then, and that order shows up under the later channel. So same-session revenue is a floor, not the full value. Two ways to see more of it: compare first-touch views (see first-touch attribution), and track smaller actions on the post itself, such as email sign-ups and add-to-carts, with a value on each. Before-and-after comparisons after a refresh are noisy too: seasonality and algorithm updates move numbers, so compare the same weeks year over year when you can.
If you would rather not build this in GA4, SEOConversion reports conversions and revenue from organic search and AI assistants by landing page, reading Shopify’s purchase, add-to-cart and checkout events from the dataLayer, so each blog post shows what it actually sold. For the wider method, see the guide to SEO conversion tracking and content marketing ROI.
AI Search: What Actually Matters for a Shopify Blog
Some guides claim your posts will be “ignored” by AI search unless you add an llms.txt file, or that you need IndexNow to be found. Google’s own documentation says the opposite for its AI features: to appear as a supporting link in AI Overviews or AI Mode, a page must be indexed and eligible for a normal snippet, there are no additional technical requirements, and you don’t need new machine-readable files or AI text files (Google Search Central). IndexNow is a protocol supported by Bing and some other engines, not Google. Neither is worth delaying content work for.
What helps a blog post get cited by Google’s AI features and by assistants like ChatGPT and Perplexity is the same as for search:
- A direct answer near the top, in a sentence that makes sense on its own.
- Specifics an assistant cannot get elsewhere: your measurements, test results, sizing data.
- Clear headings phrased like the questions people ask, and tables for comparisons.
- Crawlable text: key information in the HTML, not only inside images or video.
To see whether AI assistants send buyers, track referrals from them separately. Some assistants pass no referrer, and those visits show up as Direct; see AI conversion tracking for what can and cannot be measured.
Native Blog or a Separate Blogging Platform?
Third-party blog platforms promise faster pages, more schema and team workflows. Before switching, weigh where the blog would live:
| Option | Upside | Trade-off |
|---|---|---|
| Native Shopify blog | Same domain, product links and theme built in, nothing to maintain | Basic editor, staff-only authors, output depends on theme |
| External platform on a subdomain (blog.yourstore.com) | Better editor and workflow | Separate site to manage and verify in Search Console; links to products cross hosts |
| External platform on /blog via a reverse proxy | Same domain plus a better editor | Needs a proxy you control in front of Shopify, which Shopify does not support |
SEO practitioners still argue about whether subdomains rank as well as subfolders, and the top guides contradict each other on it. The safer default for a store is to stay on the native blog until a concrete limit, such as a multi-writer approval process, costs you more than a migration would.
1. Target questions and comparisons; leave shopping queries to collections.
2. Fill in the page title, meta description, handle, excerpt and alt text on every post.
3. Link each post to the most specific collection or product, early in the post.
4. Keep tags few, leave the redirect box checked, and confirm Article markup in the Rich Results Test.
5. Rank posts by revenue per organic session, then refresh and link to the winners.
FAQ
Is Shopify good for blogs?
Yes, for most stores. The built-in blog lives on your own domain, gives every post an editable title tag, meta description and URL handle, adds posts to your sitemap, and lets you link straight to products and collections. It is weaker on editorial workflow: authors must be staff accounts, and there is no built-in link suggestion or version history. Those limits rarely matter until you publish at high volume with several writers.
Does Shopify have good SEO?
Shopify covers the basics well: crawlable HTML, automatic sitemaps, canonical tags, a default robots.txt that blocks cart, checkout and filtered duplicates, and editable SEO fields on every page type. The fixed URL prefixes (/products/, /collections/, /blogs/) and app-heavy themes are the usual complaints. Rankings still come down to what you publish and how well it matches the search.
Is SEO still worth it in 2026?
For a store with products people search for, usually yes, but the answer should come from your own numbers: what organic visits are worth in orders and revenue, and what the content costs to produce. Measure revenue per blog post before deciding to publish more. Our guide on whether SEO is worth it walks through that calculation.
Is SEO dead now with AI?
No. Google says pages appear as links in AI Overviews and AI Mode by being indexed and eligible for a normal snippet, with no extra technical requirements. What changes is the click: some questions get answered on the results page. Blog posts that offer something an AI summary cannot replace, like sizing data, first-hand testing and product comparisons, keep earning visits.
What is the 80/20 rule in SEO?
It is the observation that a small share of pages or keywords usually produces most of the results. For a Shopify blog, it means a handful of posts will drive most organic orders. Find them with the revenue-per-post method in this guide, then spend most of your time refreshing and linking from those winners instead of publishing more average posts.
What are the four pillars of SEO?
The common split is technical SEO (can search engines crawl and index the page), on-page SEO (titles, headings, content matching the search), content (pages worth ranking) and off-page SEO (links and mentions from other sites). On a Shopify blog, the platform handles much of the technical pillar, so most of your work is in the other three.
See which Shopify blog posts actually sell.
SEOConversion reads Shopify's purchase, add-to-cart and checkout events and attributes revenue to organic search and AI assistants by landing page, so each blog post shows what it earned. One script, cookieless, with a 7-day free trial and no credit card.
Start free