Speed Insights
Grade A
99% performance
https://pypx.app
LCP
624ms
Largest paint
TBT
23ms
Blocking time
CLS
0.000
Layout shift
88
out of 100
100
out of 100
111/111 rule points
100
out of 100
76/76 rule points
91
out of 100
86/94 rule points
62
out of 100
68/110 rule points
Category point breakdown
Biggest score-losing checks
Detected 0 CTA candidate(s).
Detected 0 trust-signal keyword occurrence(s).
Detected 1 hierarchy signal(s) from headings, CTA, and emphasized text.
Horizontal overflow: 0px. Small tap targets: 13.
Affected elements
px pypx
Switch to light mode
hugovk/top-pypi-packages
View all →
Make the primary CTA obvious
-14 rule ptsWhat failed
The page does not have a detectable call to action.
Evidence
Detected 0 CTA candidate(s).
Priority
Priority 4: fix before sharing the page publicly.
Why it matters
Early visitors need a clear next step, such as trying the product, joining a waitlist, or booking a demo.
How to fix it
Add one prominent CTA above the fold with action-oriented text such as Start, Join, Try, Book, or Get started.
Agent Prompt
Strengthen visual hierarchy
-9 rule ptsWhat failed
The page does not expose enough hierarchy signals from headings, emphasis, or CTA structure.
Evidence
Detected 1 hierarchy signal(s) from headings, CTA, and emphasized text.
Priority
Priority 12: fix during launch polish.
Why it matters
Hierarchy tells visitors what to read first and what action to take next.
How to fix it
Create a clear H1, supportive section headings, emphasized proof, and one visually prominent primary CTA.
Agent Prompt
Fix rendered layout ergonomics
-9 rule ptsWhat failed
The browser-rendered page has layout or tap-target issues.
Evidence
Horizontal overflow: 0px. Small tap targets: 13.
Affected elements
px pypx
Switch to light mode
hugovk/top-pypi-packages
View all →
Priority
Priority 13: fix during launch polish.
Why it matters
Horizontal overflow and tiny tap targets make the page feel broken on real devices, especially for mobile visitors.
How to fix it
Remove elements wider than the viewport, add responsive constraints, and make important links, buttons, inputs, and controls at least 40px tall and wide where possible.
Agent Prompt
Add trust signals
-10 rule ptsWhat failed
The page does not expose detectable proof, customer, review, security, or credibility signals.
Evidence
Detected 0 trust-signal keyword occurrence(s).
Priority
Priority 16: lower-risk cleanup after urgent launch blockers.
Why it matters
Trust signals reduce hesitation when strangers see the product for the first time.
How to fix it
Add honest proof such as customer quotes, usage stats, founder credibility, security notes, or relevant logos.
Agent Prompt
Improve detectable color contrast
-8 rule ptsWhat failed
The scanner found text/background color pairs that may be hard to read, or could not verify contrast.
Evidence
3 of 91 rendered text color sample(s) missed WCAG contrast targets. Worst rendered ratio: 1.07.
Affected elements
📦
🔒
🌿
Priority
Priority 20: lower-risk cleanup after urgent launch blockers.
Why it matters
Low contrast makes a launch page feel less polished and can exclude users with low vision.
How to fix it
Review key text, buttons, and links against a 4.5:1 contrast target for normal text.
Agent Prompt
SEO / AEO
Severity mix: 1 critical, 7 high, 3 medium, 1 low.
No failed checks in this category.
Security
Severity mix: 2 critical, 3 high, 0 medium, 0 low.
No failed checks in this category.
Accessibility
Severity mix: 0 critical, 3 high, 5 medium, 0 low.
Basic contrast
-8 rule pts3 of 91 rendered text color sample(s) missed WCAG contrast targets. Worst rendered ratio: 1.07.
Affected elements
📦
🔒
🌿
Design
Severity mix: 0 critical, 3 high, 6 medium, 2 low.
Visible primary CTA
-14 rule ptsDetected 0 CTA candidate(s).
Trust signals
-10 rule ptsDetected 0 trust-signal keyword occurrence(s).
Visual hierarchy
-9 rule ptsDetected 1 hierarchy signal(s) from headings, CTA, and emphasized text.
Failed checks
These checks need attention.
Basic contrast
0/83 of 91 rendered text color sample(s) missed WCAG contrast targets. Worst rendered ratio: 1.07.
Affected elements
📦
🔒
🌿
Failed: earned 0 of 8 points.
Priority: Priority 20: lower-risk cleanup after urgent launch blockers.
Why it matters: Low contrast makes a launch page feel less polished and can exclude users with low vision.
Fix: Review key text, buttons, and links against a 4.5:1 contrast target for normal text.
Agent Prompt
Visible primary CTA
0/14Detected 0 CTA candidate(s).
Failed: earned 0 of 14 points.
Priority: Priority 4: fix before sharing the page publicly.
Why it matters: Early visitors need a clear next step, such as trying the product, joining a waitlist, or booking a demo.
Fix: Add one prominent CTA above the fold with action-oriented text such as Start, Join, Try, Book, or Get started.
Agent Prompt
Trust signals
0/10Detected 0 trust-signal keyword occurrence(s).
Failed: earned 0 of 10 points.
Priority: Priority 16: lower-risk cleanup after urgent launch blockers.
Why it matters: Trust signals reduce hesitation when strangers see the product for the first time.
Fix: Add honest proof such as customer quotes, usage stats, founder credibility, security notes, or relevant logos.
Agent Prompt
Visual hierarchy
0/9Detected 1 hierarchy signal(s) from headings, CTA, and emphasized text.
Failed: earned 0 of 9 points.
Priority: Priority 12: fix during launch polish.
Why it matters: Hierarchy tells visitors what to read first and what action to take next.
Fix: Create a clear H1, supportive section headings, emphasized proof, and one visually prominent primary CTA.
Agent Prompt
Rendered layout ergonomics
0/9Horizontal overflow: 0px. Small tap targets: 13.
Affected elements
px pypx
Switch to light mode
hugovk/top-pypi-packages
View all →
Failed: earned 0 of 9 points.
Priority: Priority 13: fix during launch polish.
Why it matters: Horizontal overflow and tiny tap targets make the page feel broken on real devices, especially for mobile visitors.
Fix: Remove elements wider than the viewport, add responsive constraints, and make important links, buttons, inputs, and controls at least 40px tall and wide where possible.
Agent Prompt
Page-level AEO readiness
Shared eligibility and content signals that affect every search and answer agent.
Index and citation eligibility
No general noindex directive was detected.
Snippet and answer controls
No general nosnippet or max-snippet:0 control was detected.
Canonical alignment
The canonical resolves to the scanned public URL.
Sitemap coverage and freshness
A sitemap index was found; this safe scan did not recursively fetch child sitemaps.
Structured data
Detected 1 JSON-LD block(s), 0 parse error(s), and types ReadAction, WebPage, WebSite.
Public or paywalled content
No isAccessibleForFree structured-data value was detected.
Entity clarity
Detected 3 of 3 core identity signals across the title, description, and H1.
Answer-ready visible text
Detected 514 visible words and 16 audience, use-case, pricing, or integration signals.
Authorship and accountability
No author meta value or structured-data author was detected.
Published or updated date
No datePublished or dateModified value was detected in structured data.
Supporting-source links
Detected 10 external source or reference link(s); link quality still requires editorial review.
Rendered content availability
Rendered audit completed with 91 visible text element(s).
Synthetic search-agent reachability
8 of 8 search/discovery User-Agent probes returned reachable content.
Optional LLM-readable summary
https://pypx.app/llms.txt returned HTTP 200; this is supplemental and does not determine AI-search eligibility.
OAI-SearchBotAI search
Robots: allowed by oai-searchbot allow: / · line 17
Probe: reachable · HTTP 200 · 100% parity
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
GPTBotModel training
Robots: allowed by gptbot allow: / · line 8
Probe: not tested for this control
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
ChatGPT-UserUser-requested fetch
Robots: not applicable to user-requested fetches
Probe: not tested for this control
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
ClaudeBotModel training
Robots: allowed by claudebot allow: / · line 11
Probe: not tested for this control
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
Claude-SearchBotAI search
Robots: allowed by * allow: / · line 5
Probe: reachable · HTTP 200 · 100% parity
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
Claude-UserUser-requested fetch
Robots: allowed by claude-user allow: / · line 14
Probe: reachable · HTTP 200 · 100% parity
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
GooglebotSearch and discovery
Robots: allowed by * allow: / · line 5
Probe: reachable · HTTP 200 · 100% parity
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
Google-ExtendedData-use policy control
Robots: allowed by * allow: / · line 5
Probe: not tested for this control
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
BingbotSearch and discovery
Robots: allowed by * allow: / · line 5
Probe: reachable · HTTP 200 · 100% parity
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
PerplexityBotAI search
Robots: allowed by perplexitybot allow: / · line 20
Probe: reachable · HTTP 200 · 100% parity
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
Perplexity-UserUser-requested fetch
Robots: not applicable to user-requested fetches
Probe: not tested for this control
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
ApplebotSearch and discovery
Robots: allowed by * allow: / · line 5
Probe: reachable · HTTP 200 · 100% parity
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
Applebot-ExtendedData-use policy control
Robots: allowed by * allow: / · line 5
Probe: not tested for this control
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
MistralAI-IndexAI search
Robots: allowed by * allow: / · line 5
Probe: reachable · HTTP 200 · 100% parity
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
MistralAI-UserUser-requested fetch
Robots: allowed by * allow: / · line 5
Probe: reachable · HTTP 200 · 100% parity
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
meta-externalagentModel training
Robots: allowed by * allow: / · line 5
Probe: not tested for this control
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
meta-externalfetcherUser-requested fetch
Robots: allowed by * allow: / · line 5
Probe: reachable · HTTP 200 · 100% parity
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
AmazonbotModel training
Robots: allowed by * allow: / · line 5
Probe: not tested for this control
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
Amzn-SearchBotAI search
Robots: allowed by * allow: / · line 5
Probe: reachable · HTTP 200 · 100% parity
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
Amzn-UserUser-requested fetch
Robots: allowed by * allow: / · line 5
Probe: reachable · HTTP 200 · 100% parity
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
CCBotModel training
Robots: allowed by * allow: / · line 5
Probe: not tested for this control
Controls: robots meta: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1; X-Robots-Tag: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
Ready combines robots policy, a bounded synthetic User-Agent fetch, indexability, and snippet eligibility. Synthetic probes do not prove vendor-origin traffic. Purple preference states are training or data-use choices and do not lower the AEO score.
Share preview
pypx.app website audit report
Close to ready: 88/100 overall, with prioritized fixes for SEO, security, accessibility, and design.
Public reports expose the scanned public URL, safe scores, sanitized public evidence, and fix guidance. They do not include credentials, cookies, hidden form values, or sensitive response bodies.
