Sample report. A real scan of imagineit.dev, the site of ImagineIT, the studio that builds CrawlWise, on 3 November 2026. Your own report looks the same and stays private. Scan your page

imagineit.dev

https://imagineit.dev/

91A

Score: 90.7 / 100 · grade A 90–100

Excellent agent readiness. The page is easy to fetch, read and trust.

What do grades mean?
A 90–100
Excellent agent readiness. The page is easy to fetch, read and trust.
B 80–89
Strong result. A small number of fixes would remove the remaining friction.
C 70–79
Fair. Several checks need attention before the page is reliably agent-ready.
D 60–69
Weak. Important signals are missing or broken.
E 50–59
Poor. Most checks need work.
F 0–49
Critical. The page is likely hard or impossible for agents to use.

Full scoring methodology

24 passed · 5 warnings · 0 failed

Status: done · checkset 0.4.6 · 2026-11-03 18:03 UTC

Screenshots

Captured during the scan

Categories

Weighted by the checkset. How scoring works.

CategoryScoreMax
Discovery 26.0 / 27
Content 20.0 / 20
Schema 7.5 / 15
Agent 12.0 / 12
Performance 13.5 / 15
Trust 8.0 / 8
Freshness & A11y 2.5 / 3

Audited pages

The score is merged across pages: a check fails if it fails on any audited page. Page scores cover page-level checks only.

PageStatusPage score
https://imagineit.dev/ done 97.3 / 100 (A)
https://imagineit.dev/services/ done 91.1 / 100 (A)
https://imagineit.dev/about/ done 99.3 / 100 (A)
https://imagineit.dev/ — 2 findings
  • Warn Largest Contentful Paint is under 2.5 seconds perf.lcp weight 3

    LCP needs improvement

    Next step: Inspect the LCP element and URL in the evidence. Prioritize the main image or text, reduce render-blocking work, and investigate slow server responses. Re-test under representative conditions.

    Evidence View details

    One unthrottled Chromium visit. If no time is recorded, the browser did not report a largest-contentful-paint entry before the scan finished; the check is treated as a warning.

    LCP time
    2692 ms
    Target
    2500 ms
    LCP element
    h1
    LCP resource
    No resource
    Measurement
    Unthrottled lab visit
    Raw JSON
    {
      "lcp_ms": 2692,
      "target_ms": 2500,
      "lcp_element": "h1",
      "lcp_url": null,
      "measurement": "unthrottled_lab"
    }
  • Warn Freshness signals are present freshness.signals weight 1

    No freshness signal was found

    Next step: Expose valid dateModified in structured data and as a visible update date, and keep the sitemap lastmod consistent.

https://imagineit.dev/services/ — 3 findings
  • Warn JSON-LD parses and describes the page schema.parses-core weight 8

    No page-level entity was found

    Next step: Inspect the JSON-LD errors and missing fields in the evidence. Correct the JSON syntax and add accurate schema.org types and properties that describe the visible page. Read the guide: Structured data for AI search: what helps and what doesn't

    Evidence View details
    Schema types
    • WebSite
    • Organization
    • Person
    • BreadcrumbList
    Raw JSON
    {
      "types": [
        "WebSite",
        "Organization",
        "Person",
        "BreadcrumbList"
      ]
    }
  • Warn Structured data describes the page entity schema.entities weight 4

    No page-level content entity was found

    Next step: Add a page-level entity using Article, Product, FAQPage or HowTo as appropriate, with author, publisher and sameAs. Add BreadcrumbList for non-home pages. Read the guide: Structured data for AI search: what helps and what doesn't

    Evidence View details
    Schema types
    • WebSite
    • Organization
    • Person
    • BreadcrumbList
    Content entity
    None
    Author schema
    No
    Publisher schema
    Yes
    sameAs
    Yes
    BreadcrumbList
    Yes
    FAQPage
    No
    Raw JSON
    {
      "types": [
        "WebSite",
        "Organization",
        "Person",
        "BreadcrumbList"
      ],
      "content_entity": null,
      "author": false,
      "publisher": true,
      "same_as": true,
      "breadcrumb": true,
      "faq": false
    }
  • Warn Freshness signals are present freshness.signals weight 1

    No freshness signal was found

    Next step: Expose valid dateModified in structured data and as a visible update date, and keep the sitemap lastmod consistent.

