- Most audits are 400-page PDFs nobody actions. Semalt's output is a triaged shortlist ranked by traffic-at-risk.
- 3 issue categories account for ~75% of real traffic loss on Doha bilingual sites: canonicals, JS-only content, hreflang breakage (AR/EN).
- A bilingual 4,000-URL site crawls in ~11 minutes. Findings export to Jira/Linear tickets engineers action.
- On-demand recrawl confirms fixes in minutes, not the next weekly scan.
A technical SEO audit is only useful if the report gets acted on. That sounds obvious. In practice, most audit tools produce output that stays on someone's desktop, unopened, until the next quarterly review — because the report is written for auditors, not engineers. This is a practical walkthrough of how our Doha team runs technical audits on Qatari bilingual sites using Semalt's audit module.
Why standard audit reports die in the inbox
Hand a Doha developer a 400-page audit PDF with 3,000 issues flagged and one of two things happens. They ignore it entirely. Or they cherry-pick the five easiest items, ship them in a Thursday afternoon, and go back to product tickets. Either way, the underlying traffic problems remain unresolved. The failure mode is not the developer — it is the report format. Audits that treat every finding as equally important produce a document nobody can prioritise from.
A useful audit does three things a bad one does not. It separates issues losing traffic today from issues that might matter theoretically. It groups related failures by root cause — one broken template affecting 500 URLs is one ticket, not 500. And it presents the shortlist in a format engineering can action.
The four-step audit sprint
How the crawler behaves under the hood
Semalt's crawler is a headless Chromium fleet distributed across regional edges. GCC traffic is served from a Middle East POP, which matters for latency-sensitive JavaScript execution timing on sites hosted in-region (Ooredoo, Vodafone Qatar, or MEEZA data centres). It respects robots.txt, executes JavaScript before parsing the DOM, and correctly handles RTL rendering — a check most Western audit tools skip entirely.
The eleven checks we scan for first on Qatari sites
| # | Check | Severity | Hit rate on Qatari sites |
|---|---|---|---|
| 1 | Sitemap vs. indexed URL count | Critical | 78% |
| 2 | Canonical integrity (AR ↔ EN) | Critical | 69% |
| 3 | Redirect chain length > 2 | Serious | 51% |
| 4 | Hreflang reciprocity (AR/EN) | Critical | 72% |
| 5 | Core Web Vitals (field data) | Serious | 64% |
| 6 | JS-rendering vs. HTML diff | Critical | 46% |
| 7 | Structured data validity | Moderate | 82% |
| 8 | Broken internal links | Serious | 57% |
| 9 | Duplicate title/meta patterns | Moderate | 70% |
| 10 | Image weight (WebP/AVIF) | Serious | 83% |
| 11 | RTL rendering + Arabic font subsetting | Moderate | 61% |
The three checks worth digging into on Qatari sites
Bilingual canonical integrity — the failure mode most audits miss
Every AR page should canonicalise to the AR version, every EN page to the EN version. Four failure patterns dominate on Qatari sites: EN pages canonicalising to AR (or vice versa); shared canonical pointing to the root; canonicals crossing protocol/subdomain boundaries; canonical pointing to a redirect chain. The first two are particularly damaging — Google merges the two language versions into one index entry and neither ranks well in its native language SERP.
Hreflang reciprocity between AR and EN
Every AR page should declare an en-QA (or en) alternate, and the EN counterpart must declare an ar-QA alternate pointing back. Broken reciprocity on bilingual Qatari sites is the number-one hreflang failure we see — hit rate 72% on new client audits. Semalt's check is bidirectional and language-pair aware.
JavaScript rendering diff on Arabic content
Modern React and Vue sites often ship an empty HTML skeleton and populate Arabic content only after JS runs. Googlebot renders JS on a delayed second pass, which means fresh Arabic content lags into the index — a serious problem for time-sensitive verticals (news, events, hospitality bookings). Semalt's two-pass crawl catches this immediately.
Handing the output to engineering
The gap between "we ran an audit" and "the fixes shipped" is where most engagements fail. Semalt closes it with three parallel exports: a CSV for the SEO team, a Jira/Linear-compatible ticket batch for engineering, and a plain-English executive summary. Each ticket includes affected URL list, reproduction steps, suggested fix, estimated traffic-at-risk, and a linked diff view.
The recrawl-and-verify loop
Shipping a fix without confirming it landed is how "fixed" bugs quietly regress. Semalt supports on-demand recrawls of specific URLs — you do not wait for the next full weekly scan. Push the canonical correction, click "verify", get confirmation within two minutes that the crawler now sees the expected value across both language versions.
Pre-audit checklist
“On bilingual Qatari sites, the single most missed check is EN pages canonicalising to AR (or vice versa). Google merges both language versions into one entry and neither ranks properly in its native SERP.”
On a bilingual Qatari site, the canonical and hreflang checks matter more than the other nine combined. Fix those first, verify with a recrawl, then move down the list.
What the audit does not cover
Semalt's audit is a page-and-site-level tool. It is not a log-file analyser — enterprise-scale crawl-budget work still calls for dedicated log analysers. It does not replace hands-on QA of critical user journeys, especially payment flows in Arabic. And it does not audit AMP separately.
Frequently asked questions
How often should we recrawl?
Full site: weekly for actively-changing sites, fortnightly for stable brochure sites. Targeted recrawls after a fix: immediately, then again 48 hours later once caches settle.
What crawl rate is safe?
Semalt's default is ~5 rps. For a modest site behind a normal WAF, 10–15 rps is safe. For sites behind Ooredoo Managed Security or Ministry firewalls, you may need to explicitly whitelist the crawler's IP range.
Does the audit correctly handle Arabic RTL rendering?
Yes. RTL layout, Arabic font subsetting, and diacritic handling are all validated. Where most Western audit tools flag Arabic content as unreadable or silently skip it, Semalt renders and analyses it correctly.
How do we handle findings we cannot fix?
Mark as "accepted risk" with a written justification. The finding stays on the report so future teams know it was considered, but drops out of the active work queue.
What is the most commonly missed check on Qatari sites?
Consistently: canonical pointing across language versions (EN → AR or AR → EN). Almost no other audit tool separates this from generic canonical warnings.
Starting on your own site this afternoon
The audit module is available on Semalt's free tier for a single domain. Log in and point it at your homepage. In under fifteen minutes you will have a prioritised shortlist. Whether you fix it yourself, hand it to your dev team, or bring us in for a Doha remediation sprint is a separate question.
The habit is the point
A good technical audit is not a one-time event. It is a habit. Our Doha clients get a full recrawl weekly, a diff-report monthly, and a state-of-the-site review quarterly. That rhythm is what keeps technical debt from silently accumulating between marketing campaigns.