FIX · TECHNICAL SITE AUDIT
A technical site audit that knows which pages matter.
Crawl your site with optional JavaScript rendering and Lighthouse checks, then prioritise issues P0 to P3 with search demand, analytics and Google’s indexing evidence beside every finding. Fix the template once, not the page a thousand times.
- P0–P3 priorities
- JavaScript rendering
- Compare audits over time
- P0Pages blocked by robots.txt12 URLs with search demand
- P1Canonicalised to another URL48 product variants
- P2Deep pages with demand31 URLs more than 4 clicks deep
- P3Missing alt text220 images on 3 templates
P0–P3
priorities based on the pages affected
10,000
pages analysed per audit, larger sites sampled
Depth & demand
crawl depth against search demand
4 layers
crawl, indexability, Google status, Googlebot logs
INSIDE THE PRODUCT
From a crawl to a prioritised fix list.
Every finding comes with the pages affected and the search evidence behind them.
Priorities
Fix the issues that affect pages that matter
Issues are ranked P0 to P3 and grouped by template, with affected URLs, search clicks, analytics sessions and Google’s observed status beside them.
- P0–P3 priorities
- Template-level patterns
- Clicks and sessions per URL
| Template | URLs | Severity |
|---|---|---|
| Product | 640 | P1 |
| Category | 84 | P2 |
| Blog article | 212 | P3 |
| Checkout | 4 | P0 |
Depth & demand
See pages buried too deep for their demand
Compare crawl depth with search demand and see depth by template in a crawl tree, so important pages are never four clicks from the homepage.
- Crawl depth against search demand
- Depth by template
- 3D crawl tree and table view
Verify
Confirm fixes with a comparable audit
Compare completed audits to track remediation. A fix stays “awaiting verification” until a new check confirms it.
- Affected URLs per severity over time
- Fixed, awaiting verification
- Stop a crawl at any time
Crawl scope
Choose how the crawler sees the site
Follow links first, take a representative sample that covers sitemap sections in proportion after pages with search traffic, or let the audit choose. Add priority URLs, JavaScript rendering and Lighthouse when the job needs them.
- Follow links, representative sample or automatic
- JavaScript rendering, slower but complete
- Priority URLs crawled first
- ScopeRepresentative sampleUp to 10,000 pages
- RenderJavaScript onLoads each page in a browser
- LighthouseKey templatesCost shown before start
- Priority12 URLsCrawled first
Architecture
See the site the way a crawler walks it
A crawl tree, a directory tree and the internal link graph show click depth, link score and orphaned sections, with depth compared against search demand.
- Crawl and directory trees
- Internal link graph and link score
- Depth against search demand
| Section | Pages | Avg. depth |
|---|---|---|
| /phones/ | 640 | 2.4 |
| /accessories/ | 420 | 3.1 |
| /blog/ | 212 | 3.8 |
| /brands/phone-a/ | 38 | 5.2 |
Workflow
Track every fix to verified
Give an issue a remediation status and a note with the owner or ticket link. “Fixed, awaiting verification” stays open until a new audit confirms it; accepted risks drop out of open alerts.
- Remediation status and notes
- Fixed, awaiting verification
- Verified resolved by a new audit
- VerifiedBlocked by robots.txtResolved in the 21 Oct audit
- AwaitingCanonical points elsewhereFixed 24 Oct, re-run due
- In progressRedirect chainsOwner: dev team, ticket 412
- AcceptedThin tag pagesRisk accepted with a note
Monitoring & extraction
Schedule audits and pull your own fields
Run audits daily, weekly or monthly with alerts for P1 and above or P2 and above. Add custom extraction rules, with e-commerce presets, to collect fields such as price, stock or SKU from each page.
- Scheduled audits with alerts
- Custom extraction rules
- E-commerce presets
| Field | Found | Missing |
|---|---|---|
| Price | 612 | 28 |
| Stock status | 598 | 42 |
| SKU | 640 | 0 |
| Product schema | 571 | 69 |
WHAT IT MEASURES
What every audit checks.
What each metric tells you, and where it comes from.
| Metric | What it tells you | Source |
|---|---|---|
| Issues P0–P3 | Findings ranked by impact and the pages affected. | Ndovu crawler |
| Discovered, fetched, analysed | Three separate coverage totals, so sampling is never hidden. | Ndovu crawler + sitemaps |
| Indexability | Status codes, robots rules, noindex and canonicals for each URL. | Ndovu crawler |
| Google’s index status | What URL Inspection recorded for important pages. | Google Search Console |
| Click depth and link score | How far a page sits from the homepage and how much internal linking it receives. | Ndovu crawler |
| Content checks | Near-duplicates, headings, structured data, hreflang and accessibility. | Ndovu crawler |
| Field Core Web Vitals | Real-user LCP, INP and CLS for each template. | Chrome UX Report |
| Search demand per URL | Clicks and sessions beside each affected page. | Search Console + GA4 |
UNDER THE HOOD
How the site audit crawls and prioritises.
How the numbers are produced, so you can judge them for yourself.
Discovery you can choose
The crawler starts from the start URL and your sitemaps. It can follow links first, take a representative sample across sitemap sections after pages with search traffic, or choose automatically. It respects robots.txt and stops if bot protection blocks it.
Analysis per page
Each fetched page, rendered in a browser when you turn that on, is checked for indexability, canonicals, content, headings, links, structured data, hreflang and accessibility.
Priorities from impact
Each issue’s priority reflects how serious it is, how many pages it affects and the search demand on those pages, then rolls up by template so one fix can clear many URLs.
Verified by the next crawl
A fix moves to “awaiting verification” when you mark it, and to “verified resolved” only when a comparable audit no longer finds it.
HOW IT WORKS
From a crawl to a verified fix.
Four steps from connecting your data to a decision you can stand behind.
Choose the scope
Pick the crawl mode, page limit, rendering and Lighthouse checks, and confirm the crawler is allowed.
Prioritise
Start with P0 and P1 issues on templates and pages that earn search attention.
Hand over the fix
Give developers the affected URLs, the evidence and the template.
Verify
Re-run a comparable audit; issues move to verified resolved only when the new crawl agrees.
WITH YOUR AI AGENT
Ask what to fix first, with the URLs.
Your agent runs or reads audits, and ranks issues by the pages they affect.
- Uses the same data as the web app
- Paid tools estimate their cost first
- Saves the report to the project
YouWhat should the developers fix first from this week’s audit?
get_audit_statusget_audit_issuesget_audit_pages
AgentTwo P1 issues cover most of the risk: 48 product variants canonicalise to a filtered URL, and 12 blog pages with impressions are blocked by robots.txt. Both are template fixes.
YouList the affected product URLs with their clicks.
AgentHere are the 48 URLs with last month’s Search Console clicks; the top ten account for 81% of the clicks.
Illustration · sample data
USE CASES
Built for the way you work.
How teams put it to work.
Fix product templates once
See issues grouped by template, so one theme fix clears hundreds of product pages.
Get a clear fix list
Hand developers prioritised issues with affected URLs and the evidence for each.
Audit before you pitch
Run a representative sample on a prospect’s site and show issues ranked by search demand, not a raw count.
Keep a large archive healthy
Sample sitemap sections in proportion and watch depth, duplicates and structured data across thousands of articles.
ALSO INCLUDED
More from site audit.
More capabilities that come with it, in the same project.
Accessibility & content
Accessibility, structured data, headings and internal linking checks.
Core Web Vitals
Real-user field data for the audited templates.
Inspect URL
Every signal for one audited URL, on one timeline.
DATA & LIMITS
Know what the numbers can and cannot tell you.
Where the data comes from, how fresh it is, and the questions it cannot answer on its own.
| Source | What it provides | Freshness & limits |
|---|---|---|
| Ndovu audit crawler | Pages, links, status codes, rendering and content checks. | Up to 10,000 pages analysed per audit; larger sites are sampled. |
| Google Search Console | Clicks and index status for affected pages. | About three days behind; inspection is quota-limited. |
| Google Analytics 4 | Sessions for affected pages. | As recorded by your property. |
| Lighthouse provider | Lab performance checks. | Paid; cost shown before start. |
A crawl is a snapshot
The audit reports the site as it was during the crawl. Changes after it need a new audit.
Sampling is labelled
Large sites are sampled. Discovered, fetched and analysed totals are always shown separately.
Bot protection can stop it
If a firewall blocks the crawler, the audit stops and says so. Allow the crawler to complete it.
A finding is not a ranking factor
Priorities reflect impact on crawling, indexing and users, not a promised ranking gain.
WORKS WITH
Connected to the tools you already use.
The sources and clients this feature reads from or works alongside.
CHOOSE THE RIGHT VIEW
Which view answers which question.
Start where the question points. Each view keeps its own source.
| Your question | Start with | Why |
|---|---|---|
| What is broken on my site? | Technical site audit | Ndovu’s crawl of your links. |
| What do Google’s crawlers actually request? | Crawl Analytics | Verified crawler logs. |
| Is a page indexed? | Indexing intelligence | Google’s own index status. |
| Is the site slow for real users? | Core Web Vitals | Field data by template. |
LEARN & TRY
Guides and free tools for the same job.
Read how the evidence works, or try a free check before you connect a project.
Prioritise a technical audit
Fix the issues on the pages that earn search attention first.
FAQ
Site audit: common questions.
Straight answers about what it does, what it costs and where its limits are.
How many pages can one audit crawl?
Up to 10,000 pages are analysed per audit. Larger sitemap inventories are counted and sampled, and discovered, fetched and analysed totals are shown separately.
Does the crawler respect bot protection?
Yes. The audit crawler signs its requests and stops automatically when bot protection blocks it, so you can allow it rather than fight it.
Do Lighthouse checks cost credits?
Lighthouse and rendering checks may incur provider charges. The cost is shown before you start.
How do I confirm a fix worked?
Run a comparable audit. Findings stay “fixed, awaiting verification” until a new check confirms them.
Can I schedule audits?
Yes. Run audits daily, weekly or monthly, with alerts for P1 and above or P2 and above.
Does it render JavaScript?
Yes, optionally. Rendering loads each page in a browser before analysing it, which is slower but sees content added by scripts.
Does it work on Shopify?
Yes, with care: Shopify rate-limits crawlers, and the audit warns when that slows or limits the crawl.
Can I extract custom data?
Yes. Add extraction rules by selector and attribute, or use the e-commerce presets for fields such as price and stock.
Can I compare two audits?
Yes. The changes view compares completed audits, and issue trends show affected URLs by severity over time.
What are the limits of the data?
The documented crawler analyses up to 10,000 pages per audit. Larger sitemap inventories are counted and sampled. Discovered, fetched and analysed totals are separate. Lighthouse checks may incur provider charges.
How do I get access?
Platform access is reviewed. Request access with your website and the data sources you use, and the team will help you connect them.
See it with your own data.
Tell us about your website. We will review access and help you connect the right sources.