---
title: "Website monitoring with visual comparison"
description: "Desktop and mobile screenshots compared with the version you approved, error checks on every page and uptime checks, with alerts by email, Slack, SMS or call."
url: "https://rookflare.com/"
---

# Website monitoring with visual comparison

We look at your website so you don’t have to.

The pages you choose, on desktop and mobile, as often as every 6 hours. When a button goes missing, an image breaks or checkout returns a 500, you get an alert with a link to the screenshot.

## Monitoring starts with a web address

Rookflare reads your sitemap, lets you choose the pages to watch and takes the first screenshots for you to approve as the baseline. There is nothing to install on your site.

- Step 1: Enter your website. Use the address your customers use. Rookflare finds the pages through your sitemap.
- Step 2: Choose the pages. Keep all of them, or only the ones that earn money, such as pricing and checkout.
- Step 3: Approve the first scan as the baseline. Later scans are compared with it. You replace it only by approving a change. On Growth and Agency, uptime checks start on the homepage too.

## Review a visual change on one screen

Drag the handle to compare the approved baseline with today's screenshot. Each changed area gets a number, largest first, and the list shows where it is on the page, its size and its changed pixels. Tiny changes stay folded away until you open them.

Example of a detected change (simulated on a demo storefront). Changed areas (6) on desktop, largest first:

- 1. 689×431 · 270,533 px changed (689×431 at 639, 153)
- 2. 402×156 · 31,520 px changed (402×156 at 617, 902)
- 3. 240×82 · 1,177 px changed (240×82 at 618, 1102)
- 4. 320×44 · 6,265 px changed (320×44 at 112, 426)
- 5. 22×8 · 68 px changed (22×8 at 634, 836)
- 6. 22×8 · 62 px changed (22×8 at 745, 808)

## What Rookflare checks on your pages

### Changed areas are outlined on the new screenshot

