Skip to content
50% OFF $299 $599
Lock in
§ 2.3.3 ARTICLE

Redirects · migration map

Build a migration redirect map

Google's official migration guide1 mandates a 1:1 URL map: every old URL on the legacy site needs a destination on Squarespace before launch. The map is a spreadsheet, not a tool. Build it before the migration ships, validate every top-traffic URL has a destination, and the 4-12 week recovery window is recoverable. Skip it and the traffic drop becomes permanent because Google forgets the URLs that 404-ed during the gap.

This is the artifact every Squarespace migration needs and most skip. Six sections, the schema, the prep, the decision logic, and the audit step that catches the URLs traffic actually depends on.

What a migration redirect map is

A migration redirect map is a spreadsheet with one row per legacy URL, columns for the old URL, the new URL on Squarespace, the redirect type (direct, wildcard, external, drop), and notes. It is the source of truth for the URL Mappings paste at launch. It is also the audit artifact a year later when an old URL shows up in Search Console as soft-404 — you can look back at the row and see whether the destination is wrong or the redirect never made it into the panel.

Google's migration documentation1 describes the same artifact: "Map every URL on the old site to a corresponding URL on the new site. The mapping should be 1:1 wherever possible." The wherever-possible caveat is where wildcards come in — a single rule can absorb dozens or hundreds of URLs that share a path prefix, as long as the destination logic is consistent.

The reason to build the map before the migration ships, not after, is that Google's recovery window is 4-12 weeks per its own documentation1. Every day a URL returns 404 instead of 301 is a day Google treats as a signal that the URL is gone for good. A handful of days of 404s on top-traffic URLs is recoverable; a few weeks is not.

The migration math

4-12 wks

Google's documented recovery window after a clean 301 redirect rollout from one URL structure to another.

Google Search Central · 2026-Q1
1:1

the mapping discipline Google's migration guide asks for. Every old URL gets a destination.

Google Search Central · 2026-Q1
5,000

Squarespace URL Mappings rule cap. Larger sites compress to wildcards or accept the cap as a constraint.

Squarespace Help · 2026-Q1

Crawl the old site — the source list

You cannot map URLs you do not know about. The crawl step enumerates every URL on the legacy site. Two methods work: Screaming Frog as a desktop crawler (free for up to 500 URLs, paid above) or the legacy site's existing sitemap.xml if it has one. For sites where both exist, run both and merge — sitemaps frequently miss URLs that the live site still serves, and crawls miss URLs that are only linked from external sites.

Screaming Frog3 is the desktop crawler most agencies run. Point it at the legacy domain, let it crawl, export the URLs report as CSV. The export includes status codes — flag any 404s in the crawl as 'already broken' and skip them in the map, since redirecting a URL that was already broken does not recover anything.

Layer in traffic data. Pull the top-1000 pages by sessions from GA4 (or the equivalent in your analytics platform), and the top-1000 pages by organic clicks from Search Console's Performance report (last 12 months). Any URL in either list MUST have a destination in the map; the rest can default to wildcards or drops. The Ahrefs Top Pages report4 is a useful sanity check on URLs holding inbound links.

Decide every destination

Every row gets one of four decisions. Direct: a one-to-one redirect to a specific new URL. Wildcard: a path prefix that absorbs many URLs at once. External: the destination is on a different domain (booking platform, payment processor, third-party blog). Drop: the URL has no destination because the content has been deleted and removing it is intentional. Drop is also where the 410-vs-redirect call happens — some dropped URLs should return 410 Gone rather than redirect to the homepage.

The decision discipline is what makes the map useful. A row labelled 'direct' with a specific destination commits to a behaviour you can audit. A row labelled 'wildcard' commits to a pattern with predictable behaviour for every URL it absorbs. A row labelled 'drop' commits to letting the URL die — usually with a 410 added via Code Injection on a specific page, or simply by not adding a redirect at all.

The map schema

Four core columns and two derived columns. Old URL is the source. New URL is the destination (or DROP or wildcard pattern). Type is one of direct/wildcard/external/drop. Notes is for human context. Derived: traffic_rank (computed from GA4 sessions) and squarespace_rule (computed from a concatenation formula). The traffic_rank column is the audit lever — sort descending and you have the URLs that must redirect cleanly, in priority order.

csv Migration map schema — copy this into a spreadsheet
 old_url,new_url,type,notes,traffic_rank,squarespace_rule
/services-list,/services,direct,renamed,12,/services-list -> /services 301
/services/branding,/services/identity,direct,renamed,34,/services/branding -> /services/identity 301
/blog/old-cat/[slug],/blog/[slug],wildcard,~120 posts,wildcard,/blog/old-cat/[slug] -> /blog/[slug] 301
/book,https://calendly.com/handle,external,booking platform,8,/book -> https://calendly.com/handle 301
/tag/featured,DROP,drop,thin archive - 410,drop,
/old-event-2022,DROP,drop,expired event,drop,

The traffic_rank column sorts the map by the URLs that matter most. Any DROP row at the top of a traffic-sorted list is a flag — that URL had inbound interest, and dropping it loses that interest. Move it from drop to direct (or wildcard) and pick a real destination.

The pre-launch sign-off

Before the new site ships, the map needs three sign-offs. Engineering: every Squarespace rule passes syntax validation locally (no duplicate sources, no missing destinations, all arrows correct). Marketing or owner: every top-100 traffic URL has a confirmed destination — no defaults to homepage. Content: any DROP row is intentional, and the team is comfortable losing whatever traffic that URL had. Without all three, the map is incomplete and the rollout risks the 404 gap Google penalises.

The sign-off can be a 30-minute meeting or a Slack thread, but it must happen with the map open. Walk through the top-50 traffic URLs row by row and confirm the destinations. Walk through the DROP rows and confirm the team is comfortable. Walk through the wildcard rules and confirm the destination pattern produces sensible URLs for the most common inputs. Most migrations that lose ranking permanently are migrations that skipped this step.

Roll out the redirects

At launch — typically the moment DNS swings from the old host to Squarespace — paste the map into Settings > Advanced > URL Mappings in batches of 200-500. Save between batches. Submit the new sitemap to Google Search Console immediately. Then monitor for 4-12 weeks: Search Console Pages report should show old URLs categorised as 'Page with redirect' and new URLs as 'Indexed'. If old URLs show up as 'Crawled — currently not indexed', the redirect is working but the new URL needs more authority signals (internal links, sitemap inclusion) before Google fully replaces it.

The rollout itself is the part the bulk leaf covers in detail — the paste-and-batch workflow, the curl audit, the Search Console submission. The map is the prep. The bulk leaf is the execution. Together they make a migration recoverable.