Free ebook · Kill SEO, Vol. 1: the Screaming Frog guide with a foreword by Dan Sharp (in Italian) Download the PDF
Home›Screaming Frog Guides›SEO Migration
Practical guides and video tutorials

SEO Migration.

Learn how to run a flawless migration with Screaming Frog without losing search engine rankings.

Last updated01.09.2026 Reading time10 min LevelAdvanced Video
Guide contents 6 sections●Brief01.How to migrate a website02.Pre-migration03.Staging vs live site04.Post-migration05.SEO migration video tutorial (in Italian)
Brief

How to use SEO Spider at every stage of a migration so you don’t lose rankings: a backup crawl before the switch, staging vs live comparison, redirect checks and tracking checks.

How to migrate a website

This article shows you the best way to find and fix the most common issues during the delicate migration phase.

Every migration is an epic undertaking: the goal is not to hurt the organic ranking of the site you’re migrating.

Pre-migration

Before diving into the process, there are some essential pre-migration steps where a crawler can help, and they shouldn’t be overlooked.

Crawl the current site

First, I recommend a full crawl of the website to:

  • compare it with the staging site;
  • check that old URLs have been correctly redirected to the new resources;
  • have a backup to fall back on if something goes wrong during the migration.

In short, before the migration you need a complete backup of all the most important elements of the current site.

To use Screaming Frog at this stage, enable crawling of every resource you may need to refer to later, such as AMP versions, hreflang and structured data.

On this shopping list, don’t forget client-side JavaScript dependencies that need rendering, and include every other domain, subdomain or mobile and desktop variant of the site.

Always include the XML sitemap in the crawl and connect Google Analytics and Search Console via API to find any orphan pages (enable Crawl New URLs Discovered in GA/GSC).

Also collect link data from Ahrefs, Majestic and Moz and query performance from GSC, to keep an eye on the pages that matter for revenue, conversions, traffic, impressions and clicks and not lose the rankings you’ve earned.

Screaming Frog Spider Configuration › Crawl with Resource Links and Page Links enabled for the pre-migration backup crawl
Enable every resource you might need as a reference.

Export the URLs to redirect

During migrations the elements that change most often are slugs, so you need a complete list of URLs to permanently redirect old pages to their equivalents on the new site.

This is relatively simple in a domain migration with unchanged paths, but it becomes complex and risky if the whole URL structure changes or some strategic areas are rethought around new search intents.

To get the complete list of existing URLs, export them from the live site crawl with Export in the Internal tab.

Export button in Screaming Frog’s Internal tab to export all URLs of the current site
Export the complete URL list from the Internal tab.

This mapping is one of the crucial stages of the migration, to redirect every element in the most appropriate way. If full mapping isn’t possible, prioritise the top-performing pages based on the conversions, users and links collected in the previous step.

Pre-migration testing

When the new site is on staging, it’s time for pre-launch checks, and here too the crawler helps: the first task is to crawl the staging site to find differences, problems and opportunities.

Sites at this stage are usually protected by robots.txt or a password so search engines don’t crawl them. With Screaming Frog you can authenticate, ignore robots.txt or crawl resources left in noindex or nofollow because they’re still in development.

Crawl of a staging site blocked by robots.txt in Screaming Frog: a single URL with Status Code 0
The staging site is blocked by robots.txt.
Further readingCrawling staging sites.Robots.txt, authentication, noindex and nofollow: how to crawl a protected site before it goes live.Read the guide

Once the staging crawl is complete, start your analysis from the Overview tab in the side panel.

Screaming Frog Overview sidebar with the Page Titles and Meta Description filters and the Page Titles chart
The Overview sidebar summarises the staging site’s issues.

Staging vs live site

URL Mapping

Now you have all the data you need: the crawl of the live site on one side and the staging crawl on the other. All that’s left is to compare the two versions to find any inconsistencies.

You can do this with Compare mode (1Mode›2Compare), choosing the two crawls to compare from the top bar.

Screaming Frog Mode › Compare menu with the Current and Previous crawl selection
In Compare mode you choose the two crawls to compare.

URL Mapping lets you compare different URL structures, such as different hostnames or directories, using Regex rules.

