# Watching Pages



## Adding pages [#adding-pages]

Only workspace owners and admins can add pages. A page must be on the domain that you opened. You can add pages in three ways.

### Enter the addresses [#enter-the-addresses]

1. Select **Page Monitoring** > **Pages**, then click **Add pages**.
2. On the **Enter URLs** tab, enter the page addresses, one on each line.
3. In **Check every**, select how often VitalSentinel checks the pages. The options depend on your [plan](/page-monitoring/introduction#plans-and-limits).
4. Optional: in **Labels**, enter labels, separated by commas, for example `pricing, checkout`. Labels help you group and filter pages.
5. Optional: open **Advanced** to add **Elements to watch**. See [Page elements](#page-elements).
6. Click **Watch N pages**.

When all pages are added, the dialog closes and a message shows the number of added pages. If VitalSentinel has something to tell you, the dialog shows a summary:

* Pages that VitalSentinel could not add, and why. For example, the address is not on this domain, or your plan has no room left.
* Pages that redirect. Click **Watch the destination instead** to watch the final page.
* **First check found**: problems that the first check found on the new pages.

### Upload a CSV file [#upload-a-csv-file]

Use a CSV file to add up to 500 pages at a time.

1. Click **Add pages**, then select the **Upload CSV** tab.
2. Select the CSV file.
3. In **For rows without an interval**, select the interval for the rows that do not have one.
4. Click **Watch N pages**.

The first column is the page address. It is required. The other columns are optional:

* **interval**: how often to check the page, for example `4h` or `24h`. Your plan sets the allowed intervals.
* **labels**: separate more than one label with `|`.

A header row is optional. With a header row, the columns can be in any order.

```csv
url,interval,labels
https://example.com/pricing,4h,pricing|checkout
https://example.com/signup,24h,
https://example.com/about
```

After VitalSentinel reads the file, it shows how many pages are ready and which lines it skipped, with the reason.

#### Site move [#site-move]

If you move your site to new addresses, put the new address of each page in the second column. VitalSentinel then checks that each old page redirects to its new address.

```csv
old url,new url
https://example.com/old-page,https://example.com/new-page
```

See [Migration check](#migration-check).

### Watch from other modules [#watch-from-other-modules]

Many tables in VitalSentinel have a **Watch in Page Monitoring** button (an eye icon). For example, it is in [Site Health Monitoring](/site-health/overview#pages), [RUM Monitoring](/features/rum-monitoring), [Server Log Monitoring](/server-logs/reports), [Uptime Monitoring](/features/uptime-monitoring) and [Google Search Console](/features/google-search-console) tables.

1. Click the eye icon on the row.
2. Select **Check every**.
3. Optional: click **Choose what to track…** to add page elements.
4. Click **Start watching**.

If your plan has only one interval, VitalSentinel starts to watch the page immediately. A green check shows on pages that you already watch.

## The Pages screen [#the-pages-screen]

The **Pages** screen is the main screen of Page Monitoring. It has two cards.

### Needs a look [#needs-a-look]

This card shows only when something needs your attention:

* **Status tiles**: the number of pages that **Need attention**, **Can't be checked** or are **Paused**. Click a tile to filter the table.
* **Site move**: if pages have a migration check, a progress bar shows how many pages land where you expect. Click **Show the N pages** to see the pages that need a look.
* **Blocked crawler**: if a firewall blocked the crawler, the card shows how many pages it could not check. Click **See how to allowlist us** for the steps.

### Watched pages [#watched-pages]

This table lists all watched pages on the domain, 25 on each page.

| Column                           | What it shows                                                                                                                                     |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Page**                         | The page address. **Top pages, kept current** shows when the [top pages list](/page-monitoring/settings#keep-my-top-pages-watched) added the page |
| **Page status**                  | The status of the page, its migration check and its Site Health issues                                                                            |
| **Google clicks (last 90 days)** | The Google clicks of the page, and the change since the last important change. Needs [Google Search Console](/features/google-search-console)     |
| **Last change**                  | What changed last, and when                                                                                                                       |
| **Last checked**                 | When VitalSentinel last checked the page                                                                                                          |

By default, the table shows the pages that need a look first, then the pages with the most clicks. Click a column header to sort. Click a row to open the [watched page panel](#watched-page-panel).

### Page status [#page-status]

| Status                                | Meaning                                                                                             |
| ------------------------------------- | --------------------------------------------------------------------------------------------------- |
| **Needs attention**                   | Something changed on the page that can hurt it in search or for visitors.                           |
| **Seen**                              | Somebody marked all changes that need a look as seen. The status stays until the problem is gone.   |
| **Changed recently**                  | Something that matters changed in the last 7 days. It does not need your attention.                 |
| **No important changes this week**    | Nothing that matters changed in the last 7 days. Minor changes do not count.                        |
| **Can't reach**                       | Your site did not answer or blocked VitalSentinel. VitalSentinel tries again when the site is back. |
| **Blocked by robots.txt**             | Your robots.txt does not let VitalSentinel check the page.                                          |
| **First check running**               | You added the page recently. There is nothing to compare yet.                                       |
| **Checking**                          | VitalSentinel checks the page now.                                                                  |
| **Paused – plan full**                | VitalSentinel paused the page when the workspace reached its limit of watched pages.                |
| **Paused – not verified**             | The checks stop until you verify the domain again.                                                  |
| **Paused – left top pages**           | The page is no longer one of your top pages by Google clicks.                                       |
| **Paused – we can't check this site** | VitalSentinel does not check this site. Contact support if this is unexpected.                      |
| **Paused**                            | Page Monitoring is off for this domain, or the checks are paused.                                   |

If a firewall turned the crawler away, the page also shows **Blocked by *firewall***.

### Filters [#filters]

The filter bar at the bottom of the screen has these filters: **Status**, **Page address**, **Google clicks (last 90 days)**, **Last change**, **Label**, **Checked every** and **Migration check**. Some filters show only when they apply. The filters stay in the page address, so you can share a filtered list.

### Bulk actions [#bulk-actions]

Select pages with the checkboxes, then use the bar above the table:

* **Check every…**: change the interval of the selected pages.
* **Add label…** and **Remove label…**: change the labels.
* **Resume checks**: start the checks again on paused pages, if your plan has room.
* **Stop watching**: stop the checks. VitalSentinel keeps the stored history until it expires.

## Watched page panel [#watched-page-panel]

Click a page to open its panel. The header shows:

* The page address and an **Open the page** button.
* The status, the labels, and the time of the last and next check.
* **Check now** and **Stop watching** (owners and admins).
* The migration check and the Site Health issues, if the page has them.

The panel has three tabs: **Changes**, **Page details** and **Settings**.

A notice shows above the tabs when the page needs an action. For example, the page is paused, robots.txt blocks it, or it redirects to a different address.

### Check now [#check-now]

Click **Check now** to check the page immediately. The header shows the progress: **Queued**, **Fetching the page**, **Rendering the page**, then **Done**. The result shows what changed, for example "Done – 2 changes: Title, Main heading (H1)."

The number of **Check now** runs each hour depends on your plan and is shared by the whole workspace. When you use all of them, VitalSentinel shows when the next run is available. You cannot check a paused page.

### Changes tab [#changes-tab]

From top to bottom:

1. **A verdict**, for example "No changes on this page need a look."

2. **What needs a look**: each change that needs your attention, with the before and after values. Use **More actions** to mark it as seen, snooze it or mark it as normal. See [Actions on a change](/page-monitoring/changes#actions-on-a-change).

3. **Google search since your changes**: the daily Google clicks and impressions for 90 days. A marker shows each check that changed something important. If clicks fell a lot in the last 14 days, the chart tells you, and lists what else happened at that time. Needs Google Search Console.

4. **How Google sees this page**:

   | Row                      | What it shows                                                   | Source                                                   |
   | ------------------------ | --------------------------------------------------------------- | -------------------------------------------------------- |
   | **Indexed**              | Whether Google indexed the page                                 | Search Console URL Inspection                            |
   | **Canonical**            | The canonical on your page, and the canonical that Google chose | Page Monitoring and URL Inspection                       |
   | **Last Googlebot visit** | The last verified Googlebot visit in the last 28 days           | [Server Log Monitoring](/server-logs/introduction)       |
   | **robots.txt**           | Whether robots.txt allows Googlebot, and the rule               | [Robots.txt Monitoring](/features/robots-txt-monitoring) |
   | **Our last check**       | The status of the last check, for example "Answered 200 OK"     | Page Monitoring                                          |

5. **Checks**: the list of checks. Select **Changed** to see only the checks with changes, or **All checks**. Click a check to compare it.

6. **Compare**: what changed in the selected check, compared with the check before it. Click **Compare with another check** to select any two checks.

The comparison has four views:

* **Changes**: each changed field. Your elements show first. Numbers show as "37 → 0". Lists show what was **Added** and **Removed**. Text shows **Before** and **After**, with the changed words marked.
* **Text**: the visible text, word by word.
* **HTML source**: the HTML that your server sent.
* **After JavaScript**: the page after scripts ran.

**What else happened around** shows other events on your site at about the same time.

### Page details tab [#page-details-tab]

This tab shows what VitalSentinel found on the last check:

* **AI & crawlers**: readability without JavaScript, robots.txt verdicts and AI directives. See [AI readability](/site-health/ai-readability#page-panel).
* **Technical details**: **Response** (HTTP status, transferred size, time to first byte and render time), **Redirects**, **Response headers**, **Resources**, **Console errors** and **Other values**.
* **Every field on the page, as served and after JavaScript**: the current value of each field, with its history.

### Settings tab [#settings-tab]

Owners and admins can change the settings of the page. Members can see them.

**Settings card:**

* **Check every**: how often VitalSentinel checks the page.
* **Labels**: separate labels with commas.
* **Ignore text edits smaller than (%)**: VitalSentinel ignores changes to the main text that are smaller than this percentage. Leave it empty to use the default of your domain.

Click **Save settings**.

#### Page elements [#page-elements]

An element is one part of the page that VitalSentinel reads on every check, for example a price or the stock status. Changes to your elements show first in the list of changes.

To add an element:

1. In the **Elements** card, click **Add element**.
2. In **Name**, enter a name, for example `Price`.
3. In **CSS selector (class, id or tag)**, enter the selector, for example `.product-price` or `#stock`.
4. Check the preview. VitalSentinel tests the selector on the last stored copy of the page and shows the value that it found.
5. Save the element.

If the selector matches more than one place, VitalSentinel reads the first one. VitalSentinel cannot read content inside iframes.

Each watched page can have up to 10 elements on paid plans. The Free plan has no elements. To get an alert when an element changes, create a **Page element changed** [alert rule](/alerts/alert-types#page-monitoring-alerts).

#### Migration check [#migration-check]

Use a migration check after a site move. It tells VitalSentinel where the page must go. A redirect that goes where you expect then does not need your attention.

1. In the **Migration check** card, click **Set check**.
2. Select an option:
   * **Should redirect to a new address**
   * **Should redirect to another page of the site**
   * **Should stay where it is (no redirect)**
3. If the page must redirect, enter the **New address**. Use a full address or a path that starts with `/`.
4. Save the check.

The result shows as a chip:

| Result                               | Meaning                                                   |
| ------------------------------------ | --------------------------------------------------------- |
| **Works as expected**                | The page goes where you expect.                           |
| **Redirects in several hops**        | The page gets there, but through more than one redirect.  |
| **Redirects to a different address** | The page redirects to an address that you did not expect. |
| **Does not redirect**                | The page must redirect, but it does not.                  |
| **Redirects, but should not**        | The page must stay, but it redirects.                     |
| **Redirects to the homepage**        | The page redirects to the homepage.                       |
| **Redirects to another site**        | The page redirects to a different site.                   |
| **Lands on an error page**           | The redirect ends on an error.                            |
| **Lands on a page set to noindex**   | The redirect ends on a noindex page.                      |
| **Not checked yet**                  | VitalSentinel did not check the page yet.                 |

A redirect that ends on the homepage, an error or a noindex page always needs your attention.

#### Ignore parts of this page [#ignore-parts-of-this-page]

Some parts of a page change on every visit, for example a timestamp. VitalSentinel ignores changes inside the parts that you add here.

1. Click **Add part to ignore**.
2. Select the type:
   * **Text pattern**, for example `Last updated: .*`
   * **CSS selector**, for example `.last-updated`
3. Save the part.

You can add up to 20 parts on each page.

#### Danger zone [#danger-zone]

<Callout type="warn">
  This action cannot be undone.
</Callout>

**Delete this page's history** permanently deletes all stored checks, fields and changes of the page. It also deletes the issues for the page, and its address and quoted text in other Site Health issues. Alerts, notifications and emails that VitalSentinel already sent do not change.

1. Click **Delete this page's history**.
2. Type `delete`.
3. Click **Delete history**.

After the deletion, the page starts again with a first check.

## Related [#related]

<Cards>
  <Card title="Changes" href="/page-monitoring/changes">
    The change feed and every kind of change
  </Card>

  <Card title="Settings" href="/page-monitoring/settings">
    Defaults, labels, top pages and ignored changes
  </Card>
</Cards>
