Rowmill

Check a Shopify redirect CSV before you import it

Find loops, chains, duplicates, conflicts and targets that will 404 in your URL redirect file, then export a cleaned version.

What it checks

  • Missing or invalid sources and targets
  • Same source with different targets, and exact duplicate rows
  • Self-redirects and loops (any length)
  • Chains (A to B to C), with the hop count
  • Targets that are not on the new store (needs a live URL list)
  • Sources that are already live pages, so the redirect never fires
  • External targets, and many redirects to the homepage
  • Old URLs that have no redirect (needs an old URL list)

Your files stay in your browser

This page runs entirely on your computer. Nothing is uploaded, and the page makes no network requests while you use it. The checks work on Shopify's native redirect CSV and on Matrixify's Redirects sheet.

The checker

1. Redirects CSV required

Drop a file here or

Headers "Redirect from" and "Redirect to", or Matrixify "Path" and "Target".

2. Live URLs on the new store optional

Drop files here or

A sitemap.xml, a list of URLs or paths, or a products or collections export with a Handle column.

Enables the 404-target and live-source checks. Include every section your targets point to (products, collections, pages, blogs), for example from the sitemap.

3. Old URLs optional

Drop files here or

The old store's sitemap.xml or a list of URLs.

Finds old URLs that have no redirect.

4. Store domains optional

Absolute URLs on these domains are treated as internal paths. Add both the old and the new domain if your file contains full URLs.

Samples: redirects · live URLs · old URLs

FAQ

Which formats are supported?

Redirects: Shopify's native export or import file (headers "Redirect from" and "Redirect to") and the Matrixify Redirects sheet (headers include "Path" and "Target"; other columns such as ID and Command are ignored, and rows with Command DELETE or IGNORE are skipped). Header names are matched without regard to case. UTF-8 files with a BOM, CRLF line endings and quoted fields with commas are handled. Live and old URLs: a pasted sitemap.xml, a list with one URL or path per line, or a products or collections export with a Handle column (you choose whether the handles are products or collections).

Why does a redirect to an existing page not fire on Shopify?

Shopify only applies a redirect when the requested path would otherwise return a 404. If a product, collection or page already exists at the "from" path, the page is served and the redirect is ignored. To make the redirect apply, the page's URL handle has to change or the redirect row should be removed.

What is a redirect chain?

A chain is when A redirects to B and B redirects to C. Visitors and search engines make one request per hop, which slows the page and can dilute link signals. The fix is to point A directly at C. The tool reports the hop count and writes the collapsed version to the fixed CSV.

What is the difference between free and Pro?

The free version runs every check on your whole file and shows the count for each rule, but lists details for the first 25 issues only and does not export. Pro is a single offline HTML file with all issues listed, the fixed CSV, the removed rows CSV, the issues CSV and the handover report.