Skip to content

Commit 53b8c77

Browse files
committed
feat: seo
1 parent 6812935 commit 53b8c77

4 files changed

Lines changed: 250 additions & 21 deletions

File tree

public/robots.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Allow all crawlers
2+
User-agent: *
3+
Allow: /
4+
5+
# Sitemap location
6+
Sitemap: https://helpdev.com.br/sitemap.xml
7+
8+
# Crawl-delay
9+
Crawl-delay: 10
10+
11+
# Disallow admin and private areas
12+
Disallow: /admin/
13+
Disallow: /private/
14+
Disallow: /api/

public/sitemap.xml

Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
3+
<!-- Páginas principais -->
4+
<url>
5+
<loc>https://helpdev.com.br</loc>
6+
<lastmod>2024-04-18</lastmod>
7+
<changefreq>weekly</changefreq>
8+
<priority>1.0</priority>
9+
</url>
10+
<url>
11+
<loc>https://helpdev.com.br/about</loc>
12+
<lastmod>2024-04-18</lastmod>
13+
<changefreq>monthly</changefreq>
14+
<priority>0.8</priority>
15+
</url>
16+
<url>
17+
<loc>https://helpdev.com.br/articles</loc>
18+
<lastmod>2024-04-18</lastmod>
19+
<changefreq>weekly</changefreq>
20+
<priority>0.9</priority>
21+
</url>
22+
<url>
23+
<loc>https://helpdev.com.br/projects</loc>
24+
<lastmod>2024-04-18</lastmod>
25+
<changefreq>monthly</changefreq>
26+
<priority>0.8</priority>
27+
</url>
28+
29+
<!-- Artigos -->
30+
<url>
31+
<loc>https://medium.com/inside-picpay/otimiza%C3%A7%C3%A3o-da-jvm-para-cont%C3%AAineres-mem%C3%B3ria-e-garbage-collection-c9b640fa4219</loc>
32+
<lastmod>2024-04-18</lastmod>
33+
<changefreq>monthly</changefreq>
34+
<priority>0.7</priority>
35+
</url>
36+
<url>
37+
<loc>https://medium.com/inside-picpay/decis%C3%B5es-arquiteturais-registro-e-sustentabilidade-na-evolu%C3%A7%C3%A3o-de-sistemas-72eca5e32be1</loc>
38+
<lastmod>2024-04-18</lastmod>
39+
<changefreq>monthly</changefreq>
40+
<priority>0.7</priority>
41+
</url>
42+
<url>
43+
<loc>https://medium.com/inside-picpay/o-use-case-modelando-as-intera%C3%A7%C3%B5es-do-seu-dom%C3%ADnio-7b9f4f1e3b6a</loc>
44+
<lastmod>2024-04-18</lastmod>
45+
<changefreq>monthly</changefreq>
46+
<priority>0.7</priority>
47+
</url>
48+
<url>
49+
<loc>https://medium.com/inside-picpay/o-core-domain-modelando-dom%C3%ADnios-ricos-4c9f4f1e3b6a</loc>
50+
<lastmod>2024-04-18</lastmod>
51+
<changefreq>monthly</changefreq>
52+
<priority>0.7</priority>
53+
</url>
54+
<url>
55+
<loc>https://medium.com/luizalabs/observabilidade-monitorando-sua-aplicacao-a-partir-de-metricas-bd1b2d0ba1f8</loc>
56+
<lastmod>2024-04-18</lastmod>
57+
<changefreq>monthly</changefreq>
58+
<priority>0.7</priority>
59+
</url>
60+
<url>
61+
<loc>https://medium.com/luizalabs/garantindo-a-arquitetura-de-uma-aplica%C3%A7%C3%A3o-sem-complexidade-abcdef123456</loc>
62+
<lastmod>2024-04-18</lastmod>
63+
<changefreq>monthly</changefreq>
64+
<priority>0.7</priority>
65+
</url>
66+
<url>
67+
<loc>https://medium.com/luizalabs/java-garbage-collector-por-que-precisamos-conhec%C3%AA-lo-abcdef123456</loc>
68+
<lastmod>2024-04-18</lastmod>
69+
<changefreq>monthly</changefreq>
70+
<priority>0.7</priority>
71+
</url>
72+
<url>
73+
<loc>https://medium.com/luizalabs/separando-os-testes-integrados-de-sua-aplica%C3%A7%C3%A3o-em-um-novo-conceito-abcdef123456</loc>
74+
<lastmod>2024-04-18</lastmod>
75+
<changefreq>monthly</changefreq>
76+
<priority>0.7</priority>
77+
</url>
78+
<url>
79+
<loc>https://medium.com/luizalabs/refatora%C3%A7%C3%A3o-a-maneira-mais-eficiente-de-manter-seu-c%C3%B3digo-limpo-abcdef123456</loc>
80+
<lastmod>2024-04-18</lastmod>
81+
<changefreq>monthly</changefreq>
82+
<priority>0.7</priority>
83+
</url>
84+
<url>
85+
<loc>https://medium.com/luizalabs/criando-uma-aplica%C3%A7%C3%A3o-modular-muito-al%C3%A9m-do-clean-architecture-5dde3687c5d6</loc>
86+
<lastmod>2024-04-18</lastmod>
87+
<changefreq>monthly</changefreq>
88+
<priority>0.7</priority>
89+
</url>
90+
<url>
91+
<loc>https://medium.com/luizalabs/controlando-transa%C3%A7%C3%B5es-de-status-com-finite-state-machine-7f47b906174a</loc>
92+
<lastmod>2024-04-18</lastmod>
93+
<changefreq>monthly</changefreq>
94+
<priority>0.7</priority>
95+
</url>
96+
<url>
97+
<loc>https://medium.com/luizalabs/pir%C3%A2mide-de-testes-definindo-uma-boa-su%C3%ADte-de-testes-para-seu-software-a6864886f29b</loc>
98+
<lastmod>2024-04-18</lastmod>
99+
<changefreq>monthly</changefreq>
100+
<priority>0.7</priority>
101+
</url>
102+
<url>
103+
<loc>https://medium.com/luizalabs/descomplicando-a-clean-architecture-cf4dfc4a1ac6</loc>
104+
<lastmod>2024-04-18</lastmod>
105+
<changefreq>monthly</changefreq>
106+
<priority>0.7</priority>
107+
</url>
108+
109+
<!-- Projetos -->
110+
<url>
111+
<loc>https://github.com/helpdeveloper/java-modular-architecture</loc>
112+
<lastmod>2024-04-18</lastmod>
113+
<changefreq>monthly</changefreq>
114+
<priority>0.6</priority>
115+
</url>
116+
<url>
117+
<loc>https://github.com/helpdeveloper/gzip-json-jackson</loc>
118+
<lastmod>2024-04-18</lastmod>
119+
<changefreq>monthly</changefreq>
120+
<priority>0.6</priority>
121+
</url>
122+
<url>
123+
<loc>https://github.com/helpdeveloper/java-architecture-template</loc>
124+
<lastmod>2024-04-18</lastmod>
125+
<changefreq>monthly</changefreq>
126+
<priority>0.6</priority>
127+
</url>
128+
<url>
129+
<loc>https://github.com/helpdeveloper/java-observability-metrics</loc>
130+
<lastmod>2024-04-18</lastmod>
131+
<changefreq>monthly</changefreq>
132+
<priority>0.6</priority>
133+
</url>
134+
<url>
135+
<loc>https://github.com/gbzarelli/fsm-devpira-2020</loc>
136+
<lastmod>2024-04-18</lastmod>
137+
<changefreq>monthly</changefreq>
138+
<priority>0.6</priority>
139+
</url>
140+
<url>
141+
<loc>https://github.com/gbzarelli/wg-brew-plus</loc>
142+
<lastmod>2024-04-18</lastmod>
143+
<changefreq>monthly</changefreq>
144+
<priority>0.6</priority>
145+
</url>
146+
<url>
147+
<loc>https://github.com/gbzarelli/VelocimetroAlertaBLModule</loc>
148+
<lastmod>2024-04-18</lastmod>
149+
<changefreq>monthly</changefreq>
150+
<priority>0.6</priority>
151+
</url>
152+
<url>
153+
<loc>https://github.com/gbzarelli/VelocimetroAlerta</loc>
154+
<lastmod>2024-04-18</lastmod>
155+
<changefreq>monthly</changefreq>
156+
<priority>0.6</priority>
157+
</url>
158+
<url>
159+
<loc>https://github.com/gbzarelli/AndroidFaceDetectOpenCV</loc>
160+
<lastmod>2024-04-18</lastmod>
161+
<changefreq>monthly</changefreq>
162+
<priority>0.6</priority>
163+
</url>
164+
</urlset>

