Skip to content

Commit 3bac943

Browse files
committed
enhance SEO comprehensively - security headers, PWA manifest, FAQ structured data, performance hints
1 parent 798dadb commit 3bac943

4 files changed

Lines changed: 154 additions & 3 deletions

File tree

angular.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@
5252
},
5353
"src/_headers",
5454
"src/robots.txt",
55-
"src/sitemap.xml"
55+
"src/sitemap.xml",
56+
"src/manifest.json"
5657
],
5758
"index": "src/index.html",
5859
"browser": "src/main.ts",

src/_headers

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,42 @@
1+
/*
2+
Cloudflare Pages Headers
3+
https://developers.cloudflare.com/pages/configuration/headers/
4+
*/
5+
6+
# HTML files - no cache for always fresh content
17
/index.html
28
Cache-Control: no-cache, must-revalidate
9+
X-Content-Type-Options: nosniff
10+
X-Frame-Options: SAMEORIGIN
11+
X-XSS-Protection: 1; mode=block
12+
Referrer-Policy: strict-origin-when-cross-origin
13+
Permissions-Policy: camera=(), microphone=(), geolocation=(), interest-cohort=()
314

15+
# Static assets - aggressive caching
416
/*.js
517
Cache-Control: public, max-age=31536000, immutable
18+
X-Content-Type-Options: nosniff
619

720
/*.css
821
Cache-Control: public, max-age=31536000, immutable
22+
X-Content-Type-Options: nosniff
23+
24+
# Images and fonts - long cache
25+
/assets/*
26+
Cache-Control: public, max-age=31536000, immutable
27+
X-Content-Type-Options: nosniff
28+
29+
# SVG files
30+
/*.svg
31+
Cache-Control: public, max-age=31536000, immutable
32+
X-Content-Type-Options: nosniff
33+
34+
# SEO files - moderate cache
35+
/robots.txt
36+
Cache-Control: public, max-age=86400
37+
38+
/sitemap.xml
39+
Cache-Control: public, max-age=86400
40+
41+
/manifest.json
42+
Cache-Control: public, max-age=86400

src/index.html

Lines changed: 72 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!DOCTYPE html>
2-
<html lang="en">
2+
<html lang="en" dir="ltr">
33
<head>
44
<title>Confitty - Visual Kitty Terminal Configuration Generator</title>
55
<meta charset="UTF-8" />
@@ -43,7 +43,24 @@
4343
<!-- Canonical URL -->
4444
<link rel="canonical" href="https://confitty.app/" />
4545

46-
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script>
46+
<!-- Performance Hints -->
47+
<link rel="preconnect" href="https://storage.ko-fi.com" crossorigin />
48+
<link rel="dns-prefetch" href="https://storage.ko-fi.com" />
49+
50+
<!-- Security -->
51+
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' https://storage.ko-fi.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; connect-src 'self'; font-src 'self';" />
52+
<meta http-equiv="X-Content-Type-Options" content="nosniff" />
53+
<meta http-equiv="X-Frame-Options" content="SAMEORIGIN" />
54+
<meta http-equiv="X-XSS-Protection" content="1; mode=block" />
55+
<meta name="referrer" content="strict-origin-when-cross-origin" />
56+
57+
<!-- PWA -->
58+
<link rel="manifest" href="/manifest.json" />
59+
<meta name="mobile-web-app-capable" content="yes" />
60+
61+
<!-- Verification (add your own) -->
62+
<!-- <meta name="google-site-verification" content="YOUR_CODE" /> -->
63+
<!-- <meta name="msvalidate.01" content="YOUR_CODE" /> -->
4764
<script>
4865
(function () {
4966
var saved = localStorage.getItem('confitty-theme');
@@ -112,6 +129,59 @@
112129
"dateModified": "2026-03-29"
113130
}
114131
</script>
132+
133+
<!-- FAQ Structured Data for Rich Snippets -->
134+
<script type="application/ld+json">
135+
{
136+
"@context": "https://schema.org",
137+
"@type": "FAQPage",
138+
"mainEntity": [
139+
{
140+
"@type": "Question",
141+
"name": "What is Confitty?",
142+
"acceptedAnswer": {
143+
"@type": "Answer",
144+
"text": "Confitty is a visual configuration builder for Kitty terminal. It allows you to create beautiful, customized Kitty terminal configs with live preview, 72+ popular themes, and comprehensive settings management without manual editing."
145+
}
146+
},
147+
{
148+
"@type": "Question",
149+
"name": "Is Confitty free to use?",
150+
"acceptedAnswer": {
151+
"@type": "Answer",
152+
"text": "Yes, Confitty is completely free and open source. You can use it to generate Kitty terminal configurations at no cost."
153+
}
154+
},
155+
{
156+
"@type": "Question",
157+
"name": "How do I use my exported kitty.conf file?",
158+
"acceptedAnswer": {
159+
"@type": "Answer",
160+
"text": "After exporting your kitty.conf from Confitty, save it to ~/.config/kitty/ directory. Then reload Kitty by pressing Ctrl+Shift+F5 or use the 'kitten @ load-config' command."
161+
}
162+
},
163+
{
164+
"@type": "Question",
165+
"name": "What color themes are available in Confitty?",
166+
"acceptedAnswer": {
167+
"@type": "Answer",
168+
"text": "Confitty offers 72+ professional color themes including Dracula, Nord, Tokyo Night, Catppuccin variants, Gruvbox, Kanagawa, Ayu, Monokai, Solarized, VS Code, GitHub, iTerm2, and 15 original Confitty-branded themes."
169+
}
170+
},
171+
{
172+
"@type": "Question",
173+
"name": "Can I import my existing kitty.conf file?",
174+
"acceptedAnswer": {
175+
"@type": "Answer",
176+
"text": "Yes, Confitty supports importing existing kitty.conf files. Simply click the Import button and select your configuration file. Confitty will parse it and populate the visual editor with your current settings."
177+
}
178+
}
179+
]
180+
}
181+
</script>
182+
183+
<!-- Ko-fi Support Script -->
184+
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js' defer></script>
115185
</head>
116186
<body>
117187
<app-root>

src/manifest.json

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"name": "Confitty - Kitty Terminal Config Generator",
3+
"short_name": "Confitty",
4+
"description": "Visual configuration builder for Kitty terminal with live preview and 72+ themes",
5+
"start_url": "/",
6+
"display": "standalone",
7+
"background_color": "#ec4899",
8+
"theme_color": "#ec4899",
9+
"orientation": "any",
10+
"scope": "/",
11+
"lang": "en",
12+
"icons": [
13+
{
14+
"src": "assets/confitty-192.png",
15+
"sizes": "192x192",
16+
"type": "image/png",
17+
"purpose": "any maskable"
18+
},
19+
{
20+
"src": "assets/confitty-512.png",
21+
"sizes": "512x512",
22+
"type": "image/png",
23+
"purpose": "any maskable"
24+
},
25+
{
26+
"src": "assets/confitty.svg",
27+
"sizes": "any",
28+
"type": "image/svg+xml"
29+
}
30+
],
31+
"categories": ["developer", "productivity", "utilities"],
32+
"screenshots": [
33+
{
34+
"src": "assets/screenshot-wide.png",
35+
"sizes": "1280x720",
36+
"type": "image/png",
37+
"form_factor": "wide"
38+
},
39+
{
40+
"src": "assets/screenshot-narrow.png",
41+
"sizes": "750x1334",
42+
"type": "image/png",
43+
"form_factor": "narrow"
44+
}
45+
]
46+
}

0 commit comments

Comments
 (0)