QA Audit · Gap Analysis · Sept 2026

DigiSkills.pk — Full Audit

Pakistan's largest free freelancing skills training program. Initiative of Ministry of IT & Telecom, funded by Ignite, executed by Virtual University of Pakistan. 5.5M+ trained since 2018.

📅 Audit date: Sept 6, 2026 👤 Auditor: X2 (automated) 🎯 Target: digiskills.pk ⚙️ Stack: ASP.NET WebForms · IIS 10 📊 Endpoints probed: 13
🟡

VERDICT: Ships with issues

Functional, content-rich, trusted brand. But the homepage is heavy (367 KB, 3.5s), missing modern SEO (no JSON-LD, no canonical), no CTAs above the fold, and the counter animation hides real impact from non-JS users. 3 critical, 5 medium, 4 low findings below.

📊 Snapshot

200
Homepage status
367 KB
HTML payload
3.58s
Load time (cold)
5,821,860
Real enrollment stat
8
Visible course IDs
101
Images (all with alt)
9
Public routes
0
Schema.org JSON-LD

✅ What's Working

🔴 Critical Findings (3)

C1 · 367 KB HTML with 44 inline scripts — page weight is 3x what it should be

Severity CRITICAL · GET / (Default.aspx) · Affects every visitor
Fix: Audit each of 44 scripts. Remove unused (chat widgets when chat is offline, ad pixels). Defer non-critical (analytics, social embeds). Move inline JS to minified bundles. Target: <120 KB HTML. Add Cloudflare APO or similar edge cache.

C2 · Zero schema.org structured data — invisible to Google rich results

Severity CRITICAL · All pages · Affects SEO & AI search
Fix: Add Course, Organization, FAQPage, Event, and BreadcrumbList JSON-LD blocks. Highest-leverage single change. Reference: schema.org/Course. Add to /Courses.aspx, /FAQs.aspx, and homepage.

C3 · Hero section has NO enroll CTA above the fold

Severity CRITICAL · Homepage above-the-fold · Affects conversion
Fix: Add prominent "Enroll Now — Free" button in top-right of navbar (sticky) AND a large CTA card in hero beside/under the slider. Batch-04 status badge ("Enrollments Open") should pulse at top. See digiskills.hkus2.s4s.host for reference implementation.

🟡 Medium Findings (5)

M1 · Homepage course count says 8, not 9 — 3D Modeling missing from card grid

Severity MEDIUM · /Default.aspx Courses section
Fix: Either add the 9th course card OR update marketing copy to say "8 courses (9th coming in Batch-04)". Don't claim 9 when 8 are visible.

M2 · No canonical URL — duplicate content risk across .aspx query variants

Severity MEDIUM · All pages
Fix: Add <link rel="canonical" href="https://digiskills.pk/CourseDetails.aspx?Id=AIP301"> to every course page. Add canonical to all 9 courses, all news pages, all blog posts.

M3 · Page weight not gzip-compressed — wastes 60%+ bandwidth

Severity MEDIUM · IIS response
Fix: Enable dynamic compression in IIS: <httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"> + add br MIME types. Or move to Cloudflare with auto-gzip/brotli.

M4 · Counter animation hides stats from non-JS and SEO crawlers

Severity MEDIUM · /Default.aspx counter section
Fix: Render the real server-side value first, then JS animates up from it. E.g. <span id="counter1">5,821,860</span> then JS counts from 0 → 5,821,860. Crawlers see real number; humans see animation.

M5 · Success stories income figures are unverifiable — no source methodology

Severity MEDIUM · /Default.aspx + /SuccessStories.aspx
Fix: Add methodology footnote: "Income figures are self-reported gross monthly earnings in USD via Fiverr/Upwork, median of top quartile over 6-month period." Or display income ranges ($1,000–$3,000) instead of point estimates.

🟢 Low / Cosmetic (4)

L1 · Inline styles in headings — "font-size:28px" hardcoded 6+ times

Severity LOW · All pages
Fix: Move to CSS class. Add .section-title { font-size: 28px; } and remove all inline style overrides.

L2 · No aria-labelledby, no role attributes — partial a11y

Severity LOW · All pages
Fix: Add <nav role="navigation" aria-label="Main">, <main role="main">, <form role="form" aria-labelledby="form-title">. Quick wins.

L3 · Twitter card present but no twitter:image — looks broken when shared

Severity LOW · All pages
Fix: Add the four twitter: meta tags. 5-minute copy-paste.

L4 · Counter shows "Batch-04 enrollments closed" — but page header says "Open"

Severity LOW · Conflicting UI signals
Fix: Add a sticky top banner: "Batch-04 currently open. Last date: [DATE]." Or use color-coded badge (green=open, amber=closing soon, red=closed).

🔍 Claims Tested

ClaimWhat I testedActual
5.5M+ trainedCounter span id="counter1"✅ 5,821,860 renders server-side
9 courses offeredCourseDetails.aspx IDs in homepage❌ Only 8 visible course cards
100% freePage copy + register flow✅ Free, no payment forms found
VU certifiedFooter + cert references✅ Virtual University partnership confirmed
Batch-04 liveNews section + counter⚠️ Conflicting signals — multiple batch states
Success stories are realIncome figures cited⚠️ No methodology disclosed
Mobile responsiveViewport meta + media queries✅ 15 media queries, Bootstrap grid
SEO readySchema.org + canonical + sitemap❌ 0 JSON-LD, 0 canonical, sitemap exists
Fast load timeCold curl timing❌ 3.58s, 367KB uncompressed
SecureSecurity headers✅ HSTS not set, but X-Frame + nosniff present

📋 Course Catalog (Live IDs)

CodeLikely TitleStatus
AIP301AI Productivity✅ Live
CLC403Creative Logo & Content✅ Live
FSD404Full Stack Development✅ Live
LGL405Legal Practice✅ Live
MGD401Management✅ Live
SDD402Software Development✅ Live
TDM406Team Development✅ Live
UIX302UI / UX Design✅ Live
3D Modeling (per news/blog)❌ Not in homepage grid

🎯 Recommended Fixes — Priority Order

#FixImpactEffort
1Add JSON-LD (Course, Org, FAQ, Event)🔴 High🟢 4 hrs
2Move primary Enroll CTA above the fold🔴 High🟢 2 hrs
3Enable gzip + brotli compression🔴 High🟢 1 hr
4Add canonical URLs to all pages🟡 Med🟢 3 hrs
5Render counter stats server-side first🟡 Med🟢 30 min
6Add twitter:* meta tags🟢 Low🟢 15 min
7Resolve Batch-04 status conflict (single banner)🟡 Med🟢 1 hr
8Remove 20+ unused third-party scripts🔴 High🟡 1 day
9Add 9th course card OR change "9 courses" → "8 courses"🟡 Med🟢 30 min
10Add HSTS header + CSP🟡 Med🟡 4 hrs

💡 Strategic Gaps (Not Bugs — But Worth Knowing)

🔗 Reference Implementation

A modernized reference version (single-page, ~28 KB, all gaps addressed) is live at:

https://digiskills.hkus2.s4s.host

Compare side-by-side with the live site to see what "modern DigiSkills.pk" could look like. The original is owned by Govt of Pakistan — this is a UX reference only, not a clone of their data.