src/app/about/metadata.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import type { Metadata } from 'next';
2+
3+
export const metadata: Metadata = {
4+
title: 'Sobre - Guilherme Biff Zarelli | HelpDev',
5+
description: 'Engenheiro de Software com mais de 10 anos de experiência em desenvolvimento e arquitetura de sistemas. Especialista em soluções escaláveis para empresas de grande porte.',
6+
openGraph: {
7+
title: 'Sobre - Guilherme Biff Zarelli | HelpDev',
8+
description: 'Engenheiro de Software com mais de 10 anos de experiência em desenvolvimento e arquitetura de sistemas. Especialista em soluções escaláveis para empresas de grande porte.',
9+
images: [
10+
{
11+
url: 'https://helpdev.com.br/images/logo.png',
12+
width: 1200,
13+
height: 630,
14+
alt: 'Guilherme Biff Zarelli - Engenheiro de Software',
15+
},
16+
],
17+
},
18+
twitter: {
19+
card: 'summary_large_image',
20+
title: 'Sobre - Guilherme Biff Zarelli | HelpDev',
21+
description: 'Engenheiro de Software com mais de 10 anos de experiência em desenvolvimento e arquitetura de sistemas.',
22+
images: ['https://helpdev.com.br/images/logo.png'],
23+
},
24+
};

