Audit Result

UUID: 01a098cf-342b-70bc-b5cb-74a24458ac3a

ft.ia.br

https://ft.ia.br/

Scanned 1 month ago

88
Excellent Score
39 total checks
Passed
30
Warnings
9
Errors
0

Meta Information

  • Title Tag Pass

    Found 60 characters. Length is optimal.

  • Found 152 characters. Good snippet length.

  • Canonical found: https://ft.ia.br/

  • Favicon Pass

    Favicon found and reachable: /favicon-96x96.png (HTTP 200).

    Favicon
  • Viewport configured: width=device-width, initial-scale=1.0, user-scalable=yes

  • HTML Lang Pass

    Language declared as "pt-BR".

Content Structure

Technical Optimization

  • HTTPS Pass

    Page is served over HTTPS.

  • 1 HTTPS hardening issues detected.

    • • Could not probe the HTTP version of this page.
    • • Strict-Transport-Security: max-age=63072000; includeSubDomains; preload

    Fix: Set Strict-Transport-Security with a long max-age, add includeSubDomains, and redirect all HTTP requests to HTTPS.

  • Missing: content-security-policy.

    Full HTTP headers (15)
    • • accept-ranges: bytes
    • • alt-svc: h3=":443"; ma=2592000
    • • content-disposition: inline; filename="index.html"
    • • content-encoding: br
    • • content-type: text/html; charset=utf-8
    • • date: Sun, 13 Sep 2026 03:28:25 GMT
    • • etag: "13dcd2df7fdb7ac9580a69454ea59b221ac42f89"
    • • link: </sitemap-index.xml>; rel="sitemap", </llms.txt>; rel="describedby"; type="text/plain", </openapi.json>; rel="service-desc"; type="application/json", </.well-known/api-catalog>; rel="service-meta"; type="application/linkset+json", </index.md>; rel="alternate"; type="text/markdown", </.well-known/ai-catalog.json>; rel="describedby"; type="application/json"
    • • permissions-policy: camera=(), microphone=(), geolocation=(), interest-cohort=()
    • • referrer-policy: strict-origin-when-cross-origin
    • • strict-transport-security: max-age=63072000; includeSubDomains; preload
    • • vary: Accept-Encoding Accept-Encoding
    • • x-agent-hint: AI agents: start at /llms.txt (context index) or /.well-known/ai-catalog.json (agentic resources)
    • • x-content-type-options: nosniff
    • • x-frame-options: DENY

    Fix: Add the missing security headers at your reverse proxy or application layer.

  • CSP Quality Warning

    Content-Security-Policy header is missing.

    • • Missing Content-Security-Policy header.

    Fix: Define a restrictive Content-Security-Policy and avoid unsafe directives such as unsafe-inline and unsafe-eval.

  • No first-party cookies were set during the initial page load.

  • Server response headers do not expose version tokens.

  • Domain does not appear to be behind Cloudflare.

  • Loaded in 0.88s (perceived).

  • 0 scripts and 1 styles may block rendering.

    • • style: https://ft.ia.br/_astro/Layout.CwEK9u2O.css

    Fix: Defer non-critical scripts and inline critical CSS to improve first paint speed.

  • Compression Warning

    2 text resources look uncompressed.

    • • https://c-oa.telles.net.br/v1/events (application/json)
    • • https://c-oa.telles.net.br/v1/tracker/config?key=oa_pk_clJO_pDKgRVeJMIG5zMrcO-ynVtfs0-G (application/json)

    Fix: Enable Brotli or Gzip compression for HTML, CSS, JS, and JSON responses.

  • Robots.txt Pass

    Found robots.txt (200).

  • Found sitemap (200) at https://ft.ia.br/sitemap-index.xml.

  • No robots meta tag defined.

    Fix: Add <meta name="robots" content="index,follow"> (or the intended directive) in <head>.

Accessibility Basics

  • All 0 controls are labeled.

  • Landmarks Pass

    Header, nav, main, and footer landmarks are present.

  • Tap Target Size Warning

    23 interactive elements appear smaller than 48px.

    • • a.sr-only.focus:not-sr-only (Pular para conteúdo) - 1x1px
    • • a.transition-colors.duration-300 (Fabricio Telles) - 154x24px
    • • a.inline-block.duration-300 (insights) - 49x20px
    • • a.inline-block.duration-300 (sobre mim) - 65x20px
    • • a.inline-block.duration-300 (projetos) - 55x20px
    • • a.inline-block.duration-300 (Terminal) - 16x16px
    • • button#theme-toggle.inline-flex.items-center (Toggle theme) - 32x32px
    • • a - 103x20px
    • • a - 108x20px
    • • a - 90x20px
    • • a - 103x20px
    • • a.duration-300.ease-in-out (Privacidade) - 88x20px
    • • a.duration-300.ease-in-out (Contato) - 69x20px
    • • a.duration-300.ease-in-out (Termos) - 63x20px
    • • a.duration-300.ease-in-out (Terminal) - 36x36px
    • • a.duration-300.ease-in-out (LinkedIn) - 36x36px
    • • a.duration-300.ease-in-out (GitHub) - 36x36px
    • • a.duration-300.ease-in-out (GitLab) - 36x36px
    • • a.duration-300.ease-in-out (Twitter) - 36x36px
    • • a.duration-300.ease-in-out (Substack) - 36x36px
    • • a.duration-300.ease-in-out (RSS) - 36x36px
    • • button#cookie-reject.rounded-md.border (Recusar) - 71x30px
    • • button#cookie-accept.rounded-md.bg-foreground (Aceitar) - 63x30px

    Fix: Increase target size to at least 48x48 CSS pixels for touch interactions.

Social & Rich Results

  • Core Open Graph tags are present.

  • og:image is present and absolute.

    Open Graph Image
  • twitter:card set to summary_large_image.

  • JSON-LD schema detected.

  • Manifest and Apple touch icon are configured.

  • 1 social preview quality issues detected.

    • • ISSUE: og:title should typically be between 10 and 70 characters.
    • • GUIDELINE: Optimal og:title length: 40-60 characters (acceptable: 10-70).
    • • GUIDELINE: Optimal og:description length: 110-160 characters (acceptable: 50-200).
    • • GUIDELINE: Optimal preview image size: 1200x630 pixels.
    • • GUIDELINE: Optimal preview image aspect ratio: 1.91:1.
    • • GUIDELINE: Optimal preview image file size: under 5 MB.
    • • GUIDELINE: Recommended twitter:card: summary_large_image.
    • • MEASURED: Image size: 0.09 MB
    • • MEASURED: Image dimensions: 1200x630

    Fix: Use absolute OG/Twitter URLs, keep metadata lengths in recommended ranges, and provide a preview image near 1200x630 under 5MB.

Links Analysis

  • Checked 14 links. No broken internal links found.

  • No broken external links found in checked URLs.

  • All 21 links use non-empty href values.

Performance & Runtime