RECIBO PÚBLICO Nº observatoriodetaxas-tec-br-2026-08-11-d0ff393a

Recibo de auditoria técnica

Este documento lista cada verificação executada, o resultado bruto e a regra de pontuação aplicada. É permanente, imutável e verificável por qualquer pessoa.

URL AUDITADA
https://observatoriodetaxas.tec.br/
AUDITORIA
ceb7286a-f4c3-4a10-aacb-d92c80406a2f
INICIADA EM
11/08/2026, 03:43:52
CONCLUÍDA EM
11/08/2026, 03:44:04
METODOLOGIA
v1.1.0 regras públicas
RECIBO EMITIDO EM
11/08/2026, 03:44:04

NOTA GERAL

84,4

DE 100

BOM

IA / GEO (peso 25%)72
SEO técnico (peso 20%)95
Acessibilidade (peso 20%)100
Performance (peso 20%)99,3
Boas práticas de transporte (peso 15%)50

Plano de ação

gerado por IA a partir das verificações deste recibo
1. **Cabeçalhos de segurança HSTS e CSP (30 pontos perdidos):** Configure no servidor o cabeçalho `Strict-Transport-Security: max-age=31536000; includeSubDomains` para forçar conexões HTTPS. Adicione também `Content-Security-Policy-Report-Only: default-src 'self'` para registrar violações de segurança sem bloquear recursos da página. 2. **Cabeçalhos complementares de proteção (20 pontos perdidos):** Adicione no servidor os cabeçalhos de resposta `X-Content-Type-Options: nosniff`, `Referrer-Policy: strict-origin-when-cross-origin`, `X-Frame-Options: SAMEORIGIN` e `Permissions-Policy: camera=(), microphone=(), geolocation=()`. 3. **Sinalização para robôs de IA no robots.txt (16 pontos perdidos):** Insira a linha `Content-Signal: search=yes, ai-input=no, ai-train=no` dentro de cada bloco do arquivo `robots.txt`. Declare também regras explícitas com `Allow` ou `Disallow` para robôs de IA como `GPTBot`, `ClaudeBot`, `Google-Extended` e `PerplexityBot`. 4. **Identificação da empresa e localização (12 pontos perdidos):** Insira o número do CNPJ visível no texto da página (como no rodapé) e adicione a localização (endereço, cidade e UF) no texto e na marcação JSON-LD. 5. **Tamanho da meta description (5 pontos perdidos):** Encurte o texto da meta descrição de 202 caracteres para a faixa ideal entre 50 e 160 caracteres, removendo cerca de 42 caracteres.

O plano resume as correções listadas abaixo, verificação a verificação — a prova continua sendo o extrato.

IA / GEO

