Public Audit Report

www.upenn.edu

https://www.upenn.edu/
Scanned on April 12, 2026
54
Overall
D
56
SEO
54/97 passed
53
AEO
27/51 passed
52
GEO
30/58 passed
111
Passed
95
Failed
206
Total Checks
Poor
Rating

Quick Wins — Top 5 Issues to Fix

SEO — 56/100 (43 issues)

Failed Checks (43)

  • Title length: 26 characters (too short, aim for 30-60)meta
  • Description length: 6 chars (too short)meta
  • 2 title tags found — should be exactly 1meta
  • No theme-color meta tag — improves mobile browser appearancemeta
  • Title-H1 alignment: 0% word overlap — title and H1 should share key termscontent
  • Readability: 0 (difficult — simplify language)content
  • 62% long sentences (>20 words) — break up for readabilitycontent
  • 1 of 73 images missing ALT text (99% have it)content
  • 65 images missing width/height — causes layout shift (CLS)content
  • 63 of 73 images use legacy formats (JPG/PNG/GIF) — convert to WebP/AVIF for 25-50% smaller filescontent
  • 3 non-descriptive link text(s) found ("learn more"...) — use descriptive anchor text for SEOcontent
  • Missing og:title — poor social sharingsocial
  • Missing og:descriptionsocial
  • Missing og:image — social shares will lack visualssocial
  • Missing og:url — social platforms may use wrong URLsocial
  • Missing og:type — defaults to "website"social
  • Missing og:site_name — helps brand recognition in sharessocial
  • Missing twitter:card meta tagsocial
  • Missing twitter:titlesocial
  • Missing twitter:descriptionsocial
  • Missing twitter:imagesocial
  • No apple-touch-icon — iOS home screen will lack custom icontechnical
  • No hreflang tags — add if targeting multiple languagestechnical
  • Text-to-HTML ratio: 7.8% — too code-heavy, add more contenttechnical
  • 5 render-blocking scripts — add defer or async attributeperformance
  • No font preload/preconnect — add for faster renderingperformance
  • No Content-Security-Policy header — XSS risksecurity
  • No JSON-LD structured data foundschema
  • 1 HTTP resource(s) on HTTPS page — security risktechnical
  • robots.txt does not reference Sitemap — add Sitemap: URLtechnical
  • No Web App Manifest — add for installability and modern web signalstechnical
  • No dns-prefetch or preconnect hints — add for faster third-party loadingperformance
  • 0% sentences use transition words — aim for 20%+content
  • No max-image-preview:large — add to robots meta for Google Discovermeta
  • No Referrer-Policy header — may leak URL datasecurity
  • No Permissions-Policy — restrict camera/mic/geo accesssecurity
  • 2 paragraph(s) exceed 150 words — break up for readabilitycontent
  • 215 links on page — exceeds 100 limit, may dilute link equitycontent
  • 3 render-blocking script(s) in head — add defer or asyncperformance
  • 1 iframe(s) without sandbox attribute — security risksecurity
  • No RSS/Atom feed in <head> — add for content discovery by aggregators and AItechnical
  • No IndexNow integration — add for instant Bing/Yandex indexing on content changestechnical
  • 6 of 17 H2 sections have < 50 words — add more content or merge thin sectionscontent

