Goal: send Shopify tagged collection/filter URLs to cleaner collection URLs.
Key constraints and clarifications:
Shopify admin URL redirects only work for broken URLs (404). Tag pages are valid filtered views, so they won’t 301 via Shopify’s redirect tool, nor can they be deleted to force 404.
Third‑party/edge redirects (e.g., Cloudflare) also may not fire for these non‑broken Shopify routes.
Workarounds shared:
Canonical override: add a Liquid snippet that rewrites the canonical URL on tag pages to a preferred collection URL. Insert the snippet in theme.liquid via {% render ‘canonical-helper’ %}, mapping specific source→target URLs.
Meta refresh redirect: when server‑side redirects aren’t possible, add an instant meta refresh tag in via Liquid. Google treats instant meta refresh as a permanent redirect. Example sets redirect_url based on request.path, then outputs a meta refresh.
Vendor query URLs:
Redirecting /collections/vendors?q=Brand to /collections/brand via admin fails. Query strings are limited for redirects, and spaces may be encoded as +, not %20. Use canonical or meta refresh.
Open items:
A user’s attempt to normalize multiple trailing slashes via Liquid meta refresh isn’t working; expert requested example URLs for debugging. Discussion remains open.
Summarized with AI on December 22.
AI used: gpt-5.
I am trying to redirect the tagged page to the collection/category pages. I’ve added a URL redirect to the Shopify URL Redirects table but it isn’t redirecting to the target path.
Below I have added the way I follow
Settings > Apps and sales channels > click Online store > Click Open sales channel > Navigation > Click URL Redirects > Click Create URL redirect.
Could anyone please guide me on how to redirect tagged pages to collection pages in Shopify?
I hope you have an idea about the rules for redirection in Shopify. If you don’t have any idea please refer to the below note.
Only broken URLs should be redirected. Broken URLs might load a “page not found” placeholder message, or “404” might appear somewhere on the page or in the page title. If the URL still loads a valid webpage, then the URL redirect won’t work.
Hi @Akibhusen
I would like to redirect tagged pages to the actual collection pages. As far as deleting tagged pages on Shopify is concerned, I don’t know what to do.
You can’t make the tag page 404 as it’s just a part of the collection. Tag value will be added at the end of the collection URL and display the products which have the tag value which is rendered in the URL with the collection.
If you delete that tag from the product then also it is not displaying 404 because it is just a filter value that is added in the URL as a part of the parameter.
The solution we came up with is a liquid snippet that overwrites the canonical URL for the tag pages and tells search engines we’d rather show a different page instead. Sample code below. You just have to add new rows for every URL you want to canonicalize to a different URL.
{% liquid
assign url = canonical_url
case url
when 'https://www.vietri.com/collections/sets/dinnerware-set'
assign url = 'https://www.vietri.com/collections/dinner-place-settings'
when 'https://www.vietri.com/collections/sets/bakeware-set'
assign url = 'https://www.vietri.com/collections/bakeware-sets'
endcase
%}
I would be grateful if you could help with setting up a redirect for the query page.
Essentially, product pages contain a link to Vendor name but when I click it it takes me to query string. I’m trying to set a redirect from the query URL to a proper collection for that brand.
For example:
URL that ends with /collections/vendors?q=Agent%20Nateur should be redirected to /collections/agent-nateur.
However, I’m facing two issues here.
For simple brands like for example “Venn” redirect simply does not work and I don’t understand why. Feel like query string cannot be redirected but I haven’t found any information about it on the net.
For multi-word Vendor name like the example (Agent%20Nateur) above, when I’m saving redirect %20 in the URL is being replace with “+” so obviously /collections/vendors?q=Agent%20Nateur and /collections/vendors?q=Agent+Nateur are not the same and redirect does not work either.
As you’ve discovered, you’re limited in what you can do with server side redirects on Shopify.
Google’s Search Central documentation mentions that you can add meta refresh redirects when you can’t do server side redirects. Server side redirects are what happen when you add redirects into the Shopify admin.
Meta refresh redirects are more within your control, since you can define them in the source code of your theme as a HTML tag.
From Google:
If server-side redirects aren’t possible to implement on your platform, meta refresh redirects may be a viable alternative. Google differentiates between two kinds of meta refresh redirects:
Instant meta refresh redirect: Triggers as soon as the page is loaded in a browser. Google Search interprets instant meta refresh redirects as permanent redirects.
Delayed meta refresh redirect: Triggers only after an arbitrary number of seconds set by the site owner. Google Search interprets delayed meta refresh redirects as temporary redirects.
You’ll be able to write some custom Liquid into which adds a meta refresh tag when the URL being visited is one that you would like to redirect.
Some example Liquid code which would redirect a tagged collection URL:
{% liquid
case request.path
when '/collections/my-collection/my-tag'
assign redirect_url = collections['my-other-collection'].url
endcase
%}
{% if redirect_url != blank %}
{% endif %}
You would need to insert this just after the tag in theme.liquid, and customise the snippet to redirect based on the URLs you want to target, and what collection to redirect them to. Bear in mind if you are using subfolders in Markets, then you may need to account for that as well.