72 / 100
  • ia.clareza_entidade

    Clareza de entidade: nome, CNPJ e localização extraíveis

    Regra: Nome identificável: 8 pts + CNPJ presente: 6 pts + localização presente: 6 pts (máx. 20).

    como corrigir — Faltou: CNPJ no texto da página (rodapé é o lugar clássico); localização (endereço no JSON-LD, CEP ou cidade/UF no texto).

    PARCIAL8 / 20
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "cep_extraido": null,
      "cnpj_extraido": null,
      "nome_extraido": "Observatório de Taxas",
      "endereco_json_ld": false,
      "cidade_uf_extraida": null
    }
  • ia.content_signals

    Content Signals no robots.txt

    Regra: Os 3 sinais (search, ai-input, ai-train) declarados com valor yes/no: 10 pts · 1 ou 2 sinais válidos: 6 pts · nenhum: 0 pts.

    como corrigir — Adicione uma linha "Content-Signal: search=yes, ai-input=no, ai-train=no" dentro de cada grupo User-agent do seu robots.txt, declarando o que você permite: search (aparecer na busca), ai-input (virar contexto de resposta de IA) e ai-train (treinar modelos). Sim ou não é escolha sua; o que conta é declarar (contentsignals.org).

    NÃO CONFORME0 / 10
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "sinais": {},
      "pares_invalidos": [],
      "sinais_ausentes": [
        "search",
        "ai-input",
        "ai-train"
      ],
      "sinais_declarados": [],
      "linhas_encontradas": 0,
      "robots_txt_acessivel": true,
      "linhas_content_signal": []
    }
  • ia.conteudo_sem_js

    Conteúdo presente no HTML sem JavaScript

    Regra: ≥ 200 palavras: 20 pts · 50–199 palavras: 10 pts · < 50 palavras: 0 pts.

    CONFORME20 / 20
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "amostra": "Pular para o conteúdo A primeira página que se reescreve sozinha Observatório de Taxas Segunda-feira, 10 de agosto de 2026 coletado às 15:41 · commit d40e3c5 · fonte SGS/BACEN Taxa Selic hoje Meta Selic 14,25% a.a. ■ 0,00 p.p. no mês ref. 05/08/2026 IPCA acumulado 12 meses hoje IPCA 12 meses 4,64% ▼ -0,08 p.p. no mês ref. 01/06/2026 Cotação do dólar hoje Dólar (venda) R$ 5,0963 ▲ +R$ 0,0190 no mês",
      "palavras_sem_js": 482
    }
  • ia.entidade_organizacao

    Entidade Organization identificável no JSON-LD

    Regra: Entidade de organização com `name`: 15 pts · tipo presente sem `name`: 8 pts · ausente: 0 pts.

    CONFORME15 / 15
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "nome": "Observatório de Taxas",
      "tipos": [
        "Organization"
      ],
      "organizacoes_encontradas": 1
    }
  • ia.jsonld_parseavel

    Dados estruturados JSON-LD parseáveis

    Regra: Todos os blocos presentes parseiam: 15 pts · parte parseia: 8 pts · nenhum bloco ou nenhum parseia: 0 pts.

    CONFORME15 / 15
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "blocos_validos": 1,
      "blocos_com_erro": 0,
      "tipos_declarados": [
        "Organization",
        "WebSite",
        "Dataset",
        "Dataset",
        "Dataset",
        "Dataset"
      ],
      "blocos_encontrados": 1
    }
  • ia.llms_txt

    llms.txt presente

    Regra: llms.txt acessível e em texto puro (não é fallback HTML): 10 pts · ausente ou devolvendo HTML: 0 pts.

    CONFORME10 / 10
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "status": 200,
      "content_type": "text/plain; charset=utf-8",
      "primeiras_linhas": "# Observatório de Taxas\n\n> Indicadores econômicos oficiais do Brasil — Selic, IPCA, dólar, IGP-M, desemprego e outros — coletados da API pública do Sistema Gerenciador de Séries Temporais (SGS) do Banco Central a cada 6 horas. O histórico completo vive versionado em Git desde 2015: cada coleta é um commit, então todo número é auditável ponto a ponto no repositório.\n\nSite 100% estático (GitHub Pages), gratuito e sem cadastro. Os dados são arquivos JSON sob `/data/`, no formato `[{\"data\": \"dd/mm/aaaa\", \"valor\": \"14.25\"}, ...]` — `valor` é string com ponto decimal, ordenado por data. Os números do dia são \"assados\" direto no HTML da primeira página (entre os marcadores `<!-- boletim:inicio -->` e `<!-- boletim:fim -->`, reescritos a cada coleta), então funcionam sem JavaScript. Dados em domínio público (CC0 1.0). Código e histórico: https://github.com/iosbilario/observatorio-taxas — mantido por LBP Tecnologia.",
      "parece_fallback_html": false
    }
  • ia.robots_bots_ia

    robots.txt com política explícita para bots de IA

    Regra: Política explícita para ≥ 1 bot de IA: 10 pts · robots.txt existe mas não menciona bots de IA: 4 pts · sem robots.txt: 0 pts.

    como corrigir — Seu robots.txt existe mas não menciona bots de IA. Adicione blocos explícitos (User-agent: GPTBot, ClaudeBot, Google-Extended, PerplexityBot…) com Allow ou Disallow — a decisão é sua; o ponto é ela ser explícita.

    PARCIAL4 / 10
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "status": 200,
      "bots_ia_mencionados": [],
      "robots_txt_acessivel": true
    }