Passed Checks (54)

  • Title tag found: "University of Pennsylvania"meta
  • Meta description found (6 chars)meta
  • Viewport meta tag found (mobile-friendly)meta
  • UTF-8 charset declaredmeta
  • Language attribute set on HTML tagmeta
  • No meta refresh redirect (good)meta
  • No robots meta tag (default: index, follow)meta
  • Single H1 tag foundcontent
  • 17 H2 tags foundcontent
  • Heading hierarchy is correctcontent
  • 1525 words on page (good content depth)content
  • JS-based lazy loading detectedcontent
  • 51 internal links foundcontent
  • 159 external links foundcontent
  • No empty href attributes foundcontent
  • HTTPS enabledtechnical
  • Canonical tag foundtechnical
  • Canonical points to different URL: https://www.upenn.edu/home — verify this is intentionaltechnical
  • Favicon foundtechnical
  • Compression: gziptechnical
  • URL length: 22 chars (good)technical
  • URL uses hyphens or no separators (good)technical
  • No deprecated HTML tags foundtechnical
  • Inline CSS: 0.5 KB (acceptable)performance
  • Inline JS: 1.2 KB (acceptable)performance
  • Cache-Control: max-age=3600, publicperformance
  • HSTS header present — enforces HTTPSsecurity
  • X-Content-Type-Options: nosniffsecurity
  • About page link found — builds trust and E-E-A-Ttrust
  • Contact page/email link foundtrust
  • Privacy Policy link foundtrust
  • Terms of Service link foundtrust
  • Author byline foundtrust
  • <!DOCTYPE html> declaredtechnical
  • font-display: swap detected — prevents invisible textperformance
  • Viewport includes width=device-width (responsive)meta
  • robots.txt found and allows crawlingtechnical
  • No AI crawlers blocked in robots.txt — AI search and training can access contenttechnical
  • sitemap.xml found with valid formattechnical
  • Sitemap contains 70 URL(s)technical
  • All 5 checked internal links are workingcontent
  • 0% nofollow links (0/210) — good link equity flowcontent
  • All 6 target="_blank" links have rel="noopener"security
  • 6 first-person pronouns — some experience showncontent
  • 145% responsive images (srcset/picture)content
  • H1 length: 41 characters (optimal)content
  • Title and meta description are different (good)meta
  • Viewport allows zoom (good for accessibility)accessibility
  • DOM size: ~1002 elements (good)performance
  • No snippet blocking detected (good — content is fully accessible)technical
  • 0 third-party script domain(s) (acceptable)performance
  • ARIA landmarks present: main, nav, skip-linkaccessibility
  • All 0 form input(s) have labels or aria-labelsaccessibility
  • No duplicate IDs found (37 unique IDs)accessibility
AEO — 53/100 (24 issues)

Failed Checks (24)

  • No structured data — AI systems struggle to categorize your pagediscoverability
  • Missing meta description or og:description — unclear topic for AIdiscoverability
  • No definition lists (<dl>) — great for term/value pairsdiscoverability
  • No code blocks — add <code>/<pre> for technical contentdiscoverability
  • No FAQ section found — add Q&A content for AI citationstructure
  • No data tables — tables help AI compare and cite datastructure
  • 38% short sentences — shorten sentences for better AI parsingstructure
  • Few key-value patterns — use "**Label:** value" format for AIstructure
  • No author information — AI values attributed contentcitation
  • No Organization schema — AI may not recognize your brandcitation
  • Only 2/5 E-E-A-T signals — add about, contact, author infocitation
  • Only 1 concise answer paragraph(s) after headings — add 2+ short summaries (40-200 chars) right after H2/H3 tagscitation
  • No Speakable schema — add for voice assistant optimizationvoice
  • No SearchAction schema — add for enhanced search presencevoice
  • Avg 54 words/sentence — simplify for AI and voicevoice
  • Pronoun density: 0.2% — add more "you/your" for engagementvoice
  • No summary section — add Key Takeaways for AI extractionvoice
  • Few Q&A blocks — add question headings followed by answer paragraphsvoice
  • No /llms.txt found — add one to guide AI crawlers (emerging standard)discoverability
  • No sameAs links in schema — add social profiles for brand recognitioncitation
  • Brand name inconsistent — align site name across title, og:site_name, Organization schemacitation
  • No video content — multimedia increases AI engagement and citation ratediscoverability
  • Statistics lack source references — attribute data to boost AI trustcitation
  • No <details>/<summary> elements — use for expandable Q&A contentstructure

Passed Checks (27)

  • 1525 words in HTML — good content for AI parsingdiscoverability
  • Clean URL structurediscoverability
  • 6 semantic HTML5 elements founddiscoverability
  • 71 content sections — well-structured for AIdiscoverability
  • 140 named entities found — helps AI understand contextdiscoverability
  • 51 internal links — good topic cluster signaldiscoverability
  • Question-style headings found — ideal for AI snippetsstructure
  • 23 lists found — structured content for AIstructure
  • Concise answer paragraphs after headings — great for AI citationstructure
  • Step-by-step content detected — AI loves procedural answersstructure
  • 80% concise paragraphs — scannable for AIstructure
  • Avg 76 words/section — sufficient depthstructure
  • Publication/modification date foundcitation
  • Statistics and data found in content — highly citablecitation
  • Source citations found — increases AI trustcitation
  • 153 external links — references authoritative sourcescitation
  • Content references 2026/2025 — fresh contentcitation
  • Topic focus: 100% — title keywords found in contentcitation
  • 8 conversational words — good for AI summariesvoice
  • First paragraph is snippet-ready (20-60 words)voice
  • Active voice dominant (7% passive) — AI-friendlyvoice
  • 82 H2/H3 headings — good content structure for AIvoice
  • No AI-blocking robots directives — AI crawlers can access contentdiscoverability
  • Freshness signal found (Last-Modified header or dateModified)citation
  • AI crawlers allowed in robots.txt (0/4 explicitly listed)discoverability
  • Content updated within 90 days — fresh content gets 3.2x more AI citationscitation
  • Table of Contents detected — helps AI navigate long contentstructure
