Affiliates
How To Take A Payment With Tap To Pay: A Field Guide For Your Team
Setting up Tap to Pay is the owner's job. Taking the payment is somebody else's. This is the field guide for affiliat...
Unused pages in Shopify should not all be handled the same way. Every orphan page gets exactly one of four outcomes: keep and link it, redirect it, keep it live but noindex it, or remove it. Picking the wrong outcome is how stores lose rankings and break live pages, and the most expensive mistake is unpublishing a page that another template is quietly pulling content from.
An orphan page is a page on your store that no other page links to. It exists at a URL, it may still be published, and it may still be sitting in your sitemap, but nothing in your navigation, footer, collection pages, or blog posts points at it. The only ways to reach it are a direct link someone saved, a search result, or a link from another website.
Shopify stores collect these faster than most platforms. A theme gets swapped and the old navigation goes with it. A seasonal campaign ends and the landing page stays. An app is uninstalled and leaves its pages behind. Someone builds a second version of a shipping policy page for a test and never deletes the first one. After three or four years, a store that has been actively managed can easily carry thirty forgotten pages.
Here is the part that surprises most owners. Google does not penalise a site for having unlinked pages. There is no orphan page penalty. Google's John Mueller has been equally clear that removing pages does not trigger a penalty either: "Google does not penalize for 404's (those pages drop out of the index though)."
"There is no orphan page penalty. The risk is not what Google does to you. It is what a forgotten page says to a customer who lands on it."
So the reason to clean this up is not fear of a penalty. It is quality, accuracy, and the first impression a stale page makes on somebody who arrives there cold.
I ran this exercise recently for a skincare client whose store had been through two theme rebuilds. The page list had grown well past what anyone could account for. The owner's instinct was to hide everything not currently in use. The instinct was right. The single blanket action was wrong.
Sorted by how much they actually hurt, here is what unused pages cost a store.
Notice the order. The compliance and first-impression items sit at the top, and they are the reason to act. Crawl budget sits at the bottom, and it is almost never worth acting on alone.
This is the decision model. Every unused page gets exactly one of these four, and you decide per page rather than per batch.
The page is useful, current, and on message. It simply lost its internal link somewhere along the way. Fix the cause rather than the symptom: add a contextual link from a relevant hub page, a blog post, or the footer. One warning here. Do not blanket-link weak pages into your navigation to solve the orphan problem. That turns a cleanup into an endorsement of thin content, and now the page is thin, indexed, and prominently linked.
The page has backlinks or still earns traffic, but a better page now exists. Old campaign pages, superseded product pages, duplicate policy pages. A 301 redirect passes the accumulated link value to the replacement. On any page with real history, this is the highest value move available to you, and it is the one most often skipped in favour of deletion.
The page has to exist at a URL, but it should never appear in search results. Thank you pages, order confirmation pages, ad and email landing pages, policy duplicates, and any page being used as a content component inside another page. When you are unsure which outcome applies, this is the safe default. Nothing breaks and nothing is lost.
Genuinely dead. No traffic, no backlinks, no internal references, and content not worth keeping. Unpublish it and let it return a 404. Do not agonise over the status code. Mueller again: "The difference in processing of 404 vs 410 is so minimal that I can't think of any time I'd prefer one over the other for SEO purposes." Shopify gives you a 404 and that is fine.
This is the rule that prevents damage. Never unpublish or redirect a page before you have checked all four of these.
Items one through three are data you can pull rather than guess at. If you have Search Console connected and a backlink tool such as Ahrefs, you can produce this per URL and stop debating it.
This is the single most common way a Shopify page cleanup breaks a live storefront, and it is the reason to slow down.
Some Shopify pages exist only as content containers. They are never meant to be visited. Their HTML gets rendered inside another template through Liquid such as pages['handle'].content, through a page picker setting in a theme section, through a metaobject reference, or through an app block. To the page list they look identical to any abandoned page. Nothing in the admin flags them.
Unpublish one of those and the block it feeds disappears or errors out. It usually happens somewhere nobody checks for weeks. A size guide vanishes from every product page. An ingredient panel goes blank. The homepage renders an empty section.
Before unpublishing anything, search your theme code for pages[, for page.content, and for each suspect page handle. Then check section and block settings of type page in the theme customiser, check metafields and metaobjects that reference page handles, and check any installed app that uses page handles for content.
The correct treatment for a component page is to leave it published and apply noindex plus sitemap exclusion. It stays live, it stops competing in search, and nothing on the storefront breaks. Never unpublish one.
Four different controls, four different effects. Knowing which one does what is most of the job.
Content, then Pages, then set Visibility to Hidden. The URL immediately returns a 404 and drops out of your sitemap. Fast and total. It also breaks component pages and any hardcoded link pointing at it. Use it only when you have decided the page should be removed.
This is Shopify's own documented method. In the <head> of your theme.liquid file:
{% if handle contains 'page-handle-you-want-to-exclude' %}
<meta name="robots" content="noindex">
{% endif %}
Shopify's documentation adds a caveat worth knowing: this hides the page from search engines, but it remains visible to your storefront search. Someone typing into your own search box can still find it.
Set this metafield on the page and Shopify removes it from the sitemap and adds the noindex tag. There is a data type trap here that wastes a lot of people's afternoons. The metafield has to be an integer with the value 1. Set as a single line text field it will remove the page from the sitemap but it will not reliably emit the noindex tag. That mismatch is the cause of most "why is my noindex not working" threads in the Shopify developer forums. Check the data type first before you go looking for anything more exotic.
Do not use robots.txt to hide these pages. Google has to be able to crawl a page in order to read its noindex tag. Block the URL in robots.txt and the noindex is never seen, which means the URL can stubbornly persist in results with no description under it. Robots.txt controls crawling. Noindex controls indexing. They are different jobs.
One more piece of housekeeping. In Shopify, 301 redirects live in the admin under Online Store and then URL Redirects. They are not set in the theme, and you do not need a developer to create them.
When you are ready to act, work in phases and space them out. The point of spacing is attribution. If something goes wrong, you want to know which change caused it.
Start with the preparation work. Export every page with its handle, URL, title, created and updated dates, and published status. Then enrich that export: join in Search Console clicks and impressions for twelve months, backlink and referring domain counts, and a flag for any page referenced in theme code. Now classify every page against the four outcomes, and get the store owner to approve the full list before a single change is made.
Leave a week or two between phases one, two, and three.
One last thing while you are in there. Every page you classify as keep should be read properly before you re-link to it. If a page was forgotten long enough to become an orphan, it is probably old enough to predate your current brand voice and your current claims standards. Re-linking to a page that no longer represents you accurately is worse than leaving it orphaned.
Not directly. Google does not apply a penalty for pages that have no internal links pointing at them, and there is no orphan page penalty in any Google documentation. What orphan pages do is accumulate low quality, outdated, or duplicate content that dilutes the overall quality signal of your site, and they let stale pages rank and become a customer's first impression of your brand. The problem is quality and accuracy, not a penalty.
It depends on the page. Delete only pages with no traffic, no backlinks, no internal references, and content not worth keeping. If a page has backlinks or search traffic, redirect it with a 301 to the closest current equivalent so you keep the link value. If the page must exist at a URL but should never rank, such as a thank you page or a content component, keep it published and apply noindex. Hiding everything as a single action is what breaks storefronts.
Shopify's documented method is a conditional block in the head section of your theme.liquid file that checks the page handle and outputs a robots noindex meta tag. The alternative is the seo.hidden metafield set on the page itself, which removes the page from the sitemap and adds the noindex tag. The metafield must be an integer data type with the value 1. Set as a single line text field it removes the page from the sitemap but does not reliably add the noindex tag.
A component page is a Shopify page whose content is rendered inside another template rather than being visited on its own. A theme might pull it in through Liquid such as pages with a handle reference, through a page picker in a section setting, through a metaobject, or through an app block. Common examples are size guides, ingredient panels, and shipping information blocks that appear on every product page. Unpublishing one makes that block disappear or error on the live storefront, so component pages should be left published and noindexed instead.
It makes almost no practical difference. John Mueller of Google has said the difference in processing between 404 and 410 is so minimal that he cannot think of a time he would prefer one over the other for SEO purposes. A 410 is technically more correct for a permanently removed resource, but Shopify returns a 404 when you unpublish a page and that is perfectly acceptable. Do not spend time engineering a 410 response.
No, and doing so causes a specific problem. Google has to be able to crawl a page in order to read the noindex tag on it. If you block the URL in robots.txt, Google never sees the noindex instruction, and the URL can persist in search results as a bare link with no description. Robots.txt controls whether a page is crawled. The noindex tag controls whether it is indexed. Use noindex for pages you want out of search results, and leave them crawlable.
Export your full page list from the Shopify admin so you have every handle, URL, title, and published status. Then crawl your live site with a tool such as Screaming Frog or Ahrefs Site Audit to see which URLs are actually reachable through internal links. Any page in the export that the crawl never reaches through a link is an orphan. Cross reference that list with Search Console clicks and impressions and with backlink data before deciding what to do with each one.