# Verify ownership

Domain verification proves that you control a domain. VitalSentinel checks or collects nothing for a domain until you verify it. This page explains why verification is necessary, the six ways to verify, and what happens when verification stops.

## Why you must verify [#why-you-must-verify]

VitalSentinel monitors only verified domains. This protects site owners: nobody can monitor or crawl a site that they do not control.

Before verification, every domain page shows the banner **Verify this domain to start monitoring**. The modules show the chip **Waits for verification**. No data is collected, also not from the tracking script.

<Callout type="warn">
If you never verify a domain, VitalSentinel removes the domain and its data 90 days after you added it. The banner tells you about this rule. Verify the domain before that time to keep it.
</Callout>

After verification, some modules start by themselves. They are [Sitemap Monitoring](/sitemap-monitoring/overview), [Robots.txt Monitoring](/robots-txt-monitoring/overview), [Uptime Monitoring](/uptime-monitoring/overview), [CrUX Monitoring](/crux-monitoring/overview), [Synthetic Monitoring](/synthetic-monitoring/overview), [Site Health Monitoring](/site-health/overview) and [Page Monitoring](/page-monitoring/overview). The modules that need a data source start when you connect it. See [Finish the setup](/getting-started/domain-setup/finish-setup).

You verify each domain one time. After that, VitalSentinel checks your proof again by itself. You do not have to click a button for it.

## Who can verify [#who-can-verify]

Workspace owners and admins can verify a domain. Members can see the status, but they cannot change it. A member sees **Ask a workspace owner or admin to verify this domain.** On the domain **Overview**, a member sees **Domain not verified** and "Monitoring starts once an owner or admin verifies it". See [Members](/workspace/members).

## Where to verify [#where-to-verify]

You can verify a domain in these places. All of them show the same list of methods.

- **The Verify step** of the domain setup flow. See [Add a domain](/getting-started/domain-setup/add-domain).
- **The domain Overview.** On a domain that was never verified, the **Overview** shows the card **Verify your domain** with the methods.
- **The banner** at the top of every domain page. Click **Verify domain** to open the **Verify your domain** panel on the right.
- **A module page.** On an unverified domain, a module page shows a preview with example data and the button **Verify domain**.
- **Domain settings.** Open **Settings** in the **Domain** group of the sidebar. See the **Domain verification** card. See [Domain settings](/domain/settings).

## Ways to verify [#ways-to-verify]

The list **Ways to verify** has six methods. The first three are automatic. You need only one method that passes. You can set up more than one method, so that the domain stays verified if one method stops passing.

| Method | Type | What you do |
|---|---|---|
| **Google Search Console** | Automatic | Link a Search Console property that covers the site. |
| **Cloudflare** | Automatic | Connect Cloudflare in Server Log Monitoring. |
| **Our tracking script** | Automatic | Put the RUM or Web Analytics script of this domain on your homepage. |
| **DNS TXT record** | Manual | Add a TXT record at your DNS provider. |
| **HTML meta tag** | Manual | Add a meta tag to the `<head>` of your homepage. |
| **HTML file** | Manual | Upload a small file to your site. |

When the list opens, VitalSentinel checks the automatic methods at once. Each row shows **Checking...** until the result arrives.

### Method status chips [#method-status-chips]

Each method has a status chip. Hold the pointer on the chip to see when VitalSentinel **Last checked** the method, and the reason for the result.

| Chip | Meaning |
|---|---|
| **Verified** | This method proves that the domain is yours. |
| **Checking** | A check is in progress. |
| **Not connected** | The automatic source is not connected for this domain. |
| **Not set up** | You did not start this manual method. |
| **Waiting** | You started this method. VitalSentinel looks for your record, tag or file. |
| **Not found** | VitalSentinel did not find your record, tag or file. |
| **Could not check** | A problem outside your setup stopped the check. VitalSentinel tries again by itself. |

The **Primary** chip marks the method that verifies the domain.

## Google Search Console [#google-search-console]

This method is automatic. It passes when a linked Search Console property covers the whole site and your Google account has **Owner** or **Full user** access to it.

1. In the **Google Search Console** row, click **Set up**. If Google is not connected, click **Connect** or **Connect Google**.
2. Sign in to Google. You come back to the same page.
3. Select the property for the domain.
4. Click **Link and verify**.

A Domain property, or a URL-prefix property for the root of the site, covers the whole site. When you select a property, the panel tells you if it verifies the domain:

- "This property proves that" the domain "is yours." The property verifies the domain.
- "Your Google account has restricted access to this property". Owner or full access is necessary.
- "This property covers only a part of" the domain. Use a property for the whole site.
- "This property is for a different site". Select the property of this domain.

You can still link a property that does not verify the domain. The button then says **Link property**, and the property gives you search data. See [Google Search Console](/connect/search-console).

## Cloudflare [#cloudflare]

This method is automatic. It uses the Cloudflare connection of [Server Log Monitoring](/connect/server-logs).

1. In the **Cloudflare** row, click **Set up**.
2. Connect the Cloudflare account that has the zone of the domain. See [Server logs](/connect/server-logs).

When the connected Cloudflare account has the zone of the domain, the method passes.

## Our tracking script [#our-tracking-script]

This method is automatic. It passes when the RUM script or the Web Analytics script of this domain is in the HTML of your homepage. The script must have the tracking ID of this domain.

1. Install the tracking script. See [Tracking scripts](/connect/tracking-scripts).
2. Make sure that the script is in the HTML of the homepage.

<Callout type="warn">
A script that you add through a tag manager, for example Google Tag Manager, is not in the HTML of the page. It cannot verify the domain. Use another method, or add the script directly to the page template.
</Callout>

