Here is the short version. If the date on a piece of content will still be useful in two years, make it a blog post. If the date would only make it look stale, make it a page.

That one rule sorts most of what a new Shopify store publishes. This post covers the rest, plus what to do if you already picked wrong.

The Shopify blog vs page decision feels invisible while you are setting up. Both live in your admin behind a title field, a rich text editor, and a search engine listing section. Both render as an ordinary page on your storefront. So most owners pick by feel. The size guide went into a blog post because it read like an article. The FAQ went into a page because it felt permanent. Nobody thought about it again.

Then six months later the size guide is ranking, it lives at /blogs/news/size-guide, and “news” is not what that content is. Moving it now means a redirect, a re-crawl, and a few weeks of watching the position wobble.

The container is not cosmetic. It decides your URL, whether the content shows a publish date, whether it has an author, whether it can be tagged, and how much work it takes to move later. Individually those are small. Together they decide whether a piece of content compounds or just sits there.

This is written for stores in their first year, where the whole site is still small enough to fix in one afternoon.

What's actually different between a Shopify blog post and a page

Both are text on a screen. The differences live in the fields around the text.

The URL is the part you can't undo

A page sits at yourstore.com/pages/size-guide. A blog post sits at yourstore.com/blogs/{blog-name}/size-guide.

That middle segment is the name of the blog the post belongs to. Every Shopify store ships with a default blog called News, so unless you renamed it, your first post is under /blogs/news/. That segment appears in every article URL inside that blog, permanently. You can rename the blog. You cannot remove the segment, and you cannot publish an article without one. It is worth reading up on how Shopify builds blog URLs and tag paths before you name anything.

Pages are flatter. One fixed segment, then the handle you choose.

Blog posts carry a date and an author. Pages don't.

Every blog post has an Author dropdown and a publish date. Per Shopify's documentation on managing blog posts, the author has to be the store owner or a staff member with admin access, so POS-only staff and collaborators never appear in that list. Most themes print the date and the name on the article.

Pages have neither field. No byline, no visible date. A page is treated as content that is simply true right now.

Tags, excerpts, comments, and the small stuff

Blog posts also get tags, which generate their own /tagged/ URLs, an excerpt that shows on the blog landing page, comments managed at the blog level, and a featured image field used by the listing.

Pages have none of those. What pages do have is a different default: a new page is visible as soon as you save it, while a new blog post stays hidden until you publish. Worth knowing before you save a half-finished About page.

One more difference nobody mentions. Shopify's own guidance says a page's meta description may get cut off past 160 characters, while for a blog post the figure it gives is 320. Do not read a ranking signal into that, because search engines truncate on pixel width either way. Read it as a hint about which container Shopify treats as editorial.

Field or behaviour Page Blog post
Where it lives in admin Online Store > Pages Content > Blog posts
URL pattern /pages/handle /blogs/blog-handle/post-handle
Publish date shown No Yes
Author field No Yes, staff with admin access only
Tags No Yes, with their own tag URLs
Excerpt No Yes
Comments No Yes, set per blog
Featured image field No Yes, used on the listing page
Theme template Chosen per page Chosen per post, default set per blog
Visibility when you first save Visible Hidden until published
Meta description cutoff Shopify cites 160 characters 320 characters
Grouped into a listing page No Yes, the blog index

Where each type of content actually belongs

Here is the sorting, by the content types a first-year store usually has on its list.

Content Container Why
Size guide or size chart Page Referenced constantly, linked from product pages, and never improved by a date
Buying guide (“how to choose X”) Blog post Informational search intent, benefits from a visible refresh date, belongs in a topic cluster
FAQ Page Reference content shoppers return to, and the natural home for FAQ schema
Shipping, returns, privacy, terms Neither, use Settings > Policies Shopify wires these into checkout automatically. See the next section
Product launches and announcements Blog post Dated by definition, and the blog listing gives them a home after the moment passes
Care and maintenance guides Blog post Informational intent, and tagging them by product line does real work
About us Page One-off, permanent, no date wanted
Contact Page, using the Contact template The template supplies the form
Gift guides Either Blog post if you write a fresh one each season. Page if you maintain one evergreen guide
Product comparisons Blog post Ranks on comparison queries and needs updating as the range changes
Lookbooks and stockist lists Page Visual or reference content that gets edited in place, not republished
Behind the scenes and founder notes Blog post The date is the point
Diagram sorting dated and undated Shopify content into blog post and page containers

