Loading tutorials…
Loading tutorials…
Site Audit only earns its keep when the crawl actually mirrors how Googlebot sees you. This walks through the project + crawl settings that 80% of DIY setups misconfigure on the first pass.
Who this is forOwners or in-house marketers paying $249+/mo for an Ahrefs Standard plan and trying to get the Site Audit module producing real, prioritized work. If your last audit returned 4,000 issues you didn't action, this is the reset.
What you'll need
Step 1
Ahrefs → Site Audit → + New Project → Add domain → choose verification method (DNS, HTML file, GSC, or GTM).
Inside Ahrefs, hit Site Audit in the left rail, then + New Project. Add the apex domain (example.com) — not the www version unless that's your canonical host.
Pick a verification method. DNS TXT record is the most durable; HTML file is the fastest if you have CMS access; GSC verification is the easiest if your GSC is already set up and you just want to be done.
Verify. Ahrefs will not start crawling until the domain is verified — a common reason teams think the audit is 'broken' on day one.
Set the project name to something a teammate can recognize 6 months from now. 'example.com — production' beats 'example.com final v2 (real).'
Step 2
Project settings → Crawl sources. Decide whether Ahrefs should crawl Sitemaps, External pages, GSC URLs, or all of them.
Crawl sources determine where Ahrefs starts. The defaults (Sitemap + External pages discovered during the crawl) work for most sites under 10K URLs.
For larger sites, enable the Google Search Console source — this picks up URLs that are indexed but not in your sitemap, surfacing orphan pages that wouldn't otherwise be audited.
Set the URL scope: subdomain, subfolder, or domain. If you only want example.com/blog audited, set scope to subfolder — otherwise you'll burn credits on /docs, /app, and other paths that don't need SEO attention.
Exclude staging, search-result URLs (e.g., /?s=), and faceted-nav parameters under URL exclusion rules. Faceted nav is the #1 credit waster.
Step 3
Project settings → Crawl settings. JS rendering doubles credit usage — only enable if your site materially relies on client-side rendering for content.
Pick JS rendering if your stack is Next.js without SSR, Vue without SSR, plain React, or any framework where content renders client-side. If your pages return real content in 'View Source,' you don't need JS rendering.
JS rendering doubles crawl-credit cost. Don't enable it 'just in case' — it's the fastest way to burn a $249/mo plan's credit allowance.
Set crawl speed to the fastest setting your server can handle. Default is conservative (4-8 requests/sec). If your server is sized appropriately, raise this to 10-20.
Add a custom User-Agent string if your firewall or CDN is rate-limiting AhrefsBot. WAF rules that throttle Ahrefs are common with Cloudflare's default settings.
Step 4
Project settings → Crawl schedule + Alerts. Weekly cadence for sites updating weekly; monthly for static sites.
Set a schedule: weekly is the right default for active sites; monthly for static brochure sites; daily only if you're shipping site changes daily AND have credits to burn.
Enable email alerts for new critical issues. Ahrefs will email when a new redirect chain, broken canonical, or noindex on an indexable page appears post-crawl.
Connect the project to Slack or Microsoft Teams via the integrations panel if your team works in those tools — alerts that go to email alone tend to get ignored.
Set crawl-credit budget caps if you share an account across multiple sites. Otherwise one runaway site can consume the whole monthly allowance.
Step 5
Hit Start Audit. While it runs, prepare your validation checklist. Compare crawled URL count against GSC indexed count once complete.
Start the first crawl. For sites under 5K URLs it finishes in 30-90 minutes. For 50K+ URL sites, plan for 4-12 hours.
While it runs, open Google Search Console → Pages → check the 'Indexed' count. Note the number.
Once the Ahrefs crawl completes, compare: Ahrefs crawled URLs vs GSC indexed URLs. If Ahrefs is off by more than 25%, your scope or sitemap is wrong. Diagnose before acting on the audit data.
Spot-check 10 random URLs from the crawl report against the live site. If Ahrefs is showing 'noindex' on a page that's actually indexable in the browser, JS rendering may be off when it should be on.
Step 6
Overview → Issues. Sort by Errors first, then Warnings. Tackle the top 10 by URL count, not by alphabetical order.
Open Site Audit → Overview. Look at the Health Score (target: 85+ for content sites, 90+ for ecom).
Click Issues → All issues. Filter to 'Errors' only. Sort by 'URLs affected' descending.
The top 5-10 errors by URL count almost always represent the highest-leverage fixes. A 'broken internal link' affecting 800 pages beats fixing 12 individual 4xx pages.
Export the top 30 issues as CSV. Assign owners. Set a deadline. Re-run the crawl after fixes ship — the Health Score should move 5-15 points in the first round.
Common mistakes
Enabling JavaScript rendering when you don't need it
What goes wrong: Crawl credits drain at 2x the rate. A $249/mo plan that should cover 100K URLs/month suddenly covers 50K. You hit the cap mid-month and stop getting data on critical pages.
How to avoid: Check 'View Source' on 5 representative pages. If content is in the HTML (titles, body copy, schema), turn JS rendering OFF. Re-enable only if a spot-check shows content missing without it.
Crawling at full scope without exclusion rules
What goes wrong: The audit returns 40,000 URLs when your actual site is 4,000. Faceted-nav parameters and search-result URLs dominate the report. You waste 8 hours filtering noise that should never have been crawled.
How to avoid: Add URL exclusion rules under project settings: exclude ?s=, ?filter=, /search/, ?page= patterns, and any session-ID parameters. Re-run the crawl with the cleaner scope.
Ignoring crawl-source mismatches with GSC
What goes wrong: Ahrefs reports 2,500 URLs, GSC reports 18,000 indexed. You spend weeks fixing what Ahrefs sees while Google is ranking pages Ahrefs never crawled. Real coverage problems go unnoticed.
How to avoid: Enable the Google Search Console crawl source in project settings. This pulls every indexed URL into the audit scope so the two systems reconcile.
Setting crawl schedule to daily without a reason
What goes wrong: Daily crawls burn 30x the credits of monthly crawls. Your $249/mo plan caps out in week two. Critical audits get throttled.
How to avoid: Default to weekly for active sites, monthly for static sites. Only run daily if you're actively shipping changes that need same-day validation.
Treating Health Score as the goal
What goes wrong: Health Score is a weighted average — chasing 100 means fixing low-value issues (missing alt text on decorative images) while leaving high-impact problems (broken canonicals, redirect chains) unaddressed.
How to avoid: Use Health Score as a trend indicator only. The real metric is URLs affected by Errors — and the right work is the top 10 errors by URL count.
Not allowlisting AhrefsBot at the firewall
What goes wrong: Cloudflare Bot Fight Mode or AWS WAF rules throttle AhrefsBot. The crawl reports false 5xx errors and missing pages. You spend a week 'fixing' problems that don't exist.
How to avoid: In Cloudflare → Security → Bots, allowlist AhrefsBot. In WAF rules, add an explicit allow for User-Agent containing 'AhrefsBot'. Re-run and confirm errors drop.
Recap
Done — what's next
The 10 Ahrefs Site Audit issues to fix first (and how)
Read the next tutorial
Hand it off
Configuring Site Audit once is a project. Running it weekly, triaging issues, and shipping the fixes is a job. A vetted technical SEO specialist on EverestX will own the project, the schedule, and the fixes — typically $400-1,000/mo at $14-16/hr depending on site size.
See specialist rates
Lite ($129/mo) caps you at 50K crawled URLs/month and one project. Fine for a single small site. Standard ($249/mo) gives 500K URLs and 10 projects — the right tier if you manage more than one site or have any site over 5K URLs.
Open 3-5 representative pages. Right-click → View Source. If the body copy, title, and meta description are present in the HTML, you don't need JS rendering. If those fields are empty placeholders that get filled by React/Vue/Next client-side, you do.
Three usual reasons: (1) Ahrefs hasn't enabled the GSC crawl source, so it misses orphan-indexed pages; (2) Ahrefs is crawling staging/parameter URLs that aren't in GSC's index; (3) your sitemap is incomplete. Reconcile by enabling the GSC source and adding exclusion rules.
Health Score in isolation is meaningless. Look at the issues breakdown: 1,000 URLs with broken canonicals is a real problem; 1,000 URLs with 'no H2' is usually noise. Prioritize by URL count and severity, not the headline number.
Wait 7-14 days after fixes ship before re-crawling. CDN caches and crawl-discovery delays mean immediate re-crawls show stale state. Weekly schedule is enough for most teams.
No — Site Audit requires verified ownership. For competitor crawls, use Site Explorer's pages report or Web Explorer. Those don't require ownership but produce less detail.
Ahrefs
Your Health Score is 68 and the issue list has 4,000 items. This walks through the 10 errors that matter most — the ones causing real ranking damage — and how to fix each.
Ahrefs
Keywords Explorer is the most-used Ahrefs module and the easiest to use badly. This walks through the operator workflow — intent first, Parent Topic second, raw volume last.
Ahrefs
You're paying $249-449/mo for Ahrefs. The question isn't whether the tool is worth it — it's whether you're using more than 10% of it. This is the honest decision framework.