Skip to content
https://blog.afro.co.ke Export & share
KE · KES (KSh) · Estimated Applicable regulations: DPA 2019 Dev cost: KES 4,000/hr How jurisdiction is detected
Scanned
2026-05-16 20:51 UTC
Worker
🇸🇬 Singapore
Duration
48.00s
Vs prev

Global Performance

6/6 locations

Strong global performance — average 146ms across 6 locations, fastest from Santa Clara (54ms), slowest from Sao Paulo (418ms). Cloudflare edge cache (HIT).

Singapore - Singapore
Full audit
62ms
DNS 24ms · TLS 9ms
United States - Santa Clara
54ms
DNS 14ms · TLS 11ms
Spain - Madrid
123ms
DNS 42ms · TLS 22ms
United Stated - New York
56ms
DNS 12ms · TLS 11ms
Brazil - Sao Paulo
418ms
DNS 369ms · TLS 9ms
Netherlands - Amsterdam
163ms
DNS 126ms · TLS 10ms
CDN: Cloudflare (HIT) · Avg TTFB: 146ms · Cache: public, max-age=0, must-revalidate

Audit overview

All categories sit comfortably above the 70 threshold; this is a clean audit.

Fix Priority Matrix

5 findings

Quick Wins

2

High impact, low effort — start here.

Strategic

3

High impact, requires investment.

Easy Improvements

0

Small gains, minimal effort.

Nothing in this quadrant — good news.

Deprioritize

0

Low impact, high effort — do last.

Nothing in this quadrant — good news.

← Low effort High effort →

Screenshots

DESKTOP + MOBILE
Desktop
Desktop screenshot
Mobile
Mobile screenshot

Top Priorities (5)

Sorted by impact
Warning: 1

1 render-blocking <script src> tag(s) without async/defer

Performance issues directly impact user engagement and conversion rates.

Performance › JavaScript Blocking
Warning: 2

1 software version(s) disclosed in HTML: Hugo 0.161.1

Each disclosed version enables direct CVE lookup -- attacker reads the version, searches the CVE database, targets the site with a tested exploit.

Security › HTML Version Disclosure
Warning: 3

Compressed response missing `Vary` header

Performance issues directly impact user engagement and conversion rates.

Performance › Server Response Intelligence
Warning: 4

Cross-Origin-Embedder-Policy header is missing

COEP enforces that all embedded resources opt-in to cross-origin embedding — required for cross-origin isolation features.

Security › Security Headers
Warning: 5

Cross-Origin-Opener-Policy header is missing

COOP isolates your top-level browsing context from cross-origin windows — without it, popup-based side-channel attacks remain possible.

Security › Security Headers
What fixing these means. Your site is in great shape. The remaining improvements are refinements rather than critical fixes. Your LCP of 2.5s exceeds Google's 2.5s 'Good' threshold and the 2 performance issues below directly contribute to it. Addressing the critical issues below would have the most immediate impact on your conversion rate.
Your LCP is 2.5s — fixing the 2 performance criticals could bring it under Google's 2.5s 'Good' threshold.
3 security gaps detected — browsers may warn visitors about your site.

Business case

What fixing the audit's findings is worth -- and what ignoring them keeps costing.

Return on investment

KES 22,000 investment → KES 111,356/month returns

Investment
KES 22,000
5.5 h · 5 findings
Monthly returns
KES 111,356
KES 1,336,275/yr
Payback
0.2 mo
+5974% Y1
Or — fix only the top 3 findings
KES 17,0000.2 mo payback · +7760% Y1
Optimistic scenario assuming the top 3 capture most of the upside. Real-world recovery typically falls between this projection and the full-fix ROI above.
KES 2,000 — in quick wins — start here for the fastest payback

Figures combine localized regulatory fine ceilings, search/conversion value priced against local CPC, and bandwidth waste estimates. Results depend on implementation quality and audience composition. Not legal or financial advice.

Conversion barriers

3 barrier(s) likely increasing bounce by ~13%.

Barriers
3
3 warn
Bounce delta
+13pp
added vs baseline
Score
91
A
Speed
1
Trust
1
Usability
0
Content
1
Nav
0
  • Page loads in 2.5s
    Every additional 100ms above 2.5s costs conversions — you're 35ms over
    → Target <2.5s LCP: defer non-critical scripts and optimize the hero image
  • No Content-Security-Policy header
    Higher XSS blast radius — one compromised script can exfiltrate the checkout form
    → Ship a reporting-only CSP first, then enforce once violations are clean
  • Thin content
    Under 300 words — visitors bounce looking for substance, search engines rank competitors first
    → Add a substantive FAQ, product detail, or case-study section

