upstorey.co
Last checked 35m ago · 11 issues found
Speed all good
-
✓
Server response time
Homepage started responding in 121 ms.
-
✓
Mobile performance score
100/100 on Google PageSpeed (mobile)
-
✓
Largest Contentful Paint
1.5 s
-
✓
Cumulative Layout Shift
0.002
-
✓
Total Blocking Time
0 ms
-
✓
Desktop performance score
96/100 on Google PageSpeed (desktop)
SEO 6 to fix
-
!
Title tag
"Upstorey | AI-Powered GTM Growth Partner & AEO Agency for B2B SaaS" (66 chars)
Fix: 🔒 Unlock with Pro
-
!
Meta description
207 characters
Fix: 🔒 Unlock with Pro
-
!
www and non-www go to one address
www.upstorey.co loads without redirecting to upstorey.co, so the site exists at two addresses.
Fix: 🔒 Unlock with Pro
-
!
No duplicate titles
1 of 5 inner pages share a title with another page: /index.html ("Upstorey | AI-Powered GTM Growth Partner & AEO Agency for B2")
Fix: 🔒 Unlock with Pro
-
!
Inner page meta descriptions
1 reuse the same description as another page: /index.html
Fix: 🔒 Unlock with Pro
-
!
Inner pages canonical to themselves
1 of 5 inner pages have a canonical pointing at a different URL, which tells search engines not to index them: /index.html → https://upstorey.co/
Fix: 🔒 Unlock with Pro
-
✓
Homepage returns 200
HTTP 200
-
✓
One H1 heading
1 H1 tag(s) found.
-
✓
Canonical URL
https://upstorey.co/
-
✓
Page can be indexed
No noindex directive.
-
✓
Language declared
lang="en"
-
✓
Mobile viewport
Viewport meta tag present.
-
✓
Social share tags
og:title, og:description, og:url and og:type set, and og:image loads.
-
✓
Image alt text
0 of 4 images have no alt attribute.
-
✓
Short redirect chain
http://upstorey.co/ takes 1 redirect(s): 301 → https://upstorey.co/
-
✓
Enough content on the page
1045 words of visible text.
-
✓
Character encoding
Charset declared in the HTML.
-
✓
Favicon
Favicon found.
-
✓
X (Twitter) card tags
twitter:card = summary_large_image, image set
-
✓
Missing pages return 404
A made-up URL returns 404.
-
✓
robots.txt
Found at /robots.txt.
-
✓
XML sitemap
Found at https://upstorey.co/sitemap.xml
-
✓
No broken internal links
Checked 15 internal links from the homepage.
-
✓
Inner page titles
Read 5 inner pages (/index.html, /services.html, /services/aeo-agency.html, /ai-visibility-audit.html, /services/ai-lead-generation.html). Every one has a title of a sensible length.
-
✓
Inner pages have one H1
5 inner pages each have exactly one H1.
-
✓
Accessibility
96/100 on Google Lighthouse
-
✓
Best practices
100/100 on Google Lighthouse
Security 5 to fix
-
✕
Content Security Policy
No content-security-policy header.
Fix: 🔒 Unlock with Pro
-
✕
Clickjacking protection
Page can be framed by any site.
Fix: 🔒 Unlock with Pro
-
!
HSTS header
strict-transport-security: max-age=10886400; includeSubDomains; preload
Fix: 🔒 Unlock with Pro
-
!
Permissions-Policy
No permissions-policy header.
Fix: 🔒 Unlock with Pro
-
!
DMARC policy (email spoofing)
Policy is p=none, which only monitors. Spoofed email is still delivered.
Fix: 🔒 Unlock with Pro
-
✓
Served over HTTPS
The homepage loads over HTTPS.
-
✓
HTTP redirects to HTTPS
http:// returns 301 to HTTPS.
-
✓
X-Content-Type-Options
x-content-type-options: nosniff
-
✓
Referrer-Policy
referrer-policy: same-origin
-
✓
No mixed content
All resources load over HTTPS.
-
✓
Server software not exposed
No software versions in response headers.
-
✓
Cookies set securely
The homepage sets no cookies.
-
✓
SPF record (email spoofing)
v=spf1 include:spf.protection.outlook.com -all
AI readiness all good
-
i
NIST, MITRE and CISA citations resolve
No NIST, MITRE or CISA links found on the homepage and 5 linked content pages and posts. Only scored on sites that cite them.
-
✓
AI crawlers allowed in robots.txt
GPTBot, ClaudeBot, PerplexityBot and others are not blocked.
-
✓
AI crawlers not blocked by firewall
Homepage loads for GPTBot, OAI-SearchBot, ClaudeBot and PerplexityBot.
-
✓
Content readable without JavaScript
1045 words in the raw HTML. Most AI crawlers don't run JavaScript.
-
✓
Inner pages readable without JavaScript
5 inner pages each have 100+ words in the raw HTML.
-
✓
Content split into headed sections
14 H2/H3 headings in the raw HTML. Answer engines lift passages section by section, using the heading to know what each one is about.
-
✓
llms.txt file
Found at /llms.txt (2146 characters).
-
✓
Structured data (schema.org)
JSON-LD types: Organization, WebSite, WebPage, FAQPage.
-
✓
Structured data on inner pages
5 inner pages all carry valid JSON-LD.
-
✓
Answers real questions
FAQPage schema found.
-
✓
Content shows when it was updated
Most recent update date found: 2026-10-27.
-
✓
Clear page summary
AI answers often reuse your title and meta description to describe you.
Domain all good
-
i
Domain age
Registration date not available for this domain.
-
i
Registrar
Not available.
-
i
Hosting network
Not available.