https://imagineit.dev/about/ — 1 finding
  • Warn Freshness signals are present freshness.signals weight 1

    No freshness signal was found

    Next step: Expose valid dateModified in structured data and as a visible update date, and keep the sitemap lastmod consistent.

Fix these first

  • JSON-LD parses and describes the page (Warn) — No page-level entity was found
  • Structured data describes the page entity (Warn) — No page-level content entity was found
  • Largest Contentful Paint is under 2.5 seconds (Warn) — LCP needs improvement
  • sitemap.xml is valid and current (Warn) — sitemap.xml has no lastmod
  • Freshness signals are present (Warn) — No freshness signal was found

Agent readiness

What an agent sees

HTML text

Raw HTML: 5011 characters, ~1253 tokens, 25% boilerplate. Rendered page: 5011 characters.

~/imagineit/ SOFTWARE STUDIO · ŁÓDŹ, POLANDFrom first idea to working software.A small software studio in Łódź, Poland, for founders and teams worldwide. We build web and mobile apps, integrations and AI features, plus the APIs that hold them together.Let’s talk Software since 2009Rails since 2011Clients in the US, UK and EuropeRUBY / TYPESCRIPT / PYTHON / KOTLINSCROLL TO EXPLORE 01 / CAPABILITIESWhat we build. Web, mobile, integrations, AI.01Web applications & products02Mobile appsNative iOS and Android apps, and hybrid apps built once for both platforms with React Native or Kotlin Multiplatform. Connected to the same backend and APIs as your web product.IOS / ANDROID / REACT NATIVE / KOTLINMobile app development03Integrations & automationWe connect the tools your business runs on: payments, CRMs, e-invoicing and the jobs that move data between them, built to keep working when the other side does not.API / PAYMENTS / WORKFLOWSAPI integrations and paymentsKSeF integration04AI & developer toolsAI features, MCP servers, plugins and internal tools, each built for one specific job in your product or workflow.AI / MCP / PLUGINSAI features and MCP servers05Legacy modernization & securityYou work directly with the people building your software.No account managers in between. Questions go to whoever wrote the code.02 / SELECTED WORKWhat we have built. Products and client work.Each case study says what we built and what we did not.Independent product / Agent readinessMeet CrawlWise.A technical audit for AI crawlers and answer engines: CrawlWise renders a page, runs 30+ checks and returns a private report with evidence and fixes.Shows what an AI crawler actually sees,and what to fix first.INDEPENDENT PRODUCT · SAASMeet Tribely.A project workspace that brings Kanban boards, documents, and real-time collaboration together. Built independently from the first concept through deployment.Built by ImagineIT.From product concept to deployment.Collaboration / APIs & full-stack delivery03GoodylabsAPIs, integrations and frontendClient names and screenshots are not published.Goodylabs collaboration API, frontend and integration work across booking, payments, e-invoicing and data projects delivered with Goodylabs since 2014.Since 2014APIs, integrations and frontendRuby on Rails / TypeScript / ReactIndependent work / Ticketing API04ShakaPass A Ruby on Rails API for a mobile ticket-booking app, with PostgreSQL and careful handling of event times across time zones.APIMobile ticket bookingRuby on Rails API / PostgreSQLExplore all projects 03 / HOW WE WORKAI writes a lot of the code. We review all of it.What that looks like day to day.You see working software early and shape the next steps with us.We own the architecture, review changes, and check quality and security before release.How a project runs, from MVP to handover 04 / ABOUTSmall studio. Since 2009.We build software for clients in the US, the UK and Europe. Since 2009 that has meant e-commerce, booking, payments, media, healthcare and financial services, with a lot of API work along the way.Most of our clients are businesses: founders with a new product, product teams that need more hands, and companies whose system has to keep growing. We scope every project separately, so the easiest start is to tell us what you need.Building softwareSince 2009ClientsUS, UK, and EuropeEngagementB2B: new products, extending existing systems, ongoing maintenanceAvailabilityOpen to new projects nowLanguagesEnglish, PolishWhere are you based?We are based in Łódź, Poland, and work with clients worldwide in English and Polish.Do you work with clients outside Poland?Yes. Most of our clients are in the US, the UK, and across Europe. We work in English and Polish.What kind of clients do you work with?Mainly businesses (B2B): founders building a new product, product teams that need more hands, and companies with an existing system to extend.Can you take over or extend an existing product?Yes. Extending systems that alre