Choose the two saved crawls and click the cog icon in the top bar (or 1Configuration›2Compare). In the Crawl Comparison Configuration window, open URL Mapping and map the old domain to the new one with a Regex.

In the example, the existing site was mapped to the staging version by hostname only, because they share the same URL paths.

URL Mapping in Screaming Frog’s Crawl Comparison Configuration with Regex Replace between the live and staging domains
URL Mapping matches the live site’s URLs to the staging ones.

With the mapping in place, equivalent URLs are compared with each other in the Overview tab, issues and opportunities, site structure and change detection.

Comparison between live and staging crawls in the Overview sidebar of Screaming Frog’s Compare mode with the Added, New, Removed and Missing columns
The differences between the two crawls after URL Mapping.

Once the comparison is done, click the columns to see which URLs changed, and use the main window filter to switch between the current and previous crawl to check URLs that were added, are missing, or have new or removed elements.

SEO Spider uses four columns to segment changed URLs:

  • Added: URLs present in both crawls that have entered a filter in the current crawl. For example, taking the live site as “Current” and staging as “Previous”, for H1s this filter shows URLs with an optimised H1 only on the live site.
  • New: URLs that don’t exist on the current site but have been introduced on the new site.
  • Removed: URLs in the current crawl’s filter but not in the new staging site’s filter.
  • Missing: URLs present in both crawls that differ at filter level. For example, on the live site (“Current”) a URL has no meta title, while on staging (“Previous”) it was optimised.

Change Detection

In a migration it’s good practice to keep changes that could affect the site’s visibility to a minimum.

To keep them under control, use Compare mode’s Change Detection, which shows every element that changed between the current site and staging.

To enable it, open 1Configuration›2Compare (or the cog icon at the top) and select the elements and metrics whose changes you want to examine.

Change Detection in Screaming Frog’s Crawl Comparison Configuration with the elements to compare
Choose the elements to check for changes.

Then click Compare to run the comparison. The Change Detection tab, not shown by default, appears as the last tab in the side panel and the main window.

Change Detection tab in the sidebar of Screaming Frog’s Compare mode with the chart of changes between live and staging
Change Detection shows how many URLs change for each element.

In the example, 2 URLs changed their title and 250 their word count, while meta descriptions and H1s stayed the same.

On this screen you can click each element to isolate it and see its changes. Below, page titles have been isolated to check their semantic validity.

Screaming Frog Page Titles › Changed filter comparing Current Page Title and Previous Page Title
Titles changed between the live site and staging.

If the migration changes the site structure and internal links a lot, it’s essential to understand which pages lost or gained links and which changed crawl depth.

Unique Inlinks › Changed filter in Screaming Frog’s Compare mode with the pages that lost or gained internal links
Pages that lose or gain internal links with the migration.

Redirect mapping (bonus)

Although it wasn’t designed for this, the Near Duplicates feature helps you map redirects from old URLs to new ones when the content is similar.

Switch to List mode (1Mode›2List), turn on Enable Near Duplicates and turn off Only Check Indexable Pages for Duplicates in:

1Configuration›2Content›3Duplicates
Screaming Frog Duplicates configuration with Enable Near Duplicates on and Only Check Indexable Pages for Duplicates off
Enable near duplicates on non-indexable pages too.

Then refine the crawl by configuring the content area used to calculate similarity between old and new URLs:

1Configuration›2Content›3Area

For example, you can include the classes of the category and product descriptions on the old and new site, if they’ve changed. If the templates are the same, you’re unlikely to need to adjust the content area.

Screaming Frog Content Area with Include IDs for product and category descriptions
Include only the content area that matters for the comparison.

Upload both the old and new URLs in List mode and crawl them. Remember to remove the depth limit in 1Configuration›2Spider›3Limits and to include both the existing site’s home page and the staging home page.

When the crawl is done, run Crawl Analysis and open the Content tab to see the near duplicates and the similarity score.

Screaming Frog Content tab with Closest Similarity Match and No. Near Duplicates between live and staging URLs
Each URL has a near duplicate with similarity close to 100%.

If the content matches perfectly, each URL will have 1 near duplicate with similarity close to 100%.

If the content has changed a lot, the similarity scores and number of near duplicates will differ. You can see which URLs match in SEO Spider’s bottom window.