GEO — 52/100 (28 issues)

Failed Checks (28)

  • Few question headings — add Q&A headings for AI Overviewoverview
  • Title and H1 don't align — confusing for AI topic matchingoverview
  • No step-by-step content — add numbered guides for AIoverview
  • 53% optimal paragraphs — aim for 20-80 words per paragraphoverview
  • No author schema — add for AI trust signalsauthority
  • Incomplete brand identity — add og:site_name + Organization schemaauthority
  • No original data signals — "our research shows..." boosts AI citationauthority
  • No links to authoritative sources — cite Google, Schema.org, etc.authority
  • No FAQ Schema — add for Google rich results + AI Overviewformat
  • No HowTo Schema — add for step-by-step rich resultsformat
  • No comparison content — add vs. sections for AI recommendationsformat
  • No summary section — add Key Takeaways or TL;DR for AIformat
  • 1 images missing ALT textformat
  • No BreadcrumbList schema — add for better AI contextformat
  • No data tables or charts — add structured data visualizationsformat
  • Only one list type — use both <ul> and <ol> for content varietyformat
  • Only 2/6 formatting types — use bold, lists, tables, quotes, codeformat
  • Single-perspective content — add "on the other hand..." for balanceformat
  • No conclusion — add recommendations or a verdict sectionformat
  • No entity Schema types — add Person, Product, or Organization schemasemantic
  • Few data points with units — add specific numbers (e.g., "300+ users")semantic
  • Incomplete Open Graph tags — AI uses these for contexttechnical
  • Only 0 Schema type(s) — add more for AI contexttechnical
  • Only 0 data points — add 5+ statistics for +30-40% AI visibility (Princeton study)authority
  • Author lacks credentials — anonymous content is a GEO penaltyauthority
  • 3 generic anchor texts ("click here") — use descriptive link text for AIsemantic
  • No <figure>/<figcaption> — wrap images with descriptive captions for AIformat
  • No authoritative sameAs links — add Wikipedia/Wikidata/LinkedIn URIs to schema for Knowledge Graph alignmentauthority

Passed Checks (30)

  • Definition-style content found — featured snippet candidateoverview
  • Content freshness signals detectedoverview
  • Comprehensive content (1525 words, 17 sections)overview
  • 2-level heading hierarchy — deep content structureoverview
  • Source citations found — increases AI trustauthority
  • 3/5 trust signals foundauthority
  • Expert quotes or testimonials found — authority signalauthority
  • Case study or examples found — AI values concrete examplesauthority
  • 5 industry terms used — domain expertise signalauthority
  • 22 unique external domains — diverse sourcesauthority
  • Actionable advice found — AI prefers practical contentformat
  • 7/14 semantic HTML5 elements — deep semantic structuresemantic
  • <time> element found — machine-readable datessemantic
  • 100% title keywords in first 200 words — good prominencesemantic
  • 141 contextual links — good cross-referencingsemantic
  • Content categorization found — clear topic classificationsemantic
  • 12 sections have subtopics (H3) — deep coveragesemantic
  • Mobile-friendly (viewport set)technical
  • HTTPS secure — trusted by AI systemstechnical
  • Page size: 132 KB — reasonabletechnical
  • Canonical URL set — prevents AI from citing duplicatestechnical
  • Page allows AI indexing (no noindex/nosnippet)technical
  • HTML lang="en" set (add og:locale for completeness)technical
  • 3 ARIA landmarks found — good accessibility for AItechnical
  • All image ALT texts are descriptive (>5 chars)format
  • 1525 words — sufficient depth for AI analysisoverview
  • First 200 words contain topic keywords — AI extracts primarily from the startoverview
  • Definition + list combo — strong featured snippet candidateoverview
  • No snippet restrictions — AI can freely extract content (good)technical
  • 5/6 question types (5W1H) in headings — comprehensiveoverview

Fix These Issues Automatically

Using WordPress? Install SEO Autopilot for one-click auto-fixes on 65+ issues — with full undo support.

Get SEO Autopilot Plugin
Scan This Site Again Request Report Removal