Diagnóstico público de e-commerce · varredura em 15 de julho de 2026
Resumo
O que está funcionando
- ✓ Participação no UCP (manifest /.well-known/ucp) é conhecida e intencionalManifest UCP (Google Universal Commerce Protocol) ausente (/.well-known/ucp → 200, corpo HTML/soft-404) — padrão emergente, ausência NÃO é defeito; registrar para inventário
- ✓ Exposição de catálogo via MCP (se existir) é descobrível e válidanenhum endpoint MCP em /.well-known/mcp/server.json→200, /api/mcp→404 — padrão emergente (Shopify storefront MCP, SEP server-card), ausência NÃO é defeito
- ✓ llms.txt (se presente) é auditado apenas por completude/llms.txt presente (# funrio.com…) — registrado por completude; NENHUM engine principal lê llms.txt, não tratar como lever
Pontos críticos
- ✗ Contraste de cor atende WCAG AA (color-contrast) Críticocolor-contrast: 1 elemento(s) em 1 página(s) — https://funrio.com/: 1 elemento(s) — ex.: <p data-version="2400" class="ux-text m-0">Powered By</p>
- ✗ Contraste atende AAA onde exigido (color-contrast-enhanced) Críticocolor-contrast-enhanced: 2 elemento(s) em 1 página(s) — https://funrio.com/: 2 elemento(s) — ex.: <span class="ux-button-text">Do not share my personal information</span>
- ✗ Conteúdo principal está disponível no HTML cru (baixa dependência de JS) CríticoHTML cru vazio de conteúdo-chave (invisível a GPTBot/ClaudeBot/PerplexityBot — não executam JS): https://funrio.com/ (0 palavras, ProductLD=false, preço=false)
Cobertura honesta: medimos 74 de 387 verificações do registro público. 49 verificações ficaram bloqueadas: parte aguarda acesso a dados privados (GA4, Search Console, VTEX) ou entrevista, parte depende de pré-condições de execução.
Capturas da jornada
O que o navegador do nosso agente viu ao percorrer as páginas amostradas, no mesmo carregamento que decidiu as verificações de acessibilidade e rastreamento.


Problemas por página
Cada verificação reprovada, anotada na página onde foi observada e com a evidência literal capturada pelo probe. O título descreve o estado esperado; o ✗ indica que ele não foi atendido.
| Página | Verificação reprovada e evidência | Área | Severidade |
|---|---|---|---|
| Todas as páginas | ✗ Contraste de cor atende WCAG AA (color-contrast)color-contrast: 1 elemento(s) em 1 página(s) — https://funrio.com/: 1 elemento(s) — ex.: <p data-version="2400" class="ux-text m-0">Powered By</p> | Qualidade Técnica do Site | Crítico |
| ✗ Contraste atende AAA onde exigido (color-contrast-enhanced)color-contrast-enhanced: 2 elemento(s) em 1 página(s) — https://funrio.com/: 2 elemento(s) — ex.: <span class="ux-button-text">Do not share my personal information</span> | Qualidade Técnica do Site | Crítico | |
| ✗ Conteúdo principal está disponível no HTML cru (baixa dependência de JS)HTML cru vazio de conteúdo-chave (invisível a GPTBot/ClaudeBot/PerplexityBot — não executam JS): https://funrio.com/ (0 palavras, ProductLD=false, preço=false) | Aquisição de Tráfego | Crítico | |
| ✗ Domínio apex redireciona para o host www canônicohttps://funrio.com/ serve 200 em paralelo com www (host duplicado dilui canônico) | Qualidade Técnica do Site | Crítico | |
| ✗ Não há host paralelo (http+https ou www+non-www) servindo 200 simultaneamentevariantes→status {"http://funrio.com":200,"https://funrio.com":200}; 2 servem 200 | Qualidade Técnica do Site | Crítico | |
| ✗ Status codes corretos por tipo de recurso (sem soft-404)GET https://funrio.com/zzz-nonexistent-1784130556730-qx → 200 (esperado 404; 200 = soft-404) | Qualidade Técnica do Site | Crítico | |
| ✗ HTTPS em todas as rotas (sem conteúdo servido em HTTP)todas as entradas http resolvem para https 200 (2 cadeias) | Qualidade Técnica do Site | Crítico | |
| ✗ Toda página tem <title> presentetitle presente em 0/1 URLs | Qualidade Técnica do Site | Crítico | |
| ✗ Meta viewport está presente e configurada para mobileviewport width=device-width em 0/1 URLs | Qualidade Técnica do Site | Crítico | |
| ✗ Acesso de AI crawlers é governado intencionalmente no robots.txtrobots.txt sem NENHUMA diretiva para AI crawlers (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User, Google-Extended, CCBot, meta-externalagent, Amazonbot, Applebot-Extended, Bytespider) — acesso de IA não governado (default-allow acidental) | Aquisição de Tráfego | Atenção | |
| ✗ Redirect HTTP->HTTPS usa 301 permanente (não 302)http→https: apex 200, www 200 (esperado 301/308 permanente) | Qualidade Técnica do Site | Atenção | |
| ✗ Headers de cache/CDN corretos por tipo de páginahome Cache-Control: ∅; cf-cache-status: DYNAMIC | Qualidade Técnica do Site | Atenção |
Busca por IA (GEO)
Como o ChatGPT, o Perplexity e as respostas de IA do Google conseguem descobrir, entender e citar esta loja, medido em 9 dimensões sobre as 32 verificações de GEO do registro.
Scorecard do funil
A jornada do comprador, etapa a etapa, com o que passou e o que reprovou em cada uma.
Atração
27- ✗Conteúdo principal está disponível no HTML cru (baixa dependência de JS)HTML cru vazio de conteúdo-chave (invisível a GPTBot/ClaudeBot/PerplexityBot — não executam JS): https://funrio.com/ (0 palavras, ProductLD=false, preço=false)
- ✗Domínio apex redireciona para o host www canônicohttps://funrio.com/ serve 200 em paralelo com www (host duplicado dilui canônico)
- ✗Não há host paralelo (http+https ou www+non-www) servindo 200 simultaneamentevariantes→status {"http://funrio.com":200,"https://funrio.com":200}; 2 servem 200
- ✗Status codes corretos por tipo de recurso (sem soft-404)GET https://funrio.com/zzz-nonexistent-1784130556730-qx → 200 (esperado 404; 200 = soft-404)
- ✗Toda página tem <title> presentetitle presente em 0/1 URLs
- ✗Meta viewport está presente e configurada para mobileviewport width=device-width em 0/1 URLs
- ✗Acesso de AI crawlers é governado intencionalmente no robots.txtrobots.txt sem NENHUMA diretiva para AI crawlers (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User, Google-Extended, CCBot, meta-externalagent, Amazonbot, Applebot-Extended, Bytespider) — acesso de IA não governado (default-allow acidental)
- ✗Redirect HTTP->HTTPS usa 301 permanente (não 302)http→https: apex 200, www 200 (esperado 301/308 permanente)
Consideração
77- ✗Contraste de cor atende WCAG AA (color-contrast)color-contrast: 1 elemento(s) em 1 página(s) — https://funrio.com/: 1 elemento(s) — ex.: <p data-version="2400" class="ux-text m-0">Powered By</p>
- ✗Contraste atende AAA onde exigido (color-contrast-enhanced)color-contrast-enhanced: 2 elemento(s) em 1 página(s) — https://funrio.com/: 2 elemento(s) — ex.: <span class="ux-button-text">Do not share my personal information</span>
- ✓Imagens têm texto alternativo (image-alt)
- ✓Botões têm nome acessível (button-name)
- ✓Links têm nome discernível (link-name)
- ✓Documento tem título descritivo (document-title)
- ✓Elemento html tem atributo lang (html-has-lang)
- ✓Valor de lang do html é válido (html-lang-valid)
Compra
24- ✗HTTPS em todas as rotas (sem conteúdo servido em HTTP)todas as entradas http resolvem para https 200 (2 cadeias)
- ✗HSTS com max-age >= 1 ano, includeSubDomains e preloadStrict-Transport-Security: AUSENTE
- ✗Content-Security-Policy presente e não trivialmente permissivaContent-Security-Policy AUSENTE
- ✗Proteção contra clickjacking (X-Frame-Options ou frame-ancestors)X-Frame-Options: ∅; CSP frame-ancestors: false
- ✗X-Content-Type-Options nosniff presenteX-Content-Type-Options: AUSENTE
- ✗Referrer-Policy restritivo definidoReferrer-Policy: AUSENTE
- ✗Permissions-Policy restringe APIs sensíveis do browserPermissions-Policy: AUSENTE
- ✗Isolamento cross-origin (COOP/COEP/CORP) configuradosem COOP/COEP/CORP — isolamento cross-origin ausente
Retenção
não medidoNenhuma verificação desta etapa pôde ser medida só com dados públicos.
Correções ao alcance
Verificações reprovadas que o time de implementação resolve sem depender do cliente ou de terceiros, em ordem de severidade. Cada título descreve o estado esperado que hoje não é atendido.
- Crítico✗ Contraste de cor atende WCAG AA (color-contrast)color-contrast: 1 elemento(s) em 1 página(s) — https://funrio.com/: 1 elemento(s) — ex.: <p data-version="2400" class="ux-text m-0">Powered By</p>
- Crítico✗ Contraste atende AAA onde exigido (color-contrast-enhanced)color-contrast-enhanced: 2 elemento(s) em 1 página(s) — https://funrio.com/: 2 elemento(s) — ex.: <span class="ux-button-text">Do not share my personal information</span>
- Crítico✗ Conteúdo principal está disponível no HTML cru (baixa dependência de JS)HTML cru vazio de conteúdo-chave (invisível a GPTBot/ClaudeBot/PerplexityBot — não executam JS): https://funrio.com/ (0 palavras, ProductLD=false, preço=false)
- Crítico✗ Domínio apex redireciona para o host www canônicohttps://funrio.com/ serve 200 em paralelo com www (host duplicado dilui canônico)
- Crítico✗ Não há host paralelo (http+https ou www+non-www) servindo 200 simultaneamentevariantes→status {"http://funrio.com":200,"https://funrio.com":200}; 2 servem 200
- Crítico✗ Status codes corretos por tipo de recurso (sem soft-404)GET https://funrio.com/zzz-nonexistent-1784130556730-qx → 200 (esperado 404; 200 = soft-404)
- Crítico✗ HTTPS em todas as rotas (sem conteúdo servido em HTTP)todas as entradas http resolvem para https 200 (2 cadeias)
- Crítico✗ Toda página tem <title> presentetitle presente em 0/1 URLs
Identidade de marca
#09757A#2898EC#111111#FFFFFF#111111Minimal, transactional, neutral
Próximo passo
Isto é só a parte pública.
Este relatório usou apenas o que qualquer visitante consegue observar de fora: páginas públicas, dados estruturados, sinais de crawler e testes de navegador. O diagnóstico completo conecta GA4, Search Console e a plataforma da loja para medir o funil real, achar onde a receita escapa e dimensionar cada correção em reais.
Falar com a deco.cx