feat(cases): cases de clientes, serviços ligados à prova e SEO por página
Cases da SEV Moda Íntima e da Lavação 047; case no formato cliente, problema, entrega, mídia e contato, com detalhes técnicos recolhidos; sem GitHub, ressalvas e fontes de commit. /cases separa clientes e Laboratório. Serviços mostram o case de cliente certo e o bloco de investimento e prazo só aparece preenchido. Metadata social própria por página, not-found com noindex, sitemap com /ia.
This commit is contained in:
1 parent
3756905a1b
commit
6e1022b58c
44 files changed
+2691
-1424
No files matched your search
+38
-4
@@ -1,5 +1,8 @@
|
||||
import type { Metadata } from "next";
|
||||
import { type ServicePageContent, siteName, siteUrl } from "./site-content";
|
||||
|
||||
export const twitterHandle = "@evandrodevbr";
|
||||
|
||||
export const SEO_IDS = {
|
||||
website: `${siteUrl}/#website`,
|
||||
person: `${siteUrl}/#person`,
|
||||
@@ -40,10 +43,7 @@ export function buildPersonJsonLd() {
|
||||
"@type": "Place",
|
||||
name: "Garuva, Santa Catarina, Brasil",
|
||||
},
|
||||
sameAs: [
|
||||
"https://github.com/evandrodevbr",
|
||||
"https://www.linkedin.com/in/evandro-fonseca-junior-0969aa1b0/",
|
||||
],
|
||||
sameAs: ["https://www.linkedin.com/in/evandrodevbr/"],
|
||||
} as const;
|
||||
}
|
||||
|
||||
@@ -93,3 +93,37 @@ export function buildBreadcrumbList(
|
||||
})),
|
||||
} as const;
|
||||
}
|
||||
|
||||
/**
|
||||
* Canonical, Open Graph e Twitter de uma página. Quem define `openGraph` ou `twitter` numa página substitui o do layout inteiro,
|
||||
* então o cartão precisa vir completo daqui; a imagem vem do `opengraph-image` da própria rota.
|
||||
*/
|
||||
export function buildPageSocialMetadata({
|
||||
url,
|
||||
title,
|
||||
description,
|
||||
type,
|
||||
}: {
|
||||
url: string;
|
||||
title: string;
|
||||
description: string;
|
||||
type: "website" | "article" | "profile";
|
||||
}): Pick<Metadata, "alternates" | "openGraph" | "twitter"> {
|
||||
return {
|
||||
alternates: { canonical: url },
|
||||
openGraph: {
|
||||
locale: "pt_BR",
|
||||
title,
|
||||
description,
|
||||
url,
|
||||
siteName,
|
||||
type,
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image",
|
||||
title,
|
||||
description,
|
||||
creator: twitterHandle,
|
||||
},
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user