SEO técnico

95 / 100
  • seo.canonical

    URL canônica declarada e coerente

    Regra: Canonical absoluta no mesmo domínio: 15 pts · presente mas relativa ou de outro domínio: 8 pts · ausente: 0 pts.

    CONFORME15 / 15
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "absoluta": true,
      "canonical": "https://observatoriodetaxas.tec.br/",
      "mesmo_dominio": true
    }
  • seo.description

    Meta description dentro dos limites

    Regra: Presente com 50–160 caracteres: 10 pts · presente fora do intervalo: 5 pts · ausente: 0 pts.

    como corrigir — Sua description tem 202 caracteres — ajuste para 50–160 (corte 42).

    PARCIAL5 / 10
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "caracteres": 202,
      "description": "Taxa Selic hoje, IPCA acumulado em 12 meses, cotação do dólar, IGP-M e desemprego, direto do Banco Central (SGS/BACEN). Números do dia, série histórica desde 2015 e dados oficiais versionados em aberto."
    }
  • seo.indexavel

    Página indexável

    Regra: Status 200 sem noindex: 20 pts · qualquer bloqueio ou status ≠ 200: 0 pts.

    CONFORME20 / 20
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "status": 200,
      "meta_robots": "index, follow, max-image-preview:large",
      "x_robots_tag": null,
      "noindex_detectado": false
    }
  • seo.lighthouse_seo

    Score SEO do Lighthouse (mobile)

    Regra: Score (0–1) × 20 pts. Sem resultado do PSI: 0 pts, com o erro registrado.

    CONFORME20 / 20
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "score_lighthouse": 1,
      "versao_lighthouse": "13.4.1"
    }
  • seo.open_graph

    Open Graph essencial

    Regra: 2,5 pts por tag presente (og:title, og:description, og:image, og:url), máx. 10 pts.

    CONFORME10 / 10
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "ausentes": [],
      "presentes": [
        "og:title",
        "og:description",
        "og:image",
        "og:url"
      ]
    }
  • seo.sitemap

    Sitemap acessível, válido e declarado

    Regra: Acessível e válido: 10 pts + declarado no robots.txt: 5 pts.

    CONFORME15 / 15
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "status": 200,
      "xml_valido": true,
      "url_verificada": "https://observatoriodetaxas.tec.br/sitemap.xml",
      "urls_no_sitemap": 520,
      "declarado_no_robots": true
    }
  • seo.titulo

    Título da página dentro dos limites

    Regra: Presente com 10–60 caracteres: 10 pts · presente fora do intervalo: 5 pts · ausente: 0 pts.

    CONFORME10 / 10
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "titulo": "Selic, IPCA e Dólar hoje | Observatório de Taxas",
      "caracteres": 48
    }

Acessibilidade

