REDIRECT & CSV PREPARATION GUIDE
Good inputs.
Clear redirect decisions.
Use a recent crawl export, preserve exact URLs, and document pages with no suitable replacement. Supplied data and live checks are dated evidence; always recheck before deployment.
1. Check an existing redirect map
Export a comma-delimited UTF-8 CSV with these headers. Use absolute HTTP(S) URLs, including the domain, path and any meaningful query string.
source_url,destination_url,status_code https://example.com/old-about,https://example.com/about,301
The free checker accepts up to 1,000 rows. It flags invalid URLs, duplicate or conflicting sources, self redirects, chains, loops and statuses other than 301/308. Shared destinations are flagged for inspection because consolidation can be intentional.
The checker does not contact your site. A clean report means no detected CSV structural issues; it does not prove that the server returns those redirects or that destination content is appropriate.
2. Prepare the old and new inventories
Use one row per URL. The old inventory can contain up to 1,000 pages; the new inventory can contain up to 5,000. Each file must be under 2 MB. Keep one origin (scheme, domain and port) in each file. Old and new origins may be the same for a path-only migration.
| Column | Use | Also accepted |
|---|---|---|
| url | Required absolute URL | Address, loc |
| title | Page title improves automated matching | Title 1 |
| h1, description, text | Content-aware word overlap; text is capped at 8,000 characters per page | H1-1, Meta Description 1, content |
| status | Optional supplied HTTP response; real destinations also require a live check | Status Code |
| canonical | If supplied, must point to that exact destination | Canonical Link Element 1 |
| indexability | Non-indexable destinations are excluded | — |
| robots | Destinations marked noindex are excluded | Meta Robots 1 |
url,title,status,canonical,indexability https://new.example.com/about,About the studio,200,https://new.example.com/about,Indexable
Headers are case-insensitive. Quote cells containing commas, double quotes or line breaks; escape a quote as two quotes. Spreadsheet “Save as CSV UTF-8” is usually suitable. Tabs and semicolons are not supported delimiters. Duplicate URLs, mixed origins, fragments and embedded credentials are rejected. Paths retain case and query strings: /Page and /page may be different resources.
Record crawl dates in your project notes and refresh before deployment. Missing canonical or robots fields are not positive evidence of indexability. Never change a status to 200 merely to make a destination eligible.
3. Resolve and approve the map
Matching indexes shared words and normalized English concepts to shortlist up to 300 destination candidates per source. It scores weighted word overlap in title (32%), H1 (22%), description (16%), page text (22%) and path (8%), normalized over signals available on both pages. Rare words carry more weight. Exact titles have a 93-point floor and matching path/query a 96-point floor, reduced to 65 for conflicting titles; canonical path agreement adds up to 2 points. At least two content fields with 90% or greater overlap provide a 94-point floor. Difficult candidates also receive a sparse concept comparison using a limited local English synonym and phrase vocabulary. Synonym-only evidence is capped at 84; conflicting numbers or negation reduce it below 60. At least three shared concepts are required to raise a score. This is not a general semantic language model. These are match scores, not calibrated accuracy probabilities. High confidence starts at 85, medium at 60. A gap below 12 points flags a near-tie and leaves the destination unresolved. All mappings require customer approval.
If there is no relevant replacement, explicitly exclude the URL and record a reason such as “Expired event; no replacement page.” Exclusions appear in the exceptions file and generate no redirect. Decide separately how that old page should behave; the tool does not instruct you to delete it or choose a 404/410 response.
Approve or exclude every row before preview. The workflow blocks chains, loops and contradictory source rules. Multiple old URLs may intentionally share a destination: expand each consolidation group and approve its exact source list. Changing that group invalidates its approval. Large groups receive a stronger notice. Same-URL approvals are recorded as unchanged and omitted from the redirect CSV.
Bounded page retrieval and live checks
Uploaded title, H1, description and text fields work across the full inventory. The optional content button fetches up to 50 uncertain sources and 50 destination candidates, preferring alternate candidates, then inventory order. Only public HTML is read; robots.txt is respected, no links are crawled and JavaScript is not executed. Missing or inaccessible content falls back to supplied signals and URL matching. A limited local English concept vocabulary recognizes selected synonyms and common paraphrases. It does not understand arbitrary rewording or translate between languages. No content is sent to an AI service.
Verify destinations checks selected URLs in batches of 10, with up to 3 concurrent requests spaced by at least 350 ms within each batch, 6-second request timeouts, one transient retry and at most 6 redirect hops. Per-host and daily service limits apply. Private addresses and external redirect hops are not followed. Dead targets and multi-hop chains block preview; one same-origin hop ending successfully is a review warning; timeouts, unreachable hosts and rate limits are warnings requiring acknowledgment. A successful HTTP response does not prove relevance or indexability. Server-signed check evidence is valid for new previews for one hour. The ZIP preserves its timestamp. Progress shows completed and remaining counts, reuses fresh results, saves each completed batch for tab reload, and safely cancels in-flight browser requests. Retry resumes missing, expired or inconclusive checks. Server work already in flight may finish after cancellation. Findings are shown progressively and can be downloaded in full.
4. Preview, checkout and hand off
The preview shows redirect and exclusion counts and the first five CSV rows. It saves an immutable snapshot; later changes require a new preview. Save the private recovery link before checkout.
Purchases are currently unavailable. The checkout simulator charges $0 and signs a test payment event that the server verifies before generating the export. A return URL or browser-side success state does not unlock files.
The ZIP contains the approved CSV, scored decision log, exceptions, destination checks, validation report and instructions. Apache .htaccess and Nginx configurations support literal source query matching. Cloudflare bulk CSV is headerless and is withheld for source queries or ports. Netlify _redirects supports plain literal paths without queries or pattern punctuation; it is withheld when the complete map is incompatible. Vercel output contains a literal URL lookup helper and Routing Middleware adapter, preserving source hosts, query order and encoded paths. Merge the adapter into middleware.js and keep vercel-redirects.js beside it; use @vercel/functions for next(). Next.js 16 uses proxy.js and NextResponse.next() instead. Merge with existing routing middleware, never overwrite it blindly. Vercel request invocation charges and platform normalization may apply. No service is created or deployed by Redirect Desk. The preview lists available and unavailable formats, including affected source CSV rows. Unsupported formats are withheld as a whole. No format silently omits individual mappings. All files derive from the same immutable snapshot. Cells beginning with spreadsheet formula characters are escaped.
A queryless source rule matches its path with any incoming query and discards that query. A source with a query matches the exact query, including parameter order. Destination queries replace incoming queries. Your developer should merge the chosen configuration, back up current rules, test on staging, confirm each source returns the intended permanent redirect, ensure no chain or loop, and confirm destination content, HTTP response and indexability. Recheck after launch. Redirect Desk makes no traffic preservation guarantee.
Data handling and recovery
The checker runs in browser memory. Unfinished migrations use IndexedDB on this browser/device. After “Saved locally” appears, inventories, approvals, exclusions, manual destinations and consolidation decisions survive ordinary tab closure and browser restart without another upload. Saves are incremental. One local draft is kept for seven days after its last saved change. Delete draft / Start over removes it. Expired drafts are removed when this site next runs; the app cannot run a deletion task while the browser is closed. There is no cross-device recovery, and cleared browser data, private browsing or browser eviction can remove a draft. A storage warning means saving is unavailable or incomplete; keep the tab open and retain your source files. Uploaded data is matched locally and is not passed to an AI provider. With the separate page-check authorization, selected public URLs are sent to Redirect Desk for bounded retrieval and DNS checks; fetched signals and verification results return to this tab. Retrieved page content is kept only in memory and can be fetched again after recovery. Local drafts retain fresh signed destination checks for up to one hour; missing, expired and inconclusive checks are repeated when you resume verification. Completed checks do not continue running with the tab closed. Finalized seven-day server recovery is separate from local draft recovery. Creating a preview, after your authorization checkbox, saves a normalized inventory and your decisions on Redirect Desk’s server. The files must contain no credentials, private access tokens or personal customer records.
Snapshots and generated exports can be accessed for seven days from preview creation through the private recovery link. Checkout and payment do not extend this deadline; save your ZIP before it expires. The access secret is in the URL fragment, not a query parameter, and the server stores its hash. Anyone with the full link can access the job. No account is created and no recovery email is sent. Keep the link secure; losing it means the app cannot recover your job for you.
Access expires seven days after preview creation. There is no scheduled daily deletion task. Expired server objects are deleted in small batches when new previews are created; physical deletion may occur later during low traffic. Hosting backups or provider logs may have separate retention. Clearing local data does not delete an already saved snapshot or downloaded files. Minimal checkout acceptance records are retained separately as described in the Privacy Policy.
Analytics consist of daily aggregate checker usage, workflow entry and checkout outcomes, tagged with a short optional acquisition label such as ?utm_source=guide. File contents, private links, emails and full referring URLs are not included in analytics. Short-lived request limits use a hash of the network address and current minute. Hosting may process ordinary request logs.
Real purchases remain unavailable until seller disclosures and payment terms are approved. Support: utilitygrove@outlook.com.