"The URLs aren't changing, so SEO isn't involved." That sentence opens more redesign kick-offs than any other, and it is wrong in a specific way: of the five things a redesign changes that Google reads, the URL is the only one a redirect map can protect. Website redesign SEO is the work of deciding, before and during a rebuild, which parts of a site's search footprint the new templates, navigation, URLs or platform are allowed to change, and checking the rest against the old site. Four of those five things stay exposed after the redirect map is done: titles, the internal links the new templates do or don't carry, what the new stack renders, and how heavy the templates are. A sixth sits outside Search Console altogether: what the project does to the numbers you will later use to judge it.
Does a website redesign affect SEO?
A website redesign affects SEO whenever it changes something Google uses to rank a page: the URL, the title and H1, the internal links, the HTML Googlebot ends up processing, or the speed of the template. A redesign that keeps every URL can still change the other four.
Each of those channels shows up somewhere in Search Console, and each one looks like something else until you know where to look.
| What the redesign changes | What Google has to re-learn | Where it surfaces in Search Console |
|---|---|---|
| URLs (paths, slugs, folders, trailing slashes) | The identity of every moved page; links and history attach to the URL, not the content | Pages report: Not found (404), Page with redirect; Performance: impressions leave the old URL before they arrive at the new one |
| Title element and H1 | What the page is about; what the title link in results should say | Performance filtered to one page: same clicks, a different query set; title link in results no longer matches the tag |
| Internal links (navigation, footer, related blocks) | Which pages the site itself treats as important; crawl order; anchor context | Nothing direct. Links report → Internal links shows the new top pages; the loss is in the comparison with the old crawl, which Search Console doesn't keep |
| How the HTML is built (server-rendered vs assembled in the browser) | The content, canonical and robots directives Googlebot processes, which may differ from what the browser shows | URL Inspection → View crawled page; Pages report: Excluded by 'noindex' tag, Alternate page with proper canonical tag
|
| Template weight and layout | Core Web Vitals per URL group; mobile layout | Core Web Vitals report, 28 days late, grouped by template whether you planned it that way or not |
The table has one row it cannot show: what the redesign does to your own measurement. Conversion events get renamed, form IDs change, the field that stored the landing page gets a new key. None of that is visible in Search Console, and it decides whether anyone can say the project worked.
The four kinds of redesign and what each one risks
A brief that says "redesign" usually holds three decisions wearing one word: new templates, a new URL scheme to go with them, and, often enough, a new platform underneath. Each is a different redesign with a different failure mode, and the plan tends to have one line for all three that reads "301 redirects."
| Kind of redesign | What changes | Main way it loses rankings | The check that catches it |
|---|---|---|---|
| Template-only: same URLs, same CMS | HTML, navigation, titles and H1s, CSS and JavaScript weight | Titles rewritten in a copy refresh; ranking pages lose their footer and menu links; a heavier template fails Core Web Vitals | Internal-link diff and title/H1 parity, old crawl against staging |
| URL changes on the same domain | Paths, folder structure, slugs | URLs cut while they still rank; redirects missing, chained, or pointed at the homepage | A verdict for every URL with clicks, links or conversions; redirect map tested against the Search Console export |
| Platform or stack change (often with URL changes) | Server, rendering model, URL rules, canonical and robots defaults | Everything above, plus directives set by JavaScript that Googlebot never runs; trailing-slash, case and parameter handling that changes without anyone deciding it | View crawled page on one URL per template; staging behind 401 and X-Robots-Tag
|
| Domain change or rebrand | The host, and with it the entity | Signals split between old and new domain for months; variants of the old domain left unmoved | Change of Address for every verified variant of the old domain, www and non-www included (Google site-move documentation, updated 17 June 2026) |
Template-only is not the safe option. It is the cheap one. The losses it causes don't appear in a redirect report because there are no redirects to report, and a team that has been told "the URLs aren't changing" has usually been told, in the same breath, that nothing needs checking. The two checks it does need are the ones the other three kinds need as well. That is why they sit in the first row.
On WordPress this is the commonest kind, because a theme rebuild is what most redesigns there amount to. The one I'll use as the case in this post was exactly that: a property-listings site in Bali, theme rebuilt from scratch, every listing and guide URL left where it was. WordPress keeps the permalink structure and post slugs in the database, so a new theme doesn't move them. What a theme swap can take with it is whatever the old theme registered itself. A custom post type or taxonomy declared in the outgoing theme's functions.php leaves with the theme, and its URLs start returning 404 the day the new one is activated; the same types registered by a plugin come through untouched. Two more things are stored per theme and don't always survive the switch: menu locations, which WordPress tries to map by name, and widgets, which land in Inactive Widgets when the new theme's sidebars have different IDs. Both are internal links, and a footer full of them can disappear without a single URL changing.
Google's site-move document is written for the second and fourth rows, and the June 2026 revision closed a gap that used to catch domain moves late. The Change of Address request now has to be submitted for every subdomain variant of the old domain, "even if you're not actively using these variants". A domain that only ever resolved on www still has a bare-domain property in the index, and a move that forgets it leaves half the signal behind. The same document rules the tool out for HTTP-to-HTTPS moves, which follow their own path.
Across all four rows, the size of the dip tracks one thing more than any other: how many of the ranking URLs moved. That is decided when the new URL scheme is signed off, long before anyone writes a redirect.
Before design starts: the baseline and the verdicts
The baseline is time-limited in a way the rest of the project isn't. Search Console keeps sixteen months of performance data and then deletes it; the Performance table in the interface stops at a thousand rows, which on a site with a few hundred URLs is the whole long tail, so the export goes through the Search Analytics API or the Looker Studio connector. GA4 keeps event-level data for two months unless someone switches the property to fourteen, and the switch is not retroactive: set it the week the project is approved or there will be no pre-launch conversion data in Explorations by the time the site is live. Add a full crawl of the current site, so the internal-link graph exists somewhere other than the live server, and backlinks per URL, since the per-domain count hides which pages hold them.
With the export in hand, each old URL that has clicks, a referring domain or a CRM conversion attached gets one of four verdicts before anyone touches it: keep, improve, merge, or redirect. A fifth, delete, exists and is rarely earned; in practice the deleted pages are the ones a sitemap clean-up removed without the export open. The verdict criteria are short: a page that ranks or earns links stays as it is; a page with the right intent and weak execution keeps its URL and title and gets better content; two thin pages on one intent merge into the one with more backlinks; everything else that holds links or history redirects to the closest live page.
Half a year later, the question "was the old pricing page bringing anything in?" has exactly one source that can still answer it, and it is this export.
What new templates do to ranking pages
A redesign replaces a site one template at a time, and the template is the unit of damage. A page loses rankings in a redesign when the template it sits on stops linking to it, renames it or slows it down, and every other page on that template loses with it. That is also why the loss arrives as a pattern in the Performance report, a whole folder sagging together. One page dropping on its own is the rarer case.
The internal-link diff
The crawl taken before the project has a unique-inlinks count for every URL. That count is what the new templates are about to change, and nobody on the design side will see it happen. Where the links usually go: a footer that linked every service page now links four; a mega-menu becomes a dropdown with half the entries; a related-content block that an editor curated now shows "latest posts," which means the pages that need links least get the most. Load the baseline crawl and the staging crawl into Screaming Frog's Compare mode and sort by the change in unique inlinks; whatever sits at the top of that column is the finding.
The pass condition applies per ranking page. No page with clicks in the baseline loses more than half its inbound internal links, and no internal link resolves through a redirect. The second condition is the quieter one: a site that changes its URLs and leaves the navigation pointing at the old ones has made every crawl go through the redirect map, and that shows up as crawl stats before it shows up as rankings.
The diff reads the other way too, and that is where a template-only redesign can earn something. On the Bali site the old menu listed the sections and nothing else: villas, apartments, penthouses, townhouses, land. The new one opens each section into what people search with: eight areas from Canggu and Seminyak to Ubud and Sanur, bedrooms one to five, leasehold or freehold, and a column of popular attributes such as private pool, ocean view and off-plan. The footer gained a popular-searches block (villas in Canggu, Seminyak, Ubud and Uluwatu; freehold, leasehold and luxury villas) and links to three buyer guides. Area and attribute pages that used to be reachable only through the listing filters now take a link from every page on the site, and their positions went up a little after launch.
After the redesign. Before it, this menu held the five section names on the left and nothing else.
The footer of the same site. "Popular searches" points at area and ownership pages that have search demand of their own.
How much of that lift came from the menu I can't say. The same release added links from the guides into the listing pages (more on that below), and two changes shipped together can't be separated afterwards; it is the same problem as a launch inside an update window, made in-house. The column in a menu like this that needs checking before launch is bedrooms. If 1 to 5 resolve to filter parameters on the listing page, with no title or copy of their own, a sitewide link to each of them sends every crawl into thin facets. A navigation link should point at a page that can rank for something.
Title and H1 parity
A title element and an H1 that rank are assets, and a "copy refresh" replaces them wholesale because the new tone of voice asked for it. Google builds the title link it shows in results from more than the title element: headings and the anchor text of links pointing at the page feed it too (documented), so an H1 rewrite alone can change what searchers see while the title element is untouched. My rule is to carry the old title and H1 over by default and treat each change as a decision with a date next to it, because a drop three weeks after launch is only diagnosable if there is a log to match it against. The list comes from comparing the Page Titles and H1 tabs of the two crawls; a ranking page passes when both are unchanged or the change is in the log.
Meta descriptions, alt text and structured data carry over by the same rule, deliberately and in a log, and none of them moves a ranking the way the title does.
Intent drift
Neither diff catches this one. A guide that ranked for years gets rewritten as a sales page because the new site "doesn't do blog-style content," or two intents are folded into one URL because the sitemap looked cleaner that way. To a crawler the page still has a title and an H1, so the diff passes it. What settles it is the query set per URL in the Performance report, four weeks before launch against four weeks after: when the "what is" and "how to" queries have gone and nothing replaced them, the intent left with the old copy and needs its own URL again. This is the single check that cannot be closed before the site is live, and it is the reason the baseline export carries queries per URL, not just clicks.
Changing the stack: what Google reads when the HTML is built in the browser
A move from a server-rendered CMS to a JavaScript framework is a second migration, and it rarely gets its own line in the plan. The redesign changes what the pages look like; the stack change changes what Googlebot receives, which is an initial HTML response and then, if the page qualifies, a rendered version produced by Google's Web Rendering Service some time later. Everything the page decides in that gap, in JavaScript, is at the mercy of whether the render happens at all.
Google revised its JavaScript SEO documentation three times in one week in December 2025, and each revision answers a line that turns up in redesign plans built on a JavaScript framework.
"We ship noindex on every page in the HTML and strip it on hydration in production." The 15 December 2025 note says that when Google encounters the noindex tag it may skip rendering and JavaScript execution, which means the script that removes it may never run. The staging block becomes the production block, and nothing in Search Console calls it an error; the pages sit in the Pages report as excluded by noindex, and the weeks pass.
A page that should be indexed must not carry
noindexin its original HTML, whatever the client-side code does afterwards. Google's JavaScript documentation, 15 December 2025.
"The canonical is set by the router once the app loads." The 17 December 2025 note says canonicalization happens both before and after rendering, and that JavaScript shouldn't change the canonical to anything other than the value in the original HTML. A canonical that exists only after hydration leaves the pre-render pass with nothing, or with whatever the template default was, which on a fresh framework build is often the staging host. The documented position is to set it in the HTML and leave it alone.
"Unknown routes return 200 and the app sends the user to /404." The 18 December 2025 note says pages with a non-200 status are not guaranteed to be sent to rendering at all, which cuts both ways. A real 404 that relies on JavaScript to send the visitor to a live page may never execute that JavaScript. A 200 that only looks like a 404 after the app runs is, to the crawler, a thin page with a 200. Google's redirects documentation already ranks client-side redirects last, behind server-side 301 and 308; the December note is the reason. Redirects belong on the server or at the edge, in the redirect map.
The check for all three is the same tool: URL Inspection, one URL per template, "View crawled page," comparing the HTML Google fetched with what the browser shows. Word count, link count, the canonical, and the robots meta are the four things to compare. Crawlers other than Google's mostly don't execute JavaScript at all, so for those the initial HTML is the whole page; so check robots.txt by agent name before launch, since a platform default can block agents the old site allowed.
The documentation doesn't say how long a template waits in the rendering queue on a site Google doesn't visit often. "A few seconds, but it can take longer than that" is the entire sentence, and a relaunch that re-renders a thousand URLs at once is the case where "longer" costs the most.
Staging, the launch hour and the first week
The staging environment needs two things at once: HTTP authentication, so nothing is fetched, and an X-Robots-Tag: noindex header, so anything that slips through isn't indexed. A robots.txt disallow on its own blocks the crawl and leaves the URL indexable; a CMS login screen returns 200 and gets indexed as a login screen. Taking the block off again gets its own line in the launch plan, because a staging directive that ships to production is the commonest launch-day failure in this list, with canonicals still pointing at the staging host next to it.
The launch hour is short and all of it is checkable:
- URL Inspection live test on one URL per template: no
noindexin meta or headers, canonical on the production host, production robots.txt deployed. - Redirect map tested in bulk, not by clicking: every row returns a single 301 to a URL that exists in the build. Google says permanent redirects don't lose PageRank and that Googlebot follows up to ten hops; the same documentation says ideally no more than three, fewer than five, and every hop is a place something breaks.
- New sitemap submitted; a sitemap of the old URLs submitted alongside it and left for a few weeks, so Googlebot recrawls them and processes the redirects sooner. The Sitemaps report will warn that those URLs redirect; the site-move documentation says this is normal and to ignore it. Don't pull the old sitemap because of the warning.
- Every URL currently live somewhere the project doesn't own, in ads, nurture emails, partner listings and the sales deck, resolves 200 or 301.
- Hosting told in advance: the site-move document notes that crawl demand on the new server roughly doubles after a move, because every fetch of an old URL turns into a redirect and a second fetch.
The redirects stay for at least a year, by Google's documentation, and in practice until the old URLs stop receiving requests in the logs, which on most sites is never. When someone reports a "301 redirect penalty" after a relaunch, what they have found is nearly always one of the items above, left undone.
The dip: how big, how long, and what else happened that week
After a redesign that moves URLs, organic traffic usually falls 10–25% in the first month and takes two to eight months to return. The range is practitioner consensus; Google has never published one. What it averages over is the share of ranking URLs that moved: a redesign that swaps templates on the same URLs tends to land below the bottom of that range, while a rebuild that moves every URL and rewrites the navigation lands past the top, and its recovery doesn't start until the last redirect is correct.
The dip is read per URL against the baseline export; the total line hides it. A site can hold its total within a few percent while the three pages that produced demo requests each lose half, and the total is what the weekly dashboard shows. Search Console added weekly and monthly aggregation to the Performance report in December 2025, which makes the before-and-after on a single URL readable without exporting; it does nothing about the question of what else moved that week.
That question is the one most redesign post-mortems skip. The site launched, traffic fell, and the room splits into "it was the redesign" and "it was the algorithm," with no way to settle it, because the launch landed inside a rollout window. In 2026 those windows have not been rare.
| Google ranking release, 2026 | Rollout window | Days a launch inside it can't be read |
|---|---|---|
| March 2026 spam update | 24–25 March | ~9 (window plus a week) |
| March 2026 core update | 27 March – 8 April | ~20 |
| May 2026 core update | 21 May – 2 June | ~20 |
| June 2026 spam update | 24–26 June | ~10 |
| August 2026 spam update | 18–21 August | ~11 |
Google's core update guidance is to wait a full week after the rollout completes before reading Search Console, and to compare against the weeks before it started. Put a redesign launch inside a twelve-day rollout and the first readable week of data arrives about three weeks after go-live, by which point the redirect map, the link diff and the title log have all been blamed and cleared without evidence. The launch date is a diagnostic variable. If the Search Status Dashboard shows a rollout in progress, move the launch to the week after it completes; if the launch can't move, accept that nothing in the first three weeks can be attributed to anything, and say so before the numbers come in.
What I still don't have is a number for how long Google holds the old title link in results after an H1 change when the title element is unchanged. The documentation doesn't give one, and a redesign never changes an H1 in isolation, so the field doesn't give a clean reading either. Until it does, the title log is the first thing to open when a page's clicks fall and its impressions don't. When the dip outruns the share of URLs moved, the next step is a rankings loss audit that reads the drop by date and by segment.
Reading the result at the CRM, not in the traffic graph
The failure this check exists for looks like this. Two months after a launch the traffic is back to baseline and the redesign is declared a success, and the three pages that used to produce demo requests are each down by half. Nobody can see it. The GA4 events were renamed in the rebuild, the HubSpot form got a new ID when it was recreated in the new design, and the CRM property that held the landing page was given a new key during a tidy-up. Each change made sense on its own; together they mean there is no way to put leads by landing page next to the baseline, and the one question the project was approved to answer can't be answered.
The standard launch checklist stops at "verify GA4 is firing." The one that answers the question stops one step later, at the CRM record: a test lead from every form template, traced to the record with the landing page attached, before launch and again on launch day. The steps that get it there are an event map from old names to new and hidden fields written server-side on every form. The result the project was sold on is leads by landing page against the baseline, the one number that survives everything else being renamed.
When a redesign improves SEO
A redesign improves SEO at the level of the template, and the improvement lands after the dip, not instead of it. A lighter page template moves Core Web Vitals for every URL on it at once: LCP under 2.5 seconds, INP under 200 milliseconds, CLS under 0.1, at the 75th percentile of field data. Search Console's Core Web Vitals report runs on a 28-day CrUX window, so for roughly the first month after launch it is still describing the old site; until then the only readings of what you shipped are lab runs per template and your own field data, if the web-vitals library is wired into GA4. A flatter information architecture brings ranking pages from four clicks to two. Thin pages that were chasing one intent get merged into the stronger URL. Those are the three things a redesign can do for rankings that a content calendar can't, and all three are decided in the template and the sitemap.
The other half of the Bali release was the guides, and it started with a map. Every page on the site was embedded and placed by meaning around the densest cluster, which shows three things a crawl doesn't: pages that drift off what the site is about, pairs that compete for the same meaning, and pages that sit close in meaning without linking to each other. The last group is the link plan. The buyer guides (whether foreigners can buy in Bali, leasehold against freehold, what happens when a lease expires) were reworked and given links into the listing and area pages they discuss, and they are the three guides the new footer now links to. A redesign is a good moment for this because the templates are open anyway; the work itself has nothing to do with the visual design.
What a redesign in 2026 shouldn't bother adding: FAQ structured data, because Google stopped showing the FAQ rich result in May 2026 and removed its documentation on 15 June; an llms.txt file for Google's sake, because the same June update to the AI features documentation says it has no effect on visibility or rankings either way. AI Overviews and AI Mode read the same crawled and rendered HTML as the rest of Search, which makes the rendering check in the stack section the AI-visibility check as well; the only addition is to read robots.txt by agent name before launch, since a platform default can block agents the old site allowed.
I expect the share of redesigns that change the rendering stack to keep rising over the next two years, as teams move from monolithic CMS templates to framework builds, which would put the View-crawled-page check ahead of the redirect map as the first thing to run on staging. Whether that happens depends on how many of those builds ship server-rendered by default; the frameworks are moving that way, and the agencies building on them are moving more slowly.
FAQ
We're keeping every URL. What can still drop?
Titles and H1s rewritten in the copy pass, internal links the new navigation and footer no longer carry, Core Web Vitals on a heavier template, and, if the stack changed, directives set by JavaScript that Googlebot never ran. The two staging checks that cover the first two are a crawl comparison, which on a site of a few thousand URLs is an afternoon's work once the baseline crawl exists.
Should we delay the launch because a core update is rolling out?
If the date can move, launch the week after the rollout completes. If it can't, launch, and don't read Search Console until a week after the update finishes. The move itself happens per URL as Googlebot recrawls, so a rollout changes only whether anyone can tell what caused the drop.
Is a redesign the same as a site migration?
Google's site-move documentation covers moves with URL changes: a domain change or restructured paths. A template-only redesign on the same URLs is not a migration under that document and needs no redirects. A redesign that changes paths is one; one that changes the domain adds the Change of Address tool, for every variant of the old domain.


Top comments (0)