Rowmill Redirect Check

For Shopify migrations

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.

Check your file

  • Runs in your browser
  • Nothing is uploaded
  • Shopify and Matrixify formats

What it checks

Thirteen rules, run on every row. Each issue comes with the row number, a plain explanation and a suggested fix.

Loops and self-redirectsRedirects that lead back to themselves, at any length.
ChainsA to B to C, with the hop count and the final page.
Conflicts and duplicatesOne source with different targets, and exact repeat rows.
Missing or invalid valuesEmpty cells and sources or targets that are not valid paths.
Targets that will 404Targets that do not exist on the new store.
Needs a live URL list
Redirects that never fireSources where a page already lives, which Shopify ignores.
Needs a live URL list
Old URLs left behindPages on the old store that have no redirect at all.
Needs an old URL list
External and homepage targetsRedirects that leave your store, and many rows sent to the homepage.
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

Only the redirects file is required. Add the URL lists to switch on the 404 and missing-redirect checks.

1Redirects CSV required

Drop a file here or

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

2Live 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.

3Old URLs optional

Drop files here or

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

Finds old URLs that have no redirect.

4Store 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

Pro

The whole list, and the files you hand over

The free checker on this page finds every problem and shows the first 25. Pro is the same checker as one offline file, with nothing held back.

  • Fixed CSV in Shopify's import format. Chains point straight at the final page; duplicates, self-redirects and loops are removed. See a sample
  • Handover report to print or save as PDF for a client: what was wrong, what was changed, what still needs a decision. See a sample
  • Removed-rows CSV and issues CSV, so nothing disappears without a record.
  • Every issue listed, with no 25-issue limit.
  • One purchase, any number of stores. It covers you and your team, client projects included.

US$39

One-time. Where Stripe supports it, checkout shows your local currency.

Get Pro
  1. Pay by card on Stripe.
  2. Download one HTML file, under 100 KB.
  3. Open it in any browser. It works offline.

No subscription and no account. Pro is a digital download, so a sale is final once you download it. Run your file through the free checker first: it shows what Pro will list and fix. Terms and refunds.

Questions

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.

My file has full URLs, not paths. Does that work?

Yes. The checker reads the domain from the "Redirect from" column and treats it as your store, so https://your-store.com/old-page is compared as /old-page. If the old and new stores use different domains, list both in the store domains field.

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.

How do I get Pro after paying?

Stripe sends you to a download page as soon as the payment goes through, and the file downloads from there. Bookmark that page to download again later. Pro is a file you keep and run on your own computer; the free version is this web page.

Can I use Pro for client work?

Yes. One purchase covers you and your team for any number of stores and client projects. Please do not resell or publish the file itself.

Can I get a refund?

Pro is a digital file that cannot be returned, so a sale is final once you download it. That is why the free checker runs every rule on your whole file first: you see what Pro will list and fix before you pay. We do refund a double charge, and a file that does not work on your redirect file if we cannot fix it within 5 business days. See Terms and refunds.