Diagnóstico público de e-commerce · varredura em 04 de setembro 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 → 404, 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→404, /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 ausente (404) — sem impacto: nenhum engine principal lê o arquivo
Pontos críticos
- ✗ Links têm nome discernível (link-name) Críticolink-name: 2 elemento(s) em 1 página(s) — https://www.nike.com/help/a/newsletter-unsubscribe: 2 elemento(s) — ex.: <a class="ta-sm-l body-2 css-1qcxpwp" href="/help/a/first-responder-discount"></a>
- ✗ Contraste de cor atende WCAG AA (color-contrast) Críticocolor-contrast: 13 elemento(s) em 1 página(s) — https://www.nike.com/: 13 elemento(s) — ex.: <h3 class="nds-text _1MF91zHG css-p61h82 e1yhcai00 appearance-display2 color-var(--podium-cds-color-text-primary-inverse) weight-medium uppercase" id="a11y_react-aria-:R1plpl6:-title" data-qa="title">HARD IN THE PAINT</h3>
- ✗ Roles ARIA têm filhos obrigatórios (aria-required-children) Críticoaria-required-children: 2 elemento(s) em 2 página(s) — https://www.nike.com/: 1 elemento(s) · https://www.nike.com/help/a/newsletter-unsubscribe: 1 elemento(s) — ex.: <ul class="desktop-category" role="menu">
Cobertura honesta: medimos 111 de 395 verificações do registro público. 29 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.nike.com/ |
✗ CLS dentro do alvo (sem layout shift perceptível)Lighthouse: https://www.nike.com/help/a/newsletter-unsubscribe — field CUMULATIVE_LAYOUT_SHIFT_SCORE=SLOW (p75=71) | Qualidade Técnica do Site | Atenção |
| Todas as páginas | ✗ Links têm nome discernível (link-name)link-name: 2 elemento(s) em 1 página(s) — https://www.nike.com/help/a/newsletter-unsubscribe: 2 elemento(s) — ex.: <a class="ta-sm-l body-2 css-1qcxpwp" href="/help/a/first-responder-discount"></a> | Qualidade Técnica do Site | Crítico |
| ✗ Contraste de cor atende WCAG AA (color-contrast)color-contrast: 13 elemento(s) em 1 página(s) — https://www.nike.com/: 13 elemento(s) — ex.: <h3 class="nds-text _1MF91zHG css-p61h82 e1yhcai00 appearance-display2 color-var(--podium-cds-color-text-primary-inverse) weight-medium uppercase" id="a11y_react-aria-:R1plpl6:-title" data-qa="title">HARD IN THE PAINT</h3> | Qualidade Técnica do Site | Crítico | |
| ✗ Roles ARIA têm filhos obrigatórios (aria-required-children)aria-required-children: 2 elemento(s) em 2 página(s) — https://www.nike.com/: 1 elemento(s) · https://www.nike.com/help/a/newsletter-unsubscribe: 1 elemento(s) — ex.: <ul class="desktop-category" role="menu"> | Qualidade Técnica do Site | Crítico | |
| ✗ Roles ARIA têm pai obrigatório (aria-required-parent)aria-required-parent: 16 elemento(s) em 2 página(s) — https://www.nike.com/: 8 elemento(s) · https://www.nike.com/help/a/newsletter-unsubscribe: 8 elemento(s) — ex.: <summary aria-expanded="false" aria-haspopup="menu" aria-label="Help menu" class="drop-down-accessibility-button" role="menuitem" tabindex="0"> | Qualidade Técnica do Site | Crítico | |
| ✗ Domínio apex redireciona para o host www canônicohttps://nike.com/ → 301 Location https://www.nike.com/; www serve 302 | Qualidade Técnica do Site | Crítico | |
| ✗ Não há host paralelo (http+https ou www+non-www) servindo 200 simultaneamentevariantes→status {"http://nike.com":301,"https://nike.com":301,"http://www.nike.com":302,"https://www.nike.com":302}; 0 servem 200 | 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 | |
| ✗ Headings em ordem hierárquica (heading-order)heading-order: 2 elemento(s) em 1 página(s) — https://www.nike.com/: 2 elemento(s) — ex.: <h3 class="nds-text _1MF91zHG css-p61h82 e1yhcai00 appearance-display2 color-primaryInverse weight-medium uppercase" id="a11y_react-aria-:R1p5pl6:-title" data-qa="title">The Wait is Almost over</h3> | Qualidade Técnica do Site | Atenção | |
| ✗ Página tem um landmark main (landmark-one-main)landmark-one-main: 1 elemento(s) em 1 página(s) — https://www.nike.com/help/a/newsletter-unsubscribe: 1 elemento(s) — ex.: <html lang="en-US" style="--eswIconFillColor: #1A1B1E;"> | Qualidade Técnica do Site | Atenção | |
| ✗ Todo conteúdo está dentro de landmarks (region)region: 25 elemento(s) em 2 página(s) — https://www.nike.com/: 1 elemento(s) · https://www.nike.com/help/a/newsletter-unsubscribe: 24 elemento(s) — ex.: <div aria-label="Nike AI" tabindex="-1" class="nav-css-1sf9wd7"> | Qualidade Técnica do Site | Atenção | |
| ✗ Itens de lista têm pai correto (listitem)listitem: 12 elemento(s) em 2 página(s) — https://www.nike.com/: 6 elemento(s) · https://www.nike.com/help/a/newsletter-unsubscribe: 6 elemento(s) — ex.: <li> | Qualidade Técnica do Site | Atenção | |
| ✗ Meta viewport permite zoom (meta-viewport)meta-viewport: 1 elemento(s) em 1 página(s) — https://www.nike.com/help/a/newsletter-unsubscribe: 1 elemento(s) — ex.: <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> | 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
47- ✗Domínio apex redireciona para o host www canônicohttps://nike.com/ → 301 Location https://www.nike.com/; www serve 302
- ✗Não há host paralelo (http+https ou www+non-www) servindo 200 simultaneamentevariantes→status {"http://nike.com":301,"https://nike.com":301,"http://www.nike.com":302,"https://www.nike.com":302}; 0 servem 200
- ✗WAF presente sem bloquear bots legítimos (Googlebot etc.)UA matrix home: {"googlebot":403,"bingbot":403,"gptbot":403} — WAF bloqueia bingbot/gptbot enquanto Googlebot 200
- ✗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 301, www 302 (esperado 301/308 permanente)
- ✗Cadeia de redirect não é mais longa que o necessário para a topologiahops até 200: apex-http=2, www-http=1 (mínimo da topologia: 1)
- ✗Headers de cache/CDN corretos por tipo de páginahome Cache-Control: ∅; cf-cache-status: DYNAMIC
- ✗Compressão (gzip/brotli) habilitada nas respostas de textoAccept-Encoding: br,gzip → content-encoding: ∅ (sem compressão)
Consideração
46- ✗Links têm nome discernível (link-name)link-name: 2 elemento(s) em 1 página(s) — https://www.nike.com/help/a/newsletter-unsubscribe: 2 elemento(s) — ex.: <a class="ta-sm-l body-2 css-1qcxpwp" href="/help/a/first-responder-discount"></a>
- ✗Contraste de cor atende WCAG AA (color-contrast)color-contrast: 13 elemento(s) em 1 página(s) — https://www.nike.com/: 13 elemento(s) — ex.: <h3 class="nds-text _1MF91zHG css-p61h82 e1yhcai00 appearance-display2 color-var(--podium-cds-color-text-primary-inverse) weight-medium uppercase" id="a11y_react-aria-:R1plpl6:-title" data-qa="title">HARD IN THE PAINT</h3>
- ✗Roles ARIA têm filhos obrigatórios (aria-required-children)aria-required-children: 2 elemento(s) em 2 página(s) — https://www.nike.com/: 1 elemento(s) · https://www.nike.com/help/a/newsletter-unsubscribe: 1 elemento(s) — ex.: <ul class="desktop-category" role="menu">
- ✗Roles ARIA têm pai obrigatório (aria-required-parent)aria-required-parent: 16 elemento(s) em 2 página(s) — https://www.nike.com/: 8 elemento(s) · https://www.nike.com/help/a/newsletter-unsubscribe: 8 elemento(s) — ex.: <summary aria-expanded="false" aria-haspopup="menu" aria-label="Help menu" class="drop-down-accessibility-button" role="menuitem" tabindex="0">
- ✗Headings em ordem hierárquica (heading-order)heading-order: 2 elemento(s) em 1 página(s) — https://www.nike.com/: 2 elemento(s) — ex.: <h3 class="nds-text _1MF91zHG css-p61h82 e1yhcai00 appearance-display2 color-primaryInverse weight-medium uppercase" id="a11y_react-aria-:R1p5pl6:-title" data-qa="title">The Wait is Almost over</h3>
- ✗Página tem um landmark main (landmark-one-main)landmark-one-main: 1 elemento(s) em 1 página(s) — https://www.nike.com/help/a/newsletter-unsubscribe: 1 elemento(s) — ex.: <html lang="en-US" style="--eswIconFillColor: #1A1B1E;">
- ✗Todo conteúdo está dentro de landmarks (region)region: 25 elemento(s) em 2 página(s) — https://www.nike.com/: 1 elemento(s) · https://www.nike.com/help/a/newsletter-unsubscribe: 24 elemento(s) — ex.: <div aria-label="Nike AI" tabindex="-1" class="nav-css-1sf9wd7">
- ✗Itens de lista têm pai correto (listitem)listitem: 12 elemento(s) em 2 página(s) — https://www.nike.com/: 6 elemento(s) · https://www.nike.com/help/a/newsletter-unsubscribe: 6 elemento(s) — ex.: <li>
Compra
18- ✗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: max-age=2628000 ; includeSubDomains (max-age=2628000)
- ✗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✗ Links têm nome discernível (link-name)link-name: 2 elemento(s) em 1 página(s) — https://www.nike.com/help/a/newsletter-unsubscribe: 2 elemento(s) — ex.: <a class="ta-sm-l body-2 css-1qcxpwp" href="/help/a/first-responder-discount"></a>
- Crítico✗ Contraste de cor atende WCAG AA (color-contrast)color-contrast: 13 elemento(s) em 1 página(s) — https://www.nike.com/: 13 elemento(s) — ex.: <h3 class="nds-text _1MF91zHG css-p61h82 e1yhcai00 appearance-display2 color-var(--podium-cds-color-text-primary-inverse) weight-medium uppercase" id="a11y_react-aria-:R1plpl6:-title" data-qa="title">HARD IN THE PAINT</h3>
- Crítico✗ Roles ARIA têm filhos obrigatórios (aria-required-children)aria-required-children: 2 elemento(s) em 2 página(s) — https://www.nike.com/: 1 elemento(s) · https://www.nike.com/help/a/newsletter-unsubscribe: 1 elemento(s) — ex.: <ul class="desktop-category" role="menu">
- Crítico✗ Roles ARIA têm pai obrigatório (aria-required-parent)aria-required-parent: 16 elemento(s) em 2 página(s) — https://www.nike.com/: 8 elemento(s) · https://www.nike.com/help/a/newsletter-unsubscribe: 8 elemento(s) — ex.: <summary aria-expanded="false" aria-haspopup="menu" aria-label="Help menu" class="drop-down-accessibility-button" role="menuitem" tabindex="0">
- Crítico✗ Domínio apex redireciona para o host www canônicohttps://nike.com/ → 301 Location https://www.nike.com/; www serve 302
- Crítico✗ Não há host paralelo (http+https ou www+non-www) servindo 200 simultaneamentevariantes→status {"http://nike.com":301,"https://nike.com":301,"http://www.nike.com":302,"https://www.nike.com":302}; 0 servem 200
- Crítico✗ HTTPS em todas as rotas (sem conteúdo servido em HTTP)todas as entradas http resolvem para https 200 (2 cadeias)
- Atenção✗ Headings em ordem hierárquica (heading-order)heading-order: 2 elemento(s) em 1 página(s) — https://www.nike.com/: 2 elemento(s) — ex.: <h3 class="nds-text _1MF91zHG css-p61h82 e1yhcai00 appearance-display2 color-primaryInverse weight-medium uppercase" id="a11y_react-aria-:R1p5pl6:-title" data-qa="title">The Wait is Almost over</h3>
Identidade de marca
“Just Do It”
#2B333F#BAD168#111111#FFFFFF#111111Bold, motivational, action-oriented with an inclusive, athlete-first mindset
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