Diagnóstico público de e-commerce · varredura em 25 de agosto de 2026
Resumo
O que está funcionando
- ✓ Imagens têm texto alternativo (image-alt)image-alt: sem violações na amostra
- ✓ Botões têm nome acessível (button-name)button-name: sem violações na amostra
- ✓ Links têm nome discernível (link-name)link-name: sem violações na amostra
Pontos críticos
- ✗ Contraste de cor atende WCAG AA (color-contrast) Críticocolor-contrast: 14 elemento(s) em 2 página(s) — https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 11 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 3 elemento(s) — ex.: <span class="text-xxs text-METEORITE_04 font-light">012521011006</span>
- ✗ Nome acessível inclui o texto visível (label-content-name-mismatch) Críticolabel-content-name-mismatch: 3 elemento(s) em 3 página(s) — https://www.shoulder.com.br/: 1 elemento(s) · https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 1 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 1 elemento(s) — ex.: <button type="button" aria-label="Abrir sacola" class="flex items-center gap-2" onclick="setCartDivVisibility()">
- ✗ Página tem um h1 (page-has-heading-one) Atençãopage-has-heading-one: 1 elemento(s) em 1 página(s) — https://www.shoulder.com.br/: 1 elemento(s) — ex.: <html lang="pt-BR" class="hydrated">
Cobertura honesta: medimos 100 de 395 verificações do registro público. 33 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 |
|---|---|---|---|
| Página de produto (PDP) https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395 |
✗ GTINs nos PDPs são válidos (check-digit GS1) e os atributos core têm fill-rate altoGTIN: 1/1 PDPs, 1 INVÁLIDO(S): 012521011006102338 (18 dígitos, não é um GTIN — GTIN tem 8, 12, 13 ou 14); fill-rate core (%): gtin=100 brand=100 price=100 availability=100 image=100 description=100 — GTIN é a chave de join dos agentes de shopping e o Merchant Center o exige | Aquisição de Tráfego | Atenção |
| Todas as páginas | ✗ Contraste de cor atende WCAG AA (color-contrast)color-contrast: 14 elemento(s) em 2 página(s) — https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 11 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 3 elemento(s) — ex.: <span class="text-xxs text-METEORITE_04 font-light">012521011006</span> | Qualidade Técnica do Site | Crítico |
| ✗ Nome acessível inclui o texto visível (label-content-name-mismatch)label-content-name-mismatch: 3 elemento(s) em 3 página(s) — https://www.shoulder.com.br/: 1 elemento(s) · https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 1 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 1 elemento(s) — ex.: <button type="button" aria-label="Abrir sacola" class="flex items-center gap-2" onclick="setCartDivVisibility()"> | Qualidade Técnica do Site | Crítico | |
| ✗ Página tem um h1 (page-has-heading-one)page-has-heading-one: 1 elemento(s) em 1 página(s) — https://www.shoulder.com.br/: 1 elemento(s) — ex.: <html lang="pt-BR" class="hydrated"> | Qualidade Técnica do Site | Atenção | |
| ✗ Página tem um landmark main (landmark-one-main)landmark-one-main: 2 elemento(s) em 2 página(s) — https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 1 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 1 elemento(s) — ex.: <html lang="pt-BR" class="hydrated"> | Qualidade Técnica do Site | Atenção | |
| ✗ Todo conteúdo está dentro de landmarks (region)region: 29 elemento(s) em 3 página(s) — https://www.shoulder.com.br/: 1 elemento(s) · https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 20 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 8 elemento(s) — ex.: <p class="cookies-modal__text font-shoulder text-[12px] font-light"> | Qualidade Técnica do Site | Atenção | |
| ✗ Listas são bem estruturadas (list)list: 1 elemento(s) em 1 página(s) — https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 1 elemento(s) — ex.: <ul class="about content-div max-h-0 overflow-hidden transition-all duration-300 ease-in h-full" style="max-height: 224px;"> | Qualidade Técnica do Site | Atenção | |
| ✗ Meta viewport permite zoom (meta-viewport)meta-viewport: 3 elemento(s) em 3 página(s) — https://www.shoulder.com.br/: 1 elemento(s) · https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 1 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 1 elemento(s) — ex.: <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=6, user-scalable=0"> | Qualidade Técnica do Site | Atenção | |
| ✗ Alvos de toque têm tamanho adequado (target-size)target-size: 27 elemento(s) em 2 página(s) — https://www.shoulder.com.br/: 26 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 1 elemento(s) — ex.: <button class="w-full h-full" type="button" data-wishlist-button="193288" aria-label="Adicionar aos favoritos" aria-pressed="false" onclick="wishlistAddClick(this,"193288")"> | Qualidade Técnica do Site | Atenção | |
| ✗ Headers de cache/CDN corretos por tipo de páginahome Cache-Control: max-age=0; cf-cache-status: DYNAMIC | Qualidade Técnica do Site | Atenção | |
| ✗ Content-Security-Policy presente e não trivialmente permissivaCSP presente com diretivas [default-src, frame-ancestors, report-uri, report-to, worker-src] | Qualidade Técnica do Site | Atenção | |
| ✗ Toda página tem exatamente um H1sem H1: https://www.shoulder.com.br/; 2/3 URLs com exatamente 1 | Qualidade Técnica do Site | Atenção | |
| ✗ Não há múltiplos <title>/<description>/<head> no documentotitle/desc/head duplicados: https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395, https://www.shoulder.com.br/acessorios/moda/bolsas | 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
60- ✗Headers de cache/CDN corretos por tipo de páginahome Cache-Control: max-age=0; cf-cache-status: DYNAMIC
- ✗Toda página tem exatamente um H1sem H1: https://www.shoulder.com.br/; 2/3 URLs com exatamente 1
- ✗Não há múltiplos <title>/<description>/<head> no documentotitle/desc/head duplicados: https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395, https://www.shoulder.com.br/acessorios/moda/bolsas
- ✗GTINs nos PDPs são válidos (check-digit GS1) e os atributos core têm fill-rate altoGTIN: 1/1 PDPs, 1 INVÁLIDO(S): 012521011006102338 (18 dígitos, não é um GTIN — GTIN tem 8, 12, 13 ou 14); fill-rate core (%): gtin=100 brand=100 price=100 availability=100 image=100 description=100 — GTIN é a chave de join dos agentes de shopping e o Merchant Center o exige
- ✗Sitemap não contém URLs obsoletas (3xx/4xx/5xx)https://www.shoulder.com.br/sitemap.xml (1 sitemap(s) declarado(s) no robots.txt): 11868 URLs em 0 sub-sitemaps; amostra 40: 0 não-200 (—); 4 URLs de teste (https://www.shoulder.com.br/blusas-teste-app-buy-the-look, https://www.shoulder.com.br/blusas-teste-app-look-carousel, https://www.shoulder.com.br/blusas-teste-app-zoom-look).
- ✗DNSSEC habilitado no domínioDoH DNSKEY do=1 → AD (authenticated data) = false
- ✗Banner de servidor/tech-stack não vaza versõesx-powered-by: Wake; server: cloudflare
- ✗security.txt presente e válido/.well-known/security.txt → 404 text/html; charset=utf-8; Contact:false Expires:false
Consideração
52- ✗Contraste de cor atende WCAG AA (color-contrast)color-contrast: 14 elemento(s) em 2 página(s) — https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 11 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 3 elemento(s) — ex.: <span class="text-xxs text-METEORITE_04 font-light">012521011006</span>
- ✗Nome acessível inclui o texto visível (label-content-name-mismatch)label-content-name-mismatch: 3 elemento(s) em 3 página(s) — https://www.shoulder.com.br/: 1 elemento(s) · https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 1 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 1 elemento(s) — ex.: <button type="button" aria-label="Abrir sacola" class="flex items-center gap-2" onclick="setCartDivVisibility()">
- ✗Página tem um h1 (page-has-heading-one)page-has-heading-one: 1 elemento(s) em 1 página(s) — https://www.shoulder.com.br/: 1 elemento(s) — ex.: <html lang="pt-BR" class="hydrated">
- ✗Página tem um landmark main (landmark-one-main)landmark-one-main: 2 elemento(s) em 2 página(s) — https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 1 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 1 elemento(s) — ex.: <html lang="pt-BR" class="hydrated">
- ✗Todo conteúdo está dentro de landmarks (region)region: 29 elemento(s) em 3 página(s) — https://www.shoulder.com.br/: 1 elemento(s) · https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 20 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 8 elemento(s) — ex.: <p class="cookies-modal__text font-shoulder text-[12px] font-light">
- ✗Listas são bem estruturadas (list)list: 1 elemento(s) em 1 página(s) — https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 1 elemento(s) — ex.: <ul class="about content-div max-h-0 overflow-hidden transition-all duration-300 ease-in h-full" style="max-height: 224px;">
- ✗Meta viewport permite zoom (meta-viewport)meta-viewport: 3 elemento(s) em 3 página(s) — https://www.shoulder.com.br/: 1 elemento(s) · https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 1 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 1 elemento(s) — ex.: <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=6, user-scalable=0">
- ✗Alvos de toque têm tamanho adequado (target-size)target-size: 27 elemento(s) em 2 página(s) — https://www.shoulder.com.br/: 26 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 1 elemento(s) — ex.: <button class="w-full h-full" type="button" data-wishlist-button="193288" aria-label="Adicionar aos favoritos" aria-pressed="false" onclick="wishlistAddClick(this,"193288")">
Compra
60- ✗Content-Security-Policy presente e não trivialmente permissivaCSP presente com diretivas [default-src, frame-ancestors, report-uri, report-to, worker-src]
- ✗Subresource Integrity (SRI) em scripts de terceirosterceiros sem SRI: static.fbits.net, wake-components.fbitsstatic.net, shoulder.fbitsstatic.net · com SRI: 0
- ✗Referrer-Policy restritivo definidoReferrer-Policy: AUSENTE
- ✗Isolamento cross-origin (COOP/COEP/CORP) configuradosem COOP/COEP/CORP — isolamento cross-origin ausente
- ✓HTTPS em todas as rotas (sem conteúdo servido em HTTP)
- ✓HSTS com max-age >= 1 ano, includeSubDomains e preload
- ✓X-Content-Type-Options nosniff presente
- ✓Proteção contra clickjacking (X-Frame-Options ou frame-ancestors)
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: 14 elemento(s) em 2 página(s) — https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 11 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 3 elemento(s) — ex.: <span class="text-xxs text-METEORITE_04 font-light">012521011006</span>
- Crítico✗ Nome acessível inclui o texto visível (label-content-name-mismatch)label-content-name-mismatch: 3 elemento(s) em 3 página(s) — https://www.shoulder.com.br/: 1 elemento(s) · https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 1 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 1 elemento(s) — ex.: <button type="button" aria-label="Abrir sacola" class="flex items-center gap-2" onclick="setCartDivVisibility()">
- Atenção✗ Página tem um h1 (page-has-heading-one)page-has-heading-one: 1 elemento(s) em 1 página(s) — https://www.shoulder.com.br/: 1 elemento(s) — ex.: <html lang="pt-BR" class="hydrated">
- Atenção✗ Página tem um landmark main (landmark-one-main)landmark-one-main: 2 elemento(s) em 2 página(s) — https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 1 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 1 elemento(s) — ex.: <html lang="pt-BR" class="hydrated">
- Atenção✗ Todo conteúdo está dentro de landmarks (region)region: 29 elemento(s) em 3 página(s) — https://www.shoulder.com.br/: 1 elemento(s) · https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 20 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 8 elemento(s) — ex.: <p class="cookies-modal__text font-shoulder text-[12px] font-light">
- Atenção✗ Listas são bem estruturadas (list)list: 1 elemento(s) em 1 página(s) — https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 1 elemento(s) — ex.: <ul class="about content-div max-h-0 overflow-hidden transition-all duration-300 ease-in h-full" style="max-height: 224px;">
- Atenção✗ Meta viewport permite zoom (meta-viewport)meta-viewport: 3 elemento(s) em 3 página(s) — https://www.shoulder.com.br/: 1 elemento(s) · https://www.shoulder.com.br/produto/vestido-flor-bordada-pb-150395: 1 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 1 elemento(s) — ex.: <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=6, user-scalable=0">
- Atenção✗ Alvos de toque têm tamanho adequado (target-size)target-size: 27 elemento(s) em 2 página(s) — https://www.shoulder.com.br/: 26 elemento(s) · https://www.shoulder.com.br/acessorios/moda/bolsas: 1 elemento(s) — ex.: <button class="w-full h-full" type="button" data-wishlist-button="193288" aria-label="Adicionar aos favoritos" aria-pressed="false" onclick="wishlistAddClick(this,"193288")">
Catálogo
Mais vendidos do catálogo público, de um catálogo com 11.478 itens.








Identidade de marca
“Moda feminina urbana e descomplicada para todo o Brasil”
#2563EB#6B7280#FFFDF4#000000Direto, convidativo e despojado, com foco no produto e num estilo urbano acessível
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