SEO changes monitoring for your websites
SEOtto is an SEO monitoring tool. It crawls your site as often as every hour, compares each page with the last crawl, and alerts you when a change can cost you search traffic: a noindex tag, a robots.txt block, a broken sitemap or a changed title or canonical. You fix it before Googlebot comes back.
Free SEO checker. Paste any URL to test it the way a search engine reads it:
Monitor one site for free: 25 pages, checked daily. Start free
What SEOtto does.
SEOtto checks your website for problems that can remove pages from Google. It runs the same checks every day or every hour, compares the results with the last crawl, and tells you what changed.
Add your site
Enter your website's address. SEOtto finds your pages in your XML sitemap, or follows your internal links if there is no sitemap. There is no plugin to install and no Google account to connect.
SEOtto checks every page
It reads each page the way Googlebot does: the status code, noindex tags, the canonical, the title, the meta description and the H1. It also reads robots.txt, the sitemap and the SSL certificate. This runs every day, or up to every hour on Pro and Agency.
You get an alert when something breaks
By email, Slack or webhook. The alert says which page broke, what changed and how to fix it. When nothing changes, SEOtto sends nothing.
HTTP/1.1 200 OK
Technical SEO issues, found before Search Console reports them.
Search Console shows an error after Google has crawled the page. SEOtto shows it when the page changes on your site. Below are four common problems, and what each one looks like in SEOtto.
Organic search traffic
last 9 weeksTuesday's deploy
SEOtto alerts that hour
Analytics shows it, three weeks later
Excluded by ‘noindex’ tag
Noindex tag on live pages
A noindex tag tells Google to remove a page from search results. It often reaches the live site by mistake, from a staging setup or from the WordPress setting “Discourage search engines from indexing this site”. SEOtto checks the meta robots tag and the X-Robots-Tag header on every page.
- A critical alert after the crawl that finds it
- What the page said before, and the day it changed
Blocked by robots.txt
robots.txt blocking Googlebot
One line in robots.txt, Disallow: /, stops Google from crawling your whole site. The pages still open in a browser, so nobody notices. SEOtto reads robots.txt at the start of every crawl, the way Googlebot reads it, and keeps every version.
- A critical alert when robots.txt blocks the whole site or Googlebot
- Also checked on every crawl: the sitemap, the redirect to https, www and non-www, and the SSL certificate
Couldn't fetch
XML sitemap errors
When your sitemap returns an error or comes back empty, Google finds your new pages more slowly. Your server logs nothing, because nothing failed on its side. SEOtto loads your sitemap on every crawl and counts the URLs in it.
- An alert when the sitemap fails to load, is empty, or loses 20% or more of its URLs
- Every issue says what it means and how to fix it
rel="canonical"
Title tag, meta description, H1 and canonical
A new theme or a plugin update can change these tags on hundreds of pages at once. SEOtto saves them for every page on every crawl. It flags tags that are missing, duplicated or too long, and canonicals that point to a different page.
- A preview of how the page may look in Google
- Character counts for the title and the meta description
Track SEO changes on every page.
SEOtto compares every crawl with the one before. Each difference is saved with the date, the old value and the new value.
- Old value in purple, new value in blue
- On every page: status code, noindex, canonical, title, meta description, H1, redirects, Open Graph and structured data
- For the whole site: robots.txt, line by line, and the sitemap
- Change history kept for as long as the site is monitored
SEO alerts by email, Slack and webhook.
You get one message per crawl, and only when an issue opens or is fixed. It names the page, says what is wrong and what to do. The first crawl of a new site sends no alerts.
- Email on every plan. Slack and webhooks on Pro and Agency
- Choose the lowest severity each channel gets
- Accept an issue you meant to have, and it stays quiet until the value changes
#seo-alerts
10:12SEOtto
Critical on ridgeline.example: robots.txt blocks the entire site (+1 more)
Ridgeline SaaS · 2 critical found on Ridgeline SaaS
critical robots.txt blocks the entire site
robots.txt disallows everything for User-agent: *. No page on this site will be crawled while this line stands.
critical Page returns an error status
ridgeline.example/customers
- checks on every page and site, every crawl
- 34
- between crawls on Pro and Agency
- 1 hour
- of page history on Agency
- 2 years
- client sites on one Agency overview
- 100
SEO monitoring for agencies.
Monitor up to 100 client websites from one overview, sorted by the most serious open issue.
- Group sites by client on the overview
- A separate alert channel for each client, group of sites or single site, each with its own lowest severity
- Client SEO reports as a PDF or a share link
- No per-seat pricing
Free SEO monitoring for one website.
Free: 1 site, 25 pages, daily checks and email alerts. Pro: 10 sites, 500 pages, hourly checks, Slack and webhooks. Agency: 100 sites and 2,000 pages. Every plan runs every check.
Free
One site, checked every day.
$0forever
- 1 site, 25 pages
- Daily crawl
- Email alerts
- 14 days of page snapshots
- Every check in the catalog
Pro
For one site you cannot afford to lose.
$19per month
- 10 sites, 500 pages each
- Hourly crawl
- Email, Slack and webhook alerts
- 180 days of page snapshots
- Per-site alert routing
Agency
For a roster you answer for.
$79per month
- 100 sites, 2,000 pages each
- Hourly crawl
- A separate alert channel per client
- 2 years of page snapshots
Questions
Checking a website for technical SEO problems on a schedule rather than once. SEOtto crawls each page every day, or up to every hour on Pro and Agency, keeps what it found and alerts you when something changes that affects search: indexability, robots.txt, the sitemap, status codes, redirects, titles and canonicals.
Common technical causes are a noindex tag, a robots.txt Disallow rule, a canonical pointing to another URL, a redirect, or a 404 or 5xx status code. SEOtto checks every page for these on each crawl and shows when the value changed.
34 checks on every crawl, on each page and on the site as a whole: indexability, status codes and redirects, titles, meta descriptions, H1s and canonicals, robots.txt, the XML sitemap, HTTPS and the SSL certificate. Every check is listed with its severity.
An audit checks a site once. Monitoring checks it on a schedule and shows what changed since the last check, so you see the day a title, canonical or robots rule changed and what it said before.
No. SEOtto reads your public pages, robots.txt and sitemap. There is no plugin, script tag or account to connect.
No. It sends a limited number of requests at a time, follows robots.txt when discovering pages and uses a user agent ending in SEOtto/1.0. You can add a pause between batches for each site, which helps on shared hosting.
HTTP status, indexability, meta robots, X-Robots-Tag, canonical, title, meta description, H1, redirect target, H2s, Open Graph tags, word count, internal link count and structured data types. At site level: robots.txt, the sitemap, HTTPS enforcement and the SSL certificate. Changes to body text are ignored.
One message per crawl, sent only when an issue opens or closes. The first crawl of a site sends nothing. Issues you accept stay quiet until the accepted value changes.
The crawl stops at the limit. URLs you added by hand are crawled first, then the sitemap in order. The report shows that the crawl was cut short and how many URLs it found.