The rule that settles the edge cases

Ask one question: in two years, does a visible publish date on this help the reader or embarrass you?

A buying guide dated 2026 tells a reader it might be behind, which is fair, and gives you a reason to refresh it and update the modified date. A size guide dated 2026 just looks neglected, because sizes did not change.

For genuine ties, ask a second question: will you write more like this? If yes, blog post, because the blog hands you a listing page, tags, and an internal linking pattern at no cost. A true one-off gets a page. That is why the first ten blog posts a new store should write are all posts and none of them are pages. They are a set, and sets belong in a blog.

Policies are neither a page nor a blog post

Most new stores build a refund policy page by hand. Shopify already has a place for that, and it is not Pages.

Settings > Policies holds your return policy, privacy policy, terms of service, shipping policy, legal notice, and subscription policy. They render at /policies/refund-policy, /policies/privacy-policy, /policies/terms-of-service, /policies/shipping-policy, and /policies/subscription-policy.

The reason to use it is what happens automatically. Shopify links your policies in the checkout footer, puts the return policy on the order review page, and puts the shipping policy on your product pages and in the cart. A hand-built page at /pages/refund-policy does none of that. New stores also get automated privacy settings switched on by default, which keeps the generated privacy policy and cookie banner in step as you change other settings.

If you built the page first and found Settings > Policies later, you now have the same text at two URLs, and you will update one and forget the other. Keep the policy version, redirect the page to it, then delete the page.

The exception is legal content with no matching policy slot: an EU right-of-withdrawal form, an accessibility statement, an impressum. Those are pages. That is exactly what pages are for.

Does Google rank blog posts differently from pages?

No. There is no bonus for living under /blogs/ and no penalty for living under /pages/. Search engines index URLs, not Shopify object types, and they have no way to know which admin screen you used.

What differs is the signals each container hands over without you asking.

Dates

Google estimates a byline date for a page and shows it in results when it judges that useful. Its documentation is clear that no single date factor is trusted on its own, because any one of them can be wrong, so its systems weigh several. The strongest thing you can do is show a clearly labelled date on the page and match it exactly in your Article or BlogPosting structured data. A Shopify blog post gives you the visible date for free and most themes give you the markup. A page gives you neither, which is correct for a size guide and a problem for a buying guide.

URLs

Google's URL structure guidance asks you to organise content so URLs are built logically and stay intelligible to a person. /blogs/news/how-to-choose-a-mattress is not that. /blogs/guides/how-to-choose-a-mattress is. Fixing this before you publish costs nothing. Fixing it afterwards costs a redirect for every article in the blog.

Internal linking

A blog post drops into the blog listing, its tag pages, and whatever related-posts section your theme runs, so it collects internal links on its own. A page collects only the links you place by hand. For one-off reference content that is fine. For a growing set of articles it is the difference between a cluster and a pile of orphans.

Structured data

Most themes emit Article or BlogPosting markup on articles and very little on pages. If you want FAQ schema on your FAQ page, you are adding it yourself either way, so let that one be a page and do the markup properly.

What it costs to change your mind later

There are two versions of this, and Shopify treats them very differently.

Changing the handle is cheap

Edit the URL handle in the search engine listing section of a page or a post and Shopify offers to create a URL redirect, with the box already ticked. Leave it ticked. That is the whole job.

Moving a post to a different blog is not

Change the Blog dropdown in the Organization section and the URL changes too, because the blog handle sits in the path. No redirect prompt appears for that one. You build it yourself, and it is worth knowing how to set up a 301 redirect in Shopify before you need one in a hurry.

The expensive version of this shows up on the Shopify Community forum regularly. One merchant has more than 250 ranking articles sitting in a single blog and wants to split them across five or six topic blogs. Selectively reassigning posts in bulk is not supported, and every reassignment produces a new URL. That thread has been open since late 2024, and a second merchant with the same problem turned up in February 2026. There is no clean answer, only a redirect map.

Two Shopify URL paths changing, one bridged by a redirect and one left broken

