Adds dynamic case study and curriculo routes, project health monitoring for live demo status, and strengthens local SEO (structured data, service-area targeting for Garuva/Joinville/Curitiba, a dedicated "criação de sites" service page) so search results better match the professional title (Engenheiro da Computação) and experience (5 anos). Co-Authored-By: Claude Sonnet 5 <[email protected]>
1.2 KiB
Verificação automática de projetos na VPS
A lista pública de projetos só exibe demos cujo snapshot atual tenha resposta final HTTP 200 e Content-Type: text/html. O snapshot vence após 15 minutos; se não houver uma verificação atual, nenhum projeto é exibido.
Pré-requisito
O cron deve executar no mesmo diretório de release que contém data/project-health.json consumido pelo processo Next.js. Em deploys com diretório versionado, aponte o cron para o symlink current.
*/10 * * * * cd /var/www/evandro.dev.br/current && /usr/bin/node scripts/check-projects.mjs >> /var/log/evandro-project-health.log 2>&1
Para validar manualmente:
cd /var/www/evandro.dev.br/current
npm run check:projects
cat data/project-health.json
O script segue redirecionamentos, limita cada requisição a 10 segundos, não aceita 3xx, 4xx, 5xx, DNS/TLS inválido nem conteúdo não HTML. Ele grava em arquivo temporário e renomeia ao final, evitando que o Next.js leia JSON parcial.
Após a primeira instalação, rode npm run check:projects antes de iniciar a aplicação. O ISR da home é de 5 minutos; portanto, uma alteração de disponibilidade pode levar até esse intervalo adicional para aparecer no HTML público.