Files
portifolio-evandrodevbr/docs/project-health-cron.md
T
Evandro Fonseca JuniorandClaude Sonnet 5 d76bbf5974 feat: revamp portfolio with case studies, curriculo page, and local SEO
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]>
2026-07-15 01:31:46 -03:00

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.