- The go-live check is the technical SEO sign-off just before and right after launch. It applies to relaunches, migrations, new templates and larger releases.
- The checklist has more than 120 points in 14 areas, from robots.txt to log files. For each point you see how to spot the error, what to check it with and when.
- Check staging against a reference crawl of the live website, then check the same points again on the live site right after the deployment.
- After that, keep watching at fixed intervals: in the first hour, on the first day and over the first weeks.
When do you need an SEO check before go-live?
Whenever templates, URLs or the way the website is delivered change. That covers a relaunch or a CMS switch just as much as a new product template, a frontend framework update, a new host or changed CDN rules. Many SEO errors come from perfectly normal releases. A template sets noindex, a canonical points to the staging domain, or the test environment's robots.txt ends up on the live server. Functional tests by the developers rarely catch these errors, because the page looks fine to visitors.
On staging, the fix costs a comment on a ticket. After go-live, it costs crawling, indexing and, in the worst case, clicks. And an error in a template hits every page of that type at once.
- This guide covers the technical sign-off just before and right after launch, check by check.
- The website migration checklist covers the whole relaunch project, from the pre-analysis through redirect mapping to a domain change.
- The guide Staging environment and SEO shows how to protect the test environment itself and keep it testable.
- How to test a redirect mapping in detail is covered in Testing redirects.
How do you prepare the sign-off?
A sign-off needs a baseline. If you check staging without one, you see what looks broken and miss what is missing. So decide up front what you compare against, what blocks the go-live and who signs off.
| Step | What you decide |
|---|---|
| Reference crawl | A crawl of the live website shortly before go-live, with title, meta description, H1, canonical, robots directives, hreflang, structured data and internal links per URL. It is the baseline for every comparison. |
| URL sample | Three to five URLs per template plus the URLs with the most clicks in Search Console. You check this list by hand and the rest in the crawl. |
| Sign-off criteria | Which findings block the go-live, for example noindex on indexable templates, a robots.txt block or missing redirects for top URLs. And which can follow as a ticket after go-live. |
| Ownership | Who signs off from an SEO point of view, and who can deploy and roll back on go-live day. |
| Timing | Plan the go-live so that SEO and IT are available in the days after it and can roll out fixes straight away. |
| Rollback plan | What happens if a critical error shows up live. Roll back, hotfix or both, and who decides. |
| Access | Crawler access to staging via HTTP authentication, IP allowlisting or a cookie, and access to the log files of the new environment. |
How do you crawl staging for the sign-off?
A sample is not enough for the sign-off. A crawl of the test environment shows whether every page type is reachable and what has changed compared with the live website.
- Set up access. The crawler logs in via HTTP authentication, uses an access cookie or comes in through an allowlisted IP address.
- Crawl with a smartphone user agent. Google crawls most pages with its smartphone crawler and mostly indexes the mobile version.
- Render JavaScript. Otherwise content and links that only appear in the browser are missing.
- Set the rules. If the staging robots.txt is not the real one yet, configure the crawler to ignore it. It still crawls noindex pages and reports them instead of skipping them.
- Compare with the reference crawl. Missing page types, new noindex tags, changed titles and lost links show up this way.
HTTP authentication protects the test environment reliably. A robots.txt with Disallow: / or noindex on every page does not prevent access and can go live with the deployment. The details are in the guide Staging environment and SEO.
The checklist by area
The following 14 areas contain more than 120 checks in total. Each table lists the check, how you spot the error, the tool and the timing. “Staging” means before go-live, “Live” right after it and “both” twice. The basis for each area is named in the text above it, and the links are under Sources.
Crawlability and robots.txt
The basis is Google's robots.txt specification. A robots.txt only applies to the host, protocol and port it is served from. Google generally caches the file for up to 24 hours. An accidental block therefore keeps working for a while even after a quick fix. The most common error is the test environment's file on the live server. Rules for AI bots are explained in the guide AI crawlers.
| Check | How you spot the error | Tool | When |
|---|---|---|---|
| Right file live | The live robots.txt contains Disallow: / or rules from the test environment | Browser, curl, robots.txt Tester | Live |
| No new blocks | Important directories, page types or parameters are newly blocked compared with the old file | Old file compared with new file | both |
| Resources allowed | CSS, JavaScript, images or API paths needed for rendering are under Disallow | robots.txt report in Search Console, crawler with rendering | both |
| Status code 200 | The file returns 5xx. Google then stops crawling the website for the first 12 hours. With 4xx other than 429, Google treats the website as if there were no robots.txt | curl -I | Live |
| Redirected file | The robots.txt redirects over several hops. Google follows at least five and then treats it like a 404 | curl -sIL | Live |
| File size | The file is larger than 500 KiB. Google ignores everything after that | curl, file size | both |
| All hosts | New subdomains, language hosts or a CDN host have no robots.txt of their own, or the wrong one | curl per host | Live |
| Sitemap line | The sitemap line is missing, relative or points to the staging domain | Browser | both |
| Rules for AI bots | Rules for GPTBot, OAI-SearchBot, ClaudeBot or the Google-Extended token are missing or have changed by mistake | Old file compared with new file | both |
| Bot protection and firewall | New WAF, CDN or bot protection rules send Googlebot a 403, a 429 or a captcha page | Log files, crawl stats in Search Console | Live |
Indexing signals: noindex, canonical and X-Robots-Tag
The basis is Google's documentation on noindex and on canonicalization. A noindex only works if Google is allowed to crawl the page. Combine it with a robots.txt block and Google never sees the noindex. Google only accepts the canonical in the <head> and recommends absolute URLs for it. More in the guide Canonical tag.
| Check | How you spot the error | Tool | When |
|---|---|---|---|
| No new noindex | Indexable templates carry noindex in the meta robots tag | Crawler, comparison with reference crawl | both |
| X-Robots-Tag in the header | The HTTP header contains X-Robots-Tag: noindex, often from a development server rule, PDFs included | curl -I | both |
| Intended noindex stays | Internal search, filter pages or login areas are suddenly indexable | Crawler, comparison with reference crawl | both |
| noindex not blocked | Pages with noindex are also under Disallow | Crawler with robots.txt check | both |
| Rendered matches source | JavaScript changes the robots directives after loading, for example from index to noindex | Crawler with rendering, URL Inspection in Search Console | both |
| Password protection removed | Live URLs return 401 or 403 | curl -I, HTTP Status Code Checker | Live |
| Canonical present | Indexable pages have no canonical or an empty one | Crawler | both |
| Canonical absolute and live | The canonical is relative, contains the staging domain, http instead of https or another host | Crawler | both |
| Clean canonical target | The target redirects, returns 404, carries noindex or is simply the homepage | Crawler | both |
| One canonical per page | The HTML contains several rel="canonical", or HTML and link header name different URLs | Crawler, curl -I | both |
| Canonical in the head | The canonical sits in the <body>, for example because a script inserts it there | Source code, rendered HTML | both |
| Parameters and pagination | Filter, sort and page URLs point somewhere other than before, or all paginated pages point to page 1 | Crawler, comparison with reference crawl | both |
Status codes and redirects
The basis is Google's documentation on HTTP status codes and on site moves. Google does not index URLs that return a 4xx status and removes those already indexed. With persistent 5xx errors, URLs eventually drop out too. By default, Google's crawlers follow up to ten redirect hops in a row. For a site move, Google still recommends avoiding chains and sending old URLs straight to their target.
How to test a full redirect mapping is covered in the guide Testing redirects, and the difference between redirect types is explained in 301 vs. 302 redirect.
| Check | How you spot the error | Tool | When |
|---|---|---|---|
| Important URLs return 200 | The URLs with the most clicks return 3xx, 4xx or 5xx | Crawler with URL list, HTTP Status Code Checker | both |
| Unknown URLs return 404 | A made-up URL such as /does-not-exist-123/ returns 200 or redirects to the homepage | curl -I | both |
| No soft 404 | Empty categories, sold-out products or error messages come with status 200 | Crawler (word count, title), Page indexing report | both |
| Deleted content | Pages without a successor redirect to the homepage instead of returning 404 or 410 | Crawler with old URL list | both |
| Redirect mapping | Old URLs from the mapping end on a 404, on the wrong target or on the homepage | Crawler with old URL list | both |
| Permanent redirects | Redirects come as 302, 307, via JavaScript or meta refresh instead of 301 or 308 | curl -sIL, Redirect Checker | both |
| No chains | An old URL needs more than one hop to reach its target | Crawler, Redirect Checker | both |
| No loops | Two rules redirect in a circle, often between the version with and without a trailing slash | Crawler | both |
| Target is indexable | The redirect target returns 200 but carries noindex or a canonical to another URL | Crawler | both |
| Host variants | http, https, with and without www, trailing slash and upper case need several hops or serve duplicate content | curl -sIL per variant | Live |
| Parameters survive | UTM or campaign parameters get lost in the redirect even though they are needed | curl -sIL | both |
| Files and media | Old image, PDF and sitemap URLs return 404 | Crawler with old URL list | Live |
| Maintenance with 503 | A maintenance page returns 200, or 503 stays in place for days | curl -I | Live |
| Load and server errors | Under load or after clearing the cache, 5xx errors and response times go up | Crawl stats, log files | Live |
| No redirect by location | Visitors are redirected automatically by IP address or browser language. By default Googlebot crawls from US IP addresses and sends no Accept-Language header, so it only sees one version | curl with and without Accept-Language, log files | both |
You can check single URLs in the terminal without any tool. On staging, add -u user:password to the command.
Internal links
The basis is Google's documentation on crawlable links. Google only follows links in <a> elements with an href attribute. Internal links help Google find new pages and understand how they relate. You check many of these points against the reference crawl, because a missing link does not show up in a single crawl.
| Check | How you spot the error | Tool | When |
|---|---|---|---|
| No staging links | Links, images or scripts point to the staging domain or to absolute DEV URLs | Crawler, search in source code | both |
| No links to 404 | Navigation, footer or body text link to pages returning 404 | Crawler, Link Checker | both |
| No links to redirects | Internal links point to old URLs and run through redirects | Crawler | Live |
| Crawlable links | Navigation or filters use onclick, <span> or buttons without href | Crawler with and without rendering, source code | both |
| Navigation in the HTML | The menu only appears after a click or is missing in the mobile view | Crawler with smartphone user agent and rendering | both |
| Breadcrumbs | The breadcrumb navigation is missing, and parent pages lose the links from all their child pages | Crawler, comparison with reference crawl | both |
| Number of internal links | Important categories get noticeably fewer internal links than before | Crawler, comparison with reference crawl | Staging |
| Click depth | Important pages are more clicks away from the homepage than before | Crawler, comparison with reference crawl | Staging |
| Anchor texts | New labels in navigation or teasers change the anchor texts on many pages | Crawler, comparison with reference crawl | Staging |
| No internal nofollow | Internal links newly carry rel="nofollow" | Crawler | both |
| Facets and pagination | Filters create countless crawlable combinations, or page 2 onwards is no longer linked | Crawler | Staging |
| No orphan pages | URLs from the sitemap no longer get any internal link | Crawler with sitemap comparison | both |
XML sitemaps
The basis is Google's guide to building sitemaps. A single file may contain at most 50,000 URLs or 50 MB uncompressed. Larger websites split the sitemap and combine the files in a sitemap index. Google only uses lastmod if the date is consistently accurate, and it ignores priority and changefreq. More in the guide XML sitemap.
| Check | How you spot the error | Tool | When |
|---|---|---|---|
| Reachable | The sitemap listed in robots.txt returns 404 or 5xx or redirects | curl -I, Sitemap Checker | Live |
| Live domain | URLs in the sitemap contain the staging domain, http or the wrong host | Crawler in list mode, search in the file | both |
| Only clean URLs | The sitemap contains redirects, 404s, noindex pages or non-canonical URLs | Crawler in list mode, Sitemap Checker | both |
| Limits | A file exceeds 50,000 URLs or 50 MB, or the sitemap index points to missing files | File size, URL count | both |
| Complete | Page types are missing, or the number of URLs per page type differs a lot from the reference crawl | Sitemap compared with crawl | both |
| Accurate lastmod | All URLs carry the release date instead of the date of their last real change | Check the file | both |
| Valid XML | Special characters are not escaped, the namespace is missing or the file is not UTF-8 encoded | Sitemaps report in Search Console | Live |
| Additional sitemaps | Image, video or news sitemaps from the old system are missing | Comparison with old robots.txt and Search Console | Live |
| hreflang in the sitemap | Language annotations in the sitemap contradict those in the HTML | Crawler | both |
| Submitted | The new sitemap has not been submitted, or its status shows errors | Search Console, Bing Webmaster Tools | Live |
hreflang
The basis is Google's documentation on localized versions. Each language version lists itself and all the others, and the other side has to link back. Without the return link, Google ignores the annotation. More in the guides hreflang and hreflang and canonical.
| Check | How you spot the error | Tool | When |
|---|---|---|---|
| Self-reference | A language version lists all the others but not itself | Crawler, Hreflang Checker | both |
| Return links | Version A points to B, but B does not point back to A | Crawler with hreflang report | both |
| Valid codes | Language or region codes are wrong, for example en-UK instead of en-GB | Hreflang Checker | both |
| Absolute live URLs | hreflang URLs are relative or point to the staging domain | Crawler | both |
| Indexable targets | hreflang targets redirect, return 404, carry noindex or a different canonical | Crawler | both |
| x-default | The country selector or default version is not marked as x-default | Source code | both |
| One method | hreflang appears in HTML, header and sitemap with different values | Crawler, curl -I | both |
| In the head and rendered | hreflang sits in the <body> or is missing from the rendered HTML | Crawler with rendering | both |
| Language switcher | The switcher links to the other language's homepage instead of the matching page | Browser, crawler | Staging |
Rendering and JavaScript
The basis is Google's documentation on JavaScript SEO, mobile-first indexing and lazy loading. Google mostly indexes the mobile version of a page and does not interact with it while rendering. Googlebot reads the first 2 MB of an HTML file, measured uncompressed. How far source code and rendered HTML can drift apart is shown in the JavaScript crawling study.
| Check | How you spot the error | Tool | When |
|---|---|---|---|
| Main content rendered | Text, product data or reviews are missing from the rendered HTML | Crawler with rendering, URL Inspection live test | both |
| Links rendered | Links in navigation or lists only appear after an interaction | Crawler with rendering | both |
| Stable SEO tags | Title, canonical, robots directives or hreflang differ between source code and rendered HTML | Crawler with both views | both |
| Resources reachable | JavaScript, CSS or API files return 4xx or 5xx or are blocked in robots.txt | URL Inspection (page resources), browser developer tools | both |
| Loading without interaction | Content only appears after scrolling or clicking | Crawler with rendering | both |
| Error status in single-page apps | Unknown URLs show an error message with status 200 | curl -I, URL Inspection | both |
| No hash URLs | Content sits behind # fragments, which Google does not crawl as separate URLs | Crawler | Staging |
| HTML size | The HTML is larger than 2 MB, for example because of embedded data or inline SVG | Browser developer tools, crawler | Staging |
| Mobile matches desktop | The mobile version shows less content, fewer links, less structured data or different meta tags | Crawler with smartphone and desktop user agent | both |
| Banners and overlays | A consent banner or overlay covers the content or only loads it after consent | Crawler with rendering and screenshot | both |
Structured data
The basis is Google's general structured data guidelines. The markup has to describe the visible content of the page. If it violates the guidelines, the page can lose its rich results. How AI systems handle markup is covered in the guide Schema markup and AI.
| Check | How you spot the error | Tool | When |
|---|---|---|---|
| Markup present | A template has lost its markup, for example Product, BreadcrumbList or Organization | Crawler with extraction, comparison with reference crawl | both |
| Markup valid | Required fields are missing, or values have the wrong format | Rich Results Test, Schema Markup Validator | both |
| Matches the content | Price, availability or ratings in the markup differ from the visible page | Spot check in the browser | both |
| Live URLs in the markup | URLs in fields such as url, image or item contain the staging domain | Search in source code | both |
| No duplicate markup | Plugin and template output the same markup twice with different values | Rich Results Test | both |
| Reports after go-live | The rich result reports show new errors or fewer valid items | Search Console | Live |
Title, meta description and headings
The basis is Google's documentation on title links. Google builds the title in search results from the title element and other information on the page, and it recommends unique, descriptive titles. Compare each URL with the reference crawl so that optimizations from earlier SEO work survive the go-live.
| Check | How you spot the error | Tool | When |
|---|---|---|---|
| Title carried over | Titles are missing, empty or have fallen back to the new system's default | Crawler, comparison with reference crawl | Staging |
| No placeholders | Titles or headings show template variables such as %product_name% or “Default Title” | Crawler, pattern search | both |
| Unique titles | Many pages share the same title, for example filter or pagination pages | Crawler | Staging |
| Meta description | Descriptions are missing or identical on every page | Crawler | Staging |
| One H1 with the topic | The H1 is missing, duplicated or no longer contains the page's keyword | Crawler, comparison with reference crawl | Staging |
| Complete content | Category texts, product descriptions or FAQs are missing after the data migration | Crawler (word count), comparison with reference crawl | Staging |
| Character encoding | Special characters show up garbled in title, description or text | Browser, crawler | both |
| Social preview | Open Graph tags are missing or point to images on the staging domain | Source code | both |
Images and media
The basis is Google's image best practices. Google does not index CSS background images and finds images through the src attribute of the <img> element. Alt text helps Google understand an image. Google also recommends always referencing an image with the same URL.
| Check | How you spot the error | Tool | When |
|---|---|---|---|
| Images as img | Important images only exist as CSS backgrounds | Crawler, source code | Staging |
| Alt texts | Alt texts from the old system are missing. For linked images, the alt text also serves as anchor text | Crawler, comparison with reference crawl | Staging |
| Stable image URLs | Image URLs have changed and the old ones do not redirect | Crawler with old image URL list | both |
| Images not blocked | The image directory or the CDN host is under Disallow | robots.txt of the image host, robots.txt Tester | Live |
| Lazy loading | Images have no src, only a data-src that is set on scroll | Crawler with rendering | both |
| Dimensions | Images without width and height shift the layout while loading | Lighthouse | Staging |
| Videos | Video pages, thumbnails or the video sitemap are missing | Crawler, video report in Search Console | both |
| PDFs | PDFs with clicks or links are gone, or an X-Robots-Tag blocks them by mistake | Crawler with old URL list, curl -I | both |
Performance and Core Web Vitals
The basis is Google's documentation on Core Web Vitals. Good means an LCP of 2.5 seconds at most, an INP below 200 milliseconds and a CLS below 0.1. Before go-live you measure in the lab, afterwards the field data of real users counts. PageSpeed Insights and the Chrome UX Report summarize this field data over the previous 28 days. Changes therefore only show up there gradually. More in the guide Core Web Vitals.
| Check | How you spot the error | Tool | When |
|---|---|---|---|
| Lab values per template | Important templates are noticeably slower on staging than on the old website | Lighthouse, PageSpeed Insights | Staging |
| LCP element | The largest image above the fold has loading="lazy" or is requested late | Lighthouse, browser developer tools | Staging |
| Server response | Time to first byte goes up, especially for uncached pages | Browser developer tools, crawl stats | both |
| Caching and CDN | Cache headers are missing, or the CDN serves HTML uncached | curl -I | Live |
| Third-party scripts | New tags, chat widgets or A/B testing scripts block rendering | Lighthouse, browser developer tools | both |
| Field data | Field data gets worse in the weeks after go-live | Core Web Vitals report in Search Console, PageSpeed Insights | Live |
Tracking and consent
Without clean data you cannot evaluate the go-live. Check tracking as part of the same sign-off. The basis for consent is Google's documentation on Consent Mode. Which tags may load before consent is something you clarify with the people responsible for data protection.
| Check | How you spot the error | Tool | When |
|---|---|---|---|
| Tag on all templates | The Google tag or the Tag Manager container is missing on individual templates | Tag Assistant, crawler with extraction | both |
| Data arrives | Page views and conversions do not show up in the realtime view or in DebugView | GA4 DebugView, Tag Manager preview | both |
| Consent | Tags load before consent, or no longer load at all after consent. Consent Mode signals are missing | Tag Assistant, browser developer tools | both |
| No double tracking | Old and new tags run in parallel and count page views twice | Tag Assistant, browser developer tools | Live |
| Campaign parameters | UTM or gclid parameters get lost in redirects | curl -sIL, GA4 | Live |
| Release documented | Date and time of the go-live are missing from analytics, dashboards and tickets | Annotations, changelog | Live |
Search Console
The basis is the Search Console help pages. Ownership verification only lasts as long as Google finds the token. If it sits in the old template as an HTML file or meta tag and is missing from the new one, you lose access to the property after a grace period. A domain property is verified via a DNS record and does not depend on the template.
| Check | How you spot the error | Tool | When |
|---|---|---|---|
| Verification stays | The token as HTML file or meta tag is missing from the new template | Search Console settings, source code | both |
| New properties in advance | New domains, subdomains or language folders are not verified before go-live | Search Console, Bing Webmaster Tools | Staging |
| Access sorted | Agency, IT or editorial team have no access to the new property | Users and permissions | Staging |
| Sitemaps submitted | New sitemaps are missing, or old ones show errors | Sitemaps report | Live |
| URL Inspection per template | The live test shows noindex, a different canonical, blocked resources or missing content | URL Inspection live test | Live |
| Change of address | After a domain or subdomain change, the move has not been reported. For a relaunch on the same domain you do not need the tool | Change of Address tool, Site Move tool in Bing | Live |
| Watch the reports | Page indexing shows new exclusions, crawl stats show more errors or slower responses | Page indexing, crawl stats | Live |
Log files
Log files show what Googlebot actually requests, including URLs that never appear in a crawl. The Googlebot user agent is often faked. Google therefore recommends verifying requests with a reverse DNS lookup or against its published IP ranges. More in the guide Log file analysis.
| Check | How you spot the error | Tool | When |
|---|---|---|---|
| Log access | With a new host or CDN, the logs or the bot lines are missing | Hosting, CDN logs | Staging |
| Googlebot verified | Fake Googlebot requests distort the analysis | Reverse DNS lookup, Google IP ranges | Live |
| Status codes for Googlebot | The share of 3xx, 4xx or 5xx in Googlebot requests rises after go-live | Log file analysis | Live |
| Crawled URLs | Googlebot mainly requests old URLs, parameters or resources and hardly any new pages | Log file analysis | Live |
| Crawl activity | Googlebot requests noticeably fewer pages than before go-live | Log file analysis, crawl stats | Live |
| AI bots | Requests from AI bots drop, often because of new bot protection rules | Log file analysis | Live |
Monitoring after go-live
A clean staging build can still look different live, for example because of caches, CDN rules or environment variables. Right after the deployment, check every point marked “Live” or “both” in the checklist. After that, continue at fixed intervals. For medium-sized websites, Google says it takes a few weeks or more until the new URLs replace the old ones in search. For large websites it takes even longer.
| Period | What you check | Tool |
|---|---|---|
| First hour | robots.txt, status codes, robots directives and canonicals of the URL sample, redirects of the top URLs, tracking in the realtime view | curl, crawler with URL list, GA4 |
| First day | Crawl of the whole website and of the complete old URL list, submit sitemaps, URL Inspection per template, 5xx errors and response times in the logs | Crawler, Search Console, log files |
| First week | Page indexing per sitemap, crawl stats, new 404s from logs and Search Console, internal links to redirects, rich result reports | Search Console, log files, crawler |
| Weeks 2 to 6 | Clicks and impressions per page type compared with the period before go-live, rankings of the most important keywords, number of organic landing pages | Search Console, rank tracking |
| From month 2 | Core Web Vitals field data, redirects with hits in logs or external links, remove the old sitemap once the old URLs have left the index | Search Console, PageSpeed Insights, log files |
The sign-off is a snapshot. Every further release can bring the same errors back. Keep checking the critical points, above all robots.txt, robots directives, canonicals and the status codes of your most important pages.
Common mistakes
- The staging robots.txt with
Disallow: /goes live. - An
X-Robots-Tag: noindexfrom the development server configuration stays in place. - Canonicals, hreflang or sitemap URLs point to the staging domain.
- Unknown URLs return 200, so missing redirects go unnoticed.
- The Search Console verification lived in the old template and is gone.
- New bot protection rules lock Googlebot out.
- JavaScript changes the title or canonical after loading.
- Only staging gets checked, not the live site again.
Frequently asked questions
When do you run the SEO check before go-live?
Twice. The sign-off on staging starts as soon as the build that is meant to go live is fixed, with enough time for fixes. Right after the deployment, you check the same points on the live website.
How many URLs do you need to check?
By hand, a sample of three to five URLs per template plus the URLs with the most clicks. A crawl of the whole staging environment, compared with a crawl of the live website, covers everything else.
What blocks the go-live?
Anything that can take many pages out of the index at once or cost clicks. That includes a robots.txt block, noindex on indexable templates, missing redirects for top URLs and canonicals pointing to the staging domain. Smaller findings such as a few missing alt texts can follow as a ticket after go-live.
Do you need the Change of Address tool after a relaunch?
Only if the domain or subdomain changes. For a relaunch on the same domain and for a switch from HTTP to HTTPS, you do not report anything. Details are in the website migration checklist.
What do you do if a noindex shows up after go-live?
Remove it, roll out the fix and recheck the affected URLs. Request indexing for important URLs via URL Inspection in Search Console, and use an up-to-date sitemap for large numbers of URLs. The Page indexing report then shows whether the pages come back.
How do I remove staging URLs that are already indexed?
Keep the pages crawlable for now and set noindex, or let them return 404 or 410. Add the password protection after that. For quick, temporary hiding, Search Console has the Removals tool. More in the guide Staging environment and SEO.
Sources
Retrieved on November 3, 2026. If something is out of date or missing, let us know.
- Google, robots.txt specification: https://developers.google.com/crawling/docs/robots-txt/robots-txt-spec · As of Aug 31, 2026
- Google, Introduction to robots.txt: https://developers.google.com/search/docs/crawling-indexing/robots/intro · As of Dec 10, 2025
- Google, Block search indexing with noindex: https://developers.google.com/search/docs/crawling-indexing/block-indexing · As of Dec 10, 2025
- Google, Consolidate duplicate URLs (canonical): https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls
- Google, HTTP status codes, network and DNS errors: https://developers.google.com/crawling/docs/troubleshooting/http-status-codes
- Google, Redirects and Google Search: https://developers.google.com/search/docs/crawling-indexing/301-redirects · As of Apr 14, 2026
- Google, Site moves with URL changes: https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes · As of Aug 20, 2026
- Google, Locale-adaptive pages: https://developers.google.com/search/docs/specialty/international/locale-adaptive-pages
- Google, Make your links crawlable: https://developers.google.com/search/docs/crawling-indexing/links-crawlable
- Google, Build and submit a sitemap: https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap
- Google, Localized versions (hreflang): https://developers.google.com/search/docs/specialty/international/localized-versions · As of Sep 21, 2026
- Google, Understand JavaScript SEO basics: https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics
- Google, Fix lazy-loaded content: https://developers.google.com/search/docs/crawling-indexing/javascript/lazy-loading
- Google, Mobile-first indexing best practices: https://developers.google.com/search/docs/crawling-indexing/mobile/mobile-sites-mobile-first-indexing
- Google, Googlebot: https://developers.google.com/search/docs/crawling-indexing/googlebot
- Google, General structured data guidelines: https://developers.google.com/search/docs/appearance/structured-data/sd-policies
- Google, Influencing title links in search results: https://developers.google.com/search/docs/appearance/title-link
- Google, Image SEO best practices: https://developers.google.com/search/docs/appearance/google-images
- Google, Core Web Vitals and Google Search: https://developers.google.com/search/docs/appearance/core-web-vitals
- Google, About PageSpeed Insights: https://developers.google.com/speed/docs/insights/v5/about
- Google, Consent mode overview: https://developers.google.com/tag-platform/security/concepts/consent-mode
- Search Console Help, Verify your site ownership: https://support.google.com/webmasters/answer/9008080?hl=en
- Search Console Help, Change of Address tool: https://support.google.com/webmasters/answer/9370220?hl=en
- Google, Verifying requests from Google's crawlers: https://developers.google.com/crawling/docs/crawlers-fetchers/verify-google-requests