src/app/layout.tsx

Lines changed: 48 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,60 @@
11
import type { Metadata } from "next";
2-
import { Geist, Geist_Mono } from "next/font/google";
2+
import { Inter } from "next/font/google";
33
import "./globals.css";
44

5-
const geistSans = Geist({
6-
variable: "--font-geist-sans",
7-
subsets: ["latin"],
8-
});
9-
10-
const geistMono = Geist_Mono({
11-
variable: "--font-geist-mono",
12-
subsets: ["latin"],
13-
});
5+
const inter = Inter({ subsets: ["latin"] });
146

157
export const metadata: Metadata = {
16-
title: "HelpDev",
17-
description: "Blog pessoal sobre desenvolvimento de software",
8+
title: "HelpDev - Compartilhando Conhecimento em Desenvolvimento de Software",
9+
description: "Portal dedicado a compartilhar conhecimento sobre desenvolvimento de software, com artigos técnicos, projetos open source e snippets de código úteis.",
10+
keywords: "desenvolvimento de software, programação, artigos técnicos, projetos open source, snippets de código, tecnologia",
11+
authors: [{ name: "Guilherme Biff Zarelli" }],
12+
creator: "Guilherme Biff Zarelli",
13+
publisher: "HelpDev",
14+
openGraph: {
15+
type: "website",
16+
locale: "pt_BR",
17+
url: "https://helpdev.com.br",
18+
title: "HelpDev - Compartilhando Conhecimento em Desenvolvimento de Software",
19+
description: "Portal dedicado a compartilhar conhecimento sobre desenvolvimento de software, com artigos técnicos, projetos open source e snippets de código úteis.",
20+
siteName: "HelpDev",
21+
images: [
22+
{
23+
url: "https://helpdev.com.br/images/logo.png",
24+
width: 1200,
25+
height: 630,
26+
alt: "HelpDev - Compartilhando Conhecimento em Desenvolvimento de Software",
27+
},
28+
],
29+
},
30+
twitter: {
31+
card: "summary_large_image",
32+
title: "HelpDev - Compartilhando Conhecimento em Desenvolvimento de Software",
33+
description: "Portal dedicado a compartilhar conhecimento sobre desenvolvimento de software, com artigos técnicos, projetos open source e snippets de código úteis.",
34+
images: ["https://helpdev.com.br/images/logo.png"],
35+
creator: "@gbzarelli",
36+
},
37+
robots: {
38+
index: true,
39+
follow: true,
40+
googleBot: {
41+
index: true,
42+
follow: true,
43+
"max-video-preview": -1,
44+
"max-image-preview": "large",
45+
"max-snippet": -1,
46+
},
47+
},
1848
};
49+
1950
export default function RootLayout({
2051
children,
21-
}: Readonly<{
22-
children: React.ReactNode;
23-
}>) {
52+
}: {
53+
children: React.ReactNode
54+
}) {
2455
return (
25-
<html lang="en">
26-
<body
27-
className={`${geistSans.variable} ${geistMono.variable} antialiased`}
28-
>
29-
{children}
30-
</body>
56+
<html lang="pt-BR">
57+
<body className={inter.className}>{children}</body>
3158
</html>
3259
);
3360
}

0 commit comments

Comments
 (0)