Diagnóstico público de e-commerce · varredura em 09 de setembro de 2026
Resumo
O que está funcionando
- ✓ Imagens têm texto alternativo (image-alt)image-alt: sem violações na amostra
- ✓ Campos de formulário têm label associado (label)label: sem violações na amostra
- ✓ Campo não tem múltiplos labels conflitantes (form-field-multiple-labels)form-field-multiple-labels: sem violações na amostra
Pontos críticos
- ✗ Botões têm nome acessível (button-name) Críticobutton-name: 22 elemento(s) em 3 página(s) — https://www.rihappy.com.br/: 12 elemento(s) · https://www.rihappy.com.br/esportes/tenis: 8 elemento(s) · https://www.rihappy.com.br/magazine-decor: 2 elemento(s) — ex.: <button type="submit">
- ✗ Links têm nome discernível (link-name) Críticolink-name: 18 elemento(s) em 3 página(s) — https://www.rihappy.com.br/: 14 elemento(s) · https://www.rihappy.com.br/esportes/tenis: 2 elemento(s) · https://www.rihappy.com.br/magazine-decor: 2 elemento(s) — ex.: <a href="/data-dupla?utmi_cp=l_data_dupla&utmi_p=nova_home_ri_happy_e&utmi_pc=logo" title="" rel="" class="vtex-store-components-3-x-imageElementLink vtex-store-components-3-x-imageElementLink--rnk-home-envelopamento-banner-principal">
- ✗ Contraste de cor atende WCAG AA (color-contrast) Críticocolor-contrast: 17 elemento(s) em 2 página(s) — https://www.rihappy.com.br/: 14 elemento(s) · https://www.rihappy.com.br/esportes/tenis: 3 elemento(s) — ex.: <span class="br2 pv1 ph2 mr2" style="background-color:#EE3124;color:#FFF;font-size:10px;font-weight:600;border-radius:6px;padding:6px 10px;white-space:nowrap">50<!-- -->% OFF</span>
Cobertura honesta: medimos 113 de 395 verificações do registro público. 24 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 |
|---|---|---|---|
| Home https://www.rihappy.com.br/ |
✗ LCP dentro do alvo (lab e campo)Lighthouse: https://www.rihappy.com.br/ — field LARGEST_CONTENTFUL_PAINT_MS=AVERAGE (p75=3244) | Qualidade Técnica do Site | Crítico |
| ✗ CLS dentro do alvo (sem layout shift perceptível)Lighthouse: https://www.rihappy.com.br/ — field CUMULATIVE_LAYOUT_SHIFT_SCORE=AVERAGE (p75=15) | Qualidade Técnica do Site | Atenção | |
| ✗ INP dentro do alvo (responsividade à interação)Lighthouse: https://www.rihappy.com.br/ — field INTERACTION_TO_NEXT_PAINT=SLOW (p75=520) | Qualidade Técnica do Site | Atenção | |
| Todas as páginas | ✗ Botões têm nome acessível (button-name)button-name: 22 elemento(s) em 3 página(s) — https://www.rihappy.com.br/: 12 elemento(s) · https://www.rihappy.com.br/esportes/tenis: 8 elemento(s) · https://www.rihappy.com.br/magazine-decor: 2 elemento(s) — ex.: <button type="submit"> | Qualidade Técnica do Site | Crítico |
| ✗ Links têm nome discernível (link-name)link-name: 18 elemento(s) em 3 página(s) — https://www.rihappy.com.br/: 14 elemento(s) · https://www.rihappy.com.br/esportes/tenis: 2 elemento(s) · https://www.rihappy.com.br/magazine-decor: 2 elemento(s) — ex.: <a href="/data-dupla?utmi_cp=l_data_dupla&utmi_p=nova_home_ri_happy_e&utmi_pc=logo" title="" rel="" class="vtex-store-components-3-x-imageElementLink vtex-store-components-3-x-imageElementLink--rnk-home-envelopamento-banner-principal"> | Qualidade Técnica do Site | Crítico | |
| ✗ Contraste de cor atende WCAG AA (color-contrast)color-contrast: 17 elemento(s) em 2 página(s) — https://www.rihappy.com.br/: 14 elemento(s) · https://www.rihappy.com.br/esportes/tenis: 3 elemento(s) — ex.: <span class="br2 pv1 ph2 mr2" style="background-color:#EE3124;color:#FFF;font-size:10px;font-weight:600;border-radius:6px;padding:6px 10px;white-space:nowrap">50<!-- -->% OFF</span> | Qualidade Técnica do Site | Crítico | |
| ✗ Nome acessível inclui o texto visível (label-content-name-mismatch)label-content-name-mismatch: 16 elemento(s) em 2 página(s) — https://www.rihappy.com.br/: 10 elemento(s) · https://www.rihappy.com.br/esportes/tenis: 6 elemento(s) — ex.: <a href="/boneca-baby-alive-minha-melhor-amiga-sophia-sparkle-hasbro/p" class="vtex-product-summary-2-x-clearLink vtex-product-summary-2-x-clearLink--rnk-shelf-default h-100 flex flex-column" aria-label="Boneca - Baby Alive - Minha Melhor Amiga - Sophia Sparkle - Hasbro"> | 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://www.rihappy.com.br/magazine-decor (119 palavras, ProductLD=false, preço=false) | Aquisição de Tráfego | Crítico | |
| ✗ Status codes corretos por tipo de recurso (sem soft-404)GET https://www.rihappy.com.br/zzz-nonexistent-1788954154875-qx → 200 (esperado 404; 200 = soft-404) | Qualidade Técnica do Site | Crítico | |
| ✗ Landmarks são únicos (landmark-unique)landmark-unique: 2 elemento(s) em 1 página(s) — https://www.rihappy.com.br/: 2 elemento(s) — ex.: <section aria-label="slider" id="slider-items-gjw6d6c" style="touch-action:pan-y" class="w-100 flex items-center relative vtex-slider-layout-0-x-sliderLayoutContainer vtex-slider-layout-0-x-sliderLayoutContainer--rnk-slider"> | Qualidade Técnica do Site | Atenção | |
| ✗ Todo conteúdo está dentro de landmarks (region)region: 20 elemento(s) em 3 página(s) — https://www.rihappy.com.br/: 16 elemento(s) · https://www.rihappy.com.br/esportes/tenis: 2 elemento(s) · https://www.rihappy.com.br/magazine-decor: 2 elemento(s) — ex.: <div style="top:0" class="vtex-store-header-2-x-headerStickyRow vtex-store-header-2-x-headerStickyRow--rnk-header-default sticky z-999"> | Qualidade Técnica do Site | Atenção | |
| ✗ Alvos de toque têm tamanho adequado (target-size)target-size: 4 elemento(s) em 2 página(s) — https://www.rihappy.com.br/esportes/tenis: 2 elemento(s) · https://www.rihappy.com.br/magazine-decor: 2 elemento(s) — ex.: <div role="button" class="rihappyio-rihappy-region-components-0-x-trigger outline-0 bg-transparent bn pa0 dib bg-red pointer" tabindex="0" style="z-index: 2000;"><div class="rihappyio-rihappy-region-components-0-x-popOverContainerRow"><button class="vtex-button">CEP</button></div></div> | Qualidade Técnica do Site | Atenção | |
| ✗ Consent Mode controla ad_storage/analytics_storagenenhum comando gtag('consent','default') detectado com tags GA4 disparando — Google Consent Mode não configurado (ad_storage/analytics_storage podem não ser governados) | Qualidade de Dados & Tagging | Atenção | |
| ✗ 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 | |
| ✗ HSTS com max-age >= 1 ano, includeSubDomains e preloadStrict-Transport-Security: AUSENTE | 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
57- ✗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://www.rihappy.com.br/magazine-decor (119 palavras, ProductLD=false, preço=false)
- ✗Status codes corretos por tipo de recurso (sem soft-404)GET https://www.rihappy.com.br/zzz-nonexistent-1788954154875-qx → 200 (esperado 404; 200 = soft-404)
- ✗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)
- ✗<title> tem comprimento adequado (não truncado nem curto demais)title lens 54/76/25 (alvo 10–70 chars ≈ sem truncar na SERP)
- ✗Toda página tem exatamente um H1sem H1: https://www.rihappy.com.br/, https://www.rihappy.com.br/magazine-decor; 1/3 URLs com exatamente 1
- ✗Sitemap não contém URLs obsoletas (3xx/4xx/5xx)https://www.rihappy.com.br/sitemap.xml (1 sitemap(s) declarado(s) no robots.txt): 5022 URLs em 133 sub-sitemaps; amostra 40: 0 não-200 (—); 3 URLs de teste (https://www.rihappy.com.br/teste-novo, https://www.rihappy.com.br/teste2-estrela, https://www.rihappy.com.br/teste-me-template-games-12345).
- ✗Decisão de permitir/bloquear cada AI crawler é coerente com a estratégiasem diretivas por-bot no robots.txt não há decisão explícita para auditar — incoerência por omissão (estratégia GEO indefinida)
- ✗Conteúdo oferece blocos extraíveis (tabelas, listas de passos, FAQ)blocos extraíveis (table/ol/FAQ) em 0/1 páginas julgadas (tabelas: 0; FAQ-pattern: 0)
Consideração
41- ✗Botões têm nome acessível (button-name)button-name: 22 elemento(s) em 3 página(s) — https://www.rihappy.com.br/: 12 elemento(s) · https://www.rihappy.com.br/esportes/tenis: 8 elemento(s) · https://www.rihappy.com.br/magazine-decor: 2 elemento(s) — ex.: <button type="submit">
- ✗Links têm nome discernível (link-name)link-name: 18 elemento(s) em 3 página(s) — https://www.rihappy.com.br/: 14 elemento(s) · https://www.rihappy.com.br/esportes/tenis: 2 elemento(s) · https://www.rihappy.com.br/magazine-decor: 2 elemento(s) — ex.: <a href="/data-dupla?utmi_cp=l_data_dupla&utmi_p=nova_home_ri_happy_e&utmi_pc=logo" title="" rel="" class="vtex-store-components-3-x-imageElementLink vtex-store-components-3-x-imageElementLink--rnk-home-envelopamento-banner-principal">
- ✗Contraste de cor atende WCAG AA (color-contrast)color-contrast: 17 elemento(s) em 2 página(s) — https://www.rihappy.com.br/: 14 elemento(s) · https://www.rihappy.com.br/esportes/tenis: 3 elemento(s) — ex.: <span class="br2 pv1 ph2 mr2" style="background-color:#EE3124;color:#FFF;font-size:10px;font-weight:600;border-radius:6px;padding:6px 10px;white-space:nowrap">50<!-- -->% OFF</span>
- ✗Nome acessível inclui o texto visível (label-content-name-mismatch)label-content-name-mismatch: 16 elemento(s) em 2 página(s) — https://www.rihappy.com.br/: 10 elemento(s) · https://www.rihappy.com.br/esportes/tenis: 6 elemento(s) — ex.: <a href="/boneca-baby-alive-minha-melhor-amiga-sophia-sparkle-hasbro/p" class="vtex-product-summary-2-x-clearLink vtex-product-summary-2-x-clearLink--rnk-shelf-default h-100 flex flex-column" aria-label="Boneca - Baby Alive - Minha Melhor Amiga - Sophia Sparkle - Hasbro">
- ✗LCP dentro do alvo (lab e campo)Lighthouse: https://www.rihappy.com.br/ — field LARGEST_CONTENTFUL_PAINT_MS=AVERAGE (p75=3244)
- ✗Landmarks são únicos (landmark-unique)landmark-unique: 2 elemento(s) em 1 página(s) — https://www.rihappy.com.br/: 2 elemento(s) — ex.: <section aria-label="slider" id="slider-items-gjw6d6c" style="touch-action:pan-y" class="w-100 flex items-center relative vtex-slider-layout-0-x-sliderLayoutContainer vtex-slider-layout-0-x-sliderLayoutContainer--rnk-slider">
- ✗Todo conteúdo está dentro de landmarks (region)region: 20 elemento(s) em 3 página(s) — https://www.rihappy.com.br/: 16 elemento(s) · https://www.rihappy.com.br/esportes/tenis: 2 elemento(s) · https://www.rihappy.com.br/magazine-decor: 2 elemento(s) — ex.: <div style="top:0" class="vtex-store-header-2-x-headerStickyRow vtex-store-header-2-x-headerStickyRow--rnk-header-default sticky z-999">
- ✗Alvos de toque têm tamanho adequado (target-size)target-size: 4 elemento(s) em 2 página(s) — https://www.rihappy.com.br/esportes/tenis: 2 elemento(s) · https://www.rihappy.com.br/magazine-decor: 2 elemento(s) — ex.: <div role="button" class="rihappyio-rihappy-region-components-0-x-trigger outline-0 bg-transparent bn pa0 dib bg-red pointer" tabindex="0" style="z-index: 2000;"><div class="rihappyio-rihappy-region-components-0-x-popOverContainerRow"><button class="vtex-button">CEP</button></div></div>
Compra
31- ✗HSTS com max-age >= 1 ano, includeSubDomains e preloadStrict-Transport-Security: AUSENTE
- ✗Content-Security-Policy presente e não trivialmente permissivaContent-Security-Policy AUSENTE
- ✗Subresource Integrity (SRI) em scripts de terceirosterceiros sem SRI: rihappybr.api.useinsider.com, capi-automation.s3.us-east-2.amazonaws.com, i.btg360.com.br, www.google.com, io.vtex.com.br, rihappynovo.vtexassets.com, reviews.konfidency.com.br, cdn-prod.securiti.ai · com SRI: 0
- ✗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
- ✗Sem URLs protocol-relative (//) em recursosrecursos protocol-relative (//): 6 em 3 URLs
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✗ Botões têm nome acessível (button-name)button-name: 22 elemento(s) em 3 página(s) — https://www.rihappy.com.br/: 12 elemento(s) · https://www.rihappy.com.br/esportes/tenis: 8 elemento(s) · https://www.rihappy.com.br/magazine-decor: 2 elemento(s) — ex.: <button type="submit">
- Crítico✗ Links têm nome discernível (link-name)link-name: 18 elemento(s) em 3 página(s) — https://www.rihappy.com.br/: 14 elemento(s) · https://www.rihappy.com.br/esportes/tenis: 2 elemento(s) · https://www.rihappy.com.br/magazine-decor: 2 elemento(s) — ex.: <a href="/data-dupla?utmi_cp=l_data_dupla&utmi_p=nova_home_ri_happy_e&utmi_pc=logo" title="" rel="" class="vtex-store-components-3-x-imageElementLink vtex-store-components-3-x-imageElementLink--rnk-home-envelopamento-banner-principal">
- Crítico✗ Contraste de cor atende WCAG AA (color-contrast)color-contrast: 17 elemento(s) em 2 página(s) — https://www.rihappy.com.br/: 14 elemento(s) · https://www.rihappy.com.br/esportes/tenis: 3 elemento(s) — ex.: <span class="br2 pv1 ph2 mr2" style="background-color:#EE3124;color:#FFF;font-size:10px;font-weight:600;border-radius:6px;padding:6px 10px;white-space:nowrap">50<!-- -->% OFF</span>
- Crítico✗ Nome acessível inclui o texto visível (label-content-name-mismatch)label-content-name-mismatch: 16 elemento(s) em 2 página(s) — https://www.rihappy.com.br/: 10 elemento(s) · https://www.rihappy.com.br/esportes/tenis: 6 elemento(s) — ex.: <a href="/boneca-baby-alive-minha-melhor-amiga-sophia-sparkle-hasbro/p" class="vtex-product-summary-2-x-clearLink vtex-product-summary-2-x-clearLink--rnk-shelf-default h-100 flex flex-column" aria-label="Boneca - Baby Alive - Minha Melhor Amiga - Sophia Sparkle - Hasbro">
- 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://www.rihappy.com.br/magazine-decor (119 palavras, ProductLD=false, preço=false)
- Crítico✗ Status codes corretos por tipo de recurso (sem soft-404)GET https://www.rihappy.com.br/zzz-nonexistent-1788954154875-qx → 200 (esperado 404; 200 = soft-404)
- Crítico✗ LCP dentro do alvo (lab e campo)Lighthouse: https://www.rihappy.com.br/ — field LARGEST_CONTENTFUL_PAINT_MS=AVERAGE (p75=3244)
- Atenção✗ Landmarks são únicos (landmark-unique)landmark-unique: 2 elemento(s) em 1 página(s) — https://www.rihappy.com.br/: 2 elemento(s) — ex.: <section aria-label="slider" id="slider-items-gjw6d6c" style="touch-action:pan-y" class="w-100 flex items-center relative vtex-slider-layout-0-x-sliderLayoutContainer vtex-slider-layout-0-x-sliderLayoutContainer--rnk-slider">
Catálogo
Mais vendidos do catálogo público, de um catálogo com 225.001 itens.








Identidade de marca
“Quanto mais Brincadeira, Melhor!”
#603F8E#7251A1#7251A1#FFFFFF#62489DAnimado, promocional, jovial e direto ao ponto, com foco em ofertas e urgência
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

