Files
Evandro Fonseca Junior fc44a69fb3 feat(servicos): ofertas no topo de /servicos, capa por assunto e diagramas
/servicos abre com as 3 ofertas e depois outros serviços; H1 de criação de sites e de engenharia com o nome da oferta; capa de cada serviço pelo assunto (SEV fora do próprio case cai de ~11 para 2 imagens); diagrama de fluxo em SVG nos serviços sem case; cases com o que o cliente passou a poder fazer e contato logo depois de Como ficou; FAQ num componente só; lastmod por rota; ProfessionalService com areaServed.
2026-10-14 19:14:46 -03:00

45 lines
1.3 KiB
TypeScript

import type { MetadataRoute } from "next";
import {
caseStudies,
pageUpdatedAt,
servicePages,
siteUrl,
} from "@/lib/site-content";
/**
* `lastmod` de cada rota: a data de mudança do conteúdo dela (`updatedAt` do serviço ou do case, `pageUpdatedAt` nas
* páginas fixas), sempre a mesma a cada build. Não vem do relógio nem do git, que mudariam sem o texto mudar.
* Atualize a data quando o texto da página mudar.
*/
function dateOf(day: string) {
return new Date(`${day}T00:00:00Z`);
}
export default function sitemap(): MetadataRoute.Sitemap {
return [
{ url: siteUrl, lastModified: dateOf(pageUpdatedAt.home) },
{
url: `${siteUrl}/curriculo`,
lastModified: dateOf(pageUpdatedAt.curriculo),
},
{
url: `${siteUrl}/privacidade`,
lastModified: dateOf(pageUpdatedAt.privacidade),
},
{
url: `${siteUrl}/servicos`,
lastModified: dateOf(pageUpdatedAt.servicos),
},
{ url: `${siteUrl}/cases`, lastModified: dateOf(pageUpdatedAt.cases) },
{ url: `${siteUrl}/ia`, lastModified: dateOf(pageUpdatedAt.ia) },
...servicePages.map(({ slug, updatedAt }) => ({
url: `${siteUrl}/servicos/${slug}`,
lastModified: dateOf(updatedAt),
})),
...caseStudies.map(({ id, updatedAt }) => ({
url: `${siteUrl}/cases/${id}`,
lastModified: dateOf(updatedAt),
})),
];
}