Skip to content

Commit d050995

Browse files
committed
SEO, performance, and PWA improvements
- Add sitemap.xml and robots.txt for search engine crawling - Add PWA manifest.json and service worker (offline support) - Inline critical CSS for instant first paint, async load rest - Minify CSS (7.2K->5.1K) and JS (4.2K->2.5K) - Externalize MailerLite CSS, load asynchronously - Enhance JSON-LD with WebSite schema + expanded Person schema - Add OG image dimensions, site_name, locale meta tags - Add apple-touch-icon, apple-mobile-web-app-capable - netlify.toml with security headers and caching rules - Fix HTML structure (broken nesting), remove 700+ lines of bloat - Reduce index.html from ~75KB to ~24KB
1 parent 55e1b0c commit d050995

13 files changed

Lines changed: 268 additions & 882 deletions

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
.env
1+
.env
2+
chat/
3+

404.html

Lines changed: 25 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -3,82 +3,17 @@
33
<head>
44
<meta charset="UTF-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6-
<title>404 - Page Not Found</title>
7-
8-
<!-- Google Analytics -->
9-
<script>
10-
window.dataLayer = window.dataLayer || [];
11-
function gtag(){dataLayer.push(arguments);}
12-
gtag('js', new Date());
13-
gtag('config', 'G-9FWQFZME3Z');
14-
</script>
6+
<title>404 - Page Not Found | HellenicDev</title>
7+
<meta name="description" content="This page doesn't exist on HellenicDev. Return to the homepage to explore programming projects and tools.">
8+
<meta name="robots" content="noindex, follow">
9+
<meta property="og:title" content="404 - Page Not Found | HellenicDev">
10+
<meta property="og:description" content="This page doesn't exist on HellenicDev. Return to the homepage.">
11+
<meta property="og:url" content="https://hellenicdev.github.io/404.html">
12+
<meta property="og:type" content="website">
13+
<link rel="canonical" href="https://hellenicdev.github.io/">
1514

1615
<style>
17-
/* Base styles */
18-
body {
19-
font-family: 'Arial', sans-serif;
20-
background: #19336e;
21-
color: white;
22-
display: flex;
23-
flex-direction: column;
24-
justify-content: center;
25-
align-items: center;
26-
height: 100vh;
27-
margin: 0;
28-
text-align: center;
29-
padding: 20px;
30-
animation: fadeIn 1s ease-out;
31-
}
32-
33-
/* ASCII art styling */
34-
pre {
35-
font-family: monospace;
36-
font-size: 1rem;
37-
color: #38bdf8;
38-
margin-bottom: 20px;
39-
}
40-
41-
/* Message styling */
42-
p {
43-
font-size: 1.2rem;
44-
margin-bottom: 30px;
45-
}
46-
47-
/* Optional quote styling */
48-
blockquote {
49-
font-style: italic;
50-
color: #a0aec0;
51-
border-left: 4px solid #38bdf8;
52-
padding-left: 15px;
53-
margin: 20px 0;
54-
font-size: 1.1rem;
55-
}
56-
57-
/* Button styling */
58-
.outline-button {
59-
display: inline-block;
60-
padding: 12px 24px;
61-
font-family: monospace;
62-
font-size: 16px;
63-
color: #38bdf8;
64-
border: 2px solid #38bdf8;
65-
border-radius: 6px;
66-
text-decoration: none;
67-
transition: all 0.3s ease;
68-
}
69-
70-
.outline-button:hover {
71-
background-color: #141625;
72-
color: white;
73-
transform: translateY(-2px);
74-
box-shadow: 0 4px 10px rgba(0,0,0,0.2);
75-
}
76-
77-
/* Fade-in animation */
78-
@keyframes fadeIn {
79-
from { opacity: 0; transform: translateY(20px); }
80-
to { opacity: 1; transform: translateY(0); }
81-
}
16+
body{font-family:Arial,sans-serif;background:#19336e;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;margin:0;text-align:center;padding:20px;animation:fadeIn 1s ease-out}pre{font-family:monospace;font-size:1rem;color:#38bdf8;margin-bottom:20px}p{font-size:1.2rem;margin-bottom:30px}.outline-button{display:inline-block;padding:12px 24px;font-family:monospace;font-size:16px;color:#38bdf8;border:2px solid #38bdf8;border-radius:6px;text-decoration:none;transition:all .3s ease}.outline-button:hover{background-color:#141625;color:#fff;transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.2)}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
8217
</style>
8318
</head>
8419

@@ -92,13 +27,25 @@
9227
|_| \___/ |_|
9328
</strong></pre>
9429

95-
<p>This page doesn’t exist. Just like my free time.</p>
96-
97-
<!-- Optional quote -->
98-
<!-- <blockquote>Not all those who wander are lost. <br>— J.R.R. Tolkien</blockquote> -->
30+
<p>This page doesn't exist. Just like my free time.</p>
9931

10032
<a href="https://hellenicdev.github.io/?utm_source=404" class="outline-button">
10133
Go back home
10234
</a>
35+
36+
<script defer>
37+
setTimeout(() => {
38+
var s = document.createElement('script');
39+
s.src = 'https://www.googletagmanager.com/gtag/js?id=G-9FWQFZME3Z';
40+
s.async = true;
41+
s.onload = function() {
42+
window.dataLayer = window.dataLayer || [];
43+
function gtag(){dataLayer.push(arguments);}
44+
gtag('js', new Date());
45+
gtag('config', 'G-9FWQFZME3Z');
46+
};
47+
document.head.appendChild(s);
48+
}, 3000);
49+
</script>
10350
</body>
10451
</html>

0 commit comments

Comments
 (0)