Website Discoverability & Launch Audit
You can build a website in minutes with AI. Getting it discovered, indexed, shared, measured, and ready for launch is a different problem.
Use this checklist to review the technical foundations before you ship. It does not guarantee search rankings. The goal is technical readiness and discoverability.
Contents
Why This Matters
A website can look complete while still having problems that affect search engines, social previews, performance, accessibility, analytics, or basic production behavior. The page renders, the copy reads well, and none of that tells you whether a search engine can crawl it, whether a shared link shows the right image, or whether anything is being measured.
The goal is not to add every possible optimization. It is to identify the changes that are actually relevant to the website you are shipping. Some items below will not apply. The audit exists to tell you which ones do.
Technical readiness is not a promise of traffic. This checklist does not guarantee that Google will index a page, rank it, or send visitors to it. What it does is remove the avoidable reasons a site fails to be discovered, understood, shared, measured, or accessed correctly.
Search Engine Basics
The minimum a search engine needs in order to find a page, read it, and decide whether to index it. Work through each item against the pages that are meant to be public.
Page Title
Gives search engines and users a concise description of the page.
Check when a page is indexable. Make sure titles are specific, unique where appropriate, and representative of the actual content.
Meta Description
Offers a short summary that search engines may use in the result snippet.
Check when a page is indexable. Confirm it describes that page, is not duplicated across pages, and is not left as a template default.
Canonical URL
Tells search engines which URL is the preferred version of a page.
Check when a page is reachable through more than one URL, or when the site has a single canonical domain and path style.
Robots Meta
Controls whether a specific page may be indexed and whether its links are followed.
Check when reviewing any public page, to confirm there is no leftover noindex from development or a template.
robots.txt
Tells crawlers which paths they may request. It is not a security control and not a reliable way to keep a page out of the index.
Check when the site is going live, to confirm it does not block CSS, JavaScript, images, or whole sections by accident.
XML Sitemap
Lists the URLs you want search engines to know about, with canonical, absolute URLs.
Check when the site has more than a few pages, or when pages are not all reachable through simple links.
Indexability
Whether a page is actually eligible to appear in search results, once robots rules, meta tags, canonicals, and status codes are combined.
Check when a page should be public but is not appearing, or when a page appears that should not.
HTTP Status Codes
The response a URL returns. 200 for real pages, 301 or 308 for permanent redirects, 404 for missing pages, 5xx for server errors.
Check when a page renders content but may be returning a non-200 status, or when a removed page still returns 200.
Internal Links
Links from one page of the site to another. They are how crawlers discover pages and how importance flows through the site.
Check when a page exists but nothing links to it, or when links point to redirected or broken URLs.
Crawlable Navigation
Primary navigation built from real anchor elements with real URLs, not only script driven interactions.
Check when the menu is a custom component, to confirm the destinations exist in the HTML as links.
Search Engine Discoverability
Whether the important pages can be reached by following links from the home page within a few steps.
Check when content is only reachable through search, filters, or deep menus that a crawler may not exercise.
On Page SEO
Whether the content and structure of a page describe the page clearly. The audit determines whether the existing content already does this. It does not generate more content, and it does not repeat keywords to look more relevant.
H1
The main heading of the page, describing what the page is about in plain language.
Check when a page has no H1, more than one competing H1, or an H1 that does not match the page.
Heading Hierarchy
Headings that nest in order, so the page has a logical outline rather than levels chosen for size.
Check when headings skip levels, or when text is bold instead of being a real heading.
Descriptive URLs
Paths that indicate what the page contains, using readable words rather than opaque identifiers.
Check when new routes are being created, or when existing URLs are unclear but not yet public.
Relevant Page Copy
Body text that actually explains the subject of the page rather than generic filler.
Check when a page is thin, templated, or still contains placeholder sentences.
Image Alt Text
Text alternatives that describe meaningful images, and empty alt for purely decorative ones.
Check when images carry information, or when alt text is missing, duplicated, or set to a file name.
Internal Linking
Links within the content that connect related pages so readers and crawlers can move between them.
Check when related pages exist but are not linked from the body content.
Descriptive Anchor Text
Link text that says where the link goes, instead of click here or a bare URL.
Check when links use generic labels, or when the same label points to different destinations.
Duplicate Content
The same or near identical content served on multiple URLs without a canonical pointing to one version.
Check when pages are generated from templates, or when parameters and trailing slashes create URL variants.
Thin Content
Pages that exist but say very little, offering no real reason for a search engine or a person to land there.
Check when a page was created to fill a navigation slot rather than to answer a real need.
Metadata Consistency
Titles, descriptions, canonical URLs, and social metadata that agree with each other and with the visible page.
Check when metadata is set in more than one place, such as a template plus a per page override.
Page Specific Descriptions
A description written for each page rather than one site wide description repeated everywhere.
Check when several pages share an identical description, which usually means the default was never replaced.
Do not keyword stuff, and do not generate large amounts of low quality text to increase page count. If the existing copy already describes the page clearly, that item is adequate and needs no change.
Technical SEO
How the site behaves at the protocol and configuration level. Check the actual implementation and the actual responses. Do not blindly rewrite configuration because a checklist mentions it.
HTTPS
The site is served over TLS with a valid certificate, and insecure requests are redirected to secure ones.
Check when going live, and after any domain or hosting change.
Canonical URLs
Each page declares a single canonical URL that resolves with a 200 status.
Check when canonical tags are generated dynamically, or when the domain or path style has changed.
Redirect Behavior
Redirects use the correct status, avoid chains and loops, and land on a final 200 URL.
Check when old paths were remapped, or when a host adds redirects for slashes or casing.
www and non-www Consistency
One hostname is canonical and the other redirects to it, rather than both serving the site.
Check when DNS or hosting was set up recently, or when both versions load.
Trailing Slash Consistency
A path resolves at one form, with the other redirecting, where the platform makes this relevant.
Check when the host rewrites clean URLs, so that /page and /page/ do not both return 200 with different canonicals.
404 Handling
Unknown URLs return a real 404 status and a page that helps the visitor continue.
Check when the framework or host has a custom not found page, which sometimes returns 200.
5xx Handling
Server errors return a 5xx status and a page that does not expose internal details.
Check when the app runs server code, to confirm failures are not shown as raw stack traces.
robots.txt Accessibility
The file is reachable at the site root, returns 200, and contains the rules you intend.
Check when deploying, since build steps or hosts sometimes serve a different file than the repository.
Sitemap Accessibility
The sitemap URL returns 200, is valid XML, and lists canonical absolute URLs that resolve.
Check when the sitemap is generated at build time, or when pages were added or removed.
Indexability Directives
robots meta tags, X-Robots-Tag headers, and canonical tags agree and reflect your intent for each page.
Check when a staging configuration could have carried a site wide noindex into production.
Production Domain
All absolute URLs, canonicals, sitemap entries, and social metadata point at the real production domain.
Check when the site was developed on a preview or platform subdomain before the domain was attached.
Absolute vs Relative Canonical URLs
Canonical URLs are absolute, including scheme and host, not relative paths.
Check when canonicals are hand written in templates rather than built from a known base URL.
No Accidental noindex Directives
No public page carries a noindex left over from development, a template, or a header rule.
Check when preparing for launch, and again immediately after the first production deploy.
No Accidental Blocking in robots.txt
robots.txt does not disallow the whole site, the assets needed to render it, or sections meant to be public.
Check when the file was copied from another project or generated by a tool.
Correct HTTP Status Codes
Real pages return 200, removed pages return 404 or 410, and moved pages return 301 or 308.
Check when routing is handled by the app or a rewrite rule rather than static files.
Structured Data
Machine readable markup that can help search engines understand certain types of content. It is optional and only useful when it matches the visible page.
Check when the page is a type that structured data describes well, such as an article or an organization page, and confirm any existing markup is accurate.
Do not add arbitrary schema to increase the number of schema types. Do not invent ratings, reviews, prices, organizations, events, or products that the website does not actually support. If structured data is not appropriate for a page, that is a valid outcome.
Sharing and Link Previews
When somebody pastes a link into LinkedIn, WhatsApp, Facebook, X, Slack, or a messaging app, the platform reads metadata from the page to build a preview card. Without it, the preview is empty, shows the wrong image, or falls back to a raw URL. The purpose of this section is to make shared links display the correct title, description, and image.
Open Graph Title
The headline shown on the preview card. It can match the page title or be written for sharing.
Check when a page has no og:title, or when every page shares one site wide value.
Open Graph Description
The short line of text under the title on the preview card.
Check when the description is missing, generic, or does not describe the specific page.
Open Graph Image
The image on the preview card, referenced by an absolute URL that is publicly reachable.
Check when the image is missing, uses a relative path, is blocked by robots rules, or requires authentication.
Canonical URL
The og:url and canonical link that tell platforms which URL the shared content belongs to.
Check when pages are shared with tracking parameters, or when preview and non preview URLs differ.
Social Preview Image Dimensions
An image large enough for a full width card, commonly around 1200 by 630 pixels, in a format platforms accept.
Check when the image looks cropped or small in previews, or when only a favicon sized image is provided.
Twitter and X Card Metadata
Card tags such as twitter:card where you want explicit control of how the link renders on X.
Check when X previews do not match the Open Graph values, or when a large image card is intended.
Page Specific Sharing Metadata
Per page Open Graph values rather than a single set of tags applied to the whole site.
Check when the site has distinct pages that would benefit from distinct preview cards.
Image Accessibility
Preview images that carry meaning also have a text alternative on the page itself, and do not rely on text baked into the image.
Check when the sharing image contains words that a screen reader user would otherwise miss.
Different platforms render previews differently and cache them for varying periods. This section makes the metadata correct. It does not guarantee that every third party platform will display it identically or refresh it immediately.
Performance
Obvious performance problems that affect how quickly a page becomes usable. Inspect the existing implementation rather than optimizing everything on principle. Do not claim a specific score or Core Web Vitals result unless an actual test was run.
Mobile Performance
How the site loads and responds on a mid range phone on a typical connection.
Check when most visitors are on mobile, or when the layout was built desktop first.
Image Optimization
Images compressed and served in modern formats at a resolution close to their display size.
Check when images are uploaded directly, or when originals are several times larger than needed.
Image Dimensions
Width and height attributes or CSS aspect ratios so the browser can reserve space before an image loads.
Check when content shifts as images arrive.
Lazy Loading
Deferring off screen images and non critical embeds until they are near the viewport.
Check when a page has many images below the fold, or heavy third party embeds.
Font Loading
Web fonts that load without blocking rendering and without a long invisible text period.
Check when custom fonts are used, especially several weights from a third party host.
Unused JavaScript
Script shipped to the browser that the page does not need.
Check when libraries were added for a small feature, or when a bundle grew over time.
Unused CSS
Stylesheet rules that no element on the page uses.
Check when a framework or template stylesheet is included whole.
Render Blocking Resources
Scripts and styles in the document head that delay the first paint.
Check when third party tags are added to the head, or when styles are imported rather than linked.
Caching
Cache headers that let browsers and CDNs reuse static assets instead of refetching them.
Check when assets are served by the app rather than a static host or CDN.
Compression
Text responses served with gzip or brotli compression.
Check when a custom server serves assets, or when responses look uncompressed in the network panel.
Large Assets
Individual files that are disproportionately large for what they do.
Check when a single image, font, video, or script dominates the page weight.
Third Party Scripts
Analytics, chat, embeds, and tag managers that add weight and main thread work.
Check when several third party tags are present, or when one is known to be heavy.
Layout Shifts
Content that moves after it first appears, usually from images, fonts, ads, or late injected elements.
Check when the page visibly jumps during load.
Long Tasks
JavaScript work that blocks the main thread long enough to delay interaction.
Check when the page feels unresponsive shortly after it appears.
Core Web Vitals
The field and lab metrics for loading, interactivity, and visual stability.
Check when you can run an actual measurement. Report the numbers you measured, not an estimate.
Do not perform speculative optimizations that could change working behavior without evidence. If a measurement was not taken, say so rather than reporting a score.
Accessibility
Accessibility is part of a usable production website, not an SEO trick. Many of these checks also improve how machines parse the page, but the reason to do them is that people use assistive technology, keyboards, and a range of screens. Do not claim WCAG compliance unless an actual audit was performed.
Semantic HTML
Real elements for their purpose: headings, lists, buttons, links, landmarks, and form controls.
Check when interface parts are built from generic containers with click handlers.
Heading Hierarchy
A single logical outline per page, with heading levels in order.
Check when headings were chosen for visual size, or when sections have no heading at all.
Image Alt Text
Descriptions for informative images and empty alt for decorative ones.
Check when images convey information, or when alt attributes are missing.
Form Labels
Every input has a programmatically associated label, not just a placeholder.
Check when the site has any form, including search and newsletter fields.
Keyboard Navigation
Every interactive element can be reached and operated with the keyboard in a sensible order.
Check when menus, dialogs, carousels, or custom controls are present.
Focus States
A visible indicator of which element currently has keyboard focus.
Check when a reset or framework style has removed the default outline.
Color Contrast
Text and meaningful interface elements stand out enough from their background to be read.
Check when using light gray text, thin type, or color as the only signal.
Button Names
Every button exposes text that says what it does, including icon only buttons.
Check when buttons contain only an icon or an image.
Link Names
Link text that makes sense on its own and describes the destination.
Check when links say read more, or when an icon link has no accessible name.
Error Messages
Form errors that are announced, tied to the field, and explain how to fix the problem.
Check when validation is custom, or when errors are shown only by color.
Responsive Text
Text that reflows and remains readable when the page is zoomed or the viewport is small.
Check when font sizes are fixed in pixels, or when zoom causes clipping or horizontal scroll.
Reduced Motion
Animations that respect the operating system reduced motion preference.
Check when the site uses scroll effects, autoplaying motion, or large transitions.
Analytics and Measurement
Whether anything is being measured, and whether it is set up correctly for production. Do not add tracking scripts automatically. Only work with an analytics provider the project already uses or one the product owner has explicitly approved, and never invent measurement IDs or expose secrets.
Analytics Installation
An analytics tool is present, loads on the right pages, and records page views once per navigation.
Check when a provider is already configured, to confirm it fires correctly and only once.
Search Console Readiness
The site can be verified in a search engine webmaster tool and the sitemap can be submitted.
Check when preparing for launch, so verification and sitemap submission can happen on day one.
Conversion Tracking
The actions that matter to the business are recorded as events.
Check when the product owner has defined what a conversion is and an approved provider exists.
Important Event Tracking
Key interactions beyond page views are captured, such as downloads or step completions.
Check when those interactions are defined and an analytics tool is already in place.
Form Submission Tracking
Successful form submissions register as events, distinct from page views of the form.
Check when the site has contact, signup, or lead forms and a provider is configured.
CTA Tracking
Clicks on primary calls to action are attributed to the button and page they came from.
Check when there are clear primary actions and an approved analytics setup.
404 Tracking
Requests that hit the not found page are recorded so broken links can be found later.
Check when analytics is present and the 404 page renders with the tracking snippet.
Consent Requirements
Where consent is legally required, non essential tracking waits for it.
Check when the audience includes regions with consent rules and non essential scripts are used.
Production vs Development Analytics
Development, preview, and local traffic do not pollute production analytics.
Check when the same snippet or key is used across environments.
Environment Separation
Measurement IDs and keys come from environment configuration, not hard coded values, and are not committed as secrets.
Check when keys appear directly in source, or when one environment file is shared everywhere.
Do not add unnecessary tracking. Do not invent measurement IDs. Do not expose secrets. If measurement cannot be set up without information the product owner has not provided, record it as blocked and state what is needed.
Launch Checks
A final pass before the site goes public. Most items are quick to verify directly in a browser or with a single request. The point is to catch the things that are embarrassing or costly to discover after launch.
Production URL
The site loads at the intended domain, not only a preview URL.
HTTPS
Secure by default, with HTTP redirecting to HTTPS.
Favicon
A favicon is present and loads without a 404.
Page Titles
Every public page has a real, page specific title.
Meta Descriptions
Descriptions are present and not duplicated site wide.
Canonical URLs
Each page points at one absolute canonical that returns 200.
robots.txt
Reachable, returns 200, and does not block anything important.
Sitemap
Reachable, valid, and lists current canonical URLs.
404
Unknown URLs return a 404 status and a helpful page.
500
Server errors return a 5xx status without leaking internals.
Open Graph Preview
Shared links show the correct title, description, and image.
Mobile Layout
The site is usable and unbroken on a small screen.
Desktop Layout
The site holds up at wide viewports without stray gaps.
Forms
Every form submits, validates, and confirms success.
Navigation
All menu links resolve to real pages.
Internal Links
No internal links point to 404s or redirect chains.
External Links
Outbound links work and open as intended.
Analytics
If configured, it fires in production and nowhere else.
Search Console Readiness
Verification and sitemap submission can be done at launch.
Environment Variables
Production has the values it needs and no development ones.
Console Errors
No uncaught errors on load of the main pages.
Broken Assets
No images, fonts, scripts, or styles returning 404.
Broken Routes
Every route that should exist loads on direct visit and refresh.
No Development URLs
No links or references to preview or build environments.
No localhost References
No localhost or local IP URLs left in the output.
No Test Content
No sample records, dummy names, or lorem ipsum in view.
No Placeholder Text
All copy is final, including footers and metadata.
No Accidental noindex
No public page carries a leftover noindex.
No Password Protection
No basic auth or access gate left on from staging.
No Staging URLs in Production
Canonicals, sitemap, and metadata use the production domain.
How the Audit Classifies Findings
Every finding is placed into exactly one of these. This is what keeps the audit from turning into an instruction to implement every possible SEO or launch optimization. The actual website determines what applies.
Exists and adequate
The item is already handled correctly and does not need changes.
Exists and needs improvement
The item is present but has a specific, describable gap in implementation, accuracy, or behavior.
Applicable but missing
The website genuinely needs this and it is not currently implemented.
Not applicable
The website does not have the content, feature, or context that would make this relevant.
Blocked by missing information
The item may apply, but doing it correctly depends on business, legal, analytics, or operational information that has not been provided.
Website Discoverability Audit Prompt
Give this to your coding agent when you want it to inspect the website you are actually shipping. The prompt inspects the existing implementation before changing anything.
# Website Discoverability and Launch Audit You are working in an existing website repository. Before changing anything, understand the website that is actually present and determine which implementation serves the production site. Inspect the repository structure, package manifests, application entry points, routes, templates, components, configuration, deployment files, assets, metadata, and production configuration. Do not assume that a README, directory name, framework, or development command identifies the production implementation. 1. Establish the production implementation Determine which files and application actually serve the live website. Identify the production domain. Identify the routing system. Identify the rendering model. Identify whether the site is static, server rendered, client rendered, or uses a combination. Record the evidence used to determine this. 2. Inspect the existing website Review the existing pages, routes, navigation, content, metadata, assets, configuration, and integrations. Do not assume that something is missing simply because it is not mentioned in documentation. Use the implementation as the primary source of truth. 3. Audit search engine discoverability Check page titles, meta descriptions, canonical URLs, robots directives, robots.txt, XML sitemap, indexability, internal links, crawlable navigation, HTTP status codes, and production URLs. Identify accidental noindex directives, accidental robots blocking, localhost references, staging references, broken canonical URLs, missing sitemap entries, and broken internal links. Do not modify anything until the issue is understood. 4. Audit on page structure Check H1 usage, heading hierarchy, page specific titles, page descriptions, URL structure, image alt text, internal links, descriptive anchor text, duplicate content, and placeholder content. Do not keyword stuff. Do not generate large amounts of low quality content simply to increase page count. 5. Audit technical SEO Check HTTPS, canonical behavior, redirects, domain consistency, trailing slash behavior where relevant, 404 handling, 5xx handling, robots.txt, sitemap accessibility, indexability directives, and production configuration. Verify the actual HTTP behavior where possible. Do not assume that a file existing in the repository means that the deployed website serves it correctly. 6. Audit structured data Determine whether structured data is appropriate for the actual content. If structured data already exists, verify that it describes the visible content accurately. Do not invent reviews, ratings, prices, products, events, organizations, or other information. Do not add schema only for the sake of adding schema. 7. Audit social sharing Check Open Graph metadata and other relevant social sharing metadata. Verify title, description, image, URL, and page specific values where appropriate. Check whether shared pages are likely to produce useful previews on major platforms. Do not claim that a preview is correct without testing or inspecting the generated metadata. 8. Audit performance Inspect image sizes, image formats, loading behavior, fonts, JavaScript, CSS, third party scripts, caching, compression, render blocking resources, layout shifts, and other obvious performance issues. Where available, run the project's existing performance or build checks. Do not claim Core Web Vitals results without actually measuring them. Do not perform speculative optimizations that could change working behavior without evidence. 9. Audit accessibility Check semantic HTML, heading hierarchy, alt text, labels, keyboard navigation, focus states, contrast, link names, button names, error messages, and responsive behavior. Do not claim formal accessibility compliance unless an actual audit has been performed. 10. Audit analytics and measurement Identify existing analytics, Search Console related configuration, conversion tracking, and important events. Do not invent analytics IDs. Do not add tracking services without an existing configuration or explicit product owner instruction. Check that development and production environments do not accidentally share inappropriate configuration. 11. Audit production readiness Check the production domain, HTTPS, favicon, navigation, forms, internal links, external links, 404 behavior, important error states, mobile behavior, desktop behavior, assets, console errors, placeholder content, test content, localhost references, staging references, accidental noindex directives, and accidental authentication barriers. 12. Classify every finding Assign every finding exactly one classification: Exists and adequate Exists and needs improvement Applicable but missing Not applicable Blocked by missing information Do not treat every checklist item as mandatory. Determine applicability from the actual website. 13. Implement only verified improvements If a finding is applicable and missing, implement it using the existing architecture. If something exists and is adequate, leave it alone. If something needs improvement, explain the specific issue before changing it. Do not introduce a new framework. Do not introduce unnecessary dependencies. Do not rewrite unrelated pages. Preserve existing routes, content, styling, integrations, and functionality. 14. SEO content Do not invent business information. Do not invent locations, phone numbers, legal entities, pricing, reviews, customer counts, awards, certifications, or claims. Do not generate misleading SEO content. Any metadata should accurately describe the actual page. 15. Verify the result Run the relevant formatter, linter, type checker, tests, build, and other available project checks. Verify important routes directly. Verify robots.txt. Verify the sitemap. Verify canonical URLs. Verify page titles and descriptions. Verify social metadata. Verify important links. Verify responsive behavior. Verify that the production implementation still builds and works. Do not claim that a check passed unless it was actually performed. 16. Final report Report: Production implementation detected Production domain detected Pages inspected SEO findings Technical findings Social sharing findings Performance findings Accessibility findings Analytics findings Exists and adequate Exists and needs improvement Applicable but missing Not applicable Blocked by missing information Files created Files modified Checks performed Results Remaining risks
Use It Whenever You Need It
You can run this on a new AI built website, an existing website during development, or a site you are reviewing before launch.
Run it whenever you want to check whether the technical foundations around the website are actually in place.
The goal is not to chase every possible optimization. The goal is to find real issues in the website you are actually shipping.
Quick Reference
The areas this audit covers, at a glance.
Search
- Titles
- Descriptions
- Canonical URLs
- Robots meta
- Sitemap
- Indexability
Technical SEO
- HTTPS
- Redirects
- Domain consistency
- Status codes
- robots.txt
- Structured data
Sharing
- OG title
- OG description
- OG image
- Image dimensions
- X card
Performance
- Images
- Fonts
- Unused JS and CSS
- Caching
- Layout shifts
Accessibility
- Semantic HTML
- Labels
- Keyboard
- Focus states
- Contrast
Analytics
- Installation
- Search Console
- Events
- Consent
- Environment separation
Launch
- Production URL
- 404 and 500
- Forms
- Broken assets
- No staging leftovers