Screaming Frog Duplicate Details tab with the near duplicate between live and staging URLs and the content comparison
The Duplicate Details tab pairs the old URL with the new one.

Now export the near duplicates for a good starting point to set up redirects and protect the site from the migration’s potential organic damage:

1Bulk Export›2Content›3Near Duplicates
Screaming Frog Bulk Export › Content › Near Duplicates menu
Export the near duplicates as the basis for the redirect map.

Post-migration

Crawl the new site

At launch, crawl the site to check that all pages can be crawled and indexed and that no important resource is blocked by robots.txt (1Response Codes›2Blocked by Robots.txt).

Screaming Frog Response Codes tab Blocked by Robots.txt filter with the robots.txt line blocking the URLs
Check that no important resource is blocked.

Make sure there are no unwanted noindex, nofollow or none directives in meta tags or the HTTP header (1Directives›2Noindex).

Screaming Frog Directives tab Noindex filter with Meta Robots and X-Robots-Tag
Pages with unwanted noindex directives.

Check that every URL you want to rank is indexable.

Indexability column in Screaming Frog’s Internal tab with the indexable URLs after migration
Check that every URL you want to rank is Indexable.

Once these checks are done, I recommend comparing the old site with the live one to make sure everything you optimised on staging has made it online.

Check the redirects

If URLs have changed, it’s essential to check all 301 redirects to the new destinations, to avoid errors, chains, loops, temporary redirects or redirects to non-indexable pages.

Switch to List mode (1Mode›2List) and enable Always Follow Redirects in 1Configuration›2Spider›3Advanced.

Screaming Frog Spider Configuration › Advanced with Always Follow Redirects enabled and the explanation of the feature
Always Follow Redirects follows every chain in List mode.

Upload the old URLs collected in the first crawl of the old site and start the crawl. At the end, export the All Redirects report:

1Reports›2Redirects›3All Redirects
Screaming Frog Reports › Redirects › All Redirects menu
The All Redirects report maps every chain.

All Redirects report

With this report you can assess:

  • Chain Type: the type of redirect (HTTP, JavaScript, Meta Refresh).
  • Number of Redirects: the number of hops in the chain.
  • Redirect Loop: whether there are circular redirects (True/False).
  • Temp Redirect in Chain: whether the chain includes a temporary redirect, such as a 302.
  • Address: the starting URL.
  • Final Address: the final destination.
  • Indexability: whether the final destination is indexable. This is very useful to see whether, during the migration, you redirected an old URL to a page excluded from indexing: you use a redirect to pass trust to a new destination, but if that destination is “Non-Indexable” the work has no effect.
  • Indexability Status: why the destination isn’t indexable, for example a noindex tag.
  • Final Content: the destination’s content type (for example HTML).
  • Final Status Code: the final destination’s status code (200, 4xx, 5xx or no response). This field is also essential so you don’t waste the redirect’s trust on a resource with errors. In short, if you don’t see a 200 status code, stop and fix it.

Google Analytics and GTM tracking

When a new site goes live, tracking scripts such as GA or GTM are often forgotten.

To check straight away that they’re in place, use Custom Search (1Configuration›2Custom›3Custom Search) with the Does Not Contain filter, searching for the full tracking snippet in the HTML head of every page.

Screaming Frog Custom Search with a Does Not Contain filter on the Google Tag Manager snippet in the HTML Head
Find the pages without the Google Tag Manager snippet.

In the main window’s Custom Search tab you can see which URLs are missing tracking.

Screaming Frog Custom Search tab with the GTM (Does Not Contain) filter to find pages without tracking
The filter shows the pages without Google Tag Manager.
Further readingCustom Search.How to search for text and code in page source with SEO Spider’s custom search.Read the guide

SEO migration video tutorial (in Italian)

End of the guide

Questions about SEO Migration?

These guides come from real projects. If something in your crawl doesn’t add up, or you want to apply this process to your site, get in touch.

Updated by someone who uses SEO Spider every dayScreaming Frog beta tester
Raffaele VisintinAuthor.Raffaele Visintin.Search & Strategic Marketing Advisor
SF ClubBeta tester · SEO Spider