On this page
  1. How the NeoRank Engine crawls
  2. The checks
  3. The health score
  4. Core Web Vitals
  5. The audit views
  6. Fix, then verify

Features

Site audit and the NeoRank Engine

The site audit summarises the latest finished crawl of the NeoRank Engine, NeoRank's crawler: what it reads, what it checks page by page and how it scores your site.

How the NeoRank Engine crawls

  • It identifies itself as NeoRankBot/1.0 (+https://neorank.ai/bot).
  • It reads your robots.txt first and honours its rules for every URL. If the file asks for a delay between requests (Crawl-delay), pages are fetched one at a time with that delay.
  • It discovers the sitemaps declared in robots.txt and /sitemap.xml (up to five sitemap files followed).
  • It does not run JavaScript: it reads the HTML served. A site whose content appears only after JavaScript gets the CLIENT_RENDERED warning.
  • It reads public pages only: no CAPTCHA bypass, no proxy rotation.
Crawl typePages
Quick12 pages, whatever the plan
FullUp to your plan's pages-per-audit cap

Crawled pages also count against a monthly page quota: they are reserved before the crawl and unused pages are returned. Caps: see the “Plan usage” panel and the Plans and billing page.

The checks

CodeSeverityTrigger
TITLE_MISSINGErrorNo title tag
TITLE_LENGTHWarningTitle outside 15 to 65 characters
TITLE_DUPLICATEWarningSame title on several pages
META_DESCRIPTION_MISSINGWarningNo meta description
META_DESCRIPTION_LENGTHNoticeDescription outside 50 to 170 characters
H1_MISSING / H1_MULTIPLEWarning / NoticeNo H1, or several
CANONICAL_MISSINGWarningNo canonical
CANONICAL_INVALIDErrorUnreadable canonical
CANONICAL_CROSS_ORIGINWarningCanonical to another domain
NOINDEXNoticePage excluded from the index by the robots directive
HTML_LANG_MISSINGNoticeLanguage not declared
VIEWPORT_MISSINGWarningNo viewport tag (mobile)
IMAGE_ALT_MISSINGWarningImage without an alt attribute
HREFLANG_INVALID / HREFLANG_DUPLICATEWarning / NoticeInvalid or duplicated hreflang
JSON_LD_INVALIDErrorJSON-LD block that does not parse (syntax check, not Schema.org conformance)
INTERNAL_LINKS_MISSINGNoticePage with no crawlable internal link
CLIENT_RENDEREDWarningContent rendered in the browser
HTTP_ERRORErrorHTTP status 400 or above
CONTENT_EXACT_DUPLICATEWarningContent identical to another page's
ORPHAN_PAGE_CANDIDATENoticeIn the sitemap, but no internal link to it observed

The health score

Each page starts at 100 and loses 15 points per error, 8 per warning and 3 per notice, never going below 0. The site score is the rounded average of the page scores. “Overall health” shows that score out of 100 and the change since the previous crawl:

ScoreStatus
80 and aboveHealthy index
50 to 79To watch
Below 50Critical

Core Web Vitals

They come from the Google PageSpeed Insights API: field data (CrUX) when Google has it, otherwise a lab measurement (Lighthouse), with the measured URL and date. This capture is enabled or not depending on the platform; without a capture, the card shows “Not measured”.

The audit views

  • Site audit: overall health, findings by severity, engine readings (JSON-LD, words, links, language), AI crawler access, recommendations.
  • Issues and alerts: every issue with its finding count, “New” (change since the previous crawl) and “Trend”. Filters by category (AI search, Crawlability, Content, Meta tags) and severity. CSV export.
  • Crawled pages: every URL with status, response time, internal inbound links and issues; the page report also shows the JSON-LD, answer candidates, question / answer pairs and the heading outline.
  • Robots directives, simulator and generator: robots.txt reading for eight AI crawlers, testing a path, a proposed file. Nothing is published on your site.

Fix, then verify

  1. Open Resolve on an issue: impact, why, where, before / after, steps and affected pages (CSV export).
  2. On paid plans, “Generate the fix with AI” proposes a fix marked “AI-generated · to check”; it uses your AI quota.
  3. Fix and publish.
  4. Click “Run the crawl again” (paid plans, monthly page quota): the issue disappears when the next crawl no longer finds it.

Need more help?

A question the documentation does not answer? The help center covers every dashboard page, and support answers the rest.