Diagnóstico público de e-commerce · varredura em 13 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) presente e válido em /.well-known/ucp. Site sinaliza participação no UCP — checkout agêntico no AI Mode/Gemini.
- ✓ 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 presente (# Agent Instructions — Art Directed…) — registrado por completude; NENHUM engine principal lê llms.txt, não tratar como lever
Pontos críticos
- ✗ Crawlers verificados legítimos (Bing/IA) alcançam o site (não 403 no WAF) CríticoWAF devolve meta-externalagent=429 enquanto Googlebot=200 — Bing + AI search cegos ao site
- ✗ Contraste de cor atende WCAG AA (color-contrast) Críticocolor-contrast: 5 elemento(s) em 2 página(s) — https://artdirected.design/: 4 elemento(s) · https://artdirected.design/collections/all: 1 elemento(s) — ex.: <span class="text-primary-accent"><span class="visually-hidden">Sale price</span><br>On Sale from $12.00</span>
- ✗ Elementos aria-hidden não contêm foco (aria-hidden-focus) Críticoaria-hidden-focus: 3 elemento(s) em 1 página(s) — https://artdirected.design/products/artd-c01-print-001: 3 elemento(s) — ex.: <li class="splide__slide bg-primary-background relative lg:border-r-grid lg:border-grid-color" data-index="2" id="splide-slide02" aria-hidden="true" tabindex="-1">
Cobertura honesta: medimos 109 de 387 verificações do registro público. 31 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://artdirected.design/products/artd-c01-print-001 |
✗ LCP dentro do alvo (lab e campo)Lighthouse: https://artdirected.design/ — largest-contentful-paint=0.08 (6.5 s) | https://artdirected.design/blogs/in-use — largest-contentful-paint=0 (12.1 s) | Qualidade Técnica do Site | Crítico |
| ✗ GTINs nos PDPs são válidos (check-digit GS1) e os atributos core têm fill-rate altoGTIN: 0/1 PDPs; fill-rate core (%): gtin=0 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: 5 elemento(s) em 2 página(s) — https://artdirected.design/: 4 elemento(s) · https://artdirected.design/collections/all: 1 elemento(s) — ex.: <span class="text-primary-accent"><span class="visually-hidden">Sale price</span><br>On Sale from $12.00</span> | Qualidade Técnica do Site | Crítico |
| ✗ Elementos aria-hidden não contêm foco (aria-hidden-focus)aria-hidden-focus: 3 elemento(s) em 1 página(s) — https://artdirected.design/products/artd-c01-print-001: 3 elemento(s) — ex.: <li class="splide__slide bg-primary-background relative lg:border-r-grid lg:border-grid-color" data-index="2" id="splide-slide02" aria-hidden="true" tabindex="-1"> | Qualidade Técnica do Site | Crítico | |
| ✗ Comandos ARIA têm nome (aria-command-name)aria-command-name: 4 elemento(s) em 4 página(s) — https://artdirected.design/: 1 elemento(s) · https://artdirected.design/products/artd-c01-print-001: 1 elemento(s) · https://artdirected.design/collections/all: 1 elemento(s) · https://artdirected.design/blogs/in-use: 1 elemento(s) — ex.: <div class="slidecarthq-overlay" tabindex="0" role="button"></div> | Qualidade Técnica do Site | Crítico | |
| ✗ Alvos de toque têm tamanho adequado (target-size)target-size: 12 elemento(s) em 4 página(s) — https://artdirected.design/: 2 elemento(s) · https://artdirected.design/products/artd-c01-print-001: 6 elemento(s) · https://artdirected.design/collections/all: 2 elemento(s) · https://artdirected.design/blogs/in-use: 2 elemento(s) — ex.: <a href="/pages/contact" class="hover:text-footer-accent"> Contact </a> | Qualidade Técnica do Site | Crítico | |
| ✗ Funil completo dispara em ordem (view_item_list -> view_item -> add_to_cart -> begin_checkout -> add_payment_info -> purchase)GA4 dispara page_view mas nenhum evento de ecommerce (view_item/view_item_list/add_to_cart…) foi observado nas páginas de produto/listagem amostradas — funil de receita invisível no GA4 | Qualidade de Dados & Tagging | Crítico | |
| ✗ Crawlers verificados legítimos (Bing/IA) alcançam o site (não 403 no WAF)WAF devolve meta-externalagent=429 enquanto Googlebot=200 — Bing + AI search cegos ao site | Funil de Conversão & Experiência | Crítico | |
| ✗ AI bots permitidos no robots.txt não são bloqueados na camada CDN/WAFrobots.txt permite mas CDN/WAF bloqueia: meta-externalagent=429 enquanto browser=200 — site invisível a esses engines apesar do robots.txt limpo. método: GET com UA spoofado (IP não-oficial) — 4xx/challenge ao UA prova bloqueio por UA-string, o mesmo mecanismo que cega o bot real; WAFs que validam IP podem divergir | Aquisição de Tráfego | Crítico | |
| ✗ Domínio apex redireciona para o host www canônicohttps://artdirected.design/ serve 200 em paralelo com www (host duplicado dilui canônico) | 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://artdirected.design/collections/all: 1 elemento(s) — ex.: <html class="js supports-cookies" lang="en" style="--header-height: 54px; --sticky-header-height: 54px;"> | Qualidade Técnica do Site | Atenção | |
| ✗ Todo conteúdo está dentro de landmarks (region)region: 4 elemento(s) em 4 página(s) — https://artdirected.design/: 1 elemento(s) · https://artdirected.design/products/artd-c01-print-001: 1 elemento(s) · https://artdirected.design/collections/all: 1 elemento(s) · https://artdirected.design/blogs/in-use: 1 elemento(s) — ex.: <p>Your cart is empty.</p> | Qualidade Técnica do Site | Atenção | |
| ✗ WAF presente sem bloquear bots legítimos (Googlebot etc.)UA×path (GET /): browser=200 googlebot=200 bingbot=200 gptbot=200 oai-searchbot=200 chatgpt-user=200 claudebot=200 claude-searchbot=200 claude-user=200 perplexitybot=200 perplexity-user=200 ccbot=200 meta-externalagent=429 — WAF bloqueia meta-externalagent | Qualidade Técnica do Site | 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 |
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
56- ✗AI bots permitidos no robots.txt não são bloqueados na camada CDN/WAFrobots.txt permite mas CDN/WAF bloqueia: meta-externalagent=429 enquanto browser=200 — site invisível a esses engines apesar do robots.txt limpo. método: GET com UA spoofado (IP não-oficial) — 4xx/challenge ao UA prova bloqueio por UA-string, o mesmo mecanismo que cega o bot real; WAFs que validam IP podem divergir
- ✗Domínio apex redireciona para o host www canônicohttps://artdirected.design/ serve 200 em paralelo com www (host duplicado dilui canônico)
- ✗WAF presente sem bloquear bots legítimos (Googlebot etc.)UA×path (GET /): browser=200 googlebot=200 bingbot=200 gptbot=200 oai-searchbot=200 chatgpt-user=200 claudebot=200 claude-searchbot=200 claude-user=200 perplexitybot=200 perplexity-user=200 ccbot=200 meta-externalagent=429 — WAF bloqueia meta-externalagent
- ✗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)
- ✗Headers de cache/CDN corretos por tipo de páginahome Cache-Control: ∅; cf-cache-status: DYNAMIC
- ✗Registros de autenticação de e-mail (SPF/DKIM/DMARC) presentesSPF AUSENTE; DMARC AUSENTE; DKIM selector não descoberto (testados: google/default/k1/s1/selector1)
- ✗Toda página tem exatamente um H1H1 por página: 3/2/1/2 (esperado 1)
- ✗GTINs nos PDPs são válidos (check-digit GS1) e os atributos core têm fill-rate altoGTIN: 0/1 PDPs; fill-rate core (%): gtin=0 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
Consideração
51- ✗Contraste de cor atende WCAG AA (color-contrast)color-contrast: 5 elemento(s) em 2 página(s) — https://artdirected.design/: 4 elemento(s) · https://artdirected.design/collections/all: 1 elemento(s) — ex.: <span class="text-primary-accent"><span class="visually-hidden">Sale price</span><br>On Sale from $12.00</span>
- ✗Elementos aria-hidden não contêm foco (aria-hidden-focus)aria-hidden-focus: 3 elemento(s) em 1 página(s) — https://artdirected.design/products/artd-c01-print-001: 3 elemento(s) — ex.: <li class="splide__slide bg-primary-background relative lg:border-r-grid lg:border-grid-color" data-index="2" id="splide-slide02" aria-hidden="true" tabindex="-1">
- ✗Comandos ARIA têm nome (aria-command-name)aria-command-name: 4 elemento(s) em 4 página(s) — https://artdirected.design/: 1 elemento(s) · https://artdirected.design/products/artd-c01-print-001: 1 elemento(s) · https://artdirected.design/collections/all: 1 elemento(s) · https://artdirected.design/blogs/in-use: 1 elemento(s) — ex.: <div class="slidecarthq-overlay" tabindex="0" role="button"></div>
- ✗Alvos de toque têm tamanho adequado (target-size)target-size: 12 elemento(s) em 4 página(s) — https://artdirected.design/: 2 elemento(s) · https://artdirected.design/products/artd-c01-print-001: 6 elemento(s) · https://artdirected.design/collections/all: 2 elemento(s) · https://artdirected.design/blogs/in-use: 2 elemento(s) — ex.: <a href="/pages/contact" class="hover:text-footer-accent"> Contact </a>
- ✗LCP dentro do alvo (lab e campo)Lighthouse: https://artdirected.design/ — largest-contentful-paint=0.08 (6.5 s) | https://artdirected.design/blogs/in-use — largest-contentful-paint=0 (12.1 s)
- ✗Página tem um h1 (page-has-heading-one)page-has-heading-one: 1 elemento(s) em 1 página(s) — https://artdirected.design/collections/all: 1 elemento(s) — ex.: <html class="js supports-cookies" lang="en" style="--header-height: 54px; --sticky-header-height: 54px;">
- ✗Todo conteúdo está dentro de landmarks (region)region: 4 elemento(s) em 4 página(s) — https://artdirected.design/: 1 elemento(s) · https://artdirected.design/products/artd-c01-print-001: 1 elemento(s) · https://artdirected.design/collections/all: 1 elemento(s) · https://artdirected.design/blogs/in-use: 1 elemento(s) — ex.: <p>Your cart is empty.</p>
- ✗Total Blocking Time dentro do alvoLighthouse: https://artdirected.design/blogs/in-use — total-blocking-time=0.85 (250 ms)
Compra
38- ✗HSTS com max-age >= 1 ano, includeSubDomains e preloadStrict-Transport-Security: max-age=7889238 (max-age=7889238)
- ✗Content-Security-Policy presente e não trivialmente permissivaCSP presente com diretivas [block-all-mixed-content, frame-ancestors, upgrade-insecure-requests] — só frame-ancestors, zero mitigação XSS/skimmer
- ✗Subresource Integrity (SRI) em scripts de terceirosterceiros sem SRI: cdn.shopify.com · com SRI: 4
- ✗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 (//): 250 em 4 URLs
- ✓HTTPS em todas as rotas (sem conteúdo servido em HTTP)
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: 5 elemento(s) em 2 página(s) — https://artdirected.design/: 4 elemento(s) · https://artdirected.design/collections/all: 1 elemento(s) — ex.: <span class="text-primary-accent"><span class="visually-hidden">Sale price</span><br>On Sale from $12.00</span>
- Crítico✗ Elementos aria-hidden não contêm foco (aria-hidden-focus)aria-hidden-focus: 3 elemento(s) em 1 página(s) — https://artdirected.design/products/artd-c01-print-001: 3 elemento(s) — ex.: <li class="splide__slide bg-primary-background relative lg:border-r-grid lg:border-grid-color" data-index="2" id="splide-slide02" aria-hidden="true" tabindex="-1">
- Crítico✗ Comandos ARIA têm nome (aria-command-name)aria-command-name: 4 elemento(s) em 4 página(s) — https://artdirected.design/: 1 elemento(s) · https://artdirected.design/products/artd-c01-print-001: 1 elemento(s) · https://artdirected.design/collections/all: 1 elemento(s) · https://artdirected.design/blogs/in-use: 1 elemento(s) — ex.: <div class="slidecarthq-overlay" tabindex="0" role="button"></div>
- Crítico✗ Alvos de toque têm tamanho adequado (target-size)target-size: 12 elemento(s) em 4 página(s) — https://artdirected.design/: 2 elemento(s) · https://artdirected.design/products/artd-c01-print-001: 6 elemento(s) · https://artdirected.design/collections/all: 2 elemento(s) · https://artdirected.design/blogs/in-use: 2 elemento(s) — ex.: <a href="/pages/contact" class="hover:text-footer-accent"> Contact </a>
- Crítico✗ Funil completo dispara em ordem (view_item_list -> view_item -> add_to_cart -> begin_checkout -> add_payment_info -> purchase)GA4 dispara page_view mas nenhum evento de ecommerce (view_item/view_item_list/add_to_cart…) foi observado nas páginas de produto/listagem amostradas — funil de receita invisível no GA4
- Crítico✗ Crawlers verificados legítimos (Bing/IA) alcançam o site (não 403 no WAF)WAF devolve meta-externalagent=429 enquanto Googlebot=200 — Bing + AI search cegos ao site
- Crítico✗ AI bots permitidos no robots.txt não são bloqueados na camada CDN/WAFrobots.txt permite mas CDN/WAF bloqueia: meta-externalagent=429 enquanto browser=200 — site invisível a esses engines apesar do robots.txt limpo. método: GET com UA spoofado (IP não-oficial) — 4xx/challenge ao UA prova bloqueio por UA-string, o mesmo mecanismo que cega o bot real; WAFs que validam IP podem divergir
- Crítico✗ Domínio apex redireciona para o host www canônicohttps://artdirected.design/ serve 200 em paralelo com www (host duplicado dilui canônico)
Identidade de marca
“Thoughtfully crafted, realistic, premium mockups that do not look like everything else”
#D7ECF7#D32525#C53131#FFFFFF#030303Confident, minimal, design-savvy, quietly premium
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