WP Shopify Redirect Mapper
WP ➜ Shopify Redirect Mapper
Upload WordPress URLs and download a Shopify-ready redirects CSV. Tip: Add an optional type column with values like post, page, product to force routing.
1) Upload files
CSV should have a URL column named one of: url, source, from, wordpress_url, wp_url, link. Optional columns: category (or categories), handle_override, type (post/page/product/category/tag).
2) Options
Used for blog posts → /blogs/<blog-handle>/<article>
Used when a product has no explicit/inferrable category.
3) Process
Preview
| Redirect from | Redirect to |
|---|
How to use the Redirect Mapper (step-by-step)
1) Create your input CSV
Use Excel/Sheets. Add headers on the first row:
-
url– the original WordPress URL -
category– the Shopify collection handle you want this product to land in
(optional)handle_override– only if the Shopify product handle is different from the WP slug
Minimal example (what most people need)
Since your WP site doesn’t use product categories, the category column is how you tell the tool which Shopify collection to use. Just type the correct collection handle (lowercase, hyphenated).
The tool treats single-segment pages as Shopify Pages automatically:
-
https://www.thecheesesociety.co.uk/contact/→/pages/contact -
https://www.thecheesesociety.co.uk/about/→/pages/about -
https://www.thecheesesociety.co.uk/delivery/→/pages/delivery
So in your CSV, just leave category blank for pages (and blog posts)
If a handle is different on Shopify
Save as CSV.
2) Open the tool
You’ve got two versions:
-
Shortcode plugin (works great with Classic Editor):
Create a page and put this shortcode in the content: -
Standalone HTML (can be iframed or opened locally in your browser) — same UI.
2) In the tool, do this
-
Upload your CSV in “WordPress URLs file (CSV or TXT)”.
-
Ignore “Category map (CSV)” — you don’t need it if you already put the right collection handles in your
categorycolumn. -
Options (defaults are fine):
-
Blog handle:
blog -
Fallback collection:
all(only used when a row has no category and none can be inferred) -
Prefer /collections/…/products/…: ✅ keep ON
-
Trailing slash: optional; your choice
-
-
Click Process URLs → review the Preview table.
-
Click Download CSV to get the Shopify-ready file.
3) Import into Shopify
-
Shopify Admin → Navigation → URL redirects → Import.
-
Upload the CSV you downloaded from the tool.
-
Column headers will already be:
Redirect from,Redirect to(what Shopify expects). -
Values are path-only (no domain), which is correct.
-
What the buttons mean (plain English)
-
WordPress URLs file: Your main CSV/TXT (with the
urlcolumn, pluscategory, etc.). -
Category map (CSV): Optional translator.
Only use this if your CSV’scategoryvalues are human labels (e.g., “Blue Cheese”) and you want them auto-converted to collection handles (e.g.,blue-cheese).-
If you’re already typing
blue-cheesein thecategorycolumn, you can skip this. -
If you want to use it, create a tiny file like:
-
-
Blog handle: Used for blog post redirects (
/blogs/<handle>/<article>). Doesn’t affect products. -
Fallback collection: Used only when the tool can’t find/doesn’t get a category for a product.
-
Prefer /collections/<col>/products/<handle>: Keeps product targets under the right collection.
-
Add trailing slash: Style preference.
-
Process URLs: Runs the mapping rules.
-
Download CSV: Gets the Shopify import file.
-
Clear: Resets the page.
FAQ (quick)
-
My WP product URLs are
/product/<slug>and don’t show categories. What do I do?
Just fill thecategorycolumn with your target Shopify collection handle for each row. That’s it. -
Do I need a Category map?
No, not if yourcategorycolumn already uses the correct handles (blue-cheese,cheese-gift-boxes, etc.). It’s only for translating human labels to handles. -
What if I leave
categoryblank?
The tool will try to infer from the URL (only works if your URL has/.../<cat>/product/<slug>), otherwise it uses your Fallback collection.