Each new screenshot is compared with the baseline you approved. Changed areas get numbered boxes, the largest first. [Read more](https://rookflare.com/visual-monitoring/)

### Each page is checked on desktop and on mobile

By default, pages are captured at 1440 and 390 pixels wide, so a layout that only breaks on phones is found too. Both captures count as one page. [Read more](https://rookflare.com/visual-monitoring/)

### Server errors and redirects

Each request is logged with its status code and response time. A 4xx or 5xx response opens an issue at once, without waiting for a review. [Read more](https://rookflare.com/website-health-monitoring/)

### JavaScript errors on the page

Errors thrown while a page loads are recorded with their message, so a broken checkout script shows up on the next scan. [Read more](https://rookflare.com/website-health-monitoring/)

### Images that fail to load

When an image returns an error, the page and the image address are listed. [Read more](https://rookflare.com/website-health-monitoring/)

### Uptime checks between scans

Key URLs are requested every minute on Agency and every 5 minutes on Growth. A page counts as down only after 3 failed checks in a row, about a minute apart, and a confirmation check. [Read more](https://rookflare.com/uptime-monitoring/)

### One alert per issue

You get one message when an issue opens and a separate one when it is resolved. If the same failure is found again, the issue is updated and no new alert is sent unless it gets worse. [Read more](https://rookflare.com/website-health-monitoring/)

### Click the buttons and forms that must never break

Open a screenshot of your page and click the order button, the contact form or the cart. Rookflare finds a stable way to recognize each one and opens a critical issue when it disappears or is hidden, on desktop or on mobile. No code needed. [Read more](https://rookflare.com/website-health-monitoring/)

### You decide what the new normal is

A visual change is never accepted on its own. Someone on your team approves it as the new baseline or marks it as expected. [Read more](https://rookflare.com/visual-monitoring/)

### Search settings that changed

A noindex robots tag and a missing title are flagged, and a changed title or canonical address is compared with the previous scan. [Read more](https://rookflare.com/website-health-monitoring/)

## Connect Rookflare to how you ship and get told

Start a scan from your deploy pipeline, get alerts where your team already looks and send clients a monthly report under your own logo.

- Scan after deploy (Growth and Agency plans): Your CI or host calls one URL with a secret token after each deploy. Repeated calls for the same deploy start only one scan. Snippets for GitHub Actions, Vercel, Netlify, WordPress, cURL.
- Email: Every plan. One alert per issue and a daily summary.
- Slack: Growth and Agency. Posts to the channel you pick.
- SMS and phone calls: Growth and Agency. A text for critical problems, a short call when a site goes down.
- Monthly client reports: Agency. Uptime and scan results for each client, under your logo and colors.
- Sign in with Google: Create an account and log in with your Google account.

## See every client website on one screen

Add each client as a website, invite your team and filter the list to the sites that need someone today. Each month, send every client a report with uptime and scan results under your own logo.

[Monitoring for agencies](https://rookflare.com/agencies/)

## Plans and limits

Every plan includes every check, desktop and mobile capture. Plans differ in how many websites and pages you monitor, how often, uptime checks, alert channels, team and client features, and how long history is kept.

| Feature | Starter | Growth | Agency |
| --- | --- | --- | --- |
| Price per month | €19 | €49 | €99 |
| Websites | 1 | 5 | 20 |
| Monitored pages | 25 | 150 | 500 |
| Scan interval | Once a day | Every 12 h | Every 6 h |
| Screenshot history | 30 days | 90 days | 180 days |
| Desktop and mobile capture | Yes | Yes | Yes |
| Visual comparison with an approved baseline | Yes | Yes | Yes |
| Status codes and redirects | Yes | Yes | Yes |
| Images that fail to load | Yes | Yes | Yes |
| JavaScript errors | Yes | Yes | Yes |
| Search settings (title, noindex, canonical) | Yes | Yes | Yes |
| Uptime monitoring | No | Every 5 min, 3 URLs | Every 1 min, 10 URLs |
| SSL expiry and slow response warnings | No | Yes | Yes |
| Uptime in white-label client reports | No | No | Yes |
| Email alerts | Yes | Yes | Yes |
| Slack alerts | No | Yes | Yes |
| SMS and call alerts (per month) | No | 50 | 200 |
| Team members and roles | No | No | Yes |

Prices and limits are provisional until billing launches. You will see the final price before you pay.

Full details: [Pricing](https://rookflare.com/pricing/)

## Frequently asked questions

### What does Rookflare monitor?

Rookflare scans the pages you choose on a fixed schedule. It captures desktop and mobile screenshots, compares them with the baseline you approved, and checks HTTP status, broken images, JavaScript errors and basic SEO signals. On Growth and Agency it also checks that your key URLs respond, as often as every minute.

### Is every visual change treated as an error?

No. A visual difference is marked as a change that needs your review, never as a confirmed failure. You decide whether it was expected: approve the new screenshot as the baseline, mark the change as expected, or fix the page.

### Do I need to install a script on my website?

No. Rookflare visits your pages from the outside, the way a visitor would. You add a website, verify that you control the domain, and choose the pages to monitor.

### How often are pages scanned?

Starter scans once a day, Growth every 12 hours and Agency every 6 hours. Scan frequency is fixed per plan; you can choose a longer interval, but not a shorter one.

### How is uptime checked and when do you alert?

Rookflare requests each uptime URL on a schedule: every 5 minutes on Growth and every minute on Agency. A page counts as down only after 3 failed checks in a row and a failed confirmation check, so one slow response does not wake anyone. After a failed check, the next checks follow about a minute apart, so an outage is confirmed about 2 minutes after the first failed check on both plans. You get one email or Slack alert when it goes down and another when it is back up, with how long it was down.

### Which plans include uptime monitoring?

Growth and Agency. Growth checks up to 3 URLs per website every 5 minutes, Agency up to 10 URLs per website every minute. Starter has no uptime checks, but its pages are still scanned once a day. When a website starts being monitored, its homepage becomes its first uptime URL.

### How are monitored pages counted?

One URL is one monitored page, even though we capture it at both desktop and mobile sizes. Limits apply across your whole organization.

### Can an agency monitor many client websites in one account?

Yes. The Agency plan covers up to 20 websites and 500 monitored pages, lets you invite team members, and keeps 180 days of history.

### Are the prices final?

Not yet. Prices and limits on this site are provisional until billing launches and may change. Anything you sign up for will show its price before you pay.

### Who can see the screenshots of my pages?

Screenshots are stored in a private bucket and are shown in the dashboard only to signed-in members of your organization, through links that expire after a few minutes. They are never attached to alert emails or Slack messages. On the Agency plan, a client report you share includes the screenshots of the changes it lists.

### Can Rookflare text or call me when my site goes down?

Yes, on the paid Growth and Agency plans (the free trial does not include them). Each person verifies their own mobile number with a code sent by text message, then a phone channel can send a text message for critical problems and place a short automatic call when a site goes down. The recovery comes as a text only. Growth includes 50 phone alerts a month and Agency 200, texts and calls counted together. When they are used up, email and Slack alerts keep going and the owners get one email.

### Can Rookflare scan right after I deploy?

Yes, on Growth and Agency. Create a deploy hook in the website settings and call its URL with the secret token when a deploy finishes. The dashboard gives ready snippets for GitHub Actions, Vercel, Netlify, WordPress and cURL. Rookflare then scans the website straight away instead of waiting for the next scheduled scan, and repeated calls for the same deploy start only one scan.

### What happens when the free trial ends?

Scheduled scans, uptime checks and alerts stop. Your websites, settings, approved baseline screenshots and issues stay in your account until you delete it; as on any account without a plan, scan history and screenshots older than 30 days are removed. Monitoring continues where it stopped as soon as you choose a plan.

### Can I start the free trial more than once?

No, it's one free trial per person. If you already used a free trial in an organization you own, a new organization starts with a plan instead. A website that was monitored on a free trial can't be monitored on another free trial for a year, so a new account doesn't restart the trial for the same site. For this check we keep only a one-way hash of the website's domain, never who used it. If you need more time to decide, contact us.

## Get started

Plans start at €19 per month (provisional). [Create an account](https://app.rookflare.com/register/) or [contact us](https://rookflare.com/contact/).


---
title: "Features"
description: "Everything Rookflare checks: visual comparison, server and JavaScript errors, broken images, search settings, uptime, and alerts by email, Slack, SMS or call."
url: "https://rookflare.com/features/"
---

# Features

Visual changes wait for someone to review them. Technical failures, such as a server error, open an issue straight away. Between scans, uptime checks watch whether your key pages answer.

## Checks

### Changed areas are outlined on the new screenshot

Each new screenshot is compared with the baseline you approved. Changed areas get numbered boxes, the largest first. [Read more](https://rookflare.com/visual-monitoring/)

### Each page is checked on desktop and on mobile

By default, pages are captured at 1440 and 390 pixels wide, so a layout that only breaks on phones is found too. Both captures count as one page. [Read more](https://rookflare.com/visual-monitoring/)

### Server errors and redirects

Each request is logged with its status code and response time. A 4xx or 5xx response opens an issue at once, without waiting for a review. [Read more](https://rookflare.com/website-health-monitoring/)

### JavaScript errors on the page

Errors thrown while a page loads are recorded with their message, so a broken checkout script shows up on the next scan. [Read more](https://rookflare.com/website-health-monitoring/)

### Images that fail to load

When an image returns an error, the page and the image address are listed. [Read more](https://rookflare.com/website-health-monitoring/)

### Uptime checks between scans

Key URLs are requested every minute on Agency and every 5 minutes on Growth. A page counts as down only after 3 failed checks in a row, about a minute apart, and a confirmation check. [Read more](https://rookflare.com/uptime-monitoring/)

### One alert per issue

You get one message when an issue opens and a separate one when it is resolved. If the same failure is found again, the issue is updated and no new alert is sent unless it gets worse. [Read more](https://rookflare.com/website-health-monitoring/)

### Click the buttons and forms that must never break

Open a screenshot of your page and click the order button, the contact form or the cart. Rookflare finds a stable way to recognize each one and opens a critical issue when it disappears or is hidden, on desktop or on mobile. No code needed. [Read more](https://rookflare.com/website-health-monitoring/)

### You decide what the new normal is

A visual change is never accepted on its own. Someone on your team approves it as the new baseline or marks it as expected. [Read more](https://rookflare.com/visual-monitoring/)

### Search settings that changed

A noindex robots tag and a missing title are flagged, and a changed title or canonical address is compared with the previous scan. [Read more](https://rookflare.com/website-health-monitoring/)

### Told when it goes down and when it is back

You get one email, Slack message or text when a page goes down, and a call if you turned that on, then another message when it answers again, with how long it was down. [Read more](https://rookflare.com/uptime-monitoring/)

### Expiring certificates and slow pages

A warning appears when an SSL certificate expires within 14 days or a page answers much slower than it usually does. [Read more](https://rookflare.com/uptime-monitoring/)

### Every issue keeps its history

An issue records when the failure was first seen, each scan that saw it again and when it was resolved. [Read more](https://rookflare.com/website-health-monitoring/)

### Alerts by email, Slack, text or call

Choose who gets an email and which Slack channel gets the message. From Growth, critical problems can also go out as a text message, and a short call when a site goes down. Screenshots stay in Rookflare and open after you sign in. [Read more](https://rookflare.com/website-health-monitoring/)

## Check the website the moment a deploy lands

### One URL for your CI or host

On Growth and Agency, create a deploy hook in the website settings. Your pipeline calls it with a secret token when a deploy finishes and Rookflare scans the website straight away.

- Ready snippets for GitHub Actions, Vercel, Netlify, WordPress and cURL
- Repeated calls for the same deploy start only one scan
- Rotate or revoke the token at any time

## Connect Rookflare to how you ship and get told

Start a scan from your deploy pipeline, get alerts where your team already looks and send clients a monthly report under your own logo.

- Scan after deploy (Growth and Agency plans): Your CI or host calls one URL with a secret token after each deploy. Repeated calls for the same deploy start only one scan. Snippets for GitHub Actions, Vercel, Netlify, WordPress, cURL.
- Email: Every plan. One alert per issue and a daily summary.
- Slack: Growth and Agency. Posts to the channel you pick.
- SMS and phone calls: Growth and Agency. A text for critical problems, a short call when a site goes down.
- Monthly client reports: Agency. Uptime and scan results for each client, under your logo and colors.
- Sign in with Google: Create an account and log in with your Google account.

## Get started

Plans start at €19 per month (provisional). [Create an account](https://app.rookflare.com/register/) or [contact us](https://rookflare.com/contact/).


---
title: "Visual monitoring"
description: "Compare every scan with the screenshot you approved. Changed areas are outlined and numbered, and nothing becomes the baseline until your team approves it."
url: "https://rookflare.com/visual-monitoring/"
---

# Visual monitoring

Rookflare compares every new screenshot with the one your team approved. Changed areas are outlined and numbered, so a broken layout is clear at a glance and a planned redesign is accepted with one approval.

## From screenshot to approved baseline

### Numbered boxes on every changed area

The new screenshot is compared with the baseline, even when content above it moved. Areas that differ are grouped, outlined and numbered, the largest first.

- The share of changed pixels is shown for each scan
- Split, slider, diff and flip views keep your zoom and position
- Step from change to change, each one brought into view and aligned on both screenshots
- Ignore an element and see how many changes it hides before you save
- Each area is listed with where it is on the page and its size

### Layouts that break only on phones

By default, every page is captured at 1440 and 390 pixels wide and compared with the baseline for that width.

- Both captures count as one monitored page
- Mobile-only changes are labelled as such

### Your team decides what the new normal is

Approve a change and it becomes the new baseline. Mark it as expected and the baseline stays as it is. Every baseline keeps who approved it and when.

- Version history for every page
- Approved baselines are kept for as long as the page is monitored

## Frequently asked questions

### Is every visual change treated as an error?

No. A visual difference is marked as a change that needs your review, never as a confirmed failure. You decide whether it was expected: approve the new screenshot as the baseline, mark the change as expected, or fix the page.

### What is a baseline?

The baseline is the screenshot of a page that your team approved. Every new scan is compared with it. It only changes when someone approves a new screenshot as the baseline.

### What happens when a page looks different?

Rookflare opens an issue that needs review, with the changed areas outlined. Someone on your team approves the new screenshot as the baseline or marks the change as expected. If the change is a mistake, fix the page and the issue resolves when it matches the baseline again. Technical failures such as a 500 response open an issue straight away.

### Are pages captured on mobile too?

Yes. By default, every monitored page is captured at 1440 pixels and at 390 pixels wide, and each capture is compared with its own baseline. Both captures count as one monitored page.

## Get started

Plans start at €19 per month (provisional). [Create an account](https://app.rookflare.com/register/) or [contact us](https://rookflare.com/contact/).


---
title: "Website health monitoring"
description: "Rookflare checks status codes, redirects, JavaScript errors, broken images and search settings on every scan, and opens an issue when a page fails."
url: "https://rookflare.com/website-health-monitoring/"
---

# Website health monitoring

On every scan Rookflare checks the status code, redirects, JavaScript errors, images and search settings of each page. A failure opens an issue with the request, the error and a screenshot.

## What a scan looks at besides the screenshot

### Server errors and redirects

Each page request is logged with its status code and response time. Redirects are followed, and a page that starts redirecting somewhere else opens an issue.

- Any 4xx or 5xx response opens an issue
- The issue shows where the page ends up now and before

### Errors thrown while the page loads

Uncaught errors and console errors are recorded with their message and grouped across the pages of a website.

- One issue per error, listing every page that shows it
- Uncaught errors are medium, console errors low

### Images that fail to load

Every image request is checked. A failed image is listed with the page and the image address.

- Listed per page with the address that failed

### Noindex, title and canonical

A noindex robots tag or a missing title is flagged on every scan, and a changed title or canonical address is compared with the previous scan, so an accidental noindex shows up on the next scan.

- Title and canonical changes open low or medium issues

### Whether key pages answer between scans

On Growth and Agency, Rookflare also requests your key URLs as often as every minute and alerts you when one is down and when it is back up.

- Down only after repeated failures and a confirmation check
- Warnings for expiring SSL certificates and slow responses

### Scan right after you deploy

On Growth and Agency, your CI or host calls one URL with a secret token when a deploy finishes, and Rookflare scans the website straight away instead of waiting for the next scheduled scan.

- Ready snippets for GitHub Actions, Vercel, Netlify, WordPress and cURL
- Repeated calls for the same deploy start only one scan

## Frequently asked questions

### Do I need to install a script on my website?

No. Rookflare visits your pages from the outside, the way a visitor would. You add a website, verify that you control the domain, and choose the pages to monitor.

### How often are pages scanned?

Starter scans once a day, Growth every 12 hours and Agency every 6 hours. Scan frequency is fixed per plan; you can choose a longer interval, but not a shorter one.

### How is uptime checked and when do you alert?

Rookflare requests each uptime URL on a schedule: every 5 minutes on Growth and every minute on Agency. A page counts as down only after 3 failed checks in a row and a failed confirmation check, so one slow response does not wake anyone. After a failed check, the next checks follow about a minute apart, so an outage is confirmed about 2 minutes after the first failed check on both plans. You get one email or Slack alert when it goes down and another when it is back up, with how long it was down.

### What happens when a page looks different?

Rookflare opens an issue that needs review, with the changed areas outlined. Someone on your team approves the new screenshot as the baseline or marks the change as expected. If the change is a mistake, fix the page and the issue resolves when it matches the baseline again. Technical failures such as a 500 response open an issue straight away.

### Which technical checks run on every scan?

By default, each scan records the status code and load time of the page, follows redirects and flags a new redirect target, lists JavaScript errors thrown while the page loads, checks that images load, flags a noindex robots tag or a missing title, and compares the title and canonical address with the previous scan.

### Will I get the same alert twice?

No. You get one alert when an issue opens. If the next scan finds the same failure, the issue is updated and no new alert is sent, unless the problem gets worse.

### Do uptime checks warn about anything besides downtime?

Yes, about two things that are not outages yet: an SSL certificate that expires within 14 days, and a page that answers much slower than it usually does. Both show up as warnings, so you can fix them before visitors notice.

### Can Rookflare scan right after I deploy?

Yes, on Growth and Agency. Create a deploy hook in the website settings and call its URL with the secret token when a deploy finishes. The dashboard gives ready snippets for GitHub Actions, Vercel, Netlify, WordPress and cURL. Rookflare then scans the website straight away instead of waiting for the next scheduled scan, and repeated calls for the same deploy start only one scan.

## Get started

Plans start at €19 per month (provisional). [Create an account](https://app.rookflare.com/register/) or [contact us](https://rookflare.com/contact/).


---
title: "Uptime monitoring"
description: "Rookflare checks your key URLs as often as every minute, confirms an outage before it alerts you and warns about expiring SSL certificates and slow responses."
url: "https://rookflare.com/uptime-monitoring/"
---

# Uptime monitoring

Rookflare requests your key URLs every minute on Agency and every 5 minutes on Growth. When a page stops answering, it confirms the outage, sends one alert by email or Slack and tells you again when the page is back up.

## What uptime monitoring does between scans

### An outage is confirmed before anyone is alerted

A page counts as down only after 3 failed checks in a row and a confirmation check. After a failed check, the next checks follow about a minute apart, so an outage is confirmed about 2 minutes after the first failed check. A single slow answer or a short network problem does not send an alert.

- Agency: up to 10 URLs per website, every minute
- Growth: up to 3 URLs per website, every 5 minutes
- The homepage is added when monitoring starts

### One message when it goes down, one when it is back

Alerts go to the people and Slack channels you chose. The second message says how long the page was down, so you know whether to follow up.

- Email and Slack
- Back up message with the downtime length

### Expiring certificates and slow responses

Some problems are not outages yet. Rookflare warns you when an SSL certificate expires within 14 days and when a page answers much slower than it usually does.

- Certificate expiry is read on every check
- Warnings never count as downtime

### Uptime you can show to a client

Each URL shows its uptime for the last 24 hours, 7 days and 30 days, a response-time chart and a list of past downtimes. On the Agency plan the monthly white-label client report includes the uptime percentage and the number of downtimes.

- Uptime for 24 hours, 7 days and 30 days
- Downtime history with start time and length

## Frequently asked questions

### How is uptime checked and when do you alert?

Rookflare requests each uptime URL on a schedule: every 5 minutes on Growth and every minute on Agency. A page counts as down only after 3 failed checks in a row and a failed confirmation check, so one slow response does not wake anyone. After a failed check, the next checks follow about a minute apart, so an outage is confirmed about 2 minutes after the first failed check on both plans. You get one email or Slack alert when it goes down and another when it is back up, with how long it was down.

### Which plans include uptime monitoring?

Growth and Agency. Growth checks up to 3 URLs per website every 5 minutes, Agency up to 10 URLs per website every minute. Starter has no uptime checks, but its pages are still scanned once a day. When a website starts being monitored, its homepage becomes its first uptime URL.

### Do uptime checks warn about anything besides downtime?

Yes, about two things that are not outages yet: an SSL certificate that expires within 14 days, and a page that answers much slower than it usually does. Both show up as warnings, so you can fix them before visitors notice.

### Where do the uptime checks run from?

From one location in the EU. Because there is a single location, Rookflare waits for 3 failed checks in a row, about a minute apart, and a confirmation check before it marks a page as down. That keeps a short network problem between us and your server from turning into an alert.

### What uptime history can I see?

For every uptime URL you see its uptime for the last 24 hours, 7 days and 30 days, a response-time chart and a list of past downtimes with when each started and how long it lasted.

### Do client reports include uptime?

Yes. On the Agency plan the monthly white-label client report shows the uptime percentage of each website and how many times it was down that month, next to the scan results.

### Can Rookflare text or call me when my site goes down?

Yes, on the paid Growth and Agency plans (the free trial does not include them). Each person verifies their own mobile number with a code sent by text message, then a phone channel can send a text message for critical problems and place a short automatic call when a site goes down. The recovery comes as a text only. Growth includes 50 phone alerts a month and Agency 200, texts and calls counted together. When they are used up, email and Slack alerts keep going and the owners get one email.

## Get started

Plans start at €19 per month (provisional). [Create an account](https://app.rookflare.com/register/) or [contact us](https://rookflare.com/contact/).


---
title: "Website monitoring for agencies"
description: "Monitor every client website from one account, share the review work with your team and send each client a monthly white-label report with uptime and scans."
url: "https://rookflare.com/agencies/"
---

# Website monitoring for agencies

Add each client site, share the review work with your team and filter the list to what needs attention today. Uptime is checked every minute, and each client gets a monthly report. One plan covers all of it.

## Work through client changes together

### Approve a redesign once it is live

When a client ships a planned change, approve the new screenshot and it becomes the baseline for the next scan.

- Each approval records who made it

### One message per issue, in your channel

Send alerts to email or to the Slack channel your team already watches. A repeated failure updates the issue instead of sending again.

- Email and Slack on the Agency plan

### Uptime in the monthly client report

Each month the white-label report shows a client the uptime percentage of their website, how many times it was down and what the scans found.

- Your logo, not ours
- Uptime percentage and number of downtimes

## Plans and limits

Every plan includes every check, desktop and mobile capture. Plans differ in how many websites and pages you monitor, how often, uptime checks, alert channels, team and client features, and how long history is kept.

| Feature | Starter | Growth | Agency |
| --- | --- | --- | --- |
| Price per month | €19 | €49 | €99 |
| Websites | 1 | 5 | 20 |
| Monitored pages | 25 | 150 | 500 |
| Scan interval | Once a day | Every 12 h | Every 6 h |
| Screenshot history | 30 days | 90 days | 180 days |
| Desktop and mobile capture | Yes | Yes | Yes |
| Visual comparison with an approved baseline | Yes | Yes | Yes |
| Status codes and redirects | Yes | Yes | Yes |
| Images that fail to load | Yes | Yes | Yes |
| JavaScript errors | Yes | Yes | Yes |
| Search settings (title, noindex, canonical) | Yes | Yes | Yes |
| Uptime monitoring | No | Every 5 min, 3 URLs | Every 1 min, 10 URLs |
| SSL expiry and slow response warnings | No | Yes | Yes |
| Uptime in white-label client reports | No | No | Yes |
| Email alerts | Yes | Yes | Yes |
| Slack alerts | No | Yes | Yes |
| SMS and call alerts (per month) | No | 50 | 200 |
| Team members and roles | No | No | Yes |

Prices and limits are provisional until billing launches. You will see the final price before you pay.

Full details: [Pricing](https://rookflare.com/pricing/)

## Frequently asked questions

### Can an agency monitor many client websites in one account?

Yes. The Agency plan covers up to 20 websites and 500 monitored pages, lets you invite team members, and keeps 180 days of history.

### Can my team share the work?

Yes. On the Agency plan you can invite team members, give them roles and see who approved each baseline.

### Do client reports include uptime?

Yes. On the Agency plan the monthly white-label client report shows the uptime percentage of each website and how many times it was down that month, next to the scan results.

## Get started

Plans start at €19 per month (provisional). [Create an account](https://app.rookflare.com/register/) or [contact us](https://rookflare.com/contact/).


---
title: "Pricing"
description: "Rookflare plans and limits: websites, monitored pages, scan interval, uptime checks, history and alert channels. Prices are provisional until billing launches."
url: "https://rookflare.com/pricing/"
---

# Pricing

## Plans and limits

Every plan includes every check, desktop and mobile capture. Plans differ in how many websites and pages you monitor, how often, uptime checks, alert channels, team and client features, and how long history is kept.

| Feature | Starter | Growth | Agency |
| --- | --- | --- | --- |
| Price per month | €19 | €49 | €99 |
| Websites | 1 | 5 | 20 |
| Monitored pages | 25 | 150 | 500 |
| Scan interval | Once a day | Every 12 h | Every 6 h |
| Screenshot history | 30 days | 90 days | 180 days |
| Desktop and mobile capture | Yes | Yes | Yes |
| Visual comparison with an approved baseline | Yes | Yes | Yes |
| Status codes and redirects | Yes | Yes | Yes |
| Images that fail to load | Yes | Yes | Yes |
| JavaScript errors | Yes | Yes | Yes |
| Search settings (title, noindex, canonical) | Yes | Yes | Yes |
| Uptime monitoring | No | Every 5 min, 3 URLs | Every 1 min, 10 URLs |
| SSL expiry and slow response warnings | No | Yes | Yes |
| Uptime in white-label client reports | No | No | Yes |
| Email alerts | Yes | Yes | Yes |
| Slack alerts | No | Yes | Yes |
| SMS and call alerts (per month) | No | 50 | 200 |
| Team members and roles | No | No | Yes |

Prices and limits are provisional until billing launches. You will see the final price before you pay.

Full details: [Pricing](https://rookflare.com/pricing/)

## Frequently asked questions

### How often are pages scanned?

Starter scans once a day, Growth every 12 hours and Agency every 6 hours. Scan frequency is fixed per plan; you can choose a longer interval, but not a shorter one.

### Which plans include uptime monitoring?

Growth and Agency. Growth checks up to 3 URLs per website every 5 minutes, Agency up to 10 URLs per website every minute. Starter has no uptime checks, but its pages are still scanned once a day. When a website starts being monitored, its homepage becomes its first uptime URL.

### How are monitored pages counted?

One URL is one monitored page, even though we capture it at both desktop and mobile sizes. Limits apply across your whole organization.

### Can an agency monitor many client websites in one account?

Yes. The Agency plan covers up to 20 websites and 500 monitored pages, lets you invite team members, and keeps 180 days of history.

### Are the prices final?

Not yet. Prices and limits on this site are provisional until billing launches and may change. Anything you sign up for will show its price before you pay.

### Can Rookflare text or call me when my site goes down?

Yes, on the paid Growth and Agency plans (the free trial does not include them). Each person verifies their own mobile number with a code sent by text message, then a phone channel can send a text message for critical problems and place a short automatic call when a site goes down. The recovery comes as a text only. Growth includes 50 phone alerts a month and Agency 200, texts and calls counted together. When they are used up, email and Slack alerts keep going and the owners get one email.

### What happens when the free trial ends?

Scheduled scans, uptime checks and alerts stop. Your websites, settings, approved baseline screenshots and issues stay in your account until you delete it; as on any account without a plan, scan history and screenshots older than 30 days are removed. Monitoring continues where it stopped as soon as you choose a plan.

### Can I start the free trial more than once?

No, it's one free trial per person. If you already used a free trial in an organization you own, a new organization starts with a plan instead. A website that was monitored on a free trial can't be monitored on another free trial for a year, so a new account doesn't restart the trial for the same site. For this check we keep only a one-way hash of the website's domain, never who used it. If you need more time to decide, contact us.

## Get started

Plans start at €19 per month (provisional). [Create an account](https://app.rookflare.com/register/) or [contact us](https://rookflare.com/contact/).


---
title: "Payment methods"
description: "How to pay for Rookflare: Visa, Mastercard and American Express, plus other methods Stripe offers in your country. Monthly plans in euros."
url: "https://rookflare.com/payment-methods/"
---

# Payment methods

Plans are monthly subscriptions billed in euros. You pay on the Rookflare checkout page through a payment form provided by Stripe, our payment provider, and manage invoices and cards on the Billing page.

## Accepted payment methods

### Cards

Visa, Mastercard and American Express.

### Other methods at checkout

Depending on your country, the payment form at checkout may also offer wallets or local payment methods. It lists the ones available to you.

## How billing works

- Currency: Euro (EUR)
- Billing period: Monthly subscription
- Where you pay: On the Rookflare checkout page, in a payment form provided by Stripe, our payment provider
- Invoices and receipts: On the Billing page in Rookflare, where account owners can open each invoice.
- Changing your payment method: On the Billing page, by an account owner
- Taxes: May apply

## Plan prices

| Plan | Per month |
| --- | --- |
| Starter | €19 |
| Growth | €49 |
| Agency | €99 |

Prices and limits are provisional until billing launches. You will see the final price before you pay. Taxes may apply.

[Compare plans and limits](https://rookflare.com/pricing/)

## Contact us: Refunds, VAT and paying by invoice

This page doesn't cover them. [Send us a message with your question.](https://rookflare.com/contact/)

## Frequently asked questions

### Which payment methods can I use?

You can pay by card with Visa, Mastercard or American Express. Depending on your country, the payment form at checkout may also offer wallets or local payment methods. It lists the ones available to you.

### Which currency and billing period do plans use?

Plans are monthly subscriptions billed in euros (EUR). Prices and limits are provisional until billing launches, and taxes may apply. You will see the final price before you pay.

### Where do I enter my card details?

On the Rookflare checkout page, in a payment form provided by Stripe, our payment provider. Your card details go straight to Stripe and never reach Rookflare's servers.

### Where do I find invoices and receipts?

On the Billing page in Rookflare. Account owners can open each invoice there.

### How do I change my payment method?

Account owners add a card and make it the default on the Billing page in Rookflare.

### What about refunds, VAT or paying by invoice?

This page doesn't cover them. Send us a message through the contact page and we will answer your question.

## Get started

Plans start at €19 per month (provisional). [Create an account](https://app.rookflare.com/register/) or [contact us](https://rookflare.com/contact/).


---
title: "Alternatives"
description: "How Rookflare compares with Visualping, ChangeTower, Oh Dear, UptimeRobot, Better Stack and Diffy, with sourced facts and the date we checked them."
url: "https://rookflare.com/alternatives/"
---

# Alternatives

How Rookflare compares with visual change monitors, uptime monitors and visual regression tools. Each comparison links to the other company’s own pages and shows when we checked them.

## Pick a comparison

- [Rookflare vs Visualping](https://rookflare.com/alternatives/visualping/) (Web page change monitoring): Watches any public page for visual and text changes. Rookflare monitors your own sites with page checks and uptime. Starting price: $14 a month (Personal 1K, billed monthly). Checked 2 November 2026.
- [Rookflare vs ChangeTower](https://rookflare.com/alternatives/changetower/) (Web page change monitoring): Tracks content and screenshot changes across many pages with reports. Rookflare adds page checks, uptime and phone alerts. Starting price: $12 a month (Lite, billed monthly). Checked 2 November 2026.
- [Rookflare vs Oh Dear](https://rookflare.com/alternatives/oh-dear/) (Website monitoring for agencies): Uptime, broken links, SSL and status pages with client reports. Rookflare adds screenshot comparison on desktop and mobile. Starting price: $17 a month for 2 sites (Solo). Checked 2 November 2026.
- [Rookflare vs UptimeRobot](https://rookflare.com/alternatives/uptimerobot/) (Uptime monitoring): Fast, low-cost uptime checks with status pages. Rookflare adds screenshot comparison and checks inside each page. Starting price: €10 a month (Solo, billed monthly). Checked 2 November 2026.
- [Rookflare vs Better Stack](https://rookflare.com/alternatives/better-stack/) (Uptime monitoring and incident management): Uptime with unlimited phone and SMS alerts, status pages and on-call tools. Rookflare adds screenshot comparison and page checks. Starting price: Usage-based: $34 a month per responder seat, $25 a month per 50 extra monitors (monthly billing). Checked 2 November 2026.
- [Rookflare vs Diffy](https://rookflare.com/alternatives/diffy/) (Visual regression testing): Visual regression testing for agencies, strong on staging versus production. Rookflare adds page checks, uptime and alerts. Starting price: Pro from $67 a month, billed annually. Checked 2 November 2026.

## Questions to ask any monitoring tool

### Does it look at the page or only the server?

An uptime check sees a 200 response. A screenshot shows the missing button or the broken layout.

### Who decides what is a real change?

Look for a review step, so a planned redesign does not keep alerting and a real bug does not slip into the reference.

### Does it check mobile?

Many layout bugs only show at phone width. Check that both desktop and mobile are captured.

### Where do the alerts go?

Email is not enough for a site that is down at night. Check for Slack, SMS or phone calls, and how many are included.

### Can you show the client?

Agencies need reports with their own logo, or status pages, depending on what clients ask for.

### What does it cost at your size?

Some tools price per check, some per site, some per seat. Count your websites, pages and people first.

## Frequently asked questions

### Which website monitoring tool is best for agencies?

It depends on what your clients worry about. For uptime and status pages, Oh Dear, UptimeRobot or Better Stack are strong. For pages that look wrong after a release, you want screenshot comparison, which Rookflare, Visualping, ChangeTower and Diffy offer in different ways.

### Where do the facts on these pages come from?

From each company’s own pricing and feature pages, on the date shown on every comparison. Rookflare’s facts come from its plan limits, the same data the pricing page uses.

### Can I use Rookflare with another monitoring tool?

Yes. You can keep an uptime tool for servers and APIs and use Rookflare for what visitors see on the page.

## Sources and method

We read each company’s own pricing and feature pages and wrote down only what they state. Where a page does not mention a feature, the table says “Not stated”, which does not mean the product lacks it. Prices and features change, so check the linked pages before you decide.

Product names are trademarks of their owners and are used only to identify the products. Rookflare is not affiliated with or endorsed by them.


---
title: "Rookflare vs Visualping"
description: "Rookflare and Visualping compared: screenshot comparison, page checks, uptime, alerts and pricing, with sources and the date we checked them."
url: "https://rookflare.com/alternatives/visualping/"
---

# Rookflare vs Visualping

Visualping alerts you when a web page changes, on any site you choose. Rookflare is built for the sites you run: it compares desktop and mobile screenshots with a version your team approved, checks each page for errors and watches uptime.

## Rookflare or Visualping?

Pick Visualping to follow changes on pages you do not own, such as a competitor’s pricing or a public notice. Pick Rookflare to catch problems on your own websites, with page checks and uptime in the same place.

Rookflare fits if:

- You want to know when your own pages look different or break, on desktop and mobile.
- You want changes reviewed and approved by your team before they become the new reference.
- You need uptime checks, SMS or phone alerts and monthly client reports next to the screenshots.

Facts about Visualping last checked on 2 November 2026 on Visualping’s own website.

## Rookflare vs Visualping

| Feature | Rookflare | Visualping |
| --- | --- | --- |
| Screenshot comparison | Yes: Desktop and mobile screenshots of every monitored page, compared with the approved version | Yes: Before-and-after screenshot comparison with highlights of added and removed text [2] |
| Changes approved before they become the reference | Yes: A change becomes the new baseline only after someone on your team approves it | Not stated |
| How often pages are checked | Scans every 6 hours on Agency, every 12 hours on Growth, daily on Starter, plus a scan on demand | Every 60 minutes on Free, every 15 minutes on Personal 1K, shorter on larger plans [1] |
| Checks inside each page | Yes: Status codes, redirects, JavaScript errors, broken images and search settings on every scan | Not stated |
| Uptime monitoring | Yes: Every minute on Agency, every 5 minutes on Growth, not on Starter; from one EU location | Not stated |
| Alert channels | Yes: Email on every plan; Slack on Growth and Agency | Yes: Email and webhooks on every plan; Slack and Microsoft Teams on Business [1] |
| SMS and phone call alerts | Yes: SMS for critical problems and a call when a site goes down: 50 a month on Growth, 200 on Agency | Partly: SMS from Personal 5K; phone calls not listed [1] |
| Client reports | Yes: Monthly white-label client reports with uptime and scan results on Agency | Partly: Change reports with AI summaries; white-label not stated [2] |
| Public status pages | No: No public status pages | Not stated |
| Deploy webhook or API | Yes: A deploy webhook starts a scan after each release on Growth and Agency | Partly: REST API on every plan, including Free; deploy webhook not stated [1] |
| Free plan | No: No free plan | Yes: 150 checks a month on 5 pages, checked at most hourly [1] |
| Free trial | Yes: 14-day free trial with Growth features on 1 website and 25 pages | Yes: 14 days of Business features, no card [1] |
| Starting price | €19 a month (Starter, provisional) | $14 a month (Personal 1K, billed monthly) [1] |

## Visualping plans

- Free: $0. 150 checks a month, 5 pages, every 60 minutes
- Personal 1K: $14 a month. 1,000 checks a month, 10 pages, every 15 minutes, 1 user
- Business 20K: $140 a month. 20,000 checks a month, Slack and Teams alerts, team seats

Source: [Visualping pricing](https://visualping.io/pricing). Prices are shown in the currency each company uses, before tax. We do not convert them. Rookflare prices are provisional until billing launches.

## When Visualping is the better choice

### You watch pages you do not own

Visualping can watch any public page. Rookflare asks you to verify that you control the domain before it monitors a website.

### You care about wording

Visualping highlights added and removed text next to its screenshots. Rookflare compares what the page looks like and checks it for errors.

### You want to start free

Visualping has a free plan with 150 checks a month. Rookflare has a free trial but no free plan.

## Moving from Visualping to Rookflare

You can keep Visualping running while you try Rookflare and switch once you trust the alerts.

- Step 1: Add your website. Enter the address and verify that you control the domain.
- Step 2: Pick the pages. Rookflare reads your sitemap. Choose the pages that matter, such as the homepage, pricing and checkout.
- Step 3: Approve the first screenshots. The first scan becomes your baseline once you approve it. Then choose where alerts go: email, Slack, SMS or phone.

## Other tools people compare

- [Rookflare vs ChangeTower](https://rookflare.com/alternatives/changetower/)
- [Rookflare vs Diffy](https://rookflare.com/alternatives/diffy/)
- [Rookflare vs Oh Dear](https://rookflare.com/alternatives/oh-dear/)

## Rookflare and Visualping: questions

### What is the main difference between Rookflare and Visualping?

Visualping tells you when any web page changes, including pages on other people’s sites. Rookflare monitors websites you control: it compares desktop and mobile screenshots with a version your team approved, checks each page for server errors, JavaScript errors, broken images and search settings, and checks uptime on Growth and Agency.

### Can Rookflare watch a competitor’s website?

No. You verify that you control the domain before Rookflare monitors a website. For pages you do not own, a tool like Visualping fits better.

### Can I use Visualping and Rookflare together?

Yes. You can use Visualping for outside pages you follow and Rookflare for your own websites. The two do not need to know about each other.

### Can I try Rookflare before I switch from Visualping?

Yes. The 14-day free trial has Growth features for 1 website and 25 pages, so you can run it next to Visualping and compare the alerts. It's one free trial per person.

[Start the free trial](https://app.rookflare.com/register/).

## Sources and method

1. [Visualping pricing](https://visualping.io/pricing)
2. [Visualping homepage](https://visualping.io/)

Last checked 2 November 2026. We read each company’s own pricing and feature pages and wrote down only what they state. Where a page does not mention a feature, the table says “Not stated”, which does not mean the product lacks it. Prices and features change, so check the linked pages before you decide.

Product names are trademarks of their owners and are used only to identify the products. Rookflare is not affiliated with or endorsed by them.


---
title: "Rookflare vs ChangeTower"
description: "Rookflare and ChangeTower compared: visual change detection, client reports, uptime, alert channels and pricing, with sources and the date we checked."
url: "https://rookflare.com/alternatives/changetower/"
---

# Rookflare vs ChangeTower

ChangeTower watches pages for content and screenshot changes and keeps a history of what each page said. Rookflare compares desktop and mobile screenshots of your own sites with an approved version, checks every page for errors and watches uptime.

## Rookflare or ChangeTower?

Pick ChangeTower when you need a record of what pages said over time, across many pages, including pages you do not run. Pick Rookflare when you run the websites and want to know quickly that something looks wrong or is down.

Rookflare fits if:

- You run the websites and want broken pages, failed images and JavaScript errors flagged with the screenshot.
- You need uptime checks with SMS or phone alerts, not only page change alerts.
- You want mobile and desktop screenshots compared against a version your team approved.

Facts about ChangeTower last checked on 2 November 2026 on ChangeTower’s own website.

## Rookflare vs ChangeTower

| Feature | Rookflare | ChangeTower |
| --- | --- | --- |
| Screenshot comparison | Yes: Desktop and mobile screenshots of every monitored page, compared with the approved version | Yes: Full-page pixel-level screenshot comparison [1] |
| Changes approved before they become the reference | Yes: A change becomes the new baseline only after someone on your team approves it | Not stated |
| How often pages are checked | Scans every 6 hours on Agency, every 12 hours on Growth, daily on Starter, plus a scan on demand | Daily on Free and Lite, hourly on Essential and Business, your own schedule on Enterprise [1] |
| Checks inside each page | Yes: Status codes, redirects, JavaScript errors, broken images and search settings on every scan | Not stated |
| Uptime monitoring | Yes: Every minute on Agency, every 5 minutes on Growth, not on Starter; from one EU location | Not stated |
| Alert channels | Yes: Email on every plan; Slack on Growth and Agency | Yes: Email on every plan; Slack and webhooks on Business and Enterprise [1] |
| SMS and phone call alerts | Yes: SMS for critical problems and a call when a site goes down: 50 a month on Growth, 200 on Agency | Not stated |
| Client reports | Yes: Monthly white-label client reports with uptime and scan results on Agency | Yes: White-label change reports for agencies; scheduled email reports on Business [1] [2] |
| Public status pages | No: No public status pages | Not stated |
| Deploy webhook or API | Yes: A deploy webhook starts a scan after each release on Growth and Agency | Not stated |
| Free plan | No: No free plan | Yes: 3 pages checked daily, email alerts [1] |
| Free trial | Yes: 14-day free trial with Growth features on 1 website and 25 pages | Yes: 5 days on paid plans, card required [1] |
| Starting price | €19 a month (Starter, provisional) | $12 a month (Lite, billed monthly) [1] |

## ChangeTower plans

- Free: $0. 3 pages, checked daily
- Lite: $12 a month. 25 pages, checked every 24 hours
- Essential: $36 a month. 100 pages, checked hourly
- Business: $78 a month. 200 pages, hourly, Slack and webhooks, scheduled reports

Source: [ChangeTower pricing](https://changetower.com/pricing/). Prices are shown in the currency each company uses, before tax. We do not convert them. Rookflare prices are provisional until billing launches.

## When ChangeTower is the better choice

### You need a change archive

ChangeTower is built around the history of what a page said and when. Rookflare keeps screenshots for 30 to 180 days, depending on the plan.

### You watch many outside pages

ChangeTower can watch pages on any site, from 25 pages on Lite to custom limits on Enterprise. Rookflare monitors websites whose domain you verify.

### You start small

ChangeTower has a free plan for 3 pages checked daily. Rookflare has a free trial but no free plan.

## Moving from ChangeTower to Rookflare

You can keep ChangeTower running while you try Rookflare and switch once you trust the alerts.

- Step 1: Add your website. Enter the address and verify that you control the domain.
- Step 2: Pick the pages. Rookflare reads your sitemap. Choose the pages that matter, such as the homepage, pricing and checkout.
- Step 3: Approve the first screenshots. The first scan becomes your baseline once you approve it. Then choose where alerts go: email, Slack, SMS or phone.

## Other tools people compare

- [Rookflare vs Visualping](https://rookflare.com/alternatives/visualping/)
- [Rookflare vs Diffy](https://rookflare.com/alternatives/diffy/)
- [Rookflare vs Oh Dear](https://rookflare.com/alternatives/oh-dear/)

## Rookflare and ChangeTower: questions

### What is the main difference between Rookflare and ChangeTower?

ChangeTower tracks what changed on a page and keeps that history. Rookflare is for the websites you run: it compares desktop and mobile screenshots with a version your team approved, flags server errors, JavaScript errors and broken images on every scan, and checks uptime on Growth and Agency.

### Do both tools have client reports?

ChangeTower offers white-label change reports. Rookflare’s Agency plan sends each client a monthly white-label report with uptime percentage, downtimes and what the scans found.

### Can Rookflare prove what a page looked like a year ago?

Not that far back. Rookflare keeps screenshot history for 30 days on Starter, 90 on Growth and 180 on Agency. For a long-term archive of page content, ChangeTower is the better fit.

### Can I try Rookflare before I switch from ChangeTower?

Yes. The 14-day free trial has Growth features for 1 website and 25 pages, so you can run it next to ChangeTower and compare the alerts. It's one free trial per person.

[Start the free trial](https://app.rookflare.com/register/).

## Sources and method

1. [ChangeTower pricing](https://changetower.com/pricing/)
2. [ChangeTower homepage](https://changetower.com/)

Last checked 2 November 2026. We read each company’s own pricing and feature pages and wrote down only what they state. Where a page does not mention a feature, the table says “Not stated”, which does not mean the product lacks it. Prices and features change, so check the linked pages before you decide.

Product names are trademarks of their owners and are used only to identify the products. Rookflare is not affiliated with or endorsed by them.


---
title: "Rookflare vs Oh Dear"
description: "Rookflare and Oh Dear compared for agencies: visual comparison, uptime, broken links, client reports, status pages and pricing, with dated sources."
url: "https://rookflare.com/alternatives/oh-dear/"
---

# Rookflare vs Oh Dear

Oh Dear monitors uptime, certificates, broken links and more for agencies, with status pages and monthly client reports. Rookflare also checks pages and uptime, and adds what Oh Dear does not list: desktop and mobile screenshots compared with a version your team approved.

## Rookflare or Oh Dear?

Both are built for agencies with many client sites. Pick Oh Dear for status pages, multi-location uptime and site-wide link crawling. Pick Rookflare when your clients mostly worry about a page that looks wrong after a release.

Rookflare fits if:

- You want to see when a client page looks different on desktop or mobile, with the changed area outlined.
- You want a team member to approve a planned redesign before it becomes the new reference.
- You want SMS and phone call alerts when a client site goes down.

Facts about Oh Dear last checked on 2 November 2026 on Oh Dear’s own website.

## Rookflare vs Oh Dear

| Feature | Rookflare | Oh Dear |
| --- | --- | --- |
| Screenshot comparison | Yes: Desktop and mobile screenshots of every monitored page, compared with the approved version | Not stated |
| Changes approved before they become the reference | Yes: A change becomes the new baseline only after someone on your team approves it | Not stated |
| How often pages are checked | Scans every 6 hours on Agency, every 12 hours on Growth, daily on Starter, plus a scan on demand | Broken-link crawl and Lighthouse daily [2] |
| Checks inside each page | Yes: Status codes, redirects, JavaScript errors, broken images and search settings on every scan | Yes: Broken links, mixed content, SSL, DNS, domain expiry and Lighthouse [2] |
| Uptime monitoring | Yes: Every minute on Agency, every 5 minutes on Growth, not on Starter; from one EU location | Yes: Every minute from multiple locations [2] |
| Alert channels | Yes: Email on every plan; Slack on Growth and Agency | Yes: Email, Slack, Microsoft Teams, PagerDuty, Opsgenie and webhooks [2] |
| SMS and phone call alerts | Yes: SMS for critical problems and a call when a site goes down: 50 a month on Growth, 200 on Agency | Not stated |
| Client reports | Yes: Monthly white-label client reports with uptime and scan results on Agency | Yes: Monthly report per site with your logo and accent color [1] |
| Public status pages | No: No public status pages | Yes: Public status pages on every plan, on your own domain [1] |
| Deploy webhook or API | Yes: A deploy webhook starts a scan after each release on Growth and Agency | Partly: Full API on every plan; deploy webhook not stated [1] |
| Free plan | No: No free plan | No: No free plan listed [1] |
| Free trial | Yes: 14-day free trial with Growth features on 1 website and 25 pages | Yes: 10 days, every feature, no card [1] |
| Starting price | €19 a month (Starter, provisional) | $17 a month for 2 sites (Solo) [1] |

## Oh Dear plans

- Solo: $17 a month. 2 sites or servers, every feature
- Freelance: $55 a month. 10 sites or servers, every feature
- Agency: $165 a month. 50 sites or servers, every feature

Source: [Oh Dear pricing](https://ohdear.app/pricing). Prices are shown in the currency each company uses, before tax. We do not convert them. Rookflare prices are provisional until billing launches.

## When Oh Dear is the better choice

### Your clients want status pages

Oh Dear includes public status pages with subscriber notifications on every plan. Rookflare has no status pages.

### You need checks from several locations

Oh Dear checks uptime every minute from multiple locations. Rookflare checks from one location in the EU and confirms an outage before it alerts.

### You want a full site crawl

Oh Dear crawls every page daily for broken links and mixed content and runs Lighthouse. Rookflare checks the pages you pick from your sitemap.

## Moving from Oh Dear to Rookflare

You can keep Oh Dear running while you try Rookflare and switch once you trust the alerts.

- Step 1: Add your website. Enter the address and verify that you control the domain.
- Step 2: Pick the pages. Rookflare reads your sitemap. Choose the pages that matter, such as the homepage, pricing and checkout.
- Step 3: Approve the first screenshots. The first scan becomes your baseline once you approve it. Then choose where alerts go: email, Slack, SMS or phone.

## Other tools people compare

- [Rookflare vs UptimeRobot](https://rookflare.com/alternatives/uptimerobot/)
- [Rookflare vs Better Stack](https://rookflare.com/alternatives/better-stack/)
- [Rookflare vs Diffy](https://rookflare.com/alternatives/diffy/)

## Rookflare and Oh Dear: questions

### What is the main difference between Rookflare and Oh Dear?

Oh Dear focuses on uptime, certificates, broken links, performance and status pages. Rookflare focuses on what a page looks like: it compares desktop and mobile screenshots with an approved version and checks each page for server errors, JavaScript errors, broken images and search settings, with uptime checks on Growth and Agency.

### Do both send monthly client reports?

Yes. Oh Dear sends a monthly report per site with your logo. Rookflare’s Agency plan sends a monthly white-label report with uptime percentage, number of downtimes and scan results.

### Does Rookflare have status pages?

No. If your clients expect a public status page, Oh Dear includes them on every plan.

### Can I try Rookflare before I switch from Oh Dear?

Yes. The 14-day free trial has Growth features for 1 website and 25 pages, so you can run it next to Oh Dear and compare the alerts. It's one free trial per person.

[Start the free trial](https://app.rookflare.com/register/).

## Sources and method

1. [Oh Dear pricing](https://ohdear.app/pricing)
2. [Oh Dear homepage](https://ohdear.app/)

Last checked 2 November 2026. We read each company’s own pricing and feature pages and wrote down only what they state. Where a page does not mention a feature, the table says “Not stated”, which does not mean the product lacks it. Prices and features change, so check the linked pages before you decide.

Product names are trademarks of their owners and are used only to identify the products. Rookflare is not affiliated with or endorsed by them.


---
title: "Rookflare vs UptimeRobot"
description: "Rookflare and UptimeRobot compared: uptime intervals, screenshot comparison, page checks, SMS and call alerts and pricing, with dated sources."
url: "https://rookflare.com/alternatives/uptimerobot/"
---

# Rookflare vs UptimeRobot

UptimeRobot tells you when a URL stops responding, with checks down to 15 seconds and a free plan. Rookflare checks uptime too, and also looks at the page itself: screenshots on desktop and mobile, JavaScript errors, broken images and search settings.

## Rookflare or UptimeRobot?

If you only need to know whether a site responds, UptimeRobot is cheaper and checks more often. Pick Rookflare when a site can be up and still broken: a missing button, a failed image or a layout that changed after a release.

Rookflare fits if:

- You want to know when a page that still loads looks wrong or throws JavaScript errors.
- You want desktop and mobile screenshots compared with a version your team approved.
- You manage client sites and want monthly white-label reports with uptime and scan results.

Facts about UptimeRobot last checked on 2 November 2026 on UptimeRobot’s own website.

## Rookflare vs UptimeRobot

| Feature | Rookflare | UptimeRobot |
| --- | --- | --- |
| Screenshot comparison | Yes: Desktop and mobile screenshots of every monitored page, compared with the approved version | Not stated: Screenshot comparison not stated; a website change monitor is listed [2] |
| Changes approved before they become the reference | Yes: A change becomes the new baseline only after someone on your team approves it | Not stated |
| How often pages are checked | Scans every 6 hours on Agency, every 12 hours on Growth, daily on Starter, plus a scan on demand | 5 minutes on Free, 60 seconds on Solo, 30 on Team, 15 on Scale [1] |
| Checks inside each page | Yes: Status codes, redirects, JavaScript errors, broken images and search settings on every scan | Partly: Keyword, SSL and domain expiry, DNS and response time; JavaScript errors and broken images not stated [2] |
| Uptime monitoring | Yes: Every minute on Agency, every 5 minutes on Growth, not on Starter; from one EU location | Yes: HTTP, ping, port, keyword and heartbeat monitors [2] |
| Alert channels | Yes: Email on every plan; Slack on Growth and Agency | Yes: Email, Slack, Microsoft Teams, Discord, Telegram, PagerDuty, webhooks and more [2] |
| SMS and phone call alerts | Yes: SMS for critical problems and a call when a site goes down: 50 a month on Growth, 200 on Agency | Partly: SMS and voice calls from credits: 10–20 on Solo, 30 on Team, 50–200 on Scale; credits do not renew [1] |
| Client reports | Yes: Monthly white-label client reports with uptime and scan results on Agency | Not stated |
| Public status pages | No: No public status pages | Yes: 1 on Free, 3 on Solo, 100 white-label on Team, unlimited on Scale [1] |
| Deploy webhook or API | Yes: A deploy webhook starts a scan after each release on Growth and Agency | Partly: API listed; deploy webhook not stated [2] |
| Free plan | No: No free plan | Yes: 50 monitors checked every 5 minutes, no card [1] |
| Free trial | Yes: 14-day free trial with Growth features on 1 website and 25 pages | Partly: No trial listed; 14-day money-back guarantee [1] |
| Starting price | €19 a month (Starter, provisional) | €10 a month (Solo, billed monthly) [1] |

## UptimeRobot plans

- Free: €0. 50 monitors, every 5 minutes, 1 status page
- Solo: €10 a month. 10 monitors, every 60 seconds
- Team: €35 a month. 100 monitors, every 30 seconds, white-label status pages
- Scale: €65 a month. 200 monitors, every 15 seconds

Source: [UptimeRobot pricing](https://uptimerobot.com/pricing/). Prices are shown in the currency each company uses, before tax. We do not convert them. Rookflare prices are provisional until billing launches.

## When UptimeRobot is the better choice

### You need very frequent checks

UptimeRobot checks every 60 seconds on Solo and down to 15 seconds on Scale. Rookflare checks at most every minute, on Agency.

### You monitor many endpoints for little money

UptimeRobot’s free plan covers 50 monitors, and it also offers ping, port, keyword and heartbeat monitors. Rookflare watches websites, not servers or cron jobs.

### You want status pages

UptimeRobot includes status pages, white-label from the Team plan. Rookflare has no status pages.

## Moving from UptimeRobot to Rookflare

You can keep UptimeRobot running while you try Rookflare and switch once you trust the alerts.

- Step 1: Add your website. Enter the address and verify that you control the domain.
- Step 2: Pick the pages. Rookflare reads your sitemap. Choose the pages that matter, such as the homepage, pricing and checkout.
- Step 3: Approve the first screenshots. The first scan becomes your baseline once you approve it. Then choose where alerts go: email, Slack, SMS or phone.

## Other tools people compare

- [Rookflare vs Better Stack](https://rookflare.com/alternatives/better-stack/)
- [Rookflare vs Oh Dear](https://rookflare.com/alternatives/oh-dear/)
- [Rookflare vs Visualping](https://rookflare.com/alternatives/visualping/)

## Rookflare and UptimeRobot: questions

### What is the main difference between Rookflare and UptimeRobot?

UptimeRobot checks whether a URL, port or server responds. Rookflare also checks uptime, and looks inside the page: it compares desktop and mobile screenshots with an approved version and flags server errors, JavaScript errors, broken images and search settings.

### Can I keep UptimeRobot and add Rookflare?

Yes. You can keep UptimeRobot for servers and APIs and use Rookflare for what visitors see. Rookflare’s Starter plan has no uptime checks, so it does not repeat what UptimeRobot already does.

### How often does Rookflare check uptime?

Every minute on Agency and every 5 minutes on Growth, from one location in the EU. Starter has no uptime checks.

### Can I try Rookflare before I switch from UptimeRobot?

Yes. The 14-day free trial has Growth features for 1 website and 25 pages, so you can run it next to UptimeRobot and compare the alerts. It's one free trial per person.

[Start the free trial](https://app.rookflare.com/register/).

## Sources and method

1. [UptimeRobot pricing](https://uptimerobot.com/pricing/)
2. [UptimeRobot homepage](https://uptimerobot.com/)

Last checked 2 November 2026. We read each company’s own pricing and feature pages and wrote down only what they state. Where a page does not mention a feature, the table says “Not stated”, which does not mean the product lacks it. Prices and features change, so check the linked pages before you decide.

Product names are trademarks of their owners and are used only to identify the products. Rookflare is not affiliated with or endorsed by them.


---
title: "Rookflare vs Better Stack"
description: "Rookflare and Better Stack compared: uptime checks, visual comparison, phone and SMS alerts, status pages and pricing, with dated sources."
url: "https://rookflare.com/alternatives/better-stack/"
---

# Rookflare vs Better Stack

Better Stack checks uptime as often as every 30 seconds, calls and texts the right person and hosts status pages. Rookflare checks uptime too, and also compares desktop and mobile screenshots of each page with an approved version and checks it for errors.

## Rookflare or Better Stack?

Pick Better Stack when you run services that need fast checks, escalation and status pages. Pick Rookflare when the risk is a website that loads but looks or works wrong after a change.

Rookflare fits if:

- You want to catch a page that still loads but lost a button, an image or its layout.
- You want screenshot changes reviewed and approved by your team.
- You monitor client websites and send monthly white-label reports.

Facts about Better Stack last checked on 2 November 2026 on Better Stack’s own website.

## Rookflare vs Better Stack

| Feature | Rookflare | Better Stack |
| --- | --- | --- |
| Screenshot comparison | Yes: Desktop and mobile screenshots of every monitored page, compared with the approved version | Partly: Takes a screenshot when a site is down; page-to-page comparison not stated [2] |
| Changes approved before they become the reference | Yes: A change becomes the new baseline only after someone on your team approves it | Not stated |
| How often pages are checked | Scans every 6 hours on Agency, every 12 hours on Growth, daily on Starter, plus a scan on demand | 3 minutes on the free tier, as often as every 30 seconds on paid [2] |
| Checks inside each page | Yes: Status codes, redirects, JavaScript errors, broken images and search settings on every scan | Not stated: Only uptime, API and heartbeat checks are described |
| Uptime monitoring | Yes: Every minute on Agency, every 5 minutes on Growth, not on Starter; from one EU location | Yes: HTTP, API and heartbeat monitors, checks from around the world [2] |
| Alert channels | Yes: Email on every plan; Slack on Growth and Agency | Yes: Email, Slack, Microsoft Teams, push and webhooks [1] [2] |
| SMS and phone call alerts | Yes: SMS for critical problems and a call when a site goes down: 50 a month on Growth, 200 on Agency | Yes: Unlimited phone call and SMS alerts [1] |
| Client reports | Yes: Monthly white-label client reports with uptime and scan results on Agency | Not stated |
| Public status pages | No: No public status pages | Yes: 1 on the free tier; more from $15 a month each [1] |
| Deploy webhook or API | Yes: A deploy webhook starts a scan after each release on Growth and Agency | Partly: REST API and Terraform provider; deploy webhook not stated [1] |
| Free plan | No: No free plan | Yes: 10 monitors, 1 status page, Slack and email alerts [1] |
| Free trial | Yes: 14-day free trial with Growth features on 1 website and 25 pages | Partly: No trial listed; 60-day money-back guarantee [1] |
| Starting price | €19 a month (Starter, provisional) | Usage-based: $34 a month per responder seat, $25 a month per 50 extra monitors (monthly billing) [1] |

## Better Stack plans

- Free: $0. 10 monitors, 1 status page, Slack and email alerts
- Responder seat: $34 a month. Per person who receives alerts (billed monthly)
- Extra monitors: $25 a month. Per 50 monitors (billed monthly)

Source: [Better Stack pricing](https://betterstack.com/pricing). Prices are shown in the currency each company uses, before tax. We do not convert them. Rookflare prices are provisional until billing launches.

## When Better Stack is the better choice

### You need faster checks

Better Stack checks as often as every 30 seconds. Rookflare checks at most every minute.

### You page people at night

Better Stack includes unlimited phone call and SMS alerts and escalation rules. Rookflare includes a monthly number of SMS and calls on Growth and Agency.

### You want status pages

Better Stack hosts branded status pages with email subscriptions. Rookflare has no status pages.

## Moving from Better Stack to Rookflare

You can keep Better Stack running while you try Rookflare and switch once you trust the alerts.

- Step 1: Add your website. Enter the address and verify that you control the domain.
- Step 2: Pick the pages. Rookflare reads your sitemap. Choose the pages that matter, such as the homepage, pricing and checkout.
- Step 3: Approve the first screenshots. The first scan becomes your baseline once you approve it. Then choose where alerts go: email, Slack, SMS or phone.

## Other tools people compare

- [Rookflare vs UptimeRobot](https://rookflare.com/alternatives/uptimerobot/)
- [Rookflare vs Oh Dear](https://rookflare.com/alternatives/oh-dear/)
- [Rookflare vs Visualping](https://rookflare.com/alternatives/visualping/)

## Rookflare and Better Stack: questions

### What is the main difference between Rookflare and Better Stack?

Better Stack is uptime monitoring with incident management: fast checks, phone and SMS escalation and status pages. Rookflare checks uptime as well, but its focus is the page itself: desktop and mobile screenshots compared with an approved version, and checks for server errors, JavaScript errors, broken images and search settings.

### Better Stack also takes screenshots. Is that the same?

No. Better Stack takes a screenshot when a site is down, as evidence. Rookflare takes screenshots on every scan and compares them with the version you approved, so it also finds pages that are up but look different.

### Does Rookflare call me when a site goes down?

Yes, on Growth and Agency. Each person verifies their mobile number, then Rookflare can send a text for critical problems and place a short call when a site goes down, within a monthly allowance.

### Can I try Rookflare before I switch from Better Stack?

Yes. The 14-day free trial has Growth features for 1 website and 25 pages, so you can run it next to Better Stack and compare the alerts. It's one free trial per person.

[Start the free trial](https://app.rookflare.com/register/).

## Sources and method

1. [Better Stack pricing](https://betterstack.com/pricing)
2. [Better Stack Uptime](https://betterstack.com/uptime)

Last checked 2 November 2026. We read each company’s own pricing and feature pages and wrote down only what they state. Where a page does not mention a feature, the table says “Not stated”, which does not mean the product lacks it. Prices and features change, so check the linked pages before you decide.

Product names are trademarks of their owners and are used only to identify the products. Rookflare is not affiliated with or endorsed by them.


---
title: "Rookflare vs Diffy"
description: "Rookflare and Diffy compared: visual regression on live sites, page checks, uptime, alerts and pricing for agencies, with dated sources."
url: "https://rookflare.com/alternatives/diffy/"
---

# Rookflare vs Diffy

Diffy compares screenshots between environments and over time, so agencies can test releases before and after deploys. Rookflare monitors live sites: it compares desktop and mobile screenshots with an approved version, checks each page for errors and watches uptime.

## Rookflare or Diffy?

Pick Diffy to test a release, comparing staging with production inside your CI. Pick Rookflare to watch the live site every day, with page checks, uptime and alerts by email, Slack, SMS or phone.

Rookflare fits if:

- You want the live site watched on a schedule, with alerts when something changes or breaks.
- You want JavaScript errors, broken images and status codes checked on the same scan.
- You want uptime checks and monthly client reports in the same account.

Facts about Diffy last checked on 2 November 2026 on Diffy’s own website.

## Rookflare vs Diffy

| Feature | Rookflare | Diffy |
| --- | --- | --- |
| Screenshot comparison | Yes: Desktop and mobile screenshots of every monitored page, compared with the approved version | Yes: Screenshot comparison between environments and on a schedule [1] |
| Changes approved before they become the reference | Yes: A change becomes the new baseline only after someone on your team approves it | Not stated |
| How often pages are checked | Scans every 6 hours on Agency, every 12 hours on Growth, daily on Starter, plus a scan on demand | Scheduled comparisons; interval not stated [1] |
| Checks inside each page | Yes: Status codes, redirects, JavaScript errors, broken images and search settings on every scan | Not stated |
| Uptime monitoring | Yes: Every minute on Agency, every 5 minutes on Growth, not on Starter; from one EU location | Not stated |
| Alert channels | Yes: Email on every plan; Slack on Growth and Agency | Not stated: Zapier integration listed [1] |
| SMS and phone call alerts | Yes: SMS for critical problems and a call when a site goes down: 50 a month on Growth, 200 on Agency | Not stated |
| Client reports | Yes: Monthly white-label client reports with uptime and scan results on Agency | Not stated |
| Public status pages | No: No public status pages | Not stated |
| Deploy webhook or API | Yes: A deploy webhook starts a scan after each release on Growth and Agency | Yes: CI automation on Pro, with GitHub Actions and GitLab CI [1] |
| Free plan | No: No free plan | Yes: 500 screenshots a month, 2 environments, 1 month of history [1] |
| Free trial | Yes: 14-day free trial with Growth features on 1 website and 25 pages | Not stated: Free plan instead |
| Starting price | €19 a month (Starter, provisional) | Pro from $67 a month, billed annually [1] |

## Diffy plans

- Free: $0. 500 screenshots a month, 2 environments, 1 month of history
- Pro: From $67 a month. Billed annually; CI automation, more environments, 6 months of history

Source: [Diffy homepage and pricing](https://diffy.website/). Prices are shown in the currency each company uses, before tax. We do not convert them. Rookflare prices are provisional until billing launches.

## When Diffy is the better choice

### You test before release

Diffy compares production with staging, dev or any other environment. Rookflare compares a live page with its own approved version.

### Your pipeline runs the tests

Diffy’s Pro plan includes CI automation, with GitHub Actions and GitLab CI guides. Rookflare can start a scan from a deploy webhook, but it is not a test runner.

### You need a free start

Diffy has a free plan with 500 screenshots a month. Rookflare has a free trial but no free plan.

## Moving from Diffy to Rookflare

You can keep Diffy running while you try Rookflare and switch once you trust the alerts.

- Step 1: Add your website. Enter the address and verify that you control the domain.
- Step 2: Pick the pages. Rookflare reads your sitemap. Choose the pages that matter, such as the homepage, pricing and checkout.
- Step 3: Approve the first screenshots. The first scan becomes your baseline once you approve it. Then choose where alerts go: email, Slack, SMS or phone.

## Other tools people compare

- [Rookflare vs Visualping](https://rookflare.com/alternatives/visualping/)
- [Rookflare vs ChangeTower](https://rookflare.com/alternatives/changetower/)
- [Rookflare vs Oh Dear](https://rookflare.com/alternatives/oh-dear/)

## Rookflare and Diffy: questions

### What is the main difference between Rookflare and Diffy?

Diffy is visual regression testing: it compares environments, such as staging and production, around a release. Rookflare is monitoring: it scans the live site on a schedule, compares desktop and mobile screenshots with an approved version, checks for errors and watches uptime.

### Can Rookflare scan after each deploy?

Yes, on Growth and Agency. Each website has a deploy webhook that starts a scan, with ready snippets for GitHub Actions, Vercel, Netlify, WordPress and cURL.

### Can Rookflare compare staging with production?

No. Rookflare compares each live page with the version your team approved. For staging versus production, Diffy is the better fit.

### Can I try Rookflare before I switch from Diffy?

Yes. The 14-day free trial has Growth features for 1 website and 25 pages, so you can run it next to Diffy and compare the alerts. It's one free trial per person.

[Start the free trial](https://app.rookflare.com/register/).

## Sources and method

1. [Diffy homepage and pricing](https://diffy.website/)

Last checked 2 November 2026. We read each company’s own pricing and feature pages and wrote down only what they state. Where a page does not mention a feature, the table says “Not stated”, which does not mean the product lacks it. Prices and features change, so check the linked pages before you decide.

Product names are trademarks of their owners and are used only to identify the products. Rookflare is not affiliated with or endorsed by them.


---
title: "Integrations"
description: "Start Rookflare scans from GitHub Actions, GitLab CI/CD, Vercel, Netlify, Cloudflare Pages or WordPress, and get alerts by email, Slack, SMS or call."
url: "https://rookflare.com/integrations/"
---

# Integrations

Start a scan from your deploy pipeline and get alerts where your team already looks. Each guide covers setup, a test and what to do when something fails.

## Scan after deploy

Your CI or host calls one URL with a secret token after each deploy, and Rookflare scans the website right away. Repeated calls for the same deploy start only one scan.

- [GitHub Actions integration](https://rookflare.com/integrations/github-actions/): Start a scan from your workflow after each deploy.
- [GitLab CI/CD integration](https://rookflare.com/integrations/gitlab-ci/): A .gitlab-ci.yml job that starts a scan after deploy.
- [Vercel integration](https://rookflare.com/integrations/vercel/): A Vercel webhook that starts a scan per deployment.
- [Netlify integration](https://rookflare.com/integrations/netlify/): A deploy notification that starts a scan.
- [Cloudflare Pages integration](https://rookflare.com/integrations/cloudflare-pages/): Deploy with Wrangler in GitHub Actions, then scan.
- [WordPress integration](https://rookflare.com/integrations/wordpress/): Start a scan after plugin, theme or core updates.
- [cURL deploy hook](https://rookflare.com/integrations/curl/): One HTTP request from any CI, script or host.

## Alerts

Alerts go to every channel that is on. You choose per website which alerts it sends and from which severity.

- [Slack alerts](https://rookflare.com/integrations/slack/): Alerts and the daily summary in a Slack channel.
- [Email alerts](https://rookflare.com/integrations/email-alerts/): Alerts and a daily summary to your team’s inboxes.
- [SMS and phone call alerts](https://rookflare.com/integrations/sms-phone-alerts/): A text for critical problems, a call when a site is down.

## Also built in

- [Monthly client reports](https://rookflare.com/agencies/): Agency. Uptime and scan results for each client, under your logo and colors.
- [Sign in with Google](https://rookflare.com/features/): Create an account and log in with your Google account.

### Not listed here

Rookflare has no Zapier, Microsoft Teams, Jira or PagerDuty integration. If your tool can send an HTTP request after a deploy, the cURL guide shows the call.

## Frequently asked questions

### Which plans include these integrations?

Email alerts come with Starter, Growth and Agency. Slack alerts and the deploy hook come with Growth and Agency. The 14-day free trial runs on Growth, so you can set it up before you pay. SMS and call alerts come with a paid Growth and Agency plan. The 14-day free trial does not include SMS or calls; they start with a paid plan.

### Do I need to install an app or plugin?

No. The deploy hook is one HTTP request with a secret token, Slack uses an incoming webhook you create in your workspace, and email and phone alerts go to verified addresses and numbers of your team members.

### Can I connect a tool that is not listed?

For deploys, yes, if the tool can send an HTTP POST after a deploy finishes. Use the cURL guide for the request format. For alerts, Rookflare sends email, Slack, SMS and calls only.

[Start the free trial](https://app.rookflare.com/register/).


---
title: "GitHub Actions integration"
description: "Add one step to your GitHub Actions workflow and Rookflare scans your website right after each successful deploy. Setup, test and troubleshooting."
url: "https://rookflare.com/integrations/github-actions/"
---

# GitHub Actions integration

Add one step to your GitHub Actions workflow and Rookflare scans your website right after every successful deploy, with the commit SHA attached.

## What the GitHub Actions integration does

### What it does

- Runs as the last step of the job that deploys, so the scan starts the moment your deploy step exits without an error.
- Sends github.sha as the ref. Re-running the same workflow, or a matrix that deploys the same commit twice, starts one scan.
- Works the same on GitHub-hosted and self-hosted runners; the runner only needs outbound HTTPS.

### Before you start

- A Growth and Agency plan. The 14-day free trial runs on Growth, so you can set it up before you pay.
- A verified website in Rookflare with monitoring turned on, and the owner or admin role.
- A GitHub repository with a workflow that deploys your website, and permission to add Actions secrets.

## Set up GitHub Actions step by step

### 1. Create the deploy hook in Rookflare

Open the website, go to the Settings tab and select “Create deploy hook” in the “Scan after deploy” card. Copy the token right away: this is the only time Rookflare shows it in full. The card keeps the endpoint and the last four characters of the token.

### 2. Add the token as a repository secret

In GitHub, open the repository’s Settings → Secrets and variables → Actions and add a new repository secret named ROOKFLARE_DEPLOY_TOKEN with the token as its value. If the deploy job uses a GitHub environment such as production, you can store it as an environment secret there instead, so only jobs for that environment can read it.

### 3. Add the step after your deploy step

Paste this step at the end of the job that deploys. “if: success()” keeps it from running when the deploy fails, and curl’s -f flag fails the step when Rookflare rejects the call.

```yaml
- name: Scan with Rookflare after deploy
  if: success()
  run: |
    curl -fsS -X POST "https://app.rookflare.example/api/webhooks/deploy" \
      -H "Authorization: Bearer ${{ secrets.ROOKFLARE_DEPLOY_TOKEN }}" \
      -H "Content-Type: application/json" \
      -d '{"ref": "${{ github.sha }}"}'
```

### 4. Check the whole job

In a full workflow it sits after the deploy step of the same job. Replace the deploy step with yours. Keep it in the same job: a separate job would need “needs: deploy” to wait for the deploy to finish.

```yaml
name: Deploy

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Deploy
        run: ./deploy.sh
      - name: Scan with Rookflare after deploy
        if: success()
        run: |
          curl -fsS -X POST "https://app.rookflare.example/api/webhooks/deploy" \
            -H "Authorization: Bearer ${{ secrets.ROOKFLARE_DEPLOY_TOKEN }}" \
            -H "Content-Type: application/json" \
            -d '{"ref": "${{ github.sha }}"}'
```

### 5. Push to the deploy branch

Push a commit to main (or the branch your workflow deploys) and open the run in the Actions tab. The “Scan with Rookflare after deploy” step should finish green. In Rookflare, the card’s “Last used” shows the time of the call and the website’s Scan history lists a scan with the trigger “After deploy”.

Sample endpoint and placeholder token. The dashboard fills in yours.

## If it does not work

### The step was skipped

An earlier step in the job failed, so “if: success()” skipped the call. That is intended: Rookflare should not scan a deploy that did not happen. Fix the deploy and push again.

### The token is empty in pull requests from forks

GitHub does not pass repository secrets to workflows triggered from forks, so the header has no token and Rookflare answers 401. Run the step only in the workflow that deploys from your own branch.

### Nothing runs after a deploy made by another workflow

Events created with the built-in GITHUB_TOKEN do not start new workflow runs, except workflow_dispatch and repository_dispatch. Put the Rookflare step in the workflow that deploys, or trigger the follow-up workflow with workflow_run.

### Rookflare answers with an error code

401 means a wrong, rotated or revoked token, 402 a plan or daily limit, 409 an unverified or paused website and 429 more than 30 calls a minute. The cURL guide explains each answer and what to do.

## GitHub Actions integration questions

### Where should the deploy token live?

In your deploy tool’s secret store, never in the repository. The token can only start scans of one website, and you can rotate or revoke it on the website’s Settings tab at any time; the old token stops working right away.

### My host deploys the site, not GitHub Actions. Can a workflow still call Rookflare?

Yes, if the host reports deployments to GitHub. A workflow on the deployment_status event runs when a deployment status is created; give the job “if: github.event.deployment_status.state == 'success'” and compare github.event.deployment.environment with your production environment name. GITHUB_SHA is then the commit that was deployed.

### Does it scan pull request previews?

No. Rookflare scans the pages of the website you added, which is your live site. Add the step only to the workflow that deploys to production; a preview environment has a different address that Rookflare does not monitor.

### We deploy several apps from one repository. Where does the step go?

In the job that deploys the app behind the website you monitor. Each Rookflare website has its own token, so a second monitored site gets its own secret, for example ROOKFLARE_DEPLOY_TOKEN_SHOP, and its own step in that app’s deploy job.

## Related integrations

- [GitLab CI/CD integration](https://rookflare.com/integrations/gitlab-ci/)
- [Cloudflare Pages integration](https://rookflare.com/integrations/cloudflare-pages/)
- [cURL deploy hook](https://rookflare.com/integrations/curl/)

[Start the free trial](https://app.rookflare.com/register/).


---
title: "GitLab CI/CD integration"
description: "Add a job to .gitlab-ci.yml that calls the Rookflare deploy hook, so every successful pipeline starts a scan of your website. Setup and troubleshooting."
url: "https://rookflare.com/integrations/gitlab-ci/"
---

# GitLab CI/CD integration

Add a job to .gitlab-ci.yml that calls the Rookflare deploy hook once your deploy stage succeeds, so each pipeline on your default branch starts a scan.

## What the GitLab CI/CD integration does

### What it does

- Adds one small job in the .post stage, which GitLab places after every other stage of the pipeline.
- Sends $CI_COMMIT_SHA as the ref, so retrying a pipeline or re-running the job for the same commit starts one scan.
- Uses the curlimages/curl image, so it works on shared runners and on self-managed runners with outbound HTTPS.

### Before you start

- A Growth and Agency plan. The 14-day free trial runs on Growth, so you can set it up before you pay.
- A verified website in Rookflare with monitoring turned on, and the owner or admin role.
- A GitLab project whose pipeline deploys your website, and the Maintainer role (or higher) to add CI/CD variables.

## Set up GitLab CI/CD step by step

### 1. Create the deploy hook in Rookflare

Open the website, go to the Settings tab and select “Create deploy hook” in the “Scan after deploy” card. Copy the token right away: this is the only time Rookflare shows it in full. The card keeps the endpoint and the last four characters of the token.

### 2. Add the token as a CI/CD variable

In GitLab, open Settings → CI/CD → Variables and add ROOKFLARE_DEPLOY_TOKEN with the token as its value. Mark it masked so it never shows in job logs. Mark it protected only if you deploy from protected branches or tags, because protected variables are not passed to other pipelines.

### 3. Add the job to .gitlab-ci.yml

The job runs in the .post stage. When a job in an earlier stage fails, later stages do not start, so a failed deploy never triggers a scan. The rule limits it to the default branch; change it to match how you deploy.

```yaml
rookflare-scan:
  stage: .post
  image:
    name: curlimages/curl:8.11.1
    entrypoint: [""]
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
  script:
    - >
      curl -fsS -X POST "https://app.rookflare.example/api/webhooks/deploy"
      -H "Authorization: Bearer $ROOKFLARE_DEPLOY_TOKEN"
      -H "Content-Type: application/json"
      -d "{\"ref\": \"$CI_COMMIT_SHA\"}"
```

### 4. Run a pipeline on the default branch

Merge or push to the default branch, or start a pipeline from Build → Pipelines → Run pipeline. The rookflare-scan job appears in the last column of the pipeline graph. In Rookflare, “Last used” updates and the website’s Scan history shows a scan with the trigger “After deploy”.

Sample endpoint and placeholder token. The dashboard fills in yours.

## If it does not work

### The job fails with 401 on some branches

A protected variable is only available in pipelines for protected branches and tags. On any other branch $ROOKFLARE_DEPLOY_TOKEN is empty. Protect the deploy branch, or remove the protected flag from the variable.

### The pipeline does not start at all

GitLab does not run a pipeline that contains only .pre or .post jobs. If your rules skip every deploy job on that branch, the Rookflare job alone is not enough to start a pipeline, which is what you want.

### The job never runs when you deploy from tags

Tag pipelines have no $CI_COMMIT_BRANCH, so the default-branch rule does not match. Use a rule on $CI_COMMIT_TAG instead, and keep the job tied to the same condition as your deploy job.

### Rookflare answers with an error code

401 means a wrong, rotated or revoked token, 402 a plan or daily limit, 409 an unverified or paused website and 429 more than 30 calls a minute. The cURL guide explains each answer and what to do.

## GitLab CI/CD integration questions

### Where should the deploy token live?

In your deploy tool’s secret store, never in the repository. The token can only start scans of one website, and you can rotate or revoke it on the website’s Settings tab at any time; the old token stops working right away.

### Can the scan start before later stages finish?

Yes. Add “needs: [your-deploy-job]” to the Rookflare job. GitLab then starts it as soon as that job succeeds and ignores the stage order. Keep the same rules as the deploy job.

### We have review apps and staging environments. Which deploys should call Rookflare?

Only the one that ships the address you monitor, usually the job with environment: production. Review apps and staging have their own URLs, and a call from them would scan your live site even though nothing changed there.

### Why is GitLab not a tab in the dashboard?

The dashboard shows ready-made snippets for GitHub Actions, Vercel, Netlify, WordPress and cURL. The GitLab job is the same cURL request with GitLab’s variables, so it works with the same endpoint and token.

## Related integrations

- [GitHub Actions integration](https://rookflare.com/integrations/github-actions/)
- [cURL deploy hook](https://rookflare.com/integrations/curl/)
- [Netlify integration](https://rookflare.com/integrations/netlify/)

[Start the free trial](https://app.rookflare.com/register/).


---
title: "Vercel integration"
description: "Point a Vercel webhook for successful deployments at Rookflare and each deployment starts a scan of your website. Setup, test and troubleshooting."
url: "https://rookflare.com/integrations/vercel/"
---

# Vercel integration

Add a Vercel webhook for successful deployments that points at Rookflare, and each deployment starts a scan of your website. No code to write.

## What the Vercel integration does

### What it does

- Vercel posts an event to Rookflare when a deployment of the project finishes; there is nothing to add to your build.
- For projects connected to GitHub, Rookflare reads the commit SHA from the event (payload.deployment.meta.githubCommitSha) and uses it as the ref.
- Rookflare reads only that SHA and ignores the rest of the event.

### Before you start

- A Growth and Agency plan. The 14-day free trial runs on Growth, so you can set it up before you pay.
- A verified website in Rookflare with monitoring turned on, and the owner or admin role.
- A Vercel project that deploys your website. Account webhooks are only available on Vercel’s Pro and Enterprise plans, and you need access to the team’s Settings → Webhooks.

## Set up Vercel step by step

### 1. Create the deploy hook in Rookflare

Open the website, go to the Settings tab and select “Create deploy hook” in the “Scan after deploy” card. Copy the token right away: this is the only time Rookflare shows it in full. The card keeps the endpoint and the last four characters of the token.

### 2. Copy the webhook URL

Vercel calls a URL and cannot add an Authorization header, so the token goes into the URL as a query parameter. Treat the whole URL as a secret.

```bash
https://app.rookflare.example/api/webhooks/deploy?token=YOUR_DEPLOY_TOKEN
```

### 3. Add the webhook in Vercel

In Vercel, choose your team scope and open Settings → Webhooks. Select the “Deployment Succeeded” event, set the project scope to the project that serves your website, paste the URL as the endpoint and select “Create Webhook”. Vercel then shows a signing secret once; Rookflare does not need it, because the token in the URL already identifies the website.

### 4. Redeploy from Vercel

Open the project’s Deployments page in Vercel and redeploy the latest production deployment. When it is ready, “Last used” on the Rookflare card changes and the website’s Scan history shows a scan with the trigger “After deploy”.

Sample endpoint and placeholder token. The dashboard fills in yours.

## If it does not work

### There is no Webhooks page in the team settings

Account webhooks come with Vercel’s Pro and Enterprise plans. On another plan, call Rookflare from your CI after “vercel deploy” instead, with the GitHub Actions step or the cURL request.

### Preview deployments start scans of the live site

“Deployment Succeeded” fires for preview deployments too, and Rookflare does not look at the deployment target. Choose “Deployment Promoted” instead: it fires when a deployment is promoted to production, automatically after a production build or by hand.

### Each redeploy starts a new scan

Deployments from the Vercel CLI or a deploy hook carry no GitHub commit SHA, so Rookflare has no ref to match. Each call then starts a scan unless one is already running.

### Calls stopped working after you rotated the token

The old token is baked into the webhook URL. Delete the webhook in Vercel and create it again with the new URL from the Rookflare card.

### Rookflare answers with an error code

401 means a wrong, rotated or revoked token, 402 a plan or daily limit, 409 an unverified or paused website and 429 more than 30 calls a minute. The cURL guide explains each answer and what to do.

## Vercel integration questions

### Can I scan only after production deployments?

Yes. Subscribe the webhook to “Deployment Promoted” instead of “Deployment Succeeded”. Promoted fires only when a deployment starts serving production traffic, and it does not include rollbacks.

### Is the token safe in a URL?

It is sent over HTTPS and only lets someone start scans of one website. Keep the URL out of public places, and rotate the token on the website’s Settings tab if it leaks; the old one stops working right away.

### Our team has several projects. Does one webhook cover them all?

Use one webhook per monitored website. Scope each webhook to the project behind that website and give it the URL with that website’s token, so a deploy of one project never scans another site. Vercel allows up to 20 custom webhooks per team.

## Related integrations

- [Netlify integration](https://rookflare.com/integrations/netlify/)
- [GitHub Actions integration](https://rookflare.com/integrations/github-actions/)
- [Cloudflare Pages integration](https://rookflare.com/integrations/cloudflare-pages/)

[Start the free trial](https://app.rookflare.com/register/).


---
title: "Netlify integration"
description: "Add a Netlify deploy notification that calls Rookflare when a deploy succeeds, and your website is scanned right away. Setup, test and troubleshooting."
url: "https://rookflare.com/integrations/netlify/"
---

# Netlify integration

Add an outgoing webhook for “Deploy succeeded” in Netlify, and each production deploy starts a Rookflare scan of your website.

## What the Netlify integration does

### What it does

- Netlify’s HTTP POST deploy notification sends the deploy as JSON to Rookflare when the deploy succeeds.
- Rookflare reads commit_ref from that JSON and uses it as the ref, so a retried deploy of the same commit starts one scan.
- No build plugin and no change to netlify.toml; the notification lives in the project settings.

### Before you start

- A Growth and Agency plan. The 14-day free trial runs on Growth, so you can set it up before you pay.
- A verified website in Rookflare with monitoring turned on, and the owner or admin role.
- A Netlify project that serves your website, and access to its Project configuration.

## Set up Netlify step by step

### 1. Create the deploy hook in Rookflare

Open the website, go to the Settings tab and select “Create deploy hook” in the “Scan after deploy” card. Copy the token right away: this is the only time Rookflare shows it in full. The card keeps the endpoint and the last four characters of the token.

### 2. Copy the webhook URL

Netlify’s HTTP POST notification has no field for custom headers, so the token goes into the URL as a query parameter. Treat the whole URL as a secret.

```bash
https://app.rookflare.example/api/webhooks/deploy?token=YOUR_DEPLOY_TOKEN
```

### 3. Add the deploy notification in Netlify

In Netlify, open Project configuration → Notifications → Deploy notifications and add an “HTTP Post Request” notification. Pick the event “Deploy succeeded” and paste the URL. Netlify also offers a JWS secret token that signs each request in an X-Webhook-Signature header; Rookflare does not check it, so you can leave it empty.

### 4. Trigger a deploy

On the project’s Deploys page, trigger a new deploy, or push to the production branch. When Netlify marks the deploy as published, “Last used” on the Rookflare card changes and the website’s Scan history shows a scan with the trigger “After deploy”.

Sample endpoint and placeholder token. The dashboard fills in yours.

## If it does not work

### Deploy previews and branch deploys start scans

If Netlify also sends the notification for deploy previews and branch deploys, each one starts or joins a scan of your live site, because Rookflare does not read the deploy context. To scan only after production deploys, use the build plugin approach in the questions below instead of the notification.

### Manual deploys start a new scan each time

Deploys made by drag and drop or from the Netlify CLI without Git have no commit reference. Rookflare then has no ref to match, so each call starts a scan unless one is already running.

### Calls stopped working after you rotated the token

Edit the notification in Deploy notifications and paste the new URL from the Rookflare card. The old token stops working the moment you rotate it.

### Rookflare answers with an error code

401 means a wrong, rotated or revoked token, 402 a plan or daily limit, 409 an unverified or paused website and 429 more than 30 calls a minute. The cURL guide explains each answer and what to do.

## Netlify integration questions

### Can I start scans only for production deploys?

Yes, with a small local build plugin instead of the notification. Its onSuccess handler runs when the deploy succeeds and can send the cURL request with the COMMIT_REF environment variable as the ref. Register it under [[context.production.plugins]] in netlify.toml so it runs only in the production context, and keep the token in a Netlify environment variable.

### Which of Netlify’s other deploy events should I use?

Only “Deploy succeeded”. “Deploy started” fires before your new version is live, so a scan would see the old one, and failed deploys change nothing on your site.

### We have several Netlify projects from one repository.

Each Netlify project has its own notifications. Add the notification only to the project that serves the website you monitor, with that website’s token in the URL.

## Related integrations

- [Vercel integration](https://rookflare.com/integrations/vercel/)
- [Cloudflare Pages integration](https://rookflare.com/integrations/cloudflare-pages/)
- [GitHub Actions integration](https://rookflare.com/integrations/github-actions/)

[Start the free trial](https://app.rookflare.com/register/).


---
title: "Cloudflare Pages integration"
description: "Deploy to Cloudflare Pages from GitHub Actions with Wrangler and add one step that starts a Rookflare scan once the deploy is live."
url: "https://rookflare.com/integrations/cloudflare-pages/"
---

# Cloudflare Pages integration

Deploy to Cloudflare Pages from GitHub Actions with Wrangler, then add the Rookflare step. The scan starts once the new version is live.

## What the Cloudflare Pages integration does

### What it does

- Calls Rookflare after “wrangler pages deploy” returns, so the scan sees the version you just uploaded.
- Uses Cloudflare’s Direct Upload: GitHub Actions builds the site and Wrangler uploads it, instead of Cloudflare building from Git.
- Sends the commit SHA from GitHub as the ref, like the GitHub Actions guide.

### Before you start

- A Growth and Agency plan. The 14-day free trial runs on Growth, so you can set it up before you pay.
- A verified website in Rookflare with monitoring turned on, and the owner or admin role.
- A Cloudflare Pages project and a Cloudflare API token with the permission Account → Cloudflare Pages → Edit.
- CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID saved as GitHub repository secrets. The account ID is in the API section of a zone’s Overview page in Cloudflare.

## Set up Cloudflare Pages step by step

### 1. Create the deploy hook in Rookflare

Open the website, go to the Settings tab and select “Create deploy hook” in the “Scan after deploy” card. Copy the token right away: this is the only time Rookflare shows it in full. The card keeps the endpoint and the last four characters of the token.

### 2. Add the Rookflare token next to the Cloudflare secrets

In GitHub, open the repository’s Settings → Secrets and variables → Actions and add ROOKFLARE_DEPLOY_TOKEN with the token as its value, next to CLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_ID.

### 3. Add the step after the Wrangler deploy

Put the Rookflare step right after the step that runs “wrangler pages deploy”. Replace dist with your build output folder and northwind-shop with your Pages project name.

```yaml
- name: Deploy to Cloudflare Pages
  uses: cloudflare/wrangler-action@v3
  with:
    apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
    accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
    command: pages deploy dist --project-name=northwind-shop
- name: Scan with Rookflare after deploy
  if: success()
  run: |
    curl -fsS -X POST "https://app.rookflare.example/api/webhooks/deploy" \
      -H "Authorization: Bearer ${{ secrets.ROOKFLARE_DEPLOY_TOKEN }}" \
      -H "Content-Type: application/json" \
      -d '{"ref": "${{ github.sha }}"}'
```

### 4. Deploy the production branch

Push to the branch you set as the project’s production branch. In Cloudflare the deployment appears under the project with the Production label; right after it, “Last used” changes on the Rookflare card and Scan history shows a scan with the trigger “After deploy”.

Sample endpoint and placeholder token. The dashboard fills in yours.

## If it does not work

### Every branch push starts a scan

Wrangler deploys the current Git branch. A branch other than the production branch becomes a preview deployment on its own pages.dev address, yet the Rookflare step still scans your live site. Run the deploy job only on the production branch, or add “if: github.ref == 'refs/heads/main'” to the Rookflare step.

### Builds on Cloudflare’s Git integration

A command in the Pages build settings runs before Cloudflare publishes the build, so a scan from there would see the old version. Move the deploy to GitHub Actions as shown, or call the hook from a later step of your own pipeline.

### Wrangler fails with an authentication error

The Cloudflare token needs Account → Cloudflare Pages → Edit, and CLOUDFLARE_ACCOUNT_ID must be the account that owns the project. This happens before the Rookflare step, which is skipped when the deploy fails.

### Rookflare answers with an error code

401 means a wrong, rotated or revoked token, 402 a plan or daily limit, 409 an unverified or paused website and 429 more than 30 calls a minute. The cURL guide explains each answer and what to do.

## Cloudflare Pages integration questions

### Can Cloudflare Pages call Rookflare by itself?

This guide does not rely on it. Calling the hook from the workflow that runs Wrangler is the setup we know starts the scan after the new version is live.

### Rookflare monitors our custom domain, not pages.dev. Does that matter?

No. A production deployment serves both the pages.dev address and the custom domains of the project, and Rookflare scans the pages of the website you added.

### Does Cloudflare need the commit SHA too?

Wrangler can attach it with --commit-hash, which helps you match a Cloudflare deployment to a commit. Rookflare gets the SHA from its own step, so the two stay in sync when both use github.sha.

## Related integrations

- [GitHub Actions integration](https://rookflare.com/integrations/github-actions/)
- [Vercel integration](https://rookflare.com/integrations/vercel/)
- [cURL deploy hook](https://rookflare.com/integrations/curl/)

[Start the free trial](https://app.rookflare.com/register/).


---
title: "WordPress integration"
description: "A few lines of PHP start a Rookflare scan whenever WordPress finishes updating core, plugins or themes. Setup, test and troubleshooting."
url: "https://rookflare.com/integrations/wordpress/"
---

# WordPress integration

Add a few lines of PHP and Rookflare scans your WordPress site each time WordPress finishes updating core, plugins or themes.

## What the WordPress integration does

### What it does

- Hooks into upgrader_process_complete, the action WordPress runs when an upgrader finishes installing or updating core, a plugin, a theme or translations.
- Covers updates started from the admin and from WP-CLI, such as wp plugin update --all.
- Sends the WordPress version as the ref and waits at most 10 seconds for Rookflare, so an update never hangs on the call.

### Before you start

- A Growth and Agency plan. The 14-day free trial runs on Growth, so you can set it up before you pay.
- A verified website in Rookflare with monitoring turned on, and the owner or admin role.
- Access to wp-config.php and to the plugin folder (or a must-use plugin folder) on the server.

## Set up WordPress step by step

### 1. Create the deploy hook in Rookflare

Open the website, go to the Settings tab and select “Create deploy hook” in the “Scan after deploy” card. Copy the token right away: this is the only time Rookflare shows it in full. The card keeps the endpoint and the last four characters of the token.

### 2. Define the token in wp-config.php

Add this line above “That’s all, stop editing!”. Keeping the token in wp-config.php keeps it out of the plugin code and the database, and out of backups of the database.

```php
define('ROOKFLARE_DEPLOY_TOKEN', 'YOUR_DEPLOY_TOKEN');
```

### 3. Add the hook

Put this in a small custom plugin, or as a single PHP file in wp-content/mu-plugins so nobody can deactivate it by accident. Your theme’s functions.php works too, but switching themes would drop the hook.

```php
add_action('upgrader_process_complete', function () {
    wp_remote_post('https://app.rookflare.example/api/webhooks/deploy', [
        'headers' => [
            'Authorization' => 'Bearer ' . ROOKFLARE_DEPLOY_TOKEN,
            'Content-Type' => 'application/json',
        ],
        'body' => wp_json_encode(['ref' => get_bloginfo('version')]),
        'timeout' => 10,
    ]);
});
```

### 4. Update a plugin

Update any plugin from Dashboard → Updates, or run wp plugin update with a plugin name. When the update finishes, “Last used” changes on the Rookflare card and the website’s Scan history shows a scan with the trigger “After deploy”.

Sample endpoint and placeholder token. The dashboard fills in yours.

## If it does not work

### Two plugin updates on one day, one scan

The ref is the WordPress version, and calls with the same ref within 24 hours return the scan that ref already started. A plugin update later on the same day therefore does not start another scan; the scheduled scans still cover it.

### A critical error after adding the hook

The hook reads the ROOKFLARE_DEPLOY_TOKEN constant. Install it only on the site whose wp-config.php defines that constant, such as production, and not on staging copies without it.

### Code deployed by Git or SFTP does not start a scan

upgrader_process_complete only runs for updates through WordPress’s upgrader. If you ship theme or plugin code from a repository, call the deploy hook from that deploy script with the cURL request.

### Rookflare answers with an error code

401 means a wrong, rotated or revoked token, 402 a plan or daily limit, 409 an unverified or paused website and 429 more than 30 calls a minute. The cURL guide explains each answer and what to do.

## WordPress integration questions

### What happens when I update five plugins at once?

The first call starts a scan and the calls that arrive while it runs join it. The hook sends the WordPress version as the ref, so updates on the same day with the same version start one scan.

### What happens when the plugin with the hook is updated itself?

WordPress runs the old copy of a plugin during its own update, so the hook still fires. If you keep the hook in a must-use plugin, it is never part of a plugin update.

### Does it scan when I publish a post?

No. It runs after updates only. New content is covered by your scheduled scans.

## Related integrations

- [cURL deploy hook](https://rookflare.com/integrations/curl/)
- [GitHub Actions integration](https://rookflare.com/integrations/github-actions/)
- [Netlify integration](https://rookflare.com/integrations/netlify/)

[Start the free trial](https://app.rookflare.com/register/).


---
title: "cURL deploy hook"
description: "Call the Rookflare deploy hook with one cURL command from any CI, deploy script or host. Request format, responses, limits and troubleshooting."
url: "https://rookflare.com/integrations/curl/"
---

# cURL deploy hook

Any CI, deploy script or host that can send an HTTP request can start a Rookflare scan. This is the request, what it returns and the limits.

## What the cURL integration does

### What it does

- Starts a scan of the website as soon as your deploy finishes, with every check of a normal scan: desktop and mobile screenshots compared with your approved baseline, server and JavaScript errors, broken images and search settings.
- Accepts the token as a Bearer header or, for tools that only call a URL, as a ?token= query parameter.
- Repeated calls for the same deploy start only one scan, and a deploy that lands while a scan runs joins that scan.

### Before you start

- A Growth and Agency plan. The 14-day free trial runs on Growth, so you can set it up before you pay.
- A verified website in Rookflare with monitoring turned on, and the owner or admin role.
- A deploy script or CI job that can run curl, or any tool that can send a POST request.

## Set up cURL step by step

### 1. Create the deploy hook in Rookflare

Open the website, go to the Settings tab and select “Create deploy hook” in the “Scan after deploy” card. Copy the token right away: this is the only time Rookflare shows it in full. The card keeps the endpoint and the last four characters of the token.

### 2. Send the request after your deploy

POST to the endpoint with the token in the Authorization header. The body is optional; send the commit or release as ref so repeated calls start one scan. Rookflare also reads sha and commit_ref. A ref may use letters, digits and . - _ / : @ + #; Rookflare keeps the first 120 characters and ignores a ref it cannot use.

```bash
curl -X POST "https://app.rookflare.example/api/webhooks/deploy" \
  -H "Authorization: Bearer YOUR_DEPLOY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ref": "v1.2.3"}'
```

### 3. Or put the token in the URL

For tools that cannot set headers. The header wins when both are present.

```bash
curl -X POST "https://app.rookflare.example/api/webhooks/deploy?token=YOUR_DEPLOY_TOKEN"
```

### 4. Read the response

Rookflare answers 202 Accepted with the scan’s id and status. “created” is true for a new scan and false when the call joined a running scan or matched a ref from the last 24 hours. Errors use the problem+json format with a code and a trace_id.

```json
{
  "data": {
    "scan_id": "0b6f6c1e-4d4b-4f7e-9a51-2f0d3c8e7a10",
    "status": "queued",
    "created": true
  }
}
```

### 5. Test it by hand, then from your deploy

Run the command once from your terminal and check for the 202 answer, then add it to your deploy. In Rookflare, the card’s “Last used” changes to the time of the call and the website’s Scan history shows a scan with the trigger “After deploy”.

Sample endpoint and placeholder token. The dashboard fills in yours.

## If it does not work

### 401 Unauthenticated

The token is missing, mistyped, rotated or revoked. Rookflare gives the same answer in every case so tokens cannot be guessed. Copy the token again after rotating it, check the secret name and make sure the header reads “Authorization: Bearer pgd_…”.

### 402 Not available on your plan, or plan limit reached

Deploy hooks need Growth and Agency. Deploy scans also count towards your on-demand scans: Growth allows 10 on-demand scans a day per organization and Agency 30. When they are used up, the response carries a Retry-After header with the time until the limit resets at midnight UTC.

### 409 Conflict

The website is not verified yet, or its monitoring is paused. Verify the domain or resume monitoring on the website page, then deploy again.

### 429 Too many requests

The deploy endpoint accepts 30 requests a minute from one address. Call it once per deploy, after the deploy step, not in a loop or once per file.

### Two deploys, one scan

This is on purpose. Calls with the same ref within 24 hours return the scan that ref already started, and a call while a scan is running joins that scan. The response says “created”: false in both cases.

## cURL integration questions

### Where should the deploy token live?

In your deploy tool’s secret store, never in the repository. The token can only start scans of one website, and you can rotate or revoke it on the website’s Settings tab at any time; the old token stops working right away.

### Do deploy scans count towards a limit?

Yes. They count as on-demand scans. Growth allows 10 on-demand scans a day per organization and Agency 30. Scheduled scans are separate and keep running as usual.

### Should a failed call fail my deploy?

That is your choice. With curl -f the command exits with an error on any 4xx or 5xx answer, which makes a wrong token visible in CI. Leave -f out if the deploy should pass anyway.

### How do I report a failed call?

Every error answer includes a trace_id. Send it to us through the contact page with the time of the call; never send the token itself.

## Related integrations

- [GitHub Actions integration](https://rookflare.com/integrations/github-actions/)
- [GitLab CI/CD integration](https://rookflare.com/integrations/gitlab-ci/)
- [WordPress integration](https://rookflare.com/integrations/wordpress/)

[Start the free trial](https://app.rookflare.com/register/).


---
title: "Slack alerts"
description: "Send Rookflare alerts and the daily summary to a Slack channel through an incoming webhook. Setup, test message, alert settings and troubleshooting."
url: "https://rookflare.com/integrations/slack/"
---

# Slack alerts

Post Rookflare alerts and the daily summary to a Slack channel your team already reads. All it needs is an incoming webhook URL.

## What the Slack integration does

### What it does

- Posts a message when an issue opens, gets worse, comes back or is resolved, with the site, severity, page and time.
- Can post a daily summary each morning with open issues, new issues and changes to review from the previous day.
- Shows the channel as Failing in Rookflare if Slack stops accepting the webhook, for example after the channel is archived.

### Before you start

- A Growth and Agency plan. The 14-day free trial runs on Growth, so you can set it up before you pay.
- Owner or admin role in your Rookflare organization.
- Permission to add apps or incoming webhooks to the Slack channel.

## Set up Slack step by step

### 1. Create an incoming webhook in Slack

In Slack, add the Incoming Webhooks app to the channel, or create a Slack app with incoming webhooks turned on, and copy the webhook URL. It starts with https://hooks.slack.com/services/.

### 2. Add a Slack channel in Rookflare

Open Notifications → Channels, select “Add channel”, choose Slack, give it a name such as #website-alerts and paste the webhook URL. Rookflare stores it encrypted and never shows it again.

### 3. Send a test

Open the channel’s menu and select “Send test”. The test message appears in Slack and the channel’s status changes from “Not tested” to “Working”.

### 4. Choose which alerts each website sends

On the Alert preferences tab, pick the lowest severity that alerts for each website (Critical, High, Medium or Low) and whether resolved notices and the daily summary go out. Visual changes to review follow the same setting.

Sample endpoint and placeholder token. The dashboard fills in yours.

## If it does not work

### The channel shows Failing

Slack no longer accepts the webhook. It was probably removed or the channel was archived. Create a new incoming webhook and use “Reconnect” on the channel; Rookflare replaces the URL and keeps the channel’s history.

### The URL is not accepted

Paste a Slack incoming webhook URL that starts with https://hooks.slack.com/services/. Links to a channel or a workflow do not work.

### No messages arrive

Check that the channel’s toggle is on, then check the website’s lowest severity on the Alert preferences tab. Notifications → History lists every alert Rookflare sent or tried to send, with the reason when one failed.

## Slack integration questions

### How do I keep alerts from getting noisy?

Rookflare sends one alert when an issue opens, not one per scan, and tells you again only when it gets worse, comes back or is resolved. Raise the lowest severity per website on the Alert preferences tab if you still get too many.

### Can I post to more than one Slack channel?

Yes. Add one Rookflare channel per Slack webhook. Alerts and summaries go to every channel that is on.

### What can Rookflare read in our Slack?

Nothing. An incoming webhook can only post messages to the one channel it was created for.

## Related integrations

- [Email alerts](https://rookflare.com/integrations/email-alerts/)
- [SMS and phone call alerts](https://rookflare.com/integrations/sms-phone-alerts/)
- [GitHub Actions integration](https://rookflare.com/integrations/github-actions/)

[Start the free trial](https://app.rookflare.com/register/).


---
title: "Email alerts"
description: "Get Rookflare alerts and a daily summary by email on every plan. Choose recipients from your team, send a test and pick the severity per website."
url: "https://rookflare.com/integrations/email-alerts/"
---

# Email alerts

Email alerts work on every plan. Pick recipients from your team, send a test and choose per website which alerts go out.

## What the Email integration does

### What it does

- Sends an email when an issue opens, gets worse, comes back or is resolved, with the site, page, time and a link to the issue.
- Can send a daily summary each morning at the hour and time zone you choose.
- Sends only to team members with a verified email address, so alerts never go to a typo.

### Before you start

- Any plan: Starter, Growth and Agency.
- Owner or admin role in your Rookflare organization.
- Recipients who are members of your Rookflare team and have verified their email address.

## Set up Email step by step

### 1. Add an email channel

Open Notifications → Channels, select “Add channel”, choose Email, give it a name such as “Team inbox” and tick the recipients.

### 2. Send a test

Open the channel’s menu and select “Send test”. Check the inboxes, including spam, and the channel’s status changes to “Working”.

### 3. Set the daily summary time

In the Daily summary card, choose the hour and your time zone. The summary lists open issues, new issues and changes to review from the previous day.

### 4. Choose which alerts each website sends

On the Alert preferences tab, pick the lowest severity that alerts for each website (Critical, High, Medium or Low) and whether resolved notices and the daily summary go out. Visual changes to review follow the same setting.

Sample endpoint and placeholder token. The dashboard fills in yours.

## If it does not work

### A recipient shows “email not verified yet”

Rookflare only emails verified addresses. Ask them to confirm their email address from the message they got when they joined; alerts reach them after that.

### The test does not arrive

Check spam and any rule that filters automatic mail, then look at Notifications → History. A “Failed” entry shows why, for example that none of the recipients is a verified member any more.

### “Daily email limit for your organization reached”

Rookflare caps the number of alert emails per organization per day. Raise the lowest severity for busy websites, or add Slack for the rest.

## Email integration questions

### How do I keep alerts from getting noisy?

Rookflare sends one alert when an issue opens, not one per scan, and tells you again only when it gets worse, comes back or is resolved. Raise the lowest severity per website on the Alert preferences tab if you still get too many.

### Can alerts go to someone outside the team?

Not as an email channel: recipients must be verified team members. To pass one issue on, open it and use “Send to developer”, which emails that issue to any address.

### Can my clients get these emails?

Alerts are for your team. Clients get a monthly report instead, on Agency.

## Related integrations

- [Slack alerts](https://rookflare.com/integrations/slack/)
- [SMS and phone call alerts](https://rookflare.com/integrations/sms-phone-alerts/)
- [cURL deploy hook](https://rookflare.com/integrations/curl/)

[Start the free trial](https://app.rookflare.com/register/).


---
title: "SMS and phone call alerts"
description: "Get a text for critical problems and a short automatic call when a site goes down. Verify your number, add a phone channel and choose who gets them."
url: "https://rookflare.com/integrations/sms-phone-alerts/"
---

# SMS and phone call alerts

Get a text for critical problems and a short automatic call when a site goes down. Each person gets them on their own verified number.

## What the SMS and phone calls integration does

### What it does

- Texts each chosen person when a critical problem opens. Visual changes and warnings never go by phone.
- Calls when a site or page stops answering. The recovery comes as a text only.
- Counts towards a monthly allowance: Growth includes 50 SMS or calls a month and Agency 200. When it is used up, alerts go by email and Slack only until the 1st.

### Before you start

- A paid Growth and Agency plan. The 14-day free trial does not include SMS or calls; they start with a paid plan.
- Owner or admin role to add the phone channel.
- Each person who should get texts or calls verifies their own mobile number.

## Set up SMS and phone calls step by step

### 1. Verify your mobile number

Each person opens Settings → Profile, enters their mobile number and types the 6-digit code Rookflare texts them. Only mobile numbers are accepted.

### 2. Add a phone channel

Open Notifications → Channels, select “Add channel” and choose Phone. Turn on “Send SMS for critical alerts”, “Call me when a site goes down” or both, and tick who gets them.

### 3. Check the channel and the allowance

The channel shows “SMS and calls” with the number of people. Phone channels have no test message; the card on the Channels tab shows how many phone alerts this month has used.

### 4. Choose which alerts each website sends

On the Alert preferences tab, pick the lowest severity that alerts for each website (Critical, High, Medium or Low) and whether resolved notices and the daily summary go out. Visual changes to review follow the same setting.

Sample endpoint and placeholder token. The dashboard fills in yours.

## If it does not work

### Someone gets no texts

They have no verified number yet. People without one can be chosen and start receiving alerts once they verify in Settings → Profile.

### “This month’s phone alerts are used up”

The monthly allowance is spent. Email and Slack alerts still go out, and phone alerts start again on the 1st.

### The verification code does not come

Wait a minute before asking for a new code; Rookflare allows a few codes per hour per person and number. Check that the number is a mobile number with the right country code.

## SMS and phone calls integration questions

### What counts as a phone alert?

Each text or call to one person counts as one, so a critical issue texted to two people uses two. Failed sends do not count.

### When does Rookflare call instead of texting?

Only when a site or page stops answering, if the channel has calls turned on. Every other critical problem comes as a text.

### Can we use a shared on-call number?

Phone alerts go to the verified number of each chosen team member. A shared phone works if it belongs to a team member who verified it.

## Related integrations

- [Slack alerts](https://rookflare.com/integrations/slack/)
- [Email alerts](https://rookflare.com/integrations/email-alerts/)
- [cURL deploy hook](https://rookflare.com/integrations/curl/)

[Start the free trial](https://app.rookflare.com/register/).


---
title: "Free website tools"
description: "Free checks for any public website: uptime, SSL certificate, broken links, meta tags, robots.txt and sitemaps, hreflang and AI agent readiness."
url: "https://rookflare.com/tools/"
---

# Free website tools

Quick checks for any public website, run from our server. No account needed. When you want the same checks every day with alerts, Rookflare does it for you.

## Pick a check

- [Is my website down?](https://rookflare.com/tools/website-down-checker/): Check if a website is up from our server: HTTP status, response time, every redirect and when the SSL certificate expires. Free, no sign-up.
- [SSL certificate checker](https://rookflare.com/tools/ssl-certificate-checker/): See who issued a site’s SSL certificate, when it expires, whether it matches the hostname and whether browsers trust the chain. Free, no sign-up.
- [Broken link checker](https://rookflare.com/tools/broken-link-checker/): Find broken links and images on a page. We check up to 100 links on your site and 50 external ones and show the status code of each. Free.
- [Meta tag and Open Graph checker](https://rookflare.com/tools/meta-tag-checker/): Preview how a page looks in Google results and social cards, and check its title, description, canonical, robots and Open Graph tags. Free.
- [Robots.txt and sitemap validator](https://rookflare.com/tools/robots-txt-validator/): Validate robots.txt and XML sitemaps: crawler groups, AI bot rules, sitemap URLs, URL count and a sample of sitemap pages that return errors.
- [Hreflang and canonical checker](https://rookflare.com/tools/hreflang-checker/): Check a page’s hreflang set: language codes, self reference, x-default, return links from every alternate and canonical tags that agree.
- [AI agent readiness checker](https://rookflare.com/tools/ai-readiness-checker/): Check how ready your site is for AI agents: robots.txt, llms.txt, markdown, Link headers, API catalog, OAuth, MCP and A2A cards, with a fix for each.


---
title: "Is my website down?"
description: "Check if a website is up from our server: HTTP status, response time, every redirect and when the SSL certificate expires. Free, no sign-up."
url: "https://rookflare.com/tools/website-down-checker/"
---

# Is my website down?

Check if a website answers right now. We request the page from our server and show the status code, response time, every redirect and when the SSL certificate expires. Use the form at https://rookflare.com/tools/website-down-checker/ (needs JavaScript); the API endpoint is POST /api/public/v1/tools/status with a JSON body { "url": "https://example.com" }.

## What you get

- Up or down, with the final status code
- Total response time
- Every redirect hop with its status
- Days left on the SSL certificate

## Down for everyone or just me?

Compare our check with what your own browser shows to tell an outage from a local problem.

### Up for us, fails for you

Likely on your side. A stale DNS cache, a VPN, a company firewall, a browser extension or a regional block can stop you while the site answers everyone else. Try mobile data or a private window, or clear the DNS cache.

### Down for us, fails for you

Down for everyone. The server, its DNS or its certificate is failing. Check your host’s status page, the DNS records and the last deploy.

### Down for us, works for you

Blocked or cached. Some firewalls and bot filters refuse requests from data centers, often with 403 or 429, and your browser may still show a cached copy.

To clear the DNS cache, run ipconfig /flushdns on Windows, or sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder on macOS.

## What the status code tells you

The first digit says where to look. This tool counts 2xx and 3xx as up and 4xx and 5xx as down.

| Code | Meaning | What it tells you |
| --- | --- | --- |
| 200 | OK | The server answered with the page. |
| 301, 308 | Permanent redirect | Browsers and search engines move on to the new address. |
| 302, 307 | Temporary redirect | The original address stays the one to index. |
| 403 | Forbidden | The server refused the request. On a public page this is often a firewall or bot filter. |
| 404 | Not Found | Nothing lives at this address. Check the URL or redirect the old address. |
| 429 | Too Many Requests | Rate limited. A Retry-After header may say when to try again. |
| 500 | Internal Server Error | The application failed while building the page. The error log has the cause. |
| 502 | Bad Gateway | A proxy or CDN got an invalid answer from the server behind it. |
| 503 | Service Unavailable | Overloaded or in maintenance. Retry-After may say for how long. |
| 504 | Gateway Timeout | A proxy or CDN waited too long for the server behind it. |

## What this tool checks

### HTTP status

The status code of the final page. 2xx and 3xx count as up; 4xx and 5xx count as down.

### Response time

Time from the request until the headers of the final page arrived, measured from our server.

### Redirects

Every hop with its status code, up to 5 redirects. Longer chains are reported as a failure.

### SSL expiry

The expiry date of the certificate the final host sent, and the days left.

## How to fix common problems

### The name does not resolve (DNS)

Check that the domain has not expired and that its A or AAAA record points at your server. DNS changes can take up to the record’s TTL to reach everyone.

### Connection refused or timed out

The server or a firewall is not accepting connections on port 80 or 443. Check that the web server is running and that your host or CDN is not blocking traffic.

### 5xx errors

The server answered but failed. Look at the application and web server error logs around the time of the check; a recent deploy is the usual cause.

### Too many redirects

Two rules send visitors back and forth, often http to https and www to non-www set in two places. Keep one canonical redirect and remove the other.

## Monitor this automatically

Uptime monitoring checks your key URLs every minute on Agency and every 5 minutes on Growth. A page counts as down only after 3 failed checks in a row, about a minute apart, and a confirmation check, then you get an email, Slack message, SMS or call. [Start free trial](https://app.rookflare.com/register/).

## Frequently asked questions

### The tool says up, but I cannot open the site. Why?

We check from our server in Europe. Your network, DNS cache, a VPN or a regional block can still stop you. Try another network or clear your DNS cache.

### What counts as down?

A DNS failure, a refused or timed-out connection, a TLS error, more than 5 redirects or a final status code of 400 or higher.

### Is this tool free?

Yes. You do not need an account. Each IP address can run 10 checks a minute and 100 a day, and a website can be checked 10 times in 10 minutes across all visitors so the tool is never used to flood a site.

### Do you store the URL or the results?

The result is kept for 10 minutes so a repeated check is instant, then it is deleted. We do not log the URLs you check or the content of the page.

## More free tools

- [SSL certificate checker](https://rookflare.com/tools/ssl-certificate-checker/): Issuer, expiry date, hostname match and chain.
- [Broken link checker](https://rookflare.com/tools/broken-link-checker/): Links and images on one page with their status codes.


---
title: "SSL certificate checker"
description: "See who issued a site’s SSL certificate, when it expires, whether it matches the hostname and whether browsers trust the chain. Free, no sign-up."
url: "https://rookflare.com/tools/ssl-certificate-checker/"
---

# SSL certificate checker

See who issued a website’s certificate, when it expires, whether it covers the hostname and whether browsers trust it. We only read the TLS handshake. Use the form at https://rookflare.com/tools/ssl-certificate-checker/ (needs JavaScript); the API endpoint is POST /api/public/v1/tools/ssl with a JSON body { "url": "https://example.com" }.

## What you get

- Days left and the exact expiry date
- Issuer and the names the certificate covers
- Whether it matches the hostname
- Whether the chain leads to a trusted root

## What happens when a certificate expires

Nothing changes on your server, but every client that connects stops trusting it at the second it expires.

### Visitors get a full-page warning

Chrome shows “Your connection is not private” with NET::ERR_CERT_DATE_INVALID, Firefox shows “Warning: Potential Security Risk Ahead” and Safari shows “This Connection Is Not Private”. Most people turn back.

### HSTS sites cannot be opened at all

If your site sends a Strict-Transport-Security header, browsers remove the option to continue past the warning.

### APIs and webhooks fail quietly

Apps, payment callbacks and scripts that call your domain reject the TLS handshake, often with errors no person sees.

## Certificate lifetimes are getting shorter

In April 2025 the CA/Browser Forum adopted ballot SC-081, which cuts the maximum lifetime of public TLS certificates in steps. At these lengths renewal has to be automatic, and someone has to notice when the automation stops.

| Issued | Maximum lifetime | In other words |
| --- | --- | --- |
| Before March 15, 2026 | 398 days | The limit since September 2020. |
| From March 15, 2026 | 200 days | About six and a half months. |
| From March 15, 2027 | 100 days | About three months. |
| From March 15, 2029 | 47 days | Under seven weeks. |

## What this tool checks

### Issuer and validity

The certificate authority, the first and last day it is valid, and the days left.

### Hostname match

Whether the hostname you entered is listed in the certificate, including one-level wildcards such as *.example.com.

### Chain

Whether the certificate chains to a trusted root with the intermediates the server sent.

### Protocol

The TLS version the server agreed to use with us.

## How to fix common problems

### Expired or expiring certificate

Renew it with your certificate authority, or check that automatic renewal (for example certbot or your host’s ACME client) still runs and can reach its validation URL.

### Hostname mismatch

The certificate does not list this name. Add the name (often the www or non-www variant) to the certificate, or redirect to a name it covers.

### Untrusted chain

The server is not sending the intermediate certificate, or it uses a self-signed one. Install the full chain file your authority provides.

## Monitor this automatically

Every uptime check reads the certificate. On Growth and Agency you get a warning 14 days before it expires, while there is still time to fix renewal. [Start free trial](https://app.rookflare.com/register/).

## Frequently asked questions

### How early should I renew?

Automatic renewal usually starts 30 days before expiry. If fewer than 14 days are left, something has probably stopped renewing it.

### What if the site has no HTTPS?

The tool connects to port 443 of the hostname. If nothing answers with TLS there, it reports that the site has no HTTPS.

### Is this tool free?

Yes. You do not need an account. Each IP address can run 10 checks a minute and 100 a day, and a website can be checked 10 times in 10 minutes across all visitors so the tool is never used to flood a site.

### Do you store the URL or the results?

The result is kept for 10 minutes so a repeated check is instant, then it is deleted. We do not log the URLs you check or the content of the page.

## More free tools

- [Is my website down?](https://rookflare.com/tools/website-down-checker/): Status code, response time, redirects and SSL expiry.
- [Meta tag and Open Graph checker](https://rookflare.com/tools/meta-tag-checker/): Title, description, canonical and social card preview.


---
title: "Broken link checker"
description: "Find broken links and images on a page. We check up to 100 links on your site and 50 external ones and show the status code of each. Free."
url: "https://rookflare.com/tools/broken-link-checker/"
---

# Broken link checker

Find links and images on one page that return an error. We check up to 100 links on the same host and 50 external links, five at a time, and show each status code. Use the form at https://rookflare.com/tools/broken-link-checker/ (needs JavaScript); the API endpoint is POST /api/public/v1/tools/broken-links with a JSON body { "url": "https://example.com" }.

## What you get

- Up to 100 links on your site and 50 external ones
- The status code of every link and image
- Redirects and where they end
- Filters for broken, redirected and external links

## Why broken links cost you

A broken link does not get a site penalized, but it still costs visits and crawl paths.

### Visitors hit a dead end

Someone who clicks a link and lands on an error page usually goes back to the search results instead of looking further.

### Crawlers lose a path

Search engines find pages by following links. A page that is only linked through a broken URL may not be found or refreshed.

### Old links stop passing value

Links from other sites to a removed page help nothing until you redirect that address to the closest replacement with a 301.

### What Google says

Google treats 404s for pages that should not exist as normal; they do not hurt the rest of your site in search. Fix the ones that visitors and other sites actually reach.

## 301, 302, 404 or 410?

Answer with the status that matches what happened to the page.

| Status | Meaning | When to use it |
| --- | --- | --- |
| 301 | Moved for good | The page has a new address. Search engines move the old address’s signals to the new one. |
| 302, 307 | Moved for now | The move is temporary, so search engines keep the original address indexed. |
| 404 | Not found | The page is gone or never existed. Show an error page with search and links to key sections. |
| 410 | Gone | The page was removed on purpose. Google handles 404 and 410 the same way for indexing. |
| Soft 404 | Error page that answers 200 | Search Console reports these as soft 404s. Send a real 404 status with the error page. |

## What this tool checks

### Links and images

Every link in an <a href> and every image in an <img src> on the page, after resolving relative URLs.

### Status of each URL

A HEAD request first; a GET (body discarded) when the server does not support HEAD. Redirects are followed up to 5 hops.

### Grouping

Broken (4xx or 5xx), could not connect, redirected, and fine, with broken ones listed first.

## How to fix common problems

### A link returns 404

Update the link to the page’s new address, or add a 301 redirect from the old address so existing links and bookmarks keep working.

### A link redirects

Redirects work, but each one adds a request. Point internal links straight at the final URL.

### An image is broken

Check that the file was deployed and that the path and letter case match. CDNs often serve stale 404s, so purge the cached path after fixing it.

## Monitor this automatically

Each scheduled scan opens every monitored page in a real browser and opens an issue for broken images, server errors, JavaScript errors and changed redirects. [Start free trial](https://app.rookflare.com/register/).

## Frequently asked questions

### Does it crawl my whole site?

No. It checks the links on the one page you enter. Run it on your most important pages, such as the homepage, pricing and top articles.

### Why does an external link show an error when it works in my browser?

Some sites block automated requests or answer slowly. Open the link yourself before you remove it.

### Is this tool free?

Yes. You do not need an account. Each IP address can run 10 checks a minute and 100 a day, and a website can be checked 10 times in 10 minutes across all visitors so the tool is never used to flood a site.

### Do you store the URL or the results?

The result is kept for 10 minutes so a repeated check is instant, then it is deleted. We do not log the URLs you check or the content of the page.

## More free tools

- [Is my website down?](https://rookflare.com/tools/website-down-checker/): Status code, response time, redirects and SSL expiry.
- [Meta tag and Open Graph checker](https://rookflare.com/tools/meta-tag-checker/): Title, description, canonical and social card preview.


---
title: "Meta tag and Open Graph checker"
description: "Preview how a page looks in Google results and social cards, and check its title, description, canonical, robots and Open Graph tags. Free."
url: "https://rookflare.com/tools/meta-tag-checker/"
---

# Meta tag and Open Graph checker

Preview how a page appears in Google results and on social cards, and check the title, description, canonical, robots and Open Graph tags behind it. Use the form at https://rookflare.com/tools/meta-tag-checker/ (needs JavaScript); the API endpoint is POST /api/public/v1/tools/meta-tags with a JSON body { "url": "https://example.com" }.

## What you get

- Previews for Google, Facebook and LinkedIn, X and Slack
- Title and description length
- Canonical, robots and noindex settings
- Every Open Graph and Twitter tag on the page

## Ideal lengths

Guidelines, not hard limits. Google trims by pixel width and may rewrite titles and snippets, and each social network crops in its own way.

| Tag | Guideline | Why |
| --- | --- | --- |
| <title> | About 50–60 characters | Google cuts long titles to fit the result width. Put the words people search for first. |
| meta description | About 70–160 characters | Long descriptions are cut on desktop and sooner on mobile. Google often shows a passage from the page instead. |
| og:image | 1200 × 630 px (1.91:1) | The size Facebook recommends for link previews. LinkedIn uses the same ratio. |
| twitter:title | Up to 70 characters | The limit in X’s card documentation. |
| twitter:description | Up to 200 characters | The limit in X’s card documentation. |
| twitter:image | 2:1, at least 300 × 157 px | For summary_large_image cards; X accepts files up to 5 MB. |

## Which tags each platform reads

Most platforms fall back to other tags when theirs are missing, so one complete set covers all of them.

| Platform | Reads | Notes |
| --- | --- | --- |
| Google | <title>, meta description | Open Graph tags are not used for the search result. |
| Facebook | og:title, og:description, og:image, og:url | Without them it guesses from the page. |
| LinkedIn | Open Graph tags | The same tags as Facebook. |
| X | twitter: tags, then og: tags | twitter:card sets the layout. For each field X reads the twitter: tag first and falls back to the matching og: tag. |
| Slack | oEmbed, then twitter: and og: tags | When neither is there, Slack uses the HTML title and description. |

## What this tool checks

### Search snippet

Title and description length, the canonical URL and whether the page asks not to be indexed (robots meta tag or X-Robots-Tag header).

### Social card

og:title, og:description, og:image (with width and height when declared) and twitter:card.

### Page basics

The html lang attribute, a viewport tag for mobile and the number of h1 headings.

## How to fix common problems

### Title or description too long

Google cuts titles at about 60 characters and descriptions at about 160. Put the words that matter first.

### No og:image

Without it, social networks pick a random image or none. Add a 1200 × 630 image and declare og:image:width and og:image:height.

### Accidental noindex

A staging setting often survives a launch. Remove noindex from the robots meta tag and the X-Robots-Tag header on pages that should be found.

## Monitor this automatically

Each scheduled scan reads the title, canonical and robots settings of every monitored page and opens an issue when a page turns noindex or loses its title. [Start free trial](https://app.rookflare.com/register/).

## Frequently asked questions

### Will Google show exactly this preview?

Not always. Google may rewrite titles and descriptions. The preview shows what your page asks for, which is what you control.

### Why is the image shown as a link?

We do not download or proxy images from other sites. Open the link to see the image the social networks will fetch.

### Is this tool free?

Yes. You do not need an account. Each IP address can run 10 checks a minute and 100 a day, and a website can be checked 10 times in 10 minutes across all visitors so the tool is never used to flood a site.

### Do you store the URL or the results?

The result is kept for 10 minutes so a repeated check is instant, then it is deleted. We do not log the URLs you check or the content of the page.

## More free tools

- [Hreflang and canonical checker](https://rookflare.com/tools/hreflang-checker/): Language alternates, return links and canonicals.
- [Robots.txt and sitemap validator](https://rookflare.com/tools/robots-txt-validator/): Crawler rules, AI bots, sitemap files and URL count.


---
title: "Robots.txt and sitemap validator"
description: "Validate robots.txt and XML sitemaps: crawler groups, AI bot rules, sitemap URLs, URL count and a sample of sitemap pages that return errors."
url: "https://rookflare.com/tools/robots-txt-validator/"
---

# Robots.txt and sitemap validator

Check robots.txt and the XML sitemaps it lists: crawler groups, rules for AI crawlers, sitemap files, the number of URLs and a sample of sitemap pages that fail. Use the form at https://rookflare.com/tools/robots-txt-validator/ (needs JavaScript); the API endpoint is POST /api/public/v1/tools/robots with a JSON body { "url": "https://example.com" }.

## What you get

- Every rule, annotated in plain words
- Which AI crawlers may fetch the homepage
- Sitemap files and how many URLs they list
- A status check of sampled sitemap URLs

## Common robots.txt mistakes

Each one is a single line that is easy to miss in a review.

### Staging rules shipped to production

Disallow: / for every crawler stops search engines from crawling the whole site.

Before:

```
User-agent: *
Disallow: /
```

After:

```
User-agent: *
Disallow: /checkout/
Disallow: /cart/
```

### Hiding a page with robots.txt

A blocked page can still be indexed from links, without its content. To keep it out of results, let crawlers fetch it and add a noindex robots meta tag.

Before:

```
User-agent: *
Disallow: /thank-you/
```

After:

```
User-agent: *
Allow: /
# /thank-you/ sends <meta name="robots" content="noindex">
```

### A bot group that forgets the shared rules

A crawler follows only the group that names it, so the rules under User-agent: * no longer apply to it. Repeat the shared rules in its group.

Before:

```
User-agent: *
Disallow: /checkout/

User-agent: GPTBot
Disallow: /drafts/
```

After:

```
User-agent: *
Disallow: /checkout/

User-agent: GPTBot
Disallow: /drafts/
Disallow: /checkout/
```

### A relative sitemap address

The Sitemap line needs a full URL, including https://.

Before:

```
Sitemap: /sitemap.xml
```

After:

```
Sitemap: https://northwind-shop.example/sitemap.xml
```

## Training, search and user agents are different bots

AI companies run separate agents for model training, for their search index and for fetching a page when someone asks about it. Each can be allowed or blocked on its own.

| Kind | User agents | What blocking does |
| --- | --- | --- |
| Training | GPTBot, ClaudeBot, CCBot, Google-Extended, Applebot-Extended | Asks that your pages are not used to train models. Google-Extended and Applebot-Extended are control tokens, not crawlers: they cover pages Google and Apple already crawl for search. |
| Search | OAI-SearchBot, Claude-SearchBot, PerplexityBot | Can keep your pages out of AI search answers and their source links. |
| User request | ChatGPT-User, Claude-User, Perplexity-User | These fetch one page when a person asks about it. OpenAI and Perplexity say these user-started fetches may not follow robots.txt. |

## What this tool checks

### robots.txt

Found or not, file size against Google’s 500 KiB limit, user-agent groups and their rules, lines we could not read and Content-Signal lines.

### AI crawlers

For GPTBot, ClaudeBot, PerplexityBot, Google-Extended and others: which group applies and whether the homepage is allowed.

### Sitemaps

Sitemap files from robots.txt or /sitemap.xml, whether they parse, how many URLs they list, and a status check of 10 of those URLs.

## How to fix common problems

### Disallow: / for everyone

Often left over from staging. It stops search engines from crawling the site. Remove it or limit it to the paths that should stay private.

### Sitemap not declared

Add a line such as Sitemap: https://example.com/sitemap.xml so every crawler finds it, not only the ones you submitted it to.

### Sitemap lists broken or redirected URLs

A sitemap should only list final, indexable URLs that return 200. Regenerate it after removing or moving pages.

## Monitor this automatically

Rookflare reads your sitemap when you add a website so you can pick the pages to watch, then checks each of them for server errors and noindex on every scan. [Start free trial](https://app.rookflare.com/register/).

## Frequently asked questions

### How do I block AI training but stay in AI search?

Add a group for training crawlers such as GPTBot, ClaudeBot and Google-Extended with Disallow: /, and leave search agents such as OAI-SearchBot and Claude-SearchBot allowed. A Content-Signal line states the same preference in one place.

### How many URLs do you read?

Up to 5 sitemap files and 5,000 URLs. A larger sitemap is marked as truncated; the files we read are still checked.

### Is this tool free?

Yes. You do not need an account. Each IP address can run 10 checks a minute and 100 a day, and a website can be checked 10 times in 10 minutes across all visitors so the tool is never used to flood a site.

### Do you store the URL or the results?

The result is kept for 10 minutes so a repeated check is instant, then it is deleted. We do not log the URLs you check or the content of the page.

## More free tools

- [AI agent readiness checker](https://rookflare.com/tools/ai-readiness-checker/): llms.txt, markdown, crawler rules and agent protocols.
- [Meta tag and Open Graph checker](https://rookflare.com/tools/meta-tag-checker/): Title, description, canonical and social card preview.


---
title: "Hreflang and canonical checker"
description: "Check a page’s hreflang set: language codes, self reference, x-default, return links from every alternate and canonical tags that agree."
url: "https://rookflare.com/tools/hreflang-checker/"
---

# Hreflang and canonical checker

Check the hreflang set of one page: valid language codes, a self reference, x-default, a return link from every alternate and canonical tags that point to themselves. Use the form at https://rookflare.com/tools/hreflang-checker/ (needs JavaScript); the API endpoint is POST /api/public/v1/tools/hreflang with a JSON body { "url": "https://example.com" }.

## What you get

- Every hreflang code, named in plain English
- Return links from each alternate
- x-default and the self reference
- Canonical tags on every version

## x-default explained

x-default names the page for visitors whose language matches none of your alternates. It is optional, and Google recommends it. In this example the set lists en, de and fr, plus x-default for a language picker at /.

| Browser language | Page shown | Why |
| --- | --- | --- |
| German | /de/ | An exact match for de. |
| English (Australia) | /en/ | There is no en-AU version, so the language-only en version matches. |
| Spanish | / | Nothing matches, so search engines can show the x-default page. |

Every page in the set lists the same alternates, including x-default and itself.

## Codes that look right but are not

hreflang takes an ISO 639-1 language code, optionally followed by an ISO 3166-1 alpha-2 region. Some mistakes pass a format check, so read the codes yourself.

| Written | Use | Why |
| --- | --- | --- |
| en-UK | en-GB | The region code for the United Kingdom is GB. |
| uk | en-GB | uk is valid but means Ukrainian. |
| jp | ja | JP is the country; Japanese is ja. |
| cz | cs | CZ is the country; Czech is cs. |
| dk | da | DK is the country; Danish is da. |
| se | sv | se is Northern Sami; Swedish is sv. |
| GB | en-GB | A region needs a language in front of it. |

## What this tool checks

### The hreflang set

Every <link rel="alternate" hreflang> in the page, the language code format, duplicates, the self reference and x-default.

### Return links

We open up to 20 alternates and check that each one links back to the page you entered.

### Canonical consistency

The page and every alternate should name themselves as canonical. A canonical that points to another language cancels the hreflang.

## How to fix common problems

### Missing return link

Google ignores a pair unless both pages link to each other. Generate the full set in one template so every language lists all the others.

### Canonical points to the main language

Each language version should be its own canonical. Point the canonical of /de/ to /de/, not to /en/.

### Invalid code

Use ISO 639-1 language codes with an optional ISO 3166-1 region: en, en-GB, pt-BR. “uk” is Ukrainian, not the United Kingdom.

## Monitor this automatically

Each scheduled scan reads the canonical tag of every monitored page and compares its screenshot with the approved one, so a template change that breaks a language version shows up on the next scan. [Start free trial](https://app.rookflare.com/register/).

## Frequently asked questions

### Do I need x-default?

It is optional but recommended. It tells search engines which page to show when no language matches, usually a language picker or the main version.

### My hreflang is in the sitemap, not the HTML. Does the tool see it?

No. The tool reads the HTML of the page. Hreflang in an XML sitemap or HTTP headers is valid, but it is not checked here.

### Is this tool free?

Yes. You do not need an account. Each IP address can run 10 checks a minute and 100 a day, and a website can be checked 10 times in 10 minutes across all visitors so the tool is never used to flood a site.

### Do you store the URL or the results?

The result is kept for 10 minutes so a repeated check is instant, then it is deleted. We do not log the URLs you check or the content of the page.

## More free tools

- [Meta tag and Open Graph checker](https://rookflare.com/tools/meta-tag-checker/): Title, description, canonical and social card preview.
- [Robots.txt and sitemap validator](https://rookflare.com/tools/robots-txt-validator/): Crawler rules, AI bots, sitemap files and URL count.


---
title: "AI agent readiness checker"
description: "Check how ready your site is for AI agents: robots.txt, llms.txt, markdown, Link headers, API catalog, OAuth, MCP and A2A cards, with a fix for each."
url: "https://rookflare.com/tools/ai-readiness-checker/"
---

# AI agent readiness checker

See how well AI agents can find, read and use your site. We run 29 checks across discovery, markdown content, crawler rules, agent protocols, agent commerce and page signals, then give a score with a fix for each problem, quickest first. Use the form at https://rookflare.com/tools/ai-readiness-checker/ (needs JavaScript); the API endpoint is POST /api/public/v1/tools/ai-readiness with a JSON body { "url": "https://example.com" }.

## What this tool checks

### Discoverability

robots.txt (RFC 9309), the XML sitemap, Link response headers with registered relations (RFC 8288) and DNS records for agent discovery (DNS-AID, an early IETF draft).

### Content for agents

Markdown on request (Accept: text/markdown with Vary: Accept), a linked markdown alternate, /llms.txt in the llmstxt.org format with live links, and /llms-full.txt.

### Bot access

Which AI crawlers your robots.txt allows or blocks, Content-Signal or Content-Usage preferences, and a Web Bot Auth key directory if you run a bot.

### Agent protocols

API catalog (RFC 9727), OAuth and OpenID metadata (RFC 8414), protected resource metadata (RFC 9728), auth.md, MCP server cards, A2A agent cards, agent skills, ARD manifests, WebMCP forms and the Personal Agent Protocol.

### Agent commerce

x402 and MPP payment challenges on the URL you enter, and the UCP and ACP discovery files. They only count when we find them.

### Page signals

JSON-LD that parses, text in the raw HTML before any script runs, a canonical URL and the four required Open Graph tags.

## How to fix common problems

### Start with the quick fixes

robots.txt, llms.txt, Content-Signal, the API catalog, canonical and Open Graph are single files or tags. The result lists them first, each with an example you can copy.

### No markdown version

Publish a markdown copy of each page (for example /page/index.md), link it with rel="alternate" type="text/markdown" and answer Accept: text/markdown with it plus Vary: Accept.

### Little text without JavaScript

Agents often read the raw HTML. Render the main content on the server (SSR or static generation) instead of only in the browser.

### Hand it to your coding agent

Copy all fix instructions puts every failing check, the reason and an example into one prompt for Claude Code, Cursor or Copilot. Review what it changes before you merge.

## The standards behind each check

Agent readiness is a mix of long-standing web standards and new proposals that are still changing. Each check below links its specification and says how settled it is, so you can decide what is worth doing now.

### Discoverability

How agents find what you publish: the robots.txt file every crawler reads first, the sitemap that lists your pages, Link headers that point at machine-readable resources, and an early proposal for discovering agents through DNS.

- robots.txt: Crawlers and agents read /robots.txt first to learn what they may fetch and where your sitemap is. A 5xx answer tells well-behaved crawlers to stay away from the whole site. [RFC 9309 (Robots Exclusion Protocol)](https://www.rfc-editor.org/rfc/rfc9309) (IETF standard)
- XML sitemap: A sitemap lists every page you want found, so crawlers and agents do not have to discover them link by link. [Sitemaps protocol 0.9](https://www.sitemaps.org/protocol.html) (Community convention)
- Link response headers: A Link header on the homepage points agents at machine-readable resources (API catalog, markdown version, llms.txt) without parsing any HTML. [RFC 8288 (Web Linking)](https://www.rfc-editor.org/rfc/rfc8288) (IETF standard) [IANA link relations](https://www.iana.org/assignments/link-relations/) (Published standard)
- DNS records for agent discovery: DNS-AID proposes SVCB records under _agents.<your domain> so agents can find your agent endpoints before loading any page. It is an early individual IETF draft. [DNS-AID (draft-mozleywilliams-dnsop-dnsaid)](https://datatracker.ietf.org/doc/draft-mozleywilliams-dnsop-dnsaid/) (IETF draft)

### Content for agents

How agents read your pages. Markdown is smaller and cleaner than HTML, so agents ask for it when they can. llms.txt is a short markdown index of your site for language models.

- Markdown on request (Accept: text/markdown): Agents that ask for text/markdown get clean text instead of HTML, which is smaller and easier to read correctly. [RFC 7763 (text/markdown)](https://www.rfc-editor.org/rfc/rfc7763) (IETF standard) [RFC 9110 (content negotiation, Vary)](https://www.rfc-editor.org/rfc/rfc9110) (IETF standard)
- Markdown alternate link: A <link rel="alternate" type="text/markdown"> tells agents where the markdown version of this page lives. [llms.txt proposal](https://llmstxt.org/) (Community convention)
- /llms.txt: llms.txt is a short markdown index of your site written for language models: what the site is and which pages matter. [llms.txt proposal](https://llmstxt.org/) (Community convention)
- /llms-full.txt: Some tools read llms-full.txt, your docs in one markdown file. It is a community convention, not part of the llms.txt proposal. [llms.txt proposal](https://llmstxt.org/) (Community convention)

### Bot access

Which AI crawlers may read your site and for what. robots.txt groups decide access per crawler; Content Signals and the IETF AI preferences drafts state how content may be used. Web Bot Auth lets bots prove who they are.

- AI crawler rules: Naming AI crawlers in robots.txt makes your choice explicit per company and purpose (training, search, user requests). Allowing or blocking is your decision; we only report it. [RFC 9309 (Robots Exclusion Protocol)](https://www.rfc-editor.org/rfc/rfc9309) (IETF standard)
- AI usage preferences: Content-Signal lines (a Cloudflare policy) or Content-Usage (an IETF draft) state whether content may be used for search, AI answers or AI training. Neither is enforced; they record your terms. [Content Signals Policy](https://contentsignals.org/) (Vendor proposal) [IETF AI Preferences vocabulary](https://datatracker.ietf.org/doc/draft-ietf-aipref-vocab/) (IETF draft)
- Web Bot Auth key directory: Sites that run their own bots or agents publish signing keys so other sites can verify those requests. Only relevant if you operate a bot. [Web Bot Auth (draft-ietf-webbotauth-httpsig-protocol)](https://datatracker.ietf.org/doc/draft-ietf-webbotauth-httpsig-protocol/) (IETF draft)

### Agent protocols

How agents find your APIs, sign users in and talk to your own agents or MCP servers. The OAuth documents and the API catalog are RFCs; the agent-specific formats are recent proposals.

- API catalog: RFC 9727 gives every site one well-known address that lists its public APIs and their OpenAPI descriptions, so agents can find them without guessing. [RFC 9727 (api-catalog)](https://www.rfc-editor.org/rfc/rfc9727) (IETF standard)
- OAuth / OpenID discovery: Agents that sign in on behalf of a user read your authorization server metadata to find the login and token endpoints. [RFC 8414 (OAuth server metadata)](https://www.rfc-editor.org/rfc/rfc8414) (IETF standard) [OpenID Connect Discovery 1.0](https://openid.net/specs/openid-connect-discovery-1_0.html) (Published standard)
- OAuth protected resource metadata: RFC 9728 tells an agent which authorization server protects your API. MCP servers are required to publish it. [RFC 9728 (protected resource metadata)](https://www.rfc-editor.org/rfc/rfc9728) (IETF standard)
- auth.md for agents: auth.md (a WorkOS proposal) is a markdown guide that tells agents how to authenticate, linked from your OAuth metadata. [auth.md](https://github.com/workos/auth.md) (Vendor proposal)
- MCP server card: A server card describes your MCP server (name, version, endpoints) so clients can connect without trial and error. [MCP Server Cards (SEP-2127)](https://modelcontextprotocol.io/seps/2127-mcp-server-cards) (Vendor proposal)
- A2A agent card: Agents that talk to other agents over the A2A protocol fetch /.well-known/agent-card.json to learn what your agent can do. [A2A protocol: Agent Card](https://a2a-protocol.org/latest/specification/) (Vendor proposal)
- Agent skills index: A skills index lists SKILL.md files agents can download to learn how to use your product. [Agent Skills discovery (draft v0.2)](https://github.com/cloudflare/agent-skills-discovery-rfc) (Vendor proposal)
- Agent resource catalog (ARD): An ARD manifest lists the agent-facing resources of a domain (MCP servers, agents, APIs) in one file. [Agentic Resource Discovery (ARD) v0.91](https://agenticresourcediscovery.org/spec) (Vendor proposal)
- WebMCP tools in the page: WebMCP lets a page offer actions to browser agents. We can only see the declarative form attributes in the HTML; tools registered from JavaScript are invisible to this check. [WebMCP](https://github.com/webmachinelearning/webmcp) (W3C community draft)
- Personal Agent Protocol: A draft protocol that lets personal agents discover how to sign in and act on your site for a user. [Personal Agent Protocol (v0.3 draft)](https://personalagentprotocol.org/) (Vendor proposal)

### Agent commerce

How agents pay or check out. These protocols are new and mostly vendor-led; we only count them when your site publishes them.

- x402 payments: x402 lets an agent pay for a resource over HTTP: the server answers 402 with what it accepts. There is no site-wide discovery file, so check the URL of a paid resource. [x402 specification](https://github.com/coinbase/x402/tree/main/specs) (Vendor proposal)
- Machine payments (MPP): MPP is a draft HTTP authentication scheme for payments: a 402 with WWW-Authenticate: Payment, and an OpenAPI file that marks paid operations. [Payment HTTP authentication (MPP)](https://paymentauth.org/) (IETF draft)
- Universal Commerce Protocol: A UCP profile tells shopping agents which commerce services and payment handlers your store supports. [Universal Commerce Protocol](https://ucp.dev/specification/overview/) (Vendor proposal)
- Agentic Commerce Protocol: ACP defines a checkout API for agents. Its discovery file is still a proposal, so few stores publish it yet. [Agentic Commerce Protocol](https://github.com/agentic-commerce-protocol/agentic-commerce-protocol) (Vendor proposal)

### Page signals

Signals inside the HTML that agents and search engines already rely on: structured data, text that does not need JavaScript, the canonical URL and Open Graph tags.

- Structured data (JSON-LD): JSON-LD states facts about the page (who runs it, what is sold, prices) in a form agents and search engines read without guessing. [schema.org](https://schema.org/) (Community convention) [JSON-LD 1.1](https://www.w3.org/TR/json-ld11/) (Published standard)
- Text without JavaScript: Many agents read the raw HTML and never run scripts. A page that renders its text only in the browser looks empty to them.
- Canonical URL: The canonical tells agents and search engines which URL is the real one, so they do not cite a copy with tracking parameters. [RFC 6596 (canonical link)](https://www.rfc-editor.org/rfc/rfc6596) (IETF standard)
- Open Graph tags: og:title, og:type, og:image and og:url give link previews and many agents a clean title, image and URL for the page. [Open Graph protocol](https://ogp.me/) (Vendor proposal)

## What Rookflare monitors today

Continuous monitoring of these AI readiness checks is not part of Rookflare today. What Rookflare monitors today: desktop and mobile screenshots of the pages you choose compared with your approved baseline, HTTP status, redirects, broken images, JavaScript errors, critical elements, a noindex tag or missing title, title and canonical changes, and on Growth and Agency the uptime of your key URLs. [Start free trial](https://app.rookflare.com/register/).

## Frequently asked questions

### How is the score calculated?

Each check has a weight that depends on the site type you pick. A pass earns the full weight, a warning half and a fail nothing. Checks marked not applicable are left out, so a blog is not marked down for having no payment API. The level reads 85 and up as Agent-ready, 60 as Agent-friendly, 35 as Partly ready.

### Which site type should I pick?

Content site for blogs, docs, shops and marketing sites: reading and discovery weigh most, and API or agent protocols only count when you publish them. API or app for products with an API, sign-in or an MCP server: the API catalog, OAuth metadata and MCP card count even when missing. All checks counts everything.

### Are all of these official standards?

No. robots.txt, Link headers, the API catalog and the OAuth documents are IETF RFCs. DNS-AID, Web Bot Auth, AI usage preferences and MPP are IETF drafts, WebMCP is a W3C community draft, and llms.txt, Content Signals, MCP server cards, A2A, agent skills, ARD, x402, UCP and ACP are vendor or community proposals. Each check in the result names its status and links the specification. Drafts change, so we only count most of them when you publish them.

### Why is x402 not applicable on my homepage?

x402 has no site-wide discovery file. A paid resource answers 402 with its payment requirements, so enter the URL of a paid endpoint to test it.

### Does a high score mean AI can train on my content?

No. The score is about agents finding and reading your pages. We report which AI crawlers your robots.txt allows or blocks without judging the choice, and training is a separate preference (Content-Signal: ai-train=no).

### How do you look up DNS records?

Through a public DNS-over-HTTPS resolver, which only answers public names. We query _agents and _index._agents under your domain and nothing else.

### Can I share a result?

Yes. After a check the page address includes your URL and options. Anyone who opens it runs the same check again; within 10 minutes they get the saved result. We keep no history.

### Is this tool free?

Yes. You do not need an account. Each IP address can run 10 checks a minute and 100 a day, and a website can be checked 10 times in 10 minutes across all visitors so the tool is never used to flood a site.

### Do you store the URL or the results?

The result is kept for 10 minutes so a repeated check is instant, then it is deleted. We do not log the URLs you check or the content of the page.

## More free tools

- [Robots.txt and sitemap validator](https://rookflare.com/tools/robots-txt-validator/): Crawler rules, AI bots, sitemap files and URL count.
- [Meta tag and Open Graph checker](https://rookflare.com/tools/meta-tag-checker/): Title, description, canonical and social card preview.


---
title: "Contact"
description: "Questions about Rookflare, plans or monitoring many websites? Send us a message and we reply by email."
url: "https://rookflare.com/contact/"
---

# Contact

Questions about plans, monitoring many websites or how Rookflare handles your data? Send a message and a person will reply.

Send a message with the form at https://rookflare.com/contact/ (fields: name, work email, optional company, message).

## What happens next

### A reply by email

Every message is read by a person, and we reply to the address you enter as soon as we can.

### Agencies and many websites

Tell us roughly how many sites and pages you look after, and we will suggest a plan.

### Your data

Your message is used only to answer you. It is never added to a mailing list.


---
title: "Privacy policy"
description: "How Rookflare collects, uses and protects personal data. Template pending legal review."
url: "https://rookflare.com/privacy-policy/"
---

# Privacy policy

Status: template pending legal review.

## Who handles your data

Rookflare is operated by **[legal entity, registration number and registered address]**. For account, billing and support information, we act as the data controller. Contact us through our [contact page](/contact/). **Before launch:** publish a dedicated privacy email address.

When you ask us to monitor pages containing other people's personal data, you determine the purpose of that monitoring. Where we act as your processor, a data processing agreement must cover that processing. **Before launch:** confirm these roles and make the agreement available.

## Information we process

- **Account:** name, email, password hash, sign-in and session information, organization and team membership. If you sign in with Google, we receive your name, email address and Google account ID from Google.
- **Monitoring:** the URLs you add, desktop and mobile screenshots, approved baselines, technical results (HTTP status, redirects, broken images, JavaScript error messages, page title and search settings), uptime check results and issue history. Captured pages and error messages may contain personal data.
- **Alert destinations:** email addresses of alert recipients, Slack webhook addresses and, if you turn on SMS and call alerts, phone numbers. Phone numbers and Slack webhook addresses are stored encrypted.
- **Billing:** Stripe customer and subscription references, payment status and billing records. Stripe handles payment card details; Rookflare does not store card numbers.
- **Contact form:** name, email, optional company and your message. We store a keyed hash of your IP address to spot repeat submissions, not the IP address itself.
- **Free website tools:** the URL you submit and the result of the check. Results are cached for 10 minutes so repeated checks of the same page are not run again; they are not stored after that. Your IP address is used for rate limits (10 checks a minute and 100 a day), and a Cloudflare Turnstile check may run in your browser to block automated abuse.
- **Security and errors:** technical logs, IP addresses, user agents and account activity used to investigate failures or abuse, error reports from the dashboard, and the audit log of changes to your organization.

Information comes from you, your team, the pages you select and connected services. Only submit pages you are authorized to monitor; avoid sensitive information that is not needed for the service.

## Why we use it

We use account and monitoring data to provide requested features and support, billing data to administer subscriptions, and technical records to maintain security and diagnose problems.

Where GDPR applies, processing relies on the relevant basis: performing a contract with you, complying with legal obligations, legitimate interests in operating a secure service, or consent where required. For representatives of business customers, account administration may rely on legitimate interests. **Legal review:** confirm each purpose and legal basis before launch.

## Cookies

The dashboard uses essential cookies to maintain sign-in and protect sessions. Optional analytics or advertising technologies, if introduced, require their own disclosure and consent where applicable. **Before launch:** confirm cookie names, purposes and lifetimes against the deployed service, including any set by Cloudflare and Turnstile.

## Service providers

These providers process data on our behalf:

| Provider              | What it does                                                            | Data it receives                                                               |
| --------------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| Hetzner (Germany, EU) | Hosts our servers and database                                          | All data described above                                                       |
| Cloudflare            | Network and security in front of our sites, Turnstile on the free tools | Requests to our sites, including IP addresses                                  |
| Cloudflare R2         | Stores screenshots                                                      | Screenshots of monitored pages                                                 |
| Stripe                | Payments and subscriptions                                              | Billing details, payment card details you enter in the payment form            |
| Resend                | Sends emails (alerts, account and contact emails)                       | Recipient addresses and email content                                          |
| Twilio                | Sends SMS and makes calls for phone alerts                              | Phone numbers and the short alert text                                         |
| Google                | Sign-in with Google, if you choose it                                   | Sign-in request and the account details Google returns                         |
| Sentry                | Error monitoring                                                        | Error details and technical context, with personal data removed where possible |

Slack notifications send alert content to the workspace and channel you choose. Only connect destinations you are authorized to use.

**Before launch:** confirm each provider's processing locations and the safeguards for any transfer outside the EU (for example Standard Contractual Clauses), and sign data processing agreements. We may also disclose information where legally required or necessary to address security incidents and legal claims.

## Retention

- **Scan history and screenshots:** kept for the history period of your plan (shown on the pricing page and in your account). Approved baselines are kept while the page is monitored, and evidence for open issues is kept until the issue closes.
- **Uptime checks:** individual check results for 30 days; daily summaries are kept longer for uptime history and reports.
- **Dashboard error reports and support reports:** 90 days after they were last seen or sent.
- **Audit log:** 1 year.
- **Free tool results:** 10 minutes.
- **After a free trial ends:** monitoring stops. Your websites, settings, approved baseline screenshots and issues stay in your account until you delete it; as on any account without a plan, scan history and screenshots older than 30 days are removed.
- **Free trial records:** which person started a free trial is kept with the organization's billing record, and a one-way hash of each website domain monitored on a free trial is kept so the same site can't start another trial within 12 months. Neither shows who used the trial to anyone else.
- **Account deletion:** deleting your account removes your name and email and deletes organizations where you are the only member.

**Before launch:** confirm retention for contact-form messages, billing records (including legally required accounting retention), backups and server logs, and how closure requests affect each category. Access controls, encryption of secrets and other safeguards reduce risk, but no online service can guarantee complete security.

## Your choices and rights

Depending on applicable law, you may request access, correction, deletion, restriction or portability of your data, and object to certain processing. Where processing relies on consent, you may withdraw it without affecting earlier lawful processing. You may complain to your competent data protection authority.

Use our contact page to make a request. We may need to verify your identity. For personal data inside a customer's monitored pages, contact that website's operator; we will assist where required as its processor.

## Updates

We will update this page when our processing changes and communicate material changes where required. The date above identifies the latest draft. Confirm the completed policy before collecting data under it.


---
title: "Terms of service"
description: "The terms that apply when you use Rookflare. Template pending legal review."
url: "https://rookflare.com/terms-of-service/"
---

# Terms of service

Status: template pending legal review.

## About these terms

Rookflare is provided by **[legal entity, registration number and registered address]**. These terms describe use of our website and monitoring service. You must be legally able to enter into a contract and authorized to act for any organization you represent. For questions, use our [contact page](/contact/).

## What Rookflare does

Rookflare captures desktop and mobile screenshots, compares pages with approved baselines and checks for technical issues. Your plan sets the number of websites and pages, scan frequency, uptime checks, alert channels and history retention. Visual differences require your review: a detected change may be intentional.

Monitoring is periodic, not continuous. Scans and notifications can be delayed or fail. Rookflare does not guarantee that every issue will be detected, prevent outages or replace your own backups and operational checks.

## Your account and websites

Keep your account details accurate, protect your credentials and manage team access. You are responsible for activity you authorize through your account.

Only add websites you own or have permission to monitor, including client websites. You authorize us to request and capture those pages for monitoring. Avoid pages containing sensitive or unnecessary personal data. Do not use the service for unlawful access, internal-network scanning, load testing, security attacks or bypassing access restrictions.

You retain your rights to submitted content. You grant us permission to process and store it only as needed to provide and secure the service. Rookflare software and branding remain ours or our licensors'.

## Plans and billing

The [pricing page](/pricing/) lists provisional prices and limits. The final charge, billing period and applicable taxes must be shown before you pay. Payments are processed through Stripe.

A free trial needs no payment. There is one free trial per person, and a website that was monitored on a free trial cannot be monitored on another free trial for 12 months. When it ends, scans, uptime checks and alerts stop; your websites, settings, approved baseline screenshots and issues stay in your account until you delete it (scan history and screenshots older than 30 days are removed, as on any account without a plan), and monitoring continues when you choose a plan.

Where you choose a recurring subscription, it renews until canceled through billing settings. Cancellation normally takes effect at the end of the paid period. A downgrade is available only once your account already fits the lower plan: remove the websites, pages, team members or other usage it does not include first. It takes effect at the end of the paid period, and until then you cannot add more than the lower plan allows.

**Before billing launches:** confirm renewal notices, cancellation timing, downgrade handling and refund rules. No refund exclusion in this draft overrides mandatory consumer rights. Contact us about an incorrect charge or service problem.

## Availability and account closure

Maintenance, third-party failures and security incidents may interrupt monitoring. We may restrict access to address misuse, unpaid charges or security risks, with notice where reasonably possible. You can stop using the service and contact us about account closure.

Monitoring history expires according to your plan; do not rely on Rookflare as permanent storage. **Before launch:** confirm export options, account-deletion procedures and backup deletion periods. You can delete your account in the dashboard settings. Personal data and the service providers we use (hosting, storage, email, SMS and calls, payments, sign-in and error monitoring) are described in our [privacy policy](/privacy-policy/).

## Responsibility, changes and disputes

Nothing here limits rights or liabilities that applicable law does not allow us to exclude. **Legal review required:** define warranties, any liability cap and the treatment of indirect losses.

Material changes to these terms or an existing subscription should be communicated before taking effect, except where urgent legal or security action is needed. The updated date identifies this draft's latest revision.

**Governing law and courts: [confirm jurisdiction].** Mandatory consumer protections remain applicable. Please contact us first so we can try to resolve a dispute.
