Deploy Guard
Every production deploy, checked for SEO damage.
A build can pass, every page can load, and Google can still be told to drop your pricing page. Deploy Guard reads the site the way a search engine does, right after each deploy, and tells you what changed for search.
From deploy to email.
What happens each time production changes. Times are from the example on the home page.
- 0:00
The deploy arrives
From the Vercel integration, a Netlify deploy notification, Cloudflare Pages and Workers, or GitHub deployment statuses. A sync every 10 minutes catches any event that went missing.
- +1:00
Production serves the new build
HawkDelta waits until the new version really answers on your domain, so it never checks the old one by mistake.
- +1:01
It plans the crawl
The home page, the pages with the most search clicks, the pages linked from the home page and a sample of the sitemap by section, plus robots.txt and the sitemap itself. Raw HTML, and the rendered page when the site depends on JavaScript.
- +1:30
It compares with your baseline
Each page is compared with the last version you accepted, field by field: indexing, canonical, redirects, content, titles, structured data, links and more.
- +3:00
Serious problems are fetched again
High and critical findings are read a second time to rule out a hiccup. If the problem is gone, nobody is bothered.
- +3:07
You get one email
Each problem with its pages, the clicks at stake, what search engines will likely do and how to fix it, sent to the people you chose for the site.
What it catches.
Six of the regressions that pass every build. Pick one to see the change and how HawkDelta weighs it.
Before the deploy
<meta name="robots" content="index, follow">After
<meta name="robots" content="noindex">- What search engines do
- Drops the page from results, usually within days. Traffic to it goes to zero and nothing errors.
- How HawkDelta weighs it
- Critical. Lowered only for pages with no search impressions, never for the home page.
Before the deploy
<link rel="canonical" href="https://yoursite.com/blog/launch">After
<link rel="canonical" href="https://yoursite-git-main.vercel.app/blog/launch">- What search engines do
- Is told the real page is a copy of a preview host. It may index the wrong URL or neither.
- How HawkDelta weighs it
- High, and higher on pages with 10% or more of the site’s clicks.
Before the deploy
<title>Pricing that grows with you | Acme</title>After
<title>Acme</title>- What search engines do
- Rewrites the snippet for every affected page. Click-through falls before rankings do.
- How HawkDelta weighs it
- Flagged when a title is removed, duplicated, or changed on a page with 5% or more of clicks.
Before the deploy
<main><h1>Pricing</h1><p>Start free, then…</p> … 1,840 wordsAfter
<main><div id="__next"></div></main> … 0 words before JavaScript- What search engines do
- Sees an empty page on the first fetch. Rendering comes later, if at all, and rankings slip.
- How HawkDelta weighs it
- Compares the raw HTML with the rendered page. Main content down by half or more is flagged.
Before the deploy
sitemap.xml: 214 URLsAfter
sitemap.xml: 131 URLs (83 removed, 9 with search clicks)- What search engines do
- Crawls the missing URLs less often. Pages that earned links slowly fall out of the index.
- How HawkDelta weighs it
- With Search Console connected, only removed URLs that get search traffic count. Cleanups of dead pages stay quiet.
Before the deploy
User-agent: *
Allow: /After
User-agent: *
Disallow: /blog/- What search engines do
- Stops crawling the whole directory. A 5xx on robots.txt can pause crawling of the entire site.
- How HawkDelta weighs it
- Critical for blocked pages that get search traffic. If robots.txt itself starts failing, critical for the whole site.
Also checked on every deploy: redirects and redirect chains, status codes, H1s, meta descriptions, structured data, hreflang, internal links, page weight, security headers, and link previews: the Open Graph and X card tags, and whether the preview image still loads.
Every rule, on every deploy.
Rules that don’t fit a site can be turned off, site by site. The ones marked always on can’t be: they are the ones that remove pages from search.
Indexing
- Page turns noindexalways on
- robots.txt blocks pages or failsalways on
- Page breaks (4xx or 5xx)always on
- Canonical removed, moved or pointing to a preview host
- Sitemap broken or losing pages that get traffic
- hreflang removed, broken or missing its return link
Content and rendering
- Main content down by half or more
- Content that only appears after JavaScript
- Title removed, duplicated or rewritten
- H1 changed, meta description removed
- Structured data (JSON-LD) removed or broken
Links and redirects
- New redirects, 301 turned 302, chains of three or more
- Internal links down by half or more
Speed and security
- JavaScript on load up 50% and by 300 KB or more
- A security header the home page stopped sending
Link previews
- Open Graph or X card tags lost
- Preview image that no longer loads
Severity follows your traffic.
The same change matters more on a page that brings 18% of your clicks than on one nobody finds. With Search Console connected, every finding is weighed by the clicks each page earned in the last 28 days.
- robots.txt, the sitemap and the home page are never lowered.
- Presentation changes (titles, descriptions, headings, links) stay Low on pages with fewer than 5 clicks.
- Link previews are weighed by visits from social networks, not by Google.
- Without Search Console, each rule keeps its own level and the email says so.
/pricing14% of clicksCritical One level up: a page with 10% or more of the site’s clicks.
/blog/launch2% of clicksHigh The rule’s own level.
/old-promono impressionsLow Two levels down: no impressions in 28 days.
Example data.
Quiet unless it matters.
Checked twice
Serious findings are fetched a second time before any email. A timeout or a cold start doesn’t page anyone.
You pick the threshold
By default only high and critical problems send an email. Lower findings wait in the app.
Intentional is one click
Mark a change as intentional, or as a false alarm, and that field becomes the new baseline. Other findings on the page stay open.
Accuracy on display
The app shows how many alerts of the last 28 days were real, so you can trust the next one.
Before, between and after deploys.
Check a preview before you merge
Paste any preview address (Vercel, with its protection bypass, a Netlify deploy preview or a Pages preview) and compare it with production. It never sends alerts and never changes the baseline.
A daily check for everything else
Changes that never go through a deploy, from a CMS edit to a Cloudflare rule, are caught by a check of production once a day.
A baseline on day one
The first check records the site as it is and lists only what was already broken. From then on, every deploy is compared with it.
Fixed means fixed
A finding stays open until a later check no longer sees it, then it is marked fixed. Nothing is closed just because it stopped being looked at.
See it on your own site.
The beta is free until February 28, 2027. The first 50 sites on Vercel, Netlify or Cloudflare get in right away; founding members keep 40% off for life.
How the beta worksCheck your email.
We sent a link to . Open it to confirm: you’ll see right away whether you’re in, and a first look at your site.
Two optional questions, one tap each.
How many sites do you maintain?
You are…
Nothing after a few minutes? Look in spam, or .