Skip to content

Commit e078ffe

Browse files
authored
Merge pull request #12 from DavideDaniel/claude/add-seo-fixes-6Aihk
Enhance SEO with structured data, Open Graph tags, and crawler support
2 parents 48a2b2e + 7705295 commit e078ffe

3 files changed

Lines changed: 68 additions & 1 deletion

File tree

.github/copilot-instructions.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,3 +171,15 @@ function smoothScrollTo(targetId) {
171171
```
172172

173173
This helps both GitHub Copilot and Claude understand the codebase better!
174+
175+
## SEO Requirements
176+
177+
This portfolio site is the root deployment for `daviddaniel.tech`. It serves as the crawl entry point for all content including the research subsite at `/research/`.
178+
179+
### Critical Rules
180+
181+
- **`public/robots.txt`** is the canonical robots.txt for the entire daviddaniel.tech domain. Do not remove it or move it to another location.
182+
- **`index.html`** must always contain a server-rendered (non-JS) link to `/research/` so search engine crawlers can discover the research subsite. Do not remove the `<noscript>` block or the crawlable anchor link.
183+
- Any navigation changes must preserve crawlable links to the research section.
184+
- The `<head>` section of `index.html` contains structured data (JSON-LD), Open Graph tags, and a canonical URL. These must be maintained when editing the file.
185+
- If new pages are added, consider whether they need `noindex` meta tags (e.g., draft or private content).

index.html

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,61 @@
44
<meta charset="UTF-8" />
55
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7-
<meta name="description" content="David Daniel - Principal Engineer" />
7+
<meta name="description" content="David Daniel - Principal Engineer. Portfolio, technical research, and musings on AI engineering, software architecture, and modern development practices." />
8+
<meta name="author" content="David Daniel" />
9+
<link rel="canonical" href="https://daviddaniel.tech/" />
810
<title>David Daniel | Principal Engineer</title>
11+
12+
<!-- Open Graph -->
13+
<meta property="og:type" content="website" />
14+
<meta property="og:title" content="David Daniel | Principal Engineer" />
15+
<meta property="og:description" content="Portfolio, technical research, and musings on AI engineering, software architecture, and modern development practices." />
16+
<meta property="og:url" content="https://daviddaniel.tech/" />
17+
<meta property="og:site_name" content="David Daniel" />
18+
<meta property="og:locale" content="en_US" />
19+
20+
<!-- Twitter Card -->
21+
<meta name="twitter:card" content="summary" />
22+
<meta name="twitter:title" content="David Daniel | Principal Engineer" />
23+
<meta name="twitter:description" content="Portfolio, technical research, and musings on AI engineering, software architecture, and modern development practices." />
24+
25+
<!-- Structured Data -->
26+
<script type="application/ld+json">
27+
{
28+
"@context": "https://schema.org",
29+
"@type": "WebSite",
30+
"name": "David Daniel",
31+
"url": "https://daviddaniel.tech/",
32+
"description": "Portfolio, technical research, and musings on AI engineering, software architecture, and modern development practices.",
33+
"author": {
34+
"@type": "Person",
35+
"name": "David Daniel",
36+
"jobTitle": "Principal Engineer",
37+
"url": "https://daviddaniel.tech/",
38+
"sameAs": [
39+
"https://linkedin.com/in/davidedaniel/",
40+
"https://github.com/DavideDaniel"
41+
]
42+
}
43+
}
44+
</script>
945
</head>
1046
<body>
1147
<div id="root"></div>
1248
<script type="module" src="/src/main.jsx"></script>
49+
50+
<!-- Server-rendered navigation for search engine crawlability -->
51+
<noscript>
52+
<nav>
53+
<h1>David Daniel | Principal Engineer</h1>
54+
<ul>
55+
<li><a href="/bio">Bio</a></li>
56+
<li><a href="/musings">Musings on AI Engineering</a></li>
57+
<li><a href="/research/">Technical Research</a></li>
58+
</ul>
59+
</nav>
60+
</noscript>
61+
<!-- Crawlable link to research subsite (hidden, replaced by React app on render) -->
62+
<a href="/research/" style="position:absolute;left:-9999px;opacity:0" aria-hidden="true" tabindex="-1">Technical Research</a>
1363
</body>
1464
</html>

public/robots.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
User-agent: *
2+
Allow: /
3+
Disallow: /research/musings/
4+
5+
Sitemap: https://daviddaniel.tech/research/sitemap.xml

0 commit comments

Comments
 (0)