## DNS TXT record [#dns-txt-record]

1. In the **DNS TXT record** row, click **Set up**.
2. Click **Show my TXT record**.
3. Open the DNS settings at your domain provider. This is where you bought the domain, or where it is managed, for example Cloudflare, GoDaddy or Namecheap.
4. Add a TXT record with the **Type**, **Host** and **Value** that VitalSentinel shows.
5. Save the record.

VitalSentinel checks the record by itself. It looks every 5 minutes for the first hour, then one time each day. DNS changes can take a few minutes to spread.

If the domain is a subdomain, the panel can say that you can publish the record on the main domain instead. A record on the main domain covers every host under it.

## HTML meta tag [#html-meta-tag]

1. In the **HTML meta tag** row, click **Set up**.
2. Click **Show my tag**.
3. Copy the **Meta tag**.
4. Paste the tag between the `<head>` and `</head>` tags of your homepage. Most site builders and SEO plugins have a field for extra head code.
5. Publish the change.

Keep the tag on your homepage. VitalSentinel looks every 5 minutes for the first hour, then about one time each day.

## HTML file [#html-file]

1. In the **HTML file** row, click **Set up**.
2. Click **Show my file**.
3. Click **Download** and the file name. You can also make a plain text file with the **File name** and **File content** that VitalSentinel shows.
4. Upload the file to a `.well-known` folder at the root of your site.
5. Open the **Address** that VitalSentinel shows. Make sure that the file opens without a login.

Keep the file on your site. VitalSentinel looks every 5 minutes for the first hour, then about one time each day.

### Results of the meta tag and file checks [#results-of-the-meta-tag-and-file-checks]

The VitalSentinel crawler visits your site to find the tag or the file.

- While it checks, the panel shows "Checking your site. This usually takes about a minute."
- When it finds the tag, the panel shows "We found the tag. This domain is confirmed." The file has the same message.
- When it does not find them, the panel shows "We could not find the tag yet. It can take a few minutes to show up, so we keep looking."
- When your firewall or bot protection blocks the crawler, open **How to let our crawler through** for the steps.

If the check takes longer than usual, the panel says that you can leave the page. VitalSentinel continues the check and shows the result when you come back.

## After the domain is verified [#after-the-domain-is-verified]

The toast says **Ownership verified**. In the domain settings, the **Domain verification** card shows the chip **Verified**. It also shows how and when the domain was verified, for example "Verified with a DNS TXT record". If a VitalSentinel administrator verified the domain, the card shows "Verified by an administrator".

To add a second method, click **Use another method**. The panel then says "Already verified – add a second method only if you want one."

## When verification stops [#when-verification-stops]

VitalSentinel checks every method that you set up again by itself. If no method passes, the domain does not stop at once. The **Domain verification** card shows a warning with the number of days that are left, for example "No method is passing right now. Verification lapses in 3 days unless one passes again."

### The red banner before the pause [#the-red-banner-before-the-pause]

When monitoring will pause soon, every domain page shows a red banner: "Verify" the domain "by" a date "or monitoring pauses". The **?** in the banner explains that everything keeps running until that date. After that date, all checks and data collection pause, and VitalSentinel keeps your data.

### Monitoring is paused [#monitoring-is-paused]

When the date passes, every domain page shows **Monitoring is paused** and the date it paused. Nothing is checked or collected. Your data is kept. When you verify the domain again, monitoring starts again by itself.

<Callout type="warn">
If a paused domain is still not verified 90 days after the pause, VitalSentinel removes the domain and its data. The banner shows the removal date. Verify the domain before that date to keep it.
</Callout>

## Troubleshooting [#troubleshooting]

### Why does Google Search Console not verify my domain? [#why-does-google-search-console-not-verify-my-domain]

If the property covers only part of the site, link a Domain property or a root URL-prefix property. If your access is below **Full user**, ask the property owner for **Full user** or **Owner** access. If Google asks you to sign in again, click **Reconnect Google**.

### Why does the tracking script not verify my domain? [#why-does-the-tracking-script-not-verify-my-domain]

If you added the script through Google Tag Manager, the check cannot see it. Add the script to the page template, or use another method. Make sure that the script has the tracking ID of this domain, and that it is on the homepage.

### Why does the TXT record show "Not found"? [#why-does-the-txt-record-show-not-found]

Wait a few minutes, because DNS changes can take time to spread. Make sure that you copied the host and the value exactly. Make sure that you added the record at the DNS provider that manages the domain now.

### Why is the meta tag or the file not found? [#why-is-the-meta-tag-or-the-file-not-found]

Make sure that the tag is in the `<head>` of the homepage, not in the `<body>`. Make sure that the file is at the exact address shown. Clear your site cache or CDN cache, because a cache can show an older copy of the page. Make sure that the homepage and the file open without a login.

### What do I do if the check is blocked? [#what-do-i-do-if-the-check-is-blocked]

A firewall, a CDN or bot protection can block the VitalSentinel crawler. Allow the crawler, then check again. See [Monitoring IPs](/help/monitoring-ips).

### What does "No method has verified this domain yet" mean? [#what-does-no-method-has-verified-this-domain-yet-mean]

VitalSentinel checked all methods and none passed. Set up one method from this page, then wait for the next check.

## Related [#related]

- [Add a domain](/getting-started/domain-setup/add-domain) - the Verify step in the setup flow
- [Domain settings](/domain/settings) - the Domain verification card
- [Monitoring IPs](/help/monitoring-ips) - let the VitalSentinel crawler through your firewall
- [Finish the setup](/getting-started/domain-setup/finish-setup) - the modules that start after verification
- [Troubleshooting](/help/troubleshooting) - fixes when verification fails
