# Site Health Monitoring



A small change can break many pages at the same time. A template update can add a **noindex** tag to all product pages. A new plugin can change your canonicals. A deploy can remove your menu links. Usually, nobody sees these problems until traffic goes down.

Site Health Monitoring finds these problems early. VitalSentinel checks your pages all day. It compares each check with the previous check, and it opens an issue when something goes wrong.

## What it answers [#what-it-answers]

* Is my site technically healthy, and is it getting better or worse?
* Did a deploy add **noindex**, change canonicals, or add redirects on many pages?
* Do my pages return errors, blank pages or "not found" pages with a normal status?
* Does the main text of my pages appear only after JavaScript runs?
* Can AI search crawlers and AI assistants read my site?
* Which problem should I fix first?

## How it works [#how-it-works]

1. **You verify your domain.** Site Health Monitoring starts only after you [verify that you own the domain](/getting-started/verifying-domain). VitalSentinel does not fetch any page before that.
2. **VitalSentinel selects the pages to check.** The selection always includes your homepage. It also uses your sitemap, your top pages in Search Console, the pages you pin, and pages from each section of your site. You can change the selection in [Settings](/site-health/settings#pages-to-check).
3. **The crawler checks one page at a time, all day.** Each check reads the HTML that your server sends. It also loads the page in a browser to see the page after JavaScript runs. Each page in the selection usually gets a check about once a week. Fewer pages get more frequent checks. Pinned pages get a check more often than the other pages.
4. **VitalSentinel compares the checks.** When a problem affects many pages of the same type, VitalSentinel opens one issue for all of them. When the affected pages pass again, the issue closes automatically.
5. **The Health score shows the result.** The score starts at 100. Each open issue removes points. See [Health score](/site-health/overview#health-score).

Site Health Monitoring also opens issues from the data of other modules. It uses SSL data from [Uptime Monitoring](/features/uptime-monitoring) and index data from [Indexing Monitoring](/features/indexing-monitoring). It also uses page speed from [RUM Monitoring](/features/rum-monitoring) and [CrUX Monitoring](/features/crux-monitoring), and sitemap data from [Sitemap Monitoring](/features/sitemap-monitoring). A source that you did not connect does not remove points.

## The first results [#the-first-results]

After verification, the Overview shows **Not checked yet** until the first checks are complete. Then it shows **Getting to know your site**, with the number of pages that VitalSentinel checked so far and the date when your first score is usually ready. The time depends on the size of your site and on your plan.

The first checks also find problems that were on your site before you started. These issues show the chip **Already there when we started**, so you can tell them apart from new problems.

## The crawler [#the-crawler]

VitalSentinel checks your pages with its own crawler:

|                     |                                                              |
| ------------------- | ------------------------------------------------------------ |
| **User agent**      | `VitalSentinel Bot/1.2 (+https://www.vitalsentinel.com/bot)` |
| **robots.txt name** | `VitalSentinel-Bot`                                          |

* The crawler always obeys your robots.txt. It never opens a page that robots.txt blocks for it.
* If your server asks it to slow down, the crawler slows down. The normal speed comes back automatically.
* Visits from the crawler do not show in your RUM or Web Analytics data.

If a firewall, CDN or security plugin blocks the crawler, VitalSentinel cannot check your pages. The Overview then shows a banner, and checks stop until the crawler can get through. To fix this, see [Crawler access](/site-health/settings#crawler-access) and [Monitoring IPs](/others/monitoring-ips#how-to-allowlist).

## Plans and limits [#plans-and-limits]

Site Health Monitoring is available on every plan. The plan sets how fast the crawler checks your pages and how many pages it checks.

|                                         | Free      | Starter   | Lite      | Standard  | Advanced  |
| --------------------------------------- | --------- | --------- | --------- | --------- | --------- |
| **One page checked every** (per domain) | 5 minutes | 1 minute  | 1 minute  | 1 minute  | 1 minute  |
| **Pages checked per domain**            | 2,500     | 10,000    | 10,000    | 10,000    | 10,000    |
| **Known pages per domain**              | 10,000    | 100,000   | 100,000   | 100,000   | 100,000   |
| **Pinned pages per domain**             | 50        | 50        | 50        | 50        | 50        |
| **Extra checks after site changes**     | No        | Yes       | Yes       | Yes       | Yes       |
| **Change history**                      | 14 days   | 12 months | 12 months | 12 months | 12 months |

* **Pages checked** is the maximum size of the page selection. If your sitemap has fewer pages than this number, VitalSentinel checks every page in it.
* **Known pages** is the maximum number of pages that VitalSentinel knows about and can select from.
* **Extra checks after site changes** lets VitalSentinel check more pages soon after it sees a change on your site.

When you upgrade, Site Health Monitoring makes a new page selection for the new plan in about 10 minutes. See [Billing](/workspace/billing) for upgrades and downgrades.

## How far back the data goes [#how-far-back-the-data-goes]

| Data                                                        | How far back                                                        |
| ----------------------------------------------------------- | ------------------------------------------------------------------- |
| Stored checks, changes and issue history                    | 14 days on Free, 12 months on paid plans                            |
| Health score history                                        | One score a day. The **Score history** chart shows the last 30 days |
| Availability (when VitalSentinel could not reach your site) | 30 days                                                             |

Each record keeps the history period of the plan that was active when VitalSentinel saved it. See [Data & Privacy](/others/data-privacy#retention).

## Where to find it [#where-to-find-it]

Open a domain and select **Site Health Monitoring** in the **Monitoring** group of the sidebar. Before you verify the domain, the entry opens the verification screen. After verification, it has these pages:

| Page               | What it shows                                                                                 |
| ------------------ | --------------------------------------------------------------------------------------------- |
| **Overview**       | The Health score, score history, availability, issues and the pages that VitalSentinel checks |
| **AI readability** | Whether AI crawlers can get in, whether they can read your pages, and your AI files           |
| **Settings**       | **Pages to check**, **Exceptions** and **Crawler access**                                     |

Site Health Monitoring also connects to other parts of VitalSentinel:

* [Site Health Monitoring alerts](/alerts/alert-types#site-health-monitoring-alerts) tell you when an issue opens.
* The **Watch in Page Monitoring** button adds a page to [Page Monitoring](/page-monitoring/introduction).
* The [public API](/api/endpoints#site-health-monitoring) and the [MCP server](/mcp/tools) can read Site Health data.

## Next steps [#next-steps]

<Cards>
  <Card title="Overview" href="/site-health/overview">
    The Health score, issues and pages
  </Card>

  <Card title="Issue Types" href="/site-health/issue-types">
    Every problem that Site Health Monitoring can find
  </Card>

  <Card title="AI Readability" href="/site-health/ai-readability">
    AI crawler access, readability and AI files
  </Card>

  <Card title="Settings" href="/site-health/settings">
    Pages to check, exceptions and crawler access
  </Card>
</Cards>