100 / 100
  • a11y.alt

    Texto alternativo em imagens

    Regra: (imagens com alt ÷ total de imagens) × 15 pts. Página sem imagens: 15 pts.

    CONFORME15 / 15
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "com_alt": 1,
      "total_imagens": 1
    }
  • a11y.contraste

    Contraste de cores (axe via Lighthouse)

    Regra: Auditoria passou (ou não se aplica): 10 pts · falhou: 0 pts · PSI indisponível: 0 pts.

    CONFORME10 / 10
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "modo": "binary",
      "score_auditoria": 1
    }
  • a11y.headings

    Hierarquia de headings

    Regra: Exatamente um h1: 8 pts + nenhum salto de nível: 7 pts.

    CONFORME15 / 15
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "sequencia": [
        "h1",
        "h2",
        "h2",
        "h2",
        "h2",
        "h2",
        "h2",
        "h2",
        "h2",
        "h2",
        "h2"
      ],
      "h1_encontrados": 1,
      "saltos_de_nivel": 0
    }
  • a11y.lang

    Idioma declarado no <html>

    Regra: lang presente e válido: 10 pts · presente mas malformado: 5 pts · ausente: 0 pts.

    CONFORME10 / 10
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "lang": "pt-BR",
      "formato_valido": true
    }
  • a11y.lighthouse

    Score de acessibilidade do Lighthouse (mobile)

    Regra: Score (0–1) × 40 pts. Sem resultado do PSI: 0 pts, com o erro registrado.

    CONFORME40 / 40
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "score_lighthouse": 1,
      "versao_lighthouse": "13.4.1"
    }
  • a11y.skip_link

    Skip link para o conteúdo

    Regra: Skip link identificado entre os primeiros links da página: 10 pts · ausente: 0 pts.

    CONFORME10 / 10
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "skip_link": {
        "href": "#conteudo",
        "texto": "Pular para o conteúdo"
      },
      "links_ancora_iniciais": [
        {
          "href": "#conteudo",
          "texto": "Pular para o conteúdo"
        }
      ]
    }

Performance

99,3 / 100
  • perf.cls_mobile

    CLS — Cumulative Layout Shift (mobile, laboratório)

    Regra: ≤ 0,1: 10 pts · ≤ 0,25: 5 pts · acima: 0 pts.

    CONFORME10 / 10
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "cls": 0.002338336045753217
    }
  • perf.lcp_mobile

    LCP — Largest Contentful Paint (mobile, laboratório)

    Regra: ≤ 2,5 s: 15 pts · ≤ 4,0 s: 8 pts · acima: 0 pts.

    CONFORME15 / 15
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "lcp_ms": 2401.5
    }
  • perf.psi_desktop

    Score de performance do Lighthouse — desktop

    Regra: Score (0–1) × 25 pts. Sem resultado do PSI: 0 pts, com o erro registrado.

    CONFORME25 / 25
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "analisado_em": "2026-08-11T06:43:54.182Z",
      "score_lighthouse": 1,
      "versao_lighthouse": "13.4.1"
    }
  • perf.psi_mobile

    Score de performance do Lighthouse — mobile

    Regra: Score (0–1) × 35 pts. Sem resultado do PSI: 0 pts, com o erro registrado.

    como corrigir — Performance mobile em 98/100 — as métricas abaixo (LCP, CLS, TBT) indicam exatamente onde atacar.

    PARCIAL34,3 / 35
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "analisado_em": "2026-08-11T06:43:54.598Z",
      "score_lighthouse": 0.98,
      "versao_lighthouse": "13.4.1"
    }
  • perf.tbt_mobile

    TBT — Total Blocking Time (mobile, laboratório)

    Regra: ≤ 200 ms: 15 pts · ≤ 600 ms: 8 pts · acima: 0 pts.

    CONFORME15 / 15
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "tbt_ms": 40
    }

Boas práticas de transporte

