Skip to content

Commit 8e292ca

Browse files
committed
SEO improvements
1 parent 7656fad commit 8e292ca

9 files changed

Lines changed: 94 additions & 11 deletions

File tree

public/robots.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
User-agent: *
2+
Allow: /
3+
4+
Sitemap: https://cuchi.me/sitemap.xml

src/_includes/base.njk

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,24 @@
33
<head>
44
<meta charset="utf-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1">
6-
<meta name="description" content="Hi there! This page is where I share my thoughts and knowledge about software development.">
7-
<title>{{ title or "Home" }} - cuchi.me</title>
6+
<meta name="description" content="{{ description or 'Hi there! This page is where I share my thoughts and knowledge about software development.' }}">
7+
<title>{{ title or "Paulo Henrique Cuchi" }} — cuchi.me</title>
8+
<link rel="canonical" href="{{ metadata.url }}{{ page.url }}">
89
<link rel="icon" href="/favicon.ico" sizes="any">
910
<link rel="alternate" type="application/rss+xml" title="cuchi.me RSS" href="/rss.xml">
1011
<link rel="stylesheet" href="/assets/css/style.css">
12+
13+
<meta property="og:title" content="{{ title or 'Paulo Henrique Cuchi' }}">
14+
<meta property="og:description" content="{{ description or 'Software engineer who likes to delete code more than write it. Thoughts on backend development, Rust, DevOps, and Unix tools.' }}">
15+
<meta property="og:url" content="{{ metadata.url }}{{ page.url }}">
16+
<meta property="og:type" content="{% if layout == 'post' %}article{% else %}website{% endif %}">
17+
<meta property="og:site_name" content="cuchi.me">
18+
{% if date %}<meta property="article:published_time" content="{{ date | dateToRfc3339 }}">{% endif %}
19+
{% if updated %}<meta property="article:modified_time" content="{{ updated | dateToRfc3339 }}">{% endif %}
20+
21+
<meta name="twitter:card" content="summary">
22+
<meta name="twitter:title" content="{{ title or 'Paulo Henrique Cuchi' }}">
23+
<meta name="twitter:description" content="{{ description or 'Software engineer who likes to delete code more than write it.' }}">
1124
</head>
1225
<body>
1326
<div class="container">

src/_includes/post.njk

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,27 @@ layout: base
2020
<footer class="post-footer">
2121
Paulo Henrique Cuchi
2222
<a href="https://creativecommons.org/licenses/by/3.0/" target="_blank" rel="noopener noreferrer">
23-
<img src="/assets/images/cc-by.png" alt="CC-BY" class="cc-by-icon">
23+
<img src="/assets/images/cc-by.png" alt="CC-BY" class="cc-by-icon" width="64" height="28">
2424
</a>
2525
</footer>
26+
27+
<script type="application/ld+json">
28+
{
29+
"@context": "https://schema.org",
30+
"@type": "BlogPosting",
31+
"headline": "{{ title }}",
32+
"url": "{{ metadata.url }}{{ page.url }}",
33+
"datePublished": "{{ date | dateToRfc3339 }}",
34+
{% if updated %}"dateModified": "{{ updated | dateToRfc3339 }}",{% endif %}
35+
"author": {
36+
"@type": "Person",
37+
"name": "Paulo Henrique Cuchi",
38+
"url": "{{ metadata.url }}"
39+
},
40+
"publisher": {
41+
"@type": "Person",
42+
"name": "Paulo Henrique Cuchi"
43+
},
44+
"description": "{{ description or title }}"
45+
}
46+
</script>