Preliminary CRO audit — each barrier links to the tab with detailed analysis.

Remediation cost

KSh22,000 5.5 developer hours at KSh4000/hr
Quick wins
KSh2,000 2 fixes in ~30 minutes

Start here for the best return on investment

Cost by category

Cost by effort level

Adjust assumptions

Team composition

Multiplier applied to dev hours to reflect QA, design, and PM overhead. Use Dev only for solo work; Full team for projects with formal review processes.

KSh /hr

Rates reflect fully-loaded developer cost including overhead

How developer rates are sourced

Cost of inaction

KES 109,403 / month at risk ~KES 1,312,834 / year if left unfixed
Default is 10,000. Use your own number for accurate $-figures.

Bounce-Rate Cost

KES 109,395 /mo

+13.0pp bounce · ~1,296 lost visitors/mo

CPC: KES 84.42

Bandwidth Waste

KES 7.93 /mo

763.0 MB/mo × 10.390 KES/GB

  • Optimize transfer: save ~76 KB per page load
    Saves KES 7.93/mo

Compliance figures represent the statutory maximum fine for the most severe triggered category, capped per regulation — not the sum of per-finding penalties. Based on published regulatory fine ranges. This is not legal advice.

Compliance methodology · SEO assumptions · Bandwidth model

Your performance is already good — improvements may show diminishing returns

Unique monthly visitors from your analytics

Purchases, signups, or key actions

Optional — for revenue estimation

additional conversions/month

more engaged visitors from reduced bounce

potential monthly revenue
Current bounce (est.)
After fixes (est.)
Estimated bounce reduction
How this is calculated

Based on Google/Deloitte research ("Milliseconds Make Millions") showing a ~7% bounce rate increase per additional second of LCP above the 2.5s "Good" threshold.

Your site's LCP: → estimated after fixes.

These are estimates based on industry research — actual results vary

Bounce-rate model & assumptions

Your data stays in your browser — nothing is sent to our servers

Lighthouse

Mobile

97
Performance Overall performance score (0–100) based on Core Web Vitals and other metrics. 90+ is good.
100
Accessibility Measures how accessible the page is for users with disabilities. Checks color contrast, ARIA labels, and semantic HTML.
92
Best Practices Checks for modern web development best practices including HTTPS, no console errors, and secure JavaScript.
100
SEO Measures basic SEO optimizations: meta tags, crawlability, link text, and mobile friendliness.

First Contentful Paint First Contentful Paint — how long until the browser renders the first piece of content. Under 1.8s is good.

1.27 s

Largest Contentful Paint Largest Contentful Paint — how long until the largest visible element loads. Under 2.5s is good.

2.53 s

Total Blocking Time Total Blocking Time — total time the main thread was blocked, preventing user input. Under 200ms is good.

0 ms

Cumulative Layout Shift Cumulative Layout Shift — measures visual stability. How much the page layout shifts during loading. Under 0.1 is good.

0.000

Speed Index Speed Index — how quickly content is visually displayed during load. Under 3.4s is good.

1.27 s

Time to Interactive Time to Interactive — how long until the page is fully interactive and responds to user input. Under 3.8s is good.

2.53 s

Desktop

100
Performance Overall performance score (0–100) based on Core Web Vitals and other metrics. 90+ is good.
85
Accessibility Measures how accessible the page is for users with disabilities. Checks color contrast, ARIA labels, and semantic HTML.
92
Best Practices Checks for modern web development best practices including HTTPS, no console errors, and secure JavaScript.
100
SEO Measures basic SEO optimizations: meta tags, crawlability, link text, and mobile friendliness.

First Contentful Paint First Contentful Paint — how long until the browser renders the first piece of content. Under 1.8s is good.

449 ms

Largest Contentful Paint Largest Contentful Paint — how long until the largest visible element loads. Under 2.5s is good.

556 ms

Total Blocking Time Total Blocking Time — total time the main thread was blocked, preventing user input. Under 200ms is good.

0 ms

Cumulative Layout Shift Cumulative Layout Shift — measures visual stability. How much the page layout shifts during loading. Under 0.1 is good.

0.001

Speed Index Speed Index — how quickly content is visually displayed during load. Under 3.4s is good.

449 ms

Time to Interactive Time to Interactive — how long until the page is fully interactive and responds to user input. Under 3.8s is good.

556 ms

Categories

8
Avg score 90.4

How you compare

Where this site stands against peers running the same stack.

Google Search Console · 3769 peers
You 91
·
Avg 73
+18 above average
0 50 100
Performance P99Accessibility P99Security P98Sustainability P97Content P89Compliance P17Infrastructure P62SEO P59

Top 10% of Google Search Console sites score 85+ on Compliance; you're at 73 — closing this gap is the highest-leverage improvement.