50 / 100
  • tr.certificado

    Certificado TLS válido

    Regra: Certificado válido e não expirado: 15 pts · inválido, expirado ou inacessível: 0 pts.

    CONFORME15 / 15
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "valido": true,
      "emissor": "Let's Encrypt / YR1",
      "sujeito": "observatoriodetaxas.tec.br",
      "valido_ate": "2026-10-11T15:09:08.000Z",
      "dias_restantes": 61
    }
  • tr.csp

    Content-Security-Policy

    Regra: CSP ativa: 15 pts · CSP em report-only: 10 pts · ausente: 0 pts.

    como corrigir — Comece com uma CSP em modo report-only (Content-Security-Policy-Report-Only: default-src 'self') — já vale pontos e não quebra nada; endureça depois.

    NÃO CONFORME0 / 15
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "csp": null,
      "csp_report_only": null
    }
  • tr.headers_extras

    Headers complementares

    Regra: Referrer-Policy: 4 pts + anti-framing: 3 pts + Permissions-Policy: 3 pts.

    como corrigir — Adicione: Referrer-Policy: strict-origin-when-cross-origin · X-Frame-Options: SAMEORIGIN · Permissions-Policy: camera=(), microphone=(), geolocation=().

    NÃO CONFORME0 / 10
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "referrer_policy": null,
      "x_frame_options": null,
      "permissions_policy": null,
      "frame_ancestors_na_csp": false
    }
  • tr.hsts

    HSTS — Strict-Transport-Security

    Regra: Header presente: 10 pts + max-age ≥ 180 dias: 5 pts.

    como corrigir — Adicione o header Strict-Transport-Security: max-age=31536000; includeSubDomains — instrui o navegador a nunca voltar para http.

    NÃO CONFORME0 / 15
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "header": null,
      "max_age_segundos": null
    }
  • tr.https_forcado

    HTTPS forçado

    Regra: Redireciona para https: 20 pts · porta 80 fechada (só https atende): 15 pts · serve conteúdo por http sem redirecionar: 0 pts.

    CONFORME20 / 20
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "cadeia": [
        {
          "de": "http://observatoriodetaxas.tec.br/",
          "para": "https://observatoriodetaxas.tec.br/",
          "status": 301
        }
      ],
      "redireciona": true,
      "porta_80_fechada": false
    }
  • tr.mixed_content

    Ausência de mixed content

    Regra: Zero referências http:// a recursos: 15 pts · qualquer referência: 0 pts.

    CONFORME15 / 15
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "quantidade": 0,
      "referencias_http": []
    }
  • tr.nosniff

    X-Content-Type-Options: nosniff

    Regra: Header presente com valor nosniff: 10 pts · ausente: 0 pts.

    como corrigir — Adicione o header X-Content-Type-Options: nosniff.

    NÃO CONFORME0 / 10
    resultado bruto · executada em 11/08/2026, 03:44:04
    {
      "header": null
    }

Histórico deste site

AUDITORIANOTAMETODOLOGIARECIBO
31/08/2026, 03:42:5182,7v1.1.0/r/observatoriodetaxas-tec-br-2026-08-31-88a7258f
30/08/2026, 03:42:5784,4v1.1.0/r/observatoriodetaxas-tec-br-2026-08-30-4a42ea3d
29/08/2026, 03:42:5682,9v1.1.0/r/observatoriodetaxas-tec-br-2026-08-29-d7a9a10f
28/08/2026, 03:43:2784,4v1.1.0/r/observatoriodetaxas-tec-br-2026-08-28-6210e5fa
27/08/2026, 03:43:3582,7v1.1.0/r/observatoriodetaxas-tec-br-2026-08-27-e32d8fbd
26/08/2026, 03:44:2082,9v1.1.0/r/observatoriodetaxas-tec-br-2026-08-26-c5387fad
24/08/2026, 03:42:5784,2v1.1.0/r/observatoriodetaxas-tec-br-2026-08-24-d55815c7
23/08/2026, 03:43:0082,7v1.1.0/r/observatoriodetaxas-tec-br-2026-08-23-e8e3664f
22/08/2026, 03:43:0582,7v1.1.0/r/observatoriodetaxas-tec-br-2026-08-22-a2828478
20/08/2026, 03:42:5482,7v1.1.0/r/observatoriodetaxas-tec-br-2026-08-20-1e63cb2f
18/08/2026, 03:43:0282,5v1.1.0/r/observatoriodetaxas-tec-br-2026-08-18-d56a5590
16/08/2026, 03:43:0782,9v1.1.0/r/observatoriodetaxas-tec-br-2026-08-16-4f57f1a5