Split the observation points into four
The Elements panel shows the live DOM after JavaScript changes. curl or View Source is closer to the initial server response. When they differ, crawler rendering capability and timing can change what is observed.
A CDN may retain older HTML, while social platforms can cache Open Graph values for a long time. Record response time, cache headers, and final URL at each observation point so you compare the same document.
Stabilize the redirect chain first
Mixed www/apex, HTTP/HTTPS, and locale redirects can send tools to different final URLs. Reach the preferred host through one permanent redirect, then use self-referencing canonicals on localized pages.
Preview bots may not persist cookies. Keep the no-cookie default locale and x-default route deterministic so tests are reproducible.
Remove duplicate metadata owners
When layouts, page components, and SEO plugins all create titles and canonicals, values can depend on ordering. Centralize ownership of site defaults and page-specific overrides in one metadata function.
Generate Open Graph and X card fields from the same source. Large differences between visible titles and structured-data headlines make the current page ambiguous.
Invalidate caches last
Clearing caches while the origin is wrong simply stores the wrong value again. Verify final deployed HTML and headers before using platform-specific refresh tools.
Record change time, deployment identifier, checked URL, and observed values to distinguish propagation delay from a real regression. Automated tests should cover uniqueness of canonical, hreflang, title, and description.
Pre-release checklist
- ✓ Did you save server HTML without auth or cookies?
- ✓ Did you compare server HTML and rendered DOM?
- ✓ Do the final redirect URL and canonical agree?
- ✓ Is there one owner for page metadata?
- ✓ Did you refresh external caches only after validating origin output?
Frequently asked questions
Why is the browser correct while the search preview is wrong?
Crawler cache, server/DOM differences, a different final URL, or blocked access are common causes. Compare from a fresh server response outward.
Should I request recrawling immediately after deploy?
Validate the public response first. Recrawling an incorrect origin can extend the lifetime of the wrong values.