Markdown

Found through a link rel=alternate · 10283 characters · ~2571 tokens

This Markdown document is larger than the extracted HTML text and can include additional sections, navigation or links. Fewer tokens are not automatically better; compare what each version contains.

# ImagineIT

> Independent software studio in Łódź, Poland, working with clients worldwide. You talk directly to the people who write the code.

We build software for clients in the US, the UK and Europe. Since 2009 that has meant e-commerce, booking, payments, media, healthcare and financial services, with a lot of API work along the way.

Most of our clients are businesses: founders with a new product, product teams that need more hands, and companies whose system has to keep growing. We scope every project separately, so the easiest start is to tell us what you need.

Core stack: Ruby on Rails; TypeScript / Node.js / NestJS / Next.js / Astro; Python / Django; Mobile: native iOS and Android, React Native, Kotlin Multiplatform; PostgreSQL / MySQL; AWS / Cloudflare / Kubernetes.

## Services

- Web applications & products: Web applications, SaaS products and APIs, from a first MVP to platforms with more than 20 services.
- Mobile apps: Native iOS and Android apps, and hybrid apps built once for both platforms with React Native or Kotlin Multiplatform. Connected to the same backend and APIs as your web product.
- Integrations & automation: We connect the tools your business runs on: payments, CRMs, e-invoicing and the jobs that move data between them, built to keep working when the other side does not.
- AI & developer tools: AI features, MCP servers, plugins and internal tools, each built for one specific job in your product or workflow.
- Legacy modernization & security: Older applications your business still relies on: we update dependencies, fix vulnerabilities and modernize the parts that hold the product back.

Service pages:

