KamoCRM

Este site da Web

Uma compilação que se recusa a enviar uma página que sabe que está errada

Este site é uma aplicação Next.js em vinte e dois idiomas cuja compilação falha — não avisa — quando uma página está faltando no sitemap, uma chave de tradução não resolve, um link interno causaria um carregamento completo da página, uma animação de entrada é lenta o suficiente para ser lida como uma barraca, ou um preço cotado não pode ser verificado contra o catálogo ao vivo.Você não precisa acreditar em nossa palavra para qualquer um deles.

Cada número aqui nomeia de onde veio e quando foi medido.
MedidaValorFonteMedido
Automated guards that fail the build17scripts/check-*.ts and scripts/check-*.mjs in the marketing site repository
Translation key literals verified against the dictionary at build time1,557 across 470 filesnpm run guard:i18n output
Files checked for locale-aware navigation and animation budget294npm run guard:navigation output
Languages served22messages/*.json in the marketing site repository
Maximum permitted entrance animation duration0.3s, with per-item delay capped at 0.15sscripts/check-client-navigation.mjs
Programmatic content pages generated from typed data132 (37 industries, 45 integrations, 9 comparisons, 41 glossary terms)app/lib collection directories

Que edifício nos ensinou

Todas as agências afirmam que seus sites são rápidos e bem construídos. A afirmação é infalsificavel no ponto de venda, razão pela qual é feita tão livremente. Nós preferimos ser verificáveis: abra as ferramentas de desenvolvimento, execute uma auditoria, leia o sitemap, mude o idioma, inspecione os dados estruturados.

O que faz com que ele permaneça bom não é o cuidado, é a aplicação. O cuidado degrada; a sexta pessoa que toca em uma base de código não conhece as regras e nenhuma quantidade de documentação corrige isso. Então as regras são executáveis. Dezessete scripts de proteção são executados antes que a imagem do container seja construída, e uma falha interrompe a implantação. Um guard percorre as pastas de rota e falha se uma página existe que não lista o sitemap — então uma página não pode ser silenciosamente lançada e nunca enviada para um mecanismo de pesquisa. Outra verifica links internos que não são compatíveis com a localidade, porque um deles em um rodapé compartilhado estava causando um recarregamento completo do documento em todas as páginas do site.

A proteção de desempenho é a que mais vale a pena roubar. Páginas aqui anteriormente enviavam dezenas de elementos com opacidade zero e os desvaneciam na montagem, com o atraso multiplicado pelo índice — então o décimo cartão em uma lista acabava chegando mais de um segundo e meio após o clique. A rede nunca foi o problema; a animação estava decidindo quando a página parecia pronta. A proteção agora limita a duração de entrada e o atraso por item, e isenta loops genuinamente ambientais. Nada disso aparece em uma compilação, uma verificação de tipo ou uma execução de lint.

Uma página cuja cópia não foi traduzida para um idioma é exibida em inglês com o prefixo desse idioma, aponta sua tag canônica para o original em inglês e é deliberadamente retida do sitemap desse idioma — porque enviá-la seria arquivá-la no console de pesquisa como uma duplicata que não pode ser indexada. A regra é calculada a partir do próprio dicionário: um idioma conta como traduzido para uma seção somente quando ele carrega pelo menos noventa por cento das cadeias de caracteres dessa seção e menos de trinta por cento delas são idênticas em bytes ao inglês, que é como detectamos um provedor de tradução silenciosamente ecoando a fonte de volta.

Construído com

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • next-intl
  • Content Security Policy
  • Trusted Types

O que isso nos qualifica para

Marketing site design and buildThe site your business is judged by, built like softwarePerformance engineeringCore Web Vitals on real devices, held by a budgetAccessibility engineeringWCAG conformance tested with a keyboard, not just a scannerTechnical SEOMaking a site legible to search engines, at the source

Diga-nos o que você está tentando fazer

Uma breve conversa geralmente é suficiente para dizer se somos as pessoas certas, se não formos, diremos isso e indicaremos um lugar melhor.

Iniciar uma conversaEu já uso KamoCRMComo citamos