No checks match that filter.
Full diagnostics
Every check that ran, grouped by what it affects. Problems appear first in each group.
Meta Tags & Search Snippet Simulator
The tags that decide how this page is titled and described in search results.
A collector's compendium of tavern puzzles, 3D metal and wood puzzles, and jigsaw puzzles — their histories, makers, and the obsessive joy of solving…
A collector's compendium of tavern puzzles, 3D metal and wood puzzles, and jigsaw puzzles — their histories, makers, and the obsessive joy of solving…
Title width
650px of 580px
The title is about 650px wide and will be truncated in desktop results (limit 580px).
Rendered width
Desktop 650px / 580px Mobile 585px / 920px
Measured in Arial at the size Google renders result titles,
accurate to within a fraction of a percent of a browser. Characters: 70.
How to fix
Rendered width
| Desktop | 650px | / 580px | |
| Mobile | 585px | / 920px |
Measured in Arial at the size Google renders result titles, accurate to within a fraction of a percent of a browser. Characters: 70.
The meta description length is well judged.
Nothing in this section matches the current filter.
Crawling & indexing
Whether search engines can reach, read and index this page at all.
Missing pages (404)
HTTP 200
A page that does not exist returns HTTP 200. Search engines can index endless empty pages, and Search Console reports them as soft 404s.
https://lysanderslabyrinth.com/wrp-missing-c250d37143 answered HTTP 200
How to fix
www and https versions
2 found
2 other spellings of this address do not lead here, so search engines can treat them as separate pages and split the ranking between them.
https://www.lysanderslabyrinth.com/ answers HTTP 200 itself
http://www.lysanderslabyrinth.com/ → 301 → https://www.lysanderslabyrinth.com/
How to fix
The page returns 200 OK.
The URL resolves without redirects.
No directive prevents indexing.
The canonical correctly references this page.
https://lysanderslabyrinth.com/
Language is declared as "en".
lang="en"
No hreflang annotations, which is correct for a single-language page.
The viewport is configured for mobile.
width=device-width, initial-scale=1.0
The page declares UTF-8 encoding.
A favicon is declared.
All resources load securely.
The URL is 31 characters.
The URL is clean and readable.
The page is 0 levels deep.
The URL has no query parameters.
robots.txt is present and does not block crawling.
A sitemap is published, listing 13 URLs.
Lists 13 URLs
Nothing in this section matches the current filter.
Content & metadata
What the page says it is about, and how it reads.
Share image
The share image is an SVG, which no social platform shows on a card, so a shared link shows no picture.
https://lysanderslabyrinth.com/og-image.svg
How to fix
Open Graph tags are present.
twitter:card is set to summary_large_image.
The page has exactly one h1.
Every Puzzle Has a Story.
The heading outline descends in order.
The page has roughly 408 words.
Text is 7.4% of the page source.
No data tables on this page, so there are no columns to label.
The page's prominent terms appear in its title, description or headings.
Where these terms appear
| Term | Count | Density | Title | Description | Headings |
|---|---|---|---|---|---|
| puzzle | 10 | 3.89% | ✓ | ✓ | ✓ |
| puzzles | 10 | 3.89% | ✕ | ✓ | ✓ |
| rings | 7 | 2.72% | ✕ | ✕ | ✓ |
| nine | 5 | 1.95% | ✕ | ✕ | ✓ |
| metal | 4 | 1.56% | ✕ | ✓ | ✓ |
No term is repeated unnaturally often.
The page's most frequent terms, from 257 words of content.
What this page is about
Term size reflects how often it appears. Density is not a ranking factor, this is a view of the page's subject, not a target to hit.
Nothing in this section matches the current filter.
AI & answer readiness
Whether answer engines and AI overviews can extract and trust this page.
Content freshness
The page publishes no date. Not expected on a page like this; worth adding if its content goes out of date.
How to fix
Answer schema
No structured data an answer engine can lift directly, such as FAQPage, HowTo or Article.
How to fix
Page subject
No structured data describes what this page is about.
Found: Organization
None of these declare the page's subject.
1 type: Organization
How to fix
2 headings are followed by a snippet-shaped answer.
Attribution signals present: contact page, about page, privacy policy.
contact page, about page, privacy policy
408 words across 11 headings, 3 lists and 0 tables.
The page names who is behind it: lysanderslabyrinth.com.
The page reads the same with and without JavaScript.
llms.txt is published, giving AI agents a curated map of the site.
Every AI crawler checked is allowed to read this page.
Nothing in this section matches the current filter.
Speed & delivery
What makes the page slow, and what the loading experience measures.
Largest Contentful Paint
Target ≤ 2.5s
What this measures
How long until the largest thing on screen, usually the hero image, video or headline block, has finished rendering. It is a proxy for "when did this page feel loaded".
What moves it: Serve the hero image in a modern format at the size it is displayed, preload it, and remove render-blocking CSS and JavaScript ahead of it. A slow server response delays it too, so check TTFB first.
Interaction to Next Paint
Target ≤ 200ms
What this measures
How long the page takes to respond visibly after a tap, click or key press, measured across every interaction, not just the first. High INP is what makes a page feel unresponsive even once it looks ready.
What moves it: Break up long JavaScript tasks so the main thread is free to respond, defer work that is not needed for the interaction, and avoid large re-renders on every event.
Cumulative Layout Shift
Target ≤ 0.1
What this measures
How much visible content jumps around while the page loads. This is what makes someone tap the wrong thing because a banner or image pushed the layout down underneath their finger.
What moves it: Give images and video explicit width and height so the browser reserves the space, reserve room for ads and embeds, and avoid inserting content above what is already on screen.
First Contentful Paint
Target ≤ 1.8s
What this measures
How long until anything at all appears, the first text or image painted. It separates "the page starts slowly" from "the biggest element is slow": a fast FCP with a slow LCP points at the hero, while both slow points at the server.
What moves it: Cut render-blocking CSS and JavaScript in the head, inline the styles needed for the first screen, and improve the server response time.
Real-user response time
Target ≤ 800ms
Needs real-user data from Chrome UX Report
Render-blocking resources
3 found
3 resources in <head> block the first paint, delaying when anything appears on screen.
stylesheet: /assets/index-Dce2Ul9P.css
script: /airo-video-slots.js
script: /airo-logo-orientation.js
How to fix
Inline styles
138 found
138 elements carry inline style attributes, which cannot be cached and inflate the document.
How to fix
Time to first byte is 299 ms.
The HTML document is 37 KB.
No deprecated HTML tags are used.
The response is compressed with gzip.
Content-Encoding: gzip
The page loads 28 requests totalling 1.8 MB.
What loaded, by type
| Type | Requests | Transferred | |
|---|---|---|---|
| image | 7of 9 declared | 1.4 MB | |
| script | 9of 5 declared | 374 KB | |
| font | 2 | 76 KB | |
| stylesheet | 2of 1 declared | 15 KB | |
| other | 7 | 8 KB | |
| document | 1 | 7 KB |
Of these, 9 requests (440 KB) come from third-party domains. The HTML declares 9 images but only 7 loaded, the rest are lazy-loaded and fetched when scrolled to.
3 third-party services load on this page, adding 440 KB.
Third-party services
| Service | Transferred | Main thread | |
|---|---|---|---|
| GoDaddy | 361 KB | 33ms | |
| Google Fonts | 78 KB | under 1ms | |
| secureserver.net | 1 KB | under 1ms |
0.0s of main-thread time
Cache lifetimes are long enough that a returning visitor re-downloads only 19 KB.
Short cache lifetimes
| File | Cache lifetime | Size |
|---|---|---|
| img1.wsimg.com/scc-c2.min.js | 30m | 22 KB |
1 expire within the hour
Nothing in this section matches the current filter.
Security
Transport security, reputation and the response headers that protect visitors.
HSTS
No Strict-Transport-Security header, so a first visit over HTTP can be intercepted before the redirect.
How to fix
Clickjacking protection
Nothing prevents this page being embedded in a frame, which allows clickjacking.
How to fix
MIME sniffing
No X-Content-Type-Options header, so browsers may guess a resource type and execute it.
How to fix
Referrer policy
No Referrer-Policy header, so full URLs may leak to third-party sites.
How to fix
Content Security Policy
No Content-Security-Policy, the main defence against cross-site scripting.
How to fix
Permissions policy
No Permissions-Policy header, so any script or embed on the page may ask for the camera, microphone or location.
How to fix
security.txt
No security.txt, so somebody who finds a vulnerability has no published way to tell you about it.
https://lysanderslabyrinth.com/.well-known/security.txt
How to fix
No email addresses are written into the page for harvesting bots to collect.
The cookie the page sets carries Secure, HttpOnly and SameSite.
No software versions are disclosed in headers or the page.
The TLS certificate is valid for another 88 days, issued by Google Trust Services.
88 days remaining
Not listed by Google Web Risk for malware, phishing or unwanted software.
Connections use TLS 1.3.
Nothing in this section matches the current filter.
Server & domain
The server and the domain behind the page: protocol, network, registration and email records.
IPv6
lysanderslabyrinth.com has no IPv6 address. Visitors on IPv6-only mobile networks reach it through a translation gateway, which adds a step.
How to fix
Served over HTTP/2, which loads a page's files in parallel over one connection.
Served through Cloudflare, a CDN, so visitors get the page from a server near them.
lysanderslabyrinth.com is registered until 16 Oct 2027 with GoDaddy.com, LLC.
361 days remaining
lysanderslabyrinth.com was registered on 16 Oct 2026, under a year ago. Age is not a ranking factor, but an established name is one buyers and partners look for.
lysanderslabyrinth.com publishes an SPF record: v=spf1 include:secureserver.net -all
lysanderslabyrinth.com has a DMARC policy of quarantine.
No ad network loads on this page, so ads.txt is not needed.
Nothing in this section matches the current filter.
Links, media & schema
Links, images and structured data.
Image dimensions
3 found
3 images have no width and height, so the page shifts as they load (hurting CLS).
All 3 point at the same source, one template reused down the page.
# / line Image source
#1 L32 /airo-assets/images/logo/horizontal ×3<img src="/airo-assets/images/logo/horizontal" alt="Lysander's Labyrinth" class="block h-auto max-h-16 md:max-h-20 w-auto max-w-[300px] object-contain">
How to fix
All 3 point at the same source, one template reused down the page.
| # / line | Image source |
|---|---|
| #1 L32 | /airo-assets/images/logo/horizontal ×3<img src="/airo-assets/images/logo/horizontal" alt="Lysander's Labyrinth" class="block h-auto max-h-16 md:max-h-20 w-auto max-w-[300px] object-contain"> |
Responsive images
9 found
9 large images are served at one fixed size, so phones download desktop-sized files.
Shown as 7 unique sources; the counts show how often each repeats.
# / line Image source
#1 L32 /airo-assets/images/logo/horizontal ×3<img src="/airo-assets/images/logo/horizontal" alt="Lysander's Labyrinth" class="block h-auto max-h-16 md:max-h-20 w-auto max-w-[300px] object-contain"> #2 L32 /airo-assets/images/pages/home/hero<img src="/airo-assets/images/pages/home/hero" alt="" class="w-full h-full object-cover" loading="eager" fetchpriority="high" width="1920" height="1080"> #3 L32 /airo-assets/images/categories/tavern-puzzles<img src="/airo-assets/images/categories/tavern-puzzles" alt="Tavern Puzzles" class="absolute inset-0 w-full h-full object-cover transition-transform duration-700 group-hover:scale-105" loading="lazy" width="800" height="600"> #4 L32 /airo-assets/images/categories/3d-wood-puzzles<img src="/airo-assets/images/categories/3d-wood-puzzles" alt="3D Metal & Wood" class="absolute inset-0 w-full h-full object-cover transition-transform duration-700 group-hover:scale-105" loading="lazy" width="800" height="400"> #5 L32 /airo-assets/images/categories/jigsaw-puzzles<img src="/airo-assets/images/categories/jigsaw-puzzles" alt="Jigsaw Puzzles" class="absolute inset-0 w-full h-full object-cover transition-transform duration-700 group-hover:scale-105" loading="lazy" width="800" height="400"> #6 L32 /airo-assets/images/categories/other-puzzles<img src="/airo-assets/images/categories/other-puzzles" alt="Other Puzzles" class="absolute inset-0 w-full h-full object-cover transition-transform duration-700 group-hover:scale-105" loading="lazy" width="1200" height="400"> #7 L32 /airo-assets/images/pages/home/featured-article<img src="/airo-assets/images/pages/home/featured-article" alt="Featured article" class="w-full object-cover" style="aspect-ratio:4/3;border-radius:2px" loading="lazy" width="1200" height="800">
How to fix
Shown as 7 unique sources; the counts show how often each repeats.
| # / line | Image source |
|---|---|
| #1 L32 | /airo-assets/images/logo/horizontal ×3<img src="/airo-assets/images/logo/horizontal" alt="Lysander's Labyrinth" class="block h-auto max-h-16 md:max-h-20 w-auto max-w-[300px] object-contain"> |
| #2 L32 | /airo-assets/images/pages/home/hero<img src="/airo-assets/images/pages/home/hero" alt="" class="w-full h-full object-cover" loading="eager" fetchpriority="high" width="1920" height="1080"> |
| #3 L32 | /airo-assets/images/categories/tavern-puzzles<img src="/airo-assets/images/categories/tavern-puzzles" alt="Tavern Puzzles" class="absolute inset-0 w-full h-full object-cover transition-transform duration-700 group-hover:scale-105" loading="lazy" width="800" height="600"> |
| #4 L32 | /airo-assets/images/categories/3d-wood-puzzles<img src="/airo-assets/images/categories/3d-wood-puzzles" alt="3D Metal & Wood" class="absolute inset-0 w-full h-full object-cover transition-transform duration-700 group-hover:scale-105" loading="lazy" width="800" height="400"> |
| #5 L32 | /airo-assets/images/categories/jigsaw-puzzles<img src="/airo-assets/images/categories/jigsaw-puzzles" alt="Jigsaw Puzzles" class="absolute inset-0 w-full h-full object-cover transition-transform duration-700 group-hover:scale-105" loading="lazy" width="800" height="400"> |
| #6 L32 | /airo-assets/images/categories/other-puzzles<img src="/airo-assets/images/categories/other-puzzles" alt="Other Puzzles" class="absolute inset-0 w-full h-full object-cover transition-transform duration-700 group-hover:scale-105" loading="lazy" width="1200" height="400"> |
| #7 L32 | /airo-assets/images/pages/home/featured-article<img src="/airo-assets/images/pages/home/featured-article" alt="Featured article" class="w-full object-cover" style="aspect-ratio:4/3;border-radius:2px" loading="lazy" width="1200" height="800"> |
Structured data is valid: Organization.
Organization
1 type: Organization
Eligible for rich results via Organization.
Organization
1 type: Organization
39 internal and 11 external links.
39 internal, 11 external
39 internal, 11 external
Anchor text describes its destinations.
Outbound link rel attributes look appropriate.
In-page anchors resolve to real targets.
All images carry an alt attribute.
No heavy legacy image formats found.
Image loading strategy looks sound.
All 15 checked links resolve.
Nothing in this section matches the current filter.
What to fix first
Ranked by impact against effort, the top of this list buys the most for the least work.
Score breakdown
How each area scored. Categories that could not be measured are excluded rather than counted as zero.