Redirect Map Guard — Shopify CSV Loops & Chains
Pricing
$250.00 / 1,000 completed redirect map reports
Redirect Map Guard — Shopify CSV Loops & Chains
Check Shopify redirect CSVs before import for loops, conflicting sources and chains. Structured row-level report; no crawling or shop login. $0.25/report, platform usage included.
Pricing
$250.00 / 1,000 completed redirect map reports
Rating
0.0
(0)
Developer
black cow
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Redirect Map Guard — Shopify CSV Loop & Chain Check
Check a proposed redirect map before importing it. Find loops, sources with conflicting destinations, duplicate mappings and multi-hop chains in one structured report. Designed for Shopify migrations and AI-generated redirect CSVs. No shop login, crawling or destination requests.
$0.25 per completed report, including reports with risks. Platform usage included. No per-row charge. Synthetic demo and rejected inputs have no report event. This launch price is a hypothesis, not evidence of customer demand.
A concrete example
Redirect from,Redirect to/old-a,/old-b/old-b,/old-a/sale,/old-a/legacy,/new
The first two rows form a loop; the third reaches that loop. Expected result: BLOCK, REDIRECT_LOOP=2, LEADS_TO_LOOP=1, cycle_count=1. The report references CSV row numbers without copying URL values.
Input
mode=demo: built-in synthetic example, no supplied CSV.mode=check: inspectcsv_text, with exactlyRedirect fromandRedirect toheaders in either order.delete_input_after_read=trueby default: removes this run's INPUT record before processing. A storage deletion failure stops processing. Setting false retains input for reruns.- UTF-8 CSV, maximum 2 MiB and 20,000 redirect rows. Both cells must be nonempty; extra columns are rejected. Findings are limited to 500 entries, but totals include every finding.
For AI agents
Use this tool after producing a redirect CSV and before presenting it for import. It checks the supplied map, not the live storefront. Apify MCP exposes Actor calls using the caller's Apify authentication and spending budget.
Synthetic paid-check request:
{"mode":"check","csv_text":"Redirect from,Redirect to\n/old-a,/old-b\n/old-b,/old-a\n/sale,/old-a\n/legacy,/new\n","delete_input_after_read":true}
| Decision | Meaning | Next action |
|---|---|---|
| BLOCK | A modeled map error such as a loop, conflict or reserved source was found | Review the indicated rows |
| REVIEW | A chain, duplicate or excluded URL syntax needs review | Resolve warnings and coverage gaps |
| NO_FLAGGED_RISKS | No modeled risk was found in this input | Verify live pages and import behavior |
| REJECTED | Input cannot be processed or hosted pricing is unavailable | Correct mode/CSV; no report event |
workflow.import_authorized is always false. report_kind=synthetic_demo never means the caller's map was inspected. complete=true means the bounded input inspection finished, not that live redirects work.
Each new completed check run can incur a new $0.25 report event. If a client times out, retrieve the existing run and dataset before starting another run; this Actor does not provide cross-run idempotency. A low spending cap can prevent output/charge completion. The dataset may show an event-requested billing state; the platform run event counts are the authoritative charge record.
What the report checks
- Self redirects, multi-node cycles and incoming paths that lead into cycles.
- Duplicate sources; conflicting destinations exclude that source from traversal.
- Multi-hop paths through the supplied map, including chains leading to excluded rows.
- Selected Shopify reserved-source restrictions, collection-tag route review and
.htmlalias risks. - Iterative graph traversal with exact case and trailing-slash matching.
Limits that matter
Only literal ASCII relative paths participate in graph traversal. Absolute HTTP(S) destinations are reported for separate review and are not fetched. Queries, fragments, percent encoding, non-ASCII, Liquid, wildcards, dot segments and unsupported syntax are excluded and flagged. A path can be syntactically valid for Shopify yet outside this tool's modeled subset. Case/slash equivalence is not inferred.
No live HTTP statuses, destination content, existing store rules, SEO outcomes, market routing or actual Shopify import acceptance are verified. Shopify redirects depend on the source being a broken page; a structurally clean map cannot establish that. BLOCK is this tool's review decision, not Shopify's official import result. Use the Shopify redirect documentation for platform behavior. Rules reviewed 2026-09-10; no import or storefront modification is performed.
Privacy and offline use
Apify receives the CSV supplied to a hosted run. Do not submit credentials, signed links, customer data or confidential paths without permission. INPUT deletion does not guarantee deletion from platform backups, other copies, earlier runs or stored reports. Reports contain the CSV hash, row references, fixed codes and counts; raw URLs are omitted. No external AI model receives the CSV.
The core has no third-party runtime dependencies and can run locally from the source package:
python -m redirect_guard your-redirect-map.csv
Local inspection uses your computer. Hosted inspection uses Apify infrastructure. This product neither connects to your shop nor repairs/imports the CSV automatically.