Moving between containers entirely

There is no convert button. You copy the content into the new container, publish it, redirect the old URL to the new one, then delete the original. Order matters here, because a Shopify URL redirect only fires once the old URL is genuinely gone.

When it's worth moving anyway

Move it when the URL actively misdescribes the content, when the content is ranking and the wrong container is starving it of the signals it needs, or when you are consolidating two versions of the same thing.

Do not move it because the container feels aesthetically wrong. A perfectly good page at /pages/care-guide pulling forty visits a month is not worth a redirect and six weeks of re-crawling. Most stores that get burned here get burned by moving too much, not too little.

The third container most stores don't know about

Pages and blog posts are not the only two options. Metaobjects can publish their own web pages.

A metaobject is a reusable block of structured data you define yourself, with named fields and types. Switch on Storefronts access and the option to publish entries as web pages, choose which fields become the page title and meta description, and every entry renders through one template you build once in the theme editor.

Shopify's own documentation names size charts as the example use case, which is not a coincidence. The pattern this solves is twelve near-identical pages: one size chart per product category, one page per stockist, one page per ambassador. Built as pages, that is twelve copies of the same layout you now maintain twelve times. Built as metaobject entries, it is one template and twelve rows of data.

The Spring ’26 Edition in June 2026 made metaobject fields usable through dynamic sources anywhere in the theme editor, which brought the setup effort down noticeably.

The honest limit: if you have one size chart, this is overkill and a page is the right answer. The threshold is roughly the fourth time you catch yourself duplicating a page and changing three lines.

Wrapping up

Three things worth keeping.

First, the date decides it. Content whose date helps the reader is a blog post. Content whose date only makes it look old is a page. Everything else is an edge case, and the tiebreaker is whether you plan to publish more like it.

Second, policies are not in this fight at all. Settings > Policies exists, it wires straight into checkout, and a hand-built policy page is a duplicate you will forget to update.

Third, name your blog before you publish anything into it. That handle sits in the URL of every article you will ever write there, and renaming later means redirects on all of them.

None of this is glamorous. The Shopify blog vs page choice is a five-second decision at the top of a blank editor, and the full cost of getting it wrong arrives months later as a URL that does not match its content and a redirect you have to watch. The useful part is that a store under a year old usually has fewer than thirty pieces of content in total. An afternoon with a spreadsheet is enough to sort all of it, and this is the cheapest the job will ever be.

Want someone else deciding where each piece goes?

The Studio Niza Blog Content service plans the topics, sorts each piece into the right container before anything gets published, and writes the posts with schema, internal links, and clean URL handles already in place.

See how Blog Content works

Or email contact@studioniza.com if you have a specific question about your store. I read every one.


Frequently asked questions

If you're still unsure after reading these, just send the question.

Can I convert a Shopify page into a blog post? +

There is no convert button. You copy the content into a new blog post, publish it, then create a URL redirect from the old page address to the new post address and delete the page. Shopify redirects only fire once the original URL is genuinely gone, so the order matters.

Do Shopify pages get indexed as fast as blog posts? +

Shopify blog vs page makes no difference to crawl priority. What matters is whether the URL sits in your sitemap and how many internal links point at it. Blog posts pick up internal links automatically from the blog listing and any tag pages, which is usually why they get found sooner.

Should my FAQ be one page or one blog post per question? +

For most stores under a few hundred orders, one page with grouped questions is enough and far easier to keep accurate. Splitting into one post per question only earns its keep once individual questions have real search volume and deserve their own keyword target.

Is it bad SEO to have too many Shopify pages? +

No. The page count is not the problem; thin or duplicated pages are. The Shopify blog vs page decision matters much more than how many of each you end up with, because one well-placed page beats three badly placed posts.

Can I put a blog post inside a page on Shopify? +

You can add a blog posts section to a page in the theme editor so recent articles appear there, but the posts still live at their own /blogs/ addresses. The section is a display of those posts, not a copy of them.

Does the /blogs/news/ part of the URL hurt my rankings? +

It does not hurt rankings directly, but “news” describes almost nothing, and Google asks that URLs be built logically and stay readable to a person. Rename the blog to something accurate before you publish into it, because renaming afterwards changes the address of every article inside it.