Uptime and the page check
When a page counts as down or slow, and what the page check reads when it answers: noindex, canonical, title, description, H1, blank pages and your text.
Updated
Every site gets an uptime check on its home page, and you can add more pages with Watch pages. Each uptime check also reads the page it gets back, which is the page check. Together they tell you when a page is down, slow, or still up but no longer fit for search.
The homepage is checked every 5 minutes on Free and every minute on Pro and Business. Other watched pages are checked every hour on Free, every 30 minutes on Pro and every 15 minutes on Business.
Uptime
Each check opens the page, follows up to 5 redirects, and compares the status it ends on with the status you expect, 200 to start with. A check fails when:
- there’s no answer: the name doesn’t resolve, the connection is refused, or nothing arrives within 10 seconds, redirects included
- the page answers with a different status than expected
- there are too many redirects, or the page is too big to read
A failed fetch is tried again once 2 seconds later before it counts: when there’s no answer, or the answer is a server error (5xx) or 429. Only if the second try fails too does the check fail. It shows as Couldn’t check with the reason, such as “Expected HTTP 200, got 503.” Once enough checks in a row fail, the page counts as down, which is critical.
Blocked for SEOComet
A page that answers 401, 403 or 429 when it should answer 200 is usually not down. A firewall, a CDN rule or bot protection is turning SEOCometBot away, while visitors and Google may get the page just fine. SEOComet doesn’t call that down. Once it happens on enough checks in a row, it raises Blocked for SEOComet, a warning, and the page check doesn’t run because there’s no page to read. Blocked checks don’t count as downtime.
To fix it, allow SEOCometBot through. See Let SEOCometBot through.
Slow responses
A response is slow when it takes longer than your limit, 5,000 ms to start with. The time runs from the first request to the final answer, redirects included.
A single slow response still counts as up. Once enough checks in a row are slow, SEOComet raises a warning.
Failures in a row
One failed or slow check is often a blip, so nothing is raised until the same thing happens on several checks in a row: 2 to start with. That’s on top of the retry: each of those checks has already tried twice. You can change it in the check’s Settings, under Advanced › Failed or slow checks in a row before it counts.
Failed, slow and blocked are counted separately, each against that number. A failed check followed by a slow one doesn’t add up to two. A failed check also starts the slow count again.
Expected status
Most pages should answer 200. Change it when a page should answer with something else, such as a 404 or 410 for a page you’ve removed and want to keep removed. The status is compared after redirects, so a page that redirects to a working page counts as up. A redirect status can’t be the expected status.
Uptime percentage
Uptime (30 days) is the share of the home page’s checks over the last 30 days that found it up. On a plan that keeps less check history, it covers fewer days. Every failed check counts as down, including ones before the alert threshold. Slow checks, and checks with page issues, count as up.
It’s worked out from one check: the uptime check on the site’s own address, or its oldest uptime check if none is on the address. Until there are 7 days of checks, it shows how many days of data there are instead of a percentage.
The page check
The page check reads the page from the same request as the uptime check. It runs when the page answered with the status you expect, that status is a 2xx, and the page is HTML. It doesn’t run for a page that’s down, a page you expect to answer 404 or 410, or a file that isn’t a web page.
It looks at:
- noindex, in a robots or googlebot meta tag or the
X-Robots-Tagheader. A noindex that appears after the first check is critical. One that was already there when SEOComet first read the page is a warning, since it may be on purpose. - The canonical link. A canonical that points to another address is a warning. So is one that changes and no longer points to the page itself. A canonical that goes away is info, noted once.
- Title, meta description and H1. A missing one is a warning. A changed one is info, noted once so you can check the change was meant.
- Blank pages and your own text, below.
The first check records how the page looks. Changes are only reported from the second check on.
Required and forbidden text
In the check’s Settings, under Advanced, you can list Text the page must contain and Text the page must never contain, one line each. Matching isn’t case-sensitive, and it looks at the visible text of the page, not its HTML.
- A line from the must-contain list missing from the page is critical. Use it for something that should always be there, like a price or a sign-up button’s words.
- A line from the must-never-contain list showing up is critical. Use it for error messages, like “Database error”.
Blank pages
A page that answers fine but shows almost no text often means an empty template or a failed build. SEOComet counts the visible characters on the page, leaving out scripts, styles and other hidden markup. Fewer than your minimum, 20 to start with, is a warning.
SEOComet doesn’t run scripts, so a page that builds its text with JavaScript always looks empty to it. Such a page only counts as blank when it had text on an earlier check and lost it. Set the minimum to 0 to turn the blank check off.
What it can find
Uptime issues
| Issue | Severity | What it means |
|---|---|---|
| Site down | Critical | The address failed, or answered with the wrong status, on as many checks in a row as your alert threshold (2 to start with). |
| Slow responses | Warning | The address took longer than your limit (5,000 ms to start with) to answer, on as many checks in a row as your alert threshold. |
| Blocked for SEOComet | Warning | The address answered SEOComet with 401, 403 or 429 instead of the page, on as many checks in a row as your alert threshold. A firewall or bot protection is probably turning SEOCometBot away. Visitors and Google may be fine, so it isn’t counted as down. |
| Redirect changed | Info | The address now ends up somewhere different after its redirects, for example after a move to https or to a new domain. |
When the home page answers with a 2xx status, its uptime check also checks the other versions of your address. See Home page redirects.
Page issues
| Issue | Severity | What it means |
|---|---|---|
| Page set to noindex | Critical | The page was indexable and now says noindex, in a robots meta tag or the X-Robots-Tag header. It can drop out of search results. |
| Page looks blank | Warning | The page answered fine but has less visible text than your minimum (20 characters to start with, 0 turns it off). An empty template or a failed build often looks like this. |
| Expected text missing | Critical | Text you said the page must contain isn’t in its visible text any more. |
| Unwanted text found | Critical | Text you said the page must never contain, such as an error message, is on the page. |
| Page is noindex | Warning | The page was already set to noindex when SEOComet first read it. |
| Canonical changed | Warning | The canonical link changed and no longer points to the page itself. Search engines may index the other address instead. |
| Canonical removed | Info | The page had a canonical link on the last check and doesn’t now. Noted once. |
| Canonical points elsewhere | Warning | The canonical link points to another address, so search engines are asked to index that one instead. |
| Title missing | Warning | The page has no title, so search results show one Google makes up. |
| Meta description missing | Warning | The page has no meta description, so search results show a snippet picked from the page. |
| H1 missing | Warning | The page has no h1 heading. |
| Title changed | Info | The page’s title is different from the last check. |
| Meta description changed | Info | The page’s meta description is different from the last check. |
| H1 changed | Info | The page’s first h1 is different from the last check. |