- [Ruby on Rails development](https://imagineit.dev/services/ruby-on-rails-development.md): Ruby on Rails development since 2011: new Rails apps, Hotwire front ends, APIs, background jobs, and long-term maintenance. Senior-led studio in Poland.
- [Web application development](https://imagineit.dev/services/web-application-development.md): Custom web apps, SaaS, and internal platforms in Rails, TypeScript (NestJS, Next.js), and Python (Django). We modernize legacy systems and fix vulnerabilities.
- [Mobile app development](https://imagineit.dev/services/mobile-app-development.md): Native iOS and Android apps, and hybrid apps with React Native or Kotlin Multiplatform, connected to the same backend and APIs as your web product.
- [API integrations and payments](https://imagineit.dev/services/api-integrations-payments.md): API integrations, Stripe payments, automated refunds, CRM write-back, and webhooks. Reliable data flows with retries and background processing.
- [KSeF integration](https://imagineit.dev/services/ksef-integration.md): KSeF API v2 integration: FA(3) invoices, refund corrections, QR codes and retries. Experience from our collaboration with Goodylabs.
- [AI features and MCP servers](https://imagineit.dev/services/ai-development-mcp-servers.md): Useful AI features, MCP servers, plugins, and custom AI agents built into your product and workflow. OCR, LLM search, and agent tooling.
- [Legacy modernization and Rails upgrades](https://imagineit.dev/services/legacy-modernization.md): We upgrade Rails and dependencies, fix known vulnerabilities, and modernize older web apps step by step while they stay in production.

## How we work

- A working MVP, fast: We skip the long specification. AI agents write and review much of the code, a senior engineer owns the architecture, and you get something to click through early on.
- Shaped together: The first version is where the real conversation starts. We try it together, watch how people actually use it, and change what needs changing.
- Communication that fits your team: Mostly Slack, in the channels your team already uses. We show a demo when there is something worth showing, or whenever you ask.
- You own the result: We set up the repositories, CI/CD and infrastructure, then hand them over. The code and the accounts are yours.
- Confidential when y

Agent checks

Agent

  • Pass llms.txt directory is present agent.llms-txt weight 2

    llms.txt is present (experimental)

    Evidence View details
    Status
    200
    Chars
    10283
    Links
    32
    Full
    Yes
    Raw JSON
    {
      "status": 200,
      "chars": 10283,
      "links": 32,
      "full": true
    }
  • Pass Markdown is available for agents agent.markdown weight 8

    Markdown endpoint is available and faithful

    Evidence View details
    Status
    200
    Chars
    10283
    Raw/rendered similarity
    51.0%
    Relative links
    0
    Raw JSON
    {
      "status": 200,
      "chars": 10283,
      "similarity": 0.51,
      "relative_links": 0
    }
  • Pass Markdown is advertised and negotiated correctly agent.markdown-negotiation weight 2

    Markdown is advertised and negotiated correctly

    Evidence View details
    Content type
    text/markdown; charset=utf-8
    Vary
    None
    Markdown advertised
    Yes
    Status
    200
    Raw JSON
    {
      "content_type": "text/markdown; charset=utf-8",
      "vary": "",
      "advertised": true,
      "status": 200
    }

Content

  • Pass Main content is not buried in boilerplate content.boilerplate weight 1

    Main content dominates the page

    Evidence View details
    Main content ratio
    93.0%
    Link density
    9.0%
    Raw JSON
    {
      "ratio": 0.93,
      "link_density": 0.09
    }
  • Pass Content images are described and efficient content.images weight 3

    Content images are described and efficient

    Evidence View details
    Images
    3
    Missing alt text
    0
    Missing dimensions
    0
    Legacy image formats
    0
    WebP/AVIF images
    3
    Raw JSON
    {
      "images": 3,
      "missing_alt": 0,
      "missing_dimensions": 0,
      "legacy_format": 0,
      "next_gen": 3
    }
  • Pass Main content is available without JavaScript content.no-js weight 7

    Main content is present without JavaScript

    Evidence View details
    Raw text characters
    5011
    Rendered text characters
    5011
    Raw/rendered similarity
    100.0%
    Content containment
    100.0%
    Raw JSON
    {
      "raw_chars": 5011,
      "rendered_chars": 5011,
      "similarity": 1,
      "containment": 1
    }
  • Pass Social preview metadata is complete content.social weight 1

    Social preview metadata is complete

    Evidence View details
    Og title
    Yes
    Og description
    Yes
    Og image
    Yes
    Twitter card
    summary_large_image
    Image absolute
    Yes
    Raw JSON
    {
      "og_title": true,
      "og_description": true,
      "og_image": true,
      "twitter_card": "summary_large_image",
      "image_absolute": true
    }
  • Pass Document structure is extractable content.structure weight 5

    The document structure is extractable

    Evidence View details
    main elements
    1
    h1 elements
    1
    Headings
    16
    First heading
    h1
    Title length
    55
    Description length
    147
    Language
    en
    Viewport meta
    Yes
    Heading level skips
    No
    Raw JSON
    {
      "mains": 1,
      "h1": 1,
      "headings": 16,
      "first_heading": "h1",
      "title_length": 55,
      "description_length": 147,
      "lang": "en",
      "viewport": true,
      "level_skips": false
    }

Discovery

  • Pass AI search and citation bots are allowed discovery.ai-bots weight 7

    Search and training bots are allowed

    Evidence View details
    Bots
    • Bot: OAI-SearchBot, Allowed: Yes, Intent: search
    • Bot: Claude-SearchBot, Allowed: Yes, Intent: search
    • Bot: PerplexityBot, Allowed: Yes, Intent: search
    • Bot: Googlebot, Allowed: Yes, Intent: search
    • Bot: Bingbot, Allowed: Yes, Intent: search
    • Bot: GPTBot, Allowed: Yes, Intent: training
    • Bot: ClaudeBot, Allowed: Yes, Intent: training
    • Bot: Google-Extended, Allowed: Yes, Intent: training
    • Bot: Applebot-Extended, Allowed: Yes, Intent: training
    • Bot: CCBot, Allowed: Yes, Intent: training
    • Bot: Bytespider, Allowed: Yes, Intent: training
    • Bot: Amazonbot, Allowed: Yes, Intent: training
    Training blocked
    No
    Raw JSON
    {
      "bots": [
        {
          "bot": "OAI-SearchBot",
          "allowed": true,
          "intent": "search"
        },
        {
          "bot": "Claude-SearchBot",
          "allowed": true,
          "intent": "search"
        },
        {
          "bot": "PerplexityBot",
          "allowed": true,
          "intent": "search"
        },
        {
          "bot": "Googlebot",
          "allowed": true,
          "intent": "search"
        },
        {
          "bot": "Bingbot",
          "allowed": true,
          "intent": "search"
        },
        {
          "bot": "GPTBot",
          "allowed": true,
          "intent": "training"
        },
        {
          "bot": "ClaudeBot",
          "allowed": true,
          "intent": "training"
        },
        {
          "bot": "Google-Extended",
          "allowed": true,
          "intent": "training"
        },
        {
          "bot": "Applebot-Extended",
          "allowed": true,
          "intent": "training"
        },
        {
          "bot": "CCBot",
          "allowed": true,
          "intent": "training"
        },
        {
          "bot": "Bytespider",
          "allowed": true,
          "intent": "training"
        },
        {
          "bot": "Amazonbot",
          "allowed": true,
          "intent": "training"
        }
      ],
      "training_blocked": false
    }
  • Pass hreflang annotations are complete discovery.hreflang weight 1

    hreflang annotations are complete

    Evidence View details
    Count
    3
    Hreflang languages
    • en
    • pl
    • x-default
    Duplicate languages
    —
    x-default
    Yes
    Self-reference
    Yes
    Raw JSON
    {
      "count": 3,
      "languages": [
        "en",
        "pl",
        "x-default"
      ],
      "duplicates": [],
      "x_default": true,
      "self_reference": true
    }
  • Pass The page is indexable and has a consistent canonical discovery.indexability weight 8

    The page is indexable and self-canonical

    Evidence View details
    Meta robots
    index, follow, max-image-preview:large
    X-Robots-Tag
    None
    Canonical URL
    https://imagineit.dev/
    Self-canonical
    Yes
    Canonical tags
    1
    Noindex
    No
    Nofollow
    No
    Nosnippet
    No
    Raw JSON
    {
      "meta_robots": "index, follow, max-image-preview:large",
      "x_robots_tag": "",
      "canonical": "https://imagineit.dev/",
      "canonical_self": true,
      "canonical_count": 1,
      "noindex": false,
      "nofollow": false,
      "nosnippet": false
    }
  • Pass Redirects are permanent and short discovery.redirects weight 4

    No redirects were needed

    Evidence View details
    Requested url
    https://imagineit.dev/
    Final url
    https://imagineit.dev/
    Redirect chain
    —
    Temporary redirects
    0
    Final URL uses HTTPS
    Yes
    Raw JSON
    {
      "requested_url": "https://imagineit.dev/",
      "final_url": "https://imagineit.dev/",
      "hops": [],
      "temporary": 0,
      "final_https": true
    }
  • Pass robots.txt allows CSS and JavaScript needed for rendering discovery.resource-access weight 3

    Googlebot can fetch CSS and JavaScript

    Evidence View details
    Resources checked
    4
    Blocked
    —
    robots.txt available
    Yes
    Raw JSON
    {
      "resources": 4,
      "blocked": [],
      "robots": true
    }
  • Pass robots.txt is reachable and valid discovery.robots weight 2

    robots.txt is reachable and has rules

    Evidence View details
    Status
    200
    Groups
    1
    Rules
    1
    Raw JSON
    {
      "status": 200,
      "groups": 1,
      "rules": 1
    }
  • Warn sitemap.xml is valid and current discovery.sitemap weight 2

    sitemap.xml has no lastmod

    Next step: Check the sitemap URL and errors in the evidence. Publish a valid XML sitemap containing canonical public URLs, and reference it from robots.txt.

    Evidence View details
    Urls
    50
    Raw JSON
    {
      "urls": 50
    }

Freshness & A11y

  • Pass Automated accessibility checks pass a11y.axe weight 2

    No critical or serious axe violations

    Evidence View details
    Violations
    0
    Critical
    0
    Serious
    0
    Rules
    —
    Raw JSON
    {
      "violations": 0,
      "critical": 0,
      "serious": 0,
      "rules": []
    }
  • Warn Freshness signals are present freshness.signals weight 1

    No freshness signal was found

    Next step: Expose valid dateModified in structured data and as a visible update date, and keep the sitemap lastmod consistent.

Schema

  • N/A Structured data dates are valid schema.dates weight 3

    No dated structured data

    Evidence View details
    Entities
    4
    Raw JSON
    {
      "entities": 4
    }
  • Warn Structured data describes the page entity schema.entities weight 4

    No page-level content entity was found

    Next step: Add a page-level entity using Article, Product, FAQPage or HowTo as appropriate, with author, publisher and sameAs. Add BreadcrumbList for non-home pages. Read the guide: Structured data for AI search: what helps and what doesn't

    Evidence View details
    Schema types
    • WebSite
    • Organization
    • Person
    • BreadcrumbList
    Content entity
    None
    Author schema
    No
    Publisher schema
    Yes
    sameAs
    Yes
    BreadcrumbList
    Yes
    FAQPage
    No
    Page
    https://imagineit.dev/services/
    Pages checked
    3
    Raw JSON
    {
      "types": [
        "WebSite",
        "Organization",
        "Person",
        "BreadcrumbList"
      ],
      "content_entity": null,
      "author": false,
      "publisher": true,
      "same_as": true,
      "breadcrumb": true,
      "faq": false,
      "page": "https://imagineit.dev/services/",
      "pages_checked": 3
    }
  • Warn JSON-LD parses and describes the page schema.parses-core weight 8

    No page-level entity was found

    Next step: Inspect the JSON-LD errors and missing fields in the evidence. Correct the JSON syntax and add accurate schema.org types and properties that describe the visible page. Read the guide: Structured data for AI search: what helps and what doesn't

    Evidence View details
    Schema types
    • WebSite
    • Organization
    • Person
    • BreadcrumbList
    Page
    https://imagineit.dev/services/
    Pages checked
    3
    Raw JSON
    {
      "types": [
        "WebSite",
        "Organization",
        "Person",
        "BreadcrumbList"
      ],
      "page": "https://imagineit.dev/services/",
      "pages_checked": 3
    }

Trust

  • Pass Security headers are present trust.headers weight 2

    Security headers are present

    Evidence View details
    Csp
    Yes
    Csp report only
    No
    Nosniff
    Yes
    Referrer
    Yes
    Framing
    Yes
    Raw JSON
    {
      "csp": true,
      "csp_report_only": false,
      "nosniff": true,
      "referrer": true,
      "framing": true
    }
  • Pass HTTPS, HSTS and redirects are correct trust.https weight 6

    HTTPS and HSTS are correct

    Evidence View details
    Https
    Yes
    Hsts
    max-age=31536000; includeSubDomains; preload
    Max age
    31536000
    Mixed content
    No
    Mixed content urls
    —
    Raw JSON
    {
      "https": true,
      "hsts": "max-age=31536000; includeSubDomains; preload",
      "max_age": 31536000,
      "mixed_content": false,
      "mixed_content_urls": []
    }

Performance

Performance 13.5/15 · Good

Single unthrottled browser visit. See measurement limits.

LCP
2692 ms
Warn h1

Good ≤ 2.5 s · Needs improvement 2.5–4 s · Poor > 4 s

The largest element painted after 2.5 s but before the 4 s poor boundary.

CLS
0.001
Pass nav (+0.001), div.header-controls (+0.001), span.wordmark-prefix (+0.000)

Good ≤ 0.10 · Needs improvement 0.10–0.25 · Poor > 0.25

Layout stayed within the 0.10 target for the largest shift window.

TTFB
96 ms
Pass

Fast ≤ 800 ms · Slow 800–1,500 ms · Very slow > 1,500 ms

The server sent the first byte within 800 ms.

HTML
94 KB
Pass

Small ≤ 500 KB with compression and HTTP/2+ · Large > 1 MB

HTML is small, compressed and served over HTTP/2 or newer.

Transfer
110 KB
Pass

Good ≤ 1 MB · Needs improvement 1–2 MB · Poor > 2 MB

Total transfer stayed at or below 1 MB.

Requests
11
Pass

Good ≤ 50 · Needs improvement 50–80 · Poor > 80

The page made 50 or fewer requests.

Blocking
0 scripts
Pass

Good 0 scripts · Needs improvement 1–2 · Poor > 2

No render-blocking scripts were found.

Resources

11 requests, 110 KB transferred, 0 third-party. 0 render-blocking script(s) and 0 stylesheet(s) in the document head.

  • image https://imagineit.dev/_astro/tribely.Ci67t2gI_1Sx8qT.avif 37 KB
  • document https://imagineit.dev/ 25 KB
  • image https://imagineit.dev/_astro/crawlwise-report.eipj5tVG_logUz.avif 20 KB
  • image https://imagineit.dev/_astro/tribely.Ci67t2gI_ZUnQJR.avif 15 KB
  • image https://imagineit.dev/_astro/crawlwise-report.eipj5tVG_ZDI5L0.avif 8 KB

Performance checks

  • Pass HTML has validators and cache headers perf.caching weight 2

    HTML uses validators and cache headers

    Evidence View details
    ETag
    Yes
    Last-Modified
    No
    Cache-Control
    public, max-age=0, must-revalidate
    Raw JSON
    {
      "etag": true,
      "last_modified": false,
      "cache_control": "public, max-age=0, must-revalidate"
    }
  • Pass Cumulative Layout Shift is under 0.1 perf.cls weight 3

    CLS is within the recommended range

    Evidence View details

    The largest layout-shift session window from one unthrottled visit. Shifts after user input and below the initial viewport are not represented.

    CLS score
    0.001
    Target
    0.1
    Largest shift sources
    • nav +0.001
    • div.header-controls +0.001
    • span.wordmark-prefix +0.000
    Measurement
    Unthrottled lab visit, initial viewport
    Raw JSON
    {
      "cls": 0.0006613782703526293,
      "target": 0.1,
      "cls_sources": [
        {
          "element": "nav",
          "value": 0.001
        },
        {
          "element": "div.header-controls",
          "value": 0.001
        },
        {
          "element": "span.wordmark-prefix",
          "value": 0
        }
      ],
      "measurement": "unthrottled_lab_initial_viewport"
    }
  • Warn Largest Contentful Paint is under 2.5 seconds perf.lcp weight 3

    LCP needs improvement

    Next step: Inspect the LCP element and URL in the evidence. Prioritize the main image or text, reduce render-blocking work, and investigate slow server responses. Re-test under representative conditions.

    Evidence View details

    One unthrottled Chromium visit. If no time is recorded, the browser did not report a largest-contentful-paint entry before the scan finished; the check is treated as a warning.

    LCP time
    2692 ms
    Target
    2500 ms
    LCP element
    h1
    LCP resource
    No resource
    Measurement
    Unthrottled lab visit
    Raw JSON
    {
      "lcp_ms": 2692,
      "target_ms": 2500,
      "lcp_element": "h1",
      "lcp_url": null,
      "measurement": "unthrottled_lab"
    }
  • Pass HTML payload is small and compressed perf.payload weight 2

    HTML payload is small and compressed

    Evidence View details

    HTML response size, compression and protocol. Asset weight is reported separately under Resources.

    Size
    94 KB
    HTML truncated
    No
    Content-Encoding
    zstd
    Protocol
    Unknown
    Raw JSON
    {
      "bytes": 94165,
      "truncated": false,
      "encoding": "zstd",
      "protocol": ""
    }
  • Pass Page resources stay within a reasonable budget perf.resources weight 3

    Page resources are within budget

    Evidence View details

    Sizes include response headers. Render-blocking means a script without async or defer, or a stylesheet in the document head.

    Requests
    11
    Size
    110 KB
    Transfer by type
    Document 25 KB · Script 4 KB · Image 80 KB
    Third-party requests
    0
    Render-blocking scripts
    0
    Stylesheets in the document head
    0
    Largest resources
    • image · https://imagineit.dev/_astro/tribely.Ci67t2gI_1Sx8qT.avif · 37 KB
    • document · https://imagineit.dev/ · 25 KB
    • image · https://imagineit.dev/_astro/crawlwise-report.eipj5tVG_logUz.avif · 20 KB
    • image · https://imagineit.dev/_astro/tribely.Ci67t2gI_ZUnQJR.avif · 15 KB
    • image · https://imagineit.dev/_astro/crawlwise-report.eipj5tVG_ZDI5L0.avif · 8 KB
    Measurement
    Unthrottled lab visit
    Raw JSON
    {
      "requests": 11,
      "bytes": 109777,
      "by_type": {
        "document": 25429,
        "script": 4233,
        "image": 80115
      },
      "cross_origin": 0,
      "render_blocking_scripts": 0,
      "render_blocking_styles": 0,
      "top": [
        {
          "url": "https://imagineit.dev/_astro/tribely.Ci67t2gI_1Sx8qT.avif",
          "type": "image",
          "bytes": 36717
        },
        {
          "url": "https://imagineit.dev/",
          "type": "document",
          "bytes": 25429
        },
        {
          "url": "https://imagineit.dev/_astro/crawlwise-report.eipj5tVG_logUz.avif",
          "type": "image",
          "bytes": 20237
        },
        {
          "url": "https://imagineit.dev/_astro/tribely.Ci67t2gI_ZUnQJR.avif",
          "type": "image",
          "bytes": 15379
        },
        {
          "url": "https://imagineit.dev/_astro/crawlwise-report.eipj5tVG_ZDI5L0.avif",
          "type": "image",
          "bytes": 7782
        }
      ],
      "measurement": "unthrottled_lab"
    }
  • Pass Time to first byte is reasonable perf.ttfb weight 2

    TTFB is fast

    Evidence View details

    Time to first byte for the HTML response, measured from the scan region.

    Time to first byte
    96 ms
    Scan region
    eu-central
    Raw JSON
    {
      "ttfb_ms": 96,
      "region": "eu-central"
    }

This sample is published with ImagineIT's permission and does not expire. Other reports are private links, are not indexed and expire 30 days after the scan. CrawlWise does not publish scans of third-party sites without permission.