src/assets/css/style.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ h1, h2, h3, h4, h5, h6 {
4646

4747
h1 { font-size: 2rem; }
4848
h2 { font-size: 1.5rem; }
49-
h3 {
49+
h2 {
5050
font-size: 1.25rem;
5151
margin-top: 1.5em;
5252
}

src/index.njk

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
layout: base
3+
description: "Paulo Henrique Cuchi — software engineer. Thoughts on backend development, Rust, DevOps, and Unix tools."
34
---
45

56
<header>
@@ -20,7 +21,7 @@ layout: base
2021

2122
<main>
2223
<section>
23-
<h3>Things I like</h3>
24+
<h2>Things I like</h2>
2425
<ul>
2526
<li>Backend web development</li>
2627
<li>Technical leadership and mentorship</li>
@@ -30,7 +31,7 @@ layout: base
3031
</section>
3132

3233
<section>
33-
<h3>Posts</h3>
34+
<h2>Posts</h2>
3435
<ul>
3536
{% for post in collections.posts | reverse %}
3637
<li>
@@ -42,7 +43,7 @@ layout: base
4243
</section>
4344

4445
<section>
45-
<h3>My career</h3>
46+
<h2>My career</h2>
4647
<div class="career-timeline">
4748
{% for event in career %}
4849
<div class="career-item"{% if event.isCurrent %} data-current{% endif %}>
@@ -72,23 +73,37 @@ layout: base
7273
</div>
7374
</section>
7475

75-
7676
</main>
7777

7878
<footer class="site-footer">
7979
<div class="social-links">
8080
<a href="https://github.com/cuchi" target="_blank" rel="noopener noreferrer" class="social-link">
81-
<img alt="GitHub" src="/assets/images/github.png" class="social-icon">
81+
<img alt="GitHub" src="/assets/images/github.png" class="social-icon" width="32" height="32">
8282
</a>
8383
<a href="https://www.linkedin.com/in/pcuchi/" target="_blank" rel="noopener noreferrer" class="social-link">
84-
<img alt="LinkedIn" src="/assets/images/linkedin.png" class="social-icon">
84+
<img alt="LinkedIn" src="/assets/images/linkedin.png" class="social-icon" width="32" height="32">
8585
</a>
8686
<a href="/rss.xml" class="social-link">
87-
<img alt="RSS" src="/assets/images/rss.png" class="social-icon">
87+
<img alt="RSS" src="/assets/images/rss.png" class="social-icon" width="32" height="32">
8888
</a>
8989
</div>
9090
<p class="footer-text">
9191
This website is an open source project under the Apache 2.0 license. You can find all the source code
9292
<a href="https://github.com/cuchi/website" target="_blank" rel="noopener noreferrer">here</a>.
9393
</p>
9494
</footer>
95+
96+
<script type="application/ld+json">
97+
{
98+
"@context": "https://schema.org",
99+
"@type": "Person",
100+
"name": "Paulo Henrique Cuchi",
101+
"url": "{{ metadata.url }}",
102+
"sameAs": [
103+
"https://github.com/cuchi",
104+
"https://www.linkedin.com/in/pcuchi/"
105+
],
106+
"jobTitle": "Software Engineer",
107+
"knowsAbout": ["Backend Development", "DevOps", "Rust", "Unix"]
108+
}
109+
</script>

src/posts.njk

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
---
22
layout: base
33
title: Posts
4+
description: "Articles about Rust, Go, game development, and software engineering by Paulo Henrique Cuchi."
45
---
56
<nav class="breadcrumb">
67
<a href="/">Home</a> &rsaquo;
78
<strong>Posts</strong>
89
</nav>
910

11+
<h2>Posts</h2>
12+
1013
<section>
1114
<ul>
1215
{% for post in collections.posts | reverse %}

src/posts/go-vs-rust.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ date: 2020-07-14
44
updated: 2020-08-04
55
layout: post
66
tags: posts
7+
description: "A hands-on comparison of Go and Rust for building CLI tools — covering error handling, compilation time, memory usage, and developer experience."
78
---
89

910
![Go vs. Rust](https://gist.githubusercontent.com/cuchi/59255d61717e2d469263eb86cf083067/raw/6ef1a42f335022adf481fb84cabc32ac47f18679/go-vs-rust.png)

src/posts/rust-sdl2.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ title: "Using SDL2 bindings in Rust for game development"
33
date: 2023-01-30
44
layout: post
55
tags: posts
6+
description: "A step-by-step tutorial on building a snake game from scratch using Rust and SDL2 — covering game loops, rendering, input handling, and tick-based state management."
67
---
78

89
SDL stands for Simple DirectMedia Layer, which is an open source library that provides APIs for user input, audio, and graphics. It also supports the most popular desktop and mobile operating systems — and even web browsers with WebAssembly — making it easier to write cross-platform code.

src/sitemap.njk

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
permalink: sitemap.xml
3+
eleventyExcludeFromCollections: true
4+
---
5+
<?xml version="1.0" encoding="utf-8"?>
6+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
7+
<url>
8+
<loc>{{ metadata.url }}/</loc>
9+
<changefreq>weekly</changefreq>
10+
<priority>1.0</priority>
11+
</url>
12+
<url>
13+
<loc>{{ metadata.url }}/posts/</loc>
14+
<changefreq>weekly</changefreq>
15+
<priority>0.8</priority>
16+
</url>
17+
{% for post in collections.posts %}
18+
<url>
19+
<loc>{{ metadata.url }}{{ post.url }}</loc>
20+
<lastmod>{% if post.data.updated %}{{ post.data.updated | dateToRfc3339 }}{% else %}{{ post.date | dateToRfc3339 }}{% endif %}</lastmod>
21+
<changefreq>monthly</changefreq>
22+
<priority>0.7</priority>
23+
</url>
24+
{% endfor %}
25+
</urlset>

0 commit comments

Comments
 (0)