Vireo Pro adds three things to the free plugin’s AI reporting: a weekly AI visibility scan with its history, which pages assistants send readers to, and alerts when AI crawlers lose access or stop arriving. A separate Pro feature, What AI assistants say about you, asks the assistants about your site directly.
Weekly AI visibility monitoring
The free AI visibility scan checks one page when an administrator asks. Pro runs it for you once a week over your home page and your most viewed pages, keeps the results for 26 weeks, and shows how the score moves. It’s on the Search & AI tab of the Overview, in a card called “AI visibility over time”.
The first scan starts within the hour of Pro being active, and the card has a “Run now” button for administrators if you’d rather not wait. A scan works through a few pages at a time in the background, so it doesn’t hold up the site. While it runs the card shows how many pages are done. After a scan, the next one is due a week later. If not a single page could be scanned, usually because the host blocks the site from requesting its own pages, Vireo tries again the next day and the card says how many pages couldn’t be scanned and why.
Which pages
Each scan covers the home page and the most viewed published pages and posts of the last 28 days, by pageviews. The number of those is set under Vireo Analytics, Reports, Traffic alerts, in the “AI visibility scan” row: “Scan the home page and the ___ most viewed pages of the last 28 days”. It takes 5 to 25 and starts at 10. Drafts, redirects and pages that aren’t public are skipped, and so is a page whose address matches one already in the list.
The scan is the same one the free plugin runs, so it checks the same things and scores them the same way. Its requests are left out of your pageviews and crawler figures, as they are for a scan you start by hand. A scan someone started by hand holds up the weekly one until it finishes.
What the card shows
At the top: the average score across the pages scanned, shown as good, middling or poor on the same 80 and 50 lines as the free scan; how many points it moved since the scan before; and how many pages were scanned. Below them:
- Site score by scan: a line chart of the average score for up to the last 26 scans. It appears after the second scan, and its scale zooms in on the scores shown, so a move of a few points is visible.
- Scanned pages: each page’s score, the points it gained or lost since the scan before (“–” when it wasn’t scanned then), and the checks that fail on it. Checks that only warn are counted as “1 warning” under the failures. Each page links to the live page.
- Fix these first: the failing and warning checks across all pages, grouped and ranked by the pageviews of the pages they affect. Each entry says whether it fails or warns, how many pages it affects and their pageviews over the 28 days before the scan, and what to change.
Some checks look at a site-level file rather than at the page: the robots.txt checks, the sitemap and llms.txt. One fix clears them everywhere, so they’re labelled “Site-wide: one fix covers every scanned page”, with the combined pageviews of all pages scanned. The live crawler check isn’t labelled that way, because your server can answer a crawler differently from one page to the next.
Running the scan again on the same day replaces that day’s results, so a day never has two points on the chart. The card covers your WordPress site only, not connected sites.
Access alerts
After each scan Vireo compares the “AI crawler access” checks that fail outright with the scan before. If a check passed on a page last time and fails on it now, it sends one alert, for example when robots.txt starts blocking AI search crawlers or the server starts refusing them. The alert names the check, lists up to five of the pages affected with a count of the rest, repeats what to change, and has a button to the scan.
- A check alerts once. Further pages that join the same problem send nothing, and nothing repeats while it keeps failing.
- Only pages scanned both times can be newly failing. The first scan sends nothing, and a check that was already failing at that point isn’t announced later as new.
- When the weekly scan no longer finds that check failing on any page, Vireo sends a recovery note and closes the incident. A recovery note follows only an alert that went out. If alerts were off, or no channel was set up when the check failed, there’s no note when it clears.
- Warnings and checks in the other groups don’t alert. They show on the card.
The alert is on by default. To turn it off, untick “Alert me when AI crawlers lose access to a page” under Traffic alerts on the Reports screen. It goes to the same email, Slack and webhook settings as the other traffic alerts. The webhook event names are ai_scan_access_failed and ai_scan_access_recovered. These two aren’t sent to WPShake.
Pages AI assistants cite
The “Pages AI assistants cite” card is on the Content tab of the Overview. It breaks the “readers they sent back” number from the free AI assistants card down by the page each reader landed on.
The card opens with “readers sent to a cited page” and “pages cited”. Below them, up to ten pages are listed with:
- Readers: how many came from an assistant in the date range, with the change against the period before when comparison is on.
- Trend: readers per day over the range.
- Mostly from: the assistant that sent the most of them.
The assistants are the ones the free plugin recognises, so a page counts here exactly when it counts on the free card. A page cited in the earlier period and not in this one stays listed at zero, so a drop to nothing shows up. The card is hidden until at least one page has been cited. It covers your WordPress site only, not connected sites.
AI crawler drop alert
Once each morning, Vireo checks how many requests from AI crawlers it recorded on the days just finished. If it recorded almost none for three days in a row, after a steady run before that, it sends one alert. When requests come back, it sends one more note and closes the alert.
The alert is on by default. To turn it off, open Vireo Analytics, Reports, and under Traffic alerts untick “Alert me when AI crawler requests drop off”.
When it alerts
The alert needs a track record to compare with. It stays quiet when:
- Vireo has fewer than about two weeks of recorded days. The status shows “Not watching yet”.
- The site usually sees fewer than 20 AI crawler requests a day, measured as the median of the 28 days before the last three. At that level a quiet spell can’t be told from a drop.
- Vireo recorded no visitors on one of the three days, which points to tracking stopping rather than the crawlers.
Otherwise the alert goes out when each of the last three days came in below a tenth of the usual daily number. Days are judged whole, so the alert arrives the morning after the third quiet day.
Recovery is two days in a row at half the usual number or more. A developer can change the 20-request floor and the tenth with the vireo_ai_crawler_alert_min_baseline and vireo_ai_crawler_alert_drop_ratio filters.
A status line under the setting says what Vireo is doing now: watching, not watching yet, not watching because the site is too quiet, low and waiting for the next daily check, or alert sent. The same line appears in an “AI crawler alert” card on the Search & AI tab.
What the alert says
The email gives the dates, the usual number a day, the count for each of the three days and the last day with recorded AI crawler activity. It says Vireo still recorded visitors on those days, so recording was running. Vireo only counts requests that reach WordPress, so it can’t say why they stopped. The email lists likely causes: a firewall, CDN or security plugin rule, a changed robots.txt, or a caching change. A button opens the AI visibility scan to look for what’s in the way.
Where alerts go
Alerts use the same channels as the other traffic alerts, set on the same Reports screen:
- Email: the addresses in “Email recipients”, one per line. Left blank, the alert goes to the site’s admin email.
- Slack: an incoming webhook, which has to be a
hooks.slack.com/services/address. - Webhook: any https address you control. It receives a JSON POST with the site and the numbers behind the alert.
Webhook addresses are stored encrypted. “Send test alert” posts a sample to every channel you’ve saved and shows whether each delivered.