Better than 99% of Google Search Console sites See full Google Search Console benchmark →
HSTS · 2429 peers
You 91
·
Avg 75
+16 above average
0 50 100
Performance P99Accessibility P99Sustainability P97Security P96Content P88Compliance P20SEO P57Infrastructure P56

Top 10% of HSTS sites score 86+ on Compliance; you're at 73 — closing this gap is the highest-leverage improvement.

Better than 98% of HSTS sites See full HSTS benchmark →

Technology stack

Google Search Console, with Cloudflare CDN

10 technologies detected 3 stack layers 1 with CPE identifier Enterprise

Stack Architecture

Analytics
GoatCounter
Framework
Google Search Console HSTS HTTP/3 Hugo 0.161.1 Open Graph Priority Hints RSS Tailwind CSS
CDN
Cloudflare

All Detected Technologies (10)

Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.

Categories CDN Website https://www.cloudflare.com Detected by BeaverCheck Evidence Server header in redirect: cloudflare
This technology has a CPE identifier — check for known vulnerabilities Search NVD →
Categories Analytics Detected by BeaverCheck · Medium Evidence TXT record: google-site-verification=rxlbjOs7_VQl4Jy5FXDhDWP1sa234TC0riaadY4qGQU

HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.

Categories Security Website https://www.rfc-editor.org/rfc/rfc6797#section-6.1 Detected by BeaverCheck

HTTP/3 is the third major version of the Hypertext Transfer Protocol used to exchange information on the World Wide Web.

Categories Miscellaneous Website https://httpwg.org/ Detected by BeaverCheck

Hugo is an open-source static site generator written in Go.

Categories Static site generator Website https://gohugo.io Detected by BeaverCheck

Open Graph is a protocol that is used to integrate any web page into the social graph.

Categories Miscellaneous Website https://ogp.me Detected by BeaverCheck

Priority Hints exposes a mechanism for developers to signal a relative priority for browsers to consider when fetching resources.

Categories Performance Website https://wicg.github.io/priority-hints/ Detected by BeaverCheck

RSS is a family of web feed formats used to publish frequently updated works—such as blog entries, news headlines, audio, and video—in a standardized format.

Categories Miscellaneous Website https://www.rssboard.org/rss-specification Detected by BeaverCheck
Categories Framework Website https://tailwindcss.com Detected by BeaverCheck Evidence Found 100 unique Tailwind utility classes in HTML

GoatCounter is an open source web analytics platform available as a hosted service (free for non-commercial use) or self-hosted app. It aims to offer easy to use and meaningful privacy-friendly web analytics as an alternative to Google Analytics or Matomo.

Categories Analytics Website https://www.goatcounter.com/ Detected by BeaverCheck

Observations (2)

No build tool detected

A framework (Google Search Console) was detected but no bundler was identified. The build tool may not be detectable from output patterns, or the site may use the framework's built-in bundler.

Complex technology stack detected

10 technologies identified. A complex stack increases maintenance burden and attack surface. Consider whether all components are actively needed.

Show your score

Drop this badge on your README, marketing site, or status page. It auto-updates every time the audit re-runs and links back to this report.

BeaverCheck badge

This badge auto-updates with your latest scan result.

[![BeaverCheck](https://beavercheck.com/badge?url=https%3A%2F%2Fblog.afro.co.ke)](https://beavercheck.com/results/0968003d-d54b-4a8e-a6ac-0d2111f0f237)
<a href="https://beavercheck.com/results/0968003d-d54b-4a8e-a6ac-0d2111f0f237"><img src="https://beavercheck.com/badge?url=https%3A%2F%2Fblog.afro.co.ke" alt="BeaverCheck Score"></a>
https://beavercheck.com/badge?url=https%3A%2F%2Fblog.afro.co.ke

Export & share

Download the audit, share with your team, or grab a fix plan ready to copy into your tracker.

Share

Copies markdown to clipboard

Export
Download Markdown Report Download JSON

Fix Plan

Three-week roadmap to ship the audit's findings, with one-click copy targets for your tracker.

Three-week fix plan

2 sprints · 6h total → projected A (94)

Sprint 1: Quick Wins

+2

Highest ROI — low effort, high impact

2 findings 0h → A (93)
  • · 1 software version(s) disclosed in HTML: Hugo 0.161.1
  • · Cross-Origin-Opener-Policy header is missing

Sprint 2: Core Fixes

+1

Medium effort, high structural impact

3 findings 5h → A (94)
  • · Cross-Origin-Embedder-Policy header is missing
  • · 1 render-blocking <script src> tag(s) without async/defer
  • · Compressed response missing `Vary` header

Send Feedback