Skip to content

Commit ebbe09f

Browse files
author
TechStack Global
committed
feat(seo): optimize meta, caching docs, css minification, and internal linking
1 parent 07ed848 commit ebbe09f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+2513
-133
lines changed

about.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<meta content="Transparency and technical rigor in every review." property="og:description"/>
2424
<meta content="https://techstackglobal.github.io/assets/images/og-about.jpg" property="og:image"/>
2525
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&amp;display=swap" rel="stylesheet"/>
26-
<link href="style.css?v=9" rel="stylesheet"/>
26+
<link href="style.min.css?v=9" rel="stylesheet"/>
2727
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet"/>
2828
<link href="assets/icons/favicon-32.png?v=6" rel="icon" sizes="32x32" type="image/png"/>
2929
<link href="assets/icons/favicon-16.png?v=6" rel="icon" sizes="16x16" type="image/png"/>

affiliate-disclosure.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
1616
<title>Affiliate Disclosure | TechStack Global</title>
1717
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&amp;display=swap" rel="stylesheet"/>
18-
<link href="style.css?v=9" rel="stylesheet"/>
18+
<link href="style.min.css?v=9" rel="stylesheet"/>
1919
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet"/>
2020
<link href="assets/icons/favicon-32.png?v=6" rel="icon" sizes="32x32" type="image/png"/>
2121
<link href="assets/icons/favicon-16.png?v=6" rel="icon" sizes="16x16" type="image/png"/>

amazon-stack.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
name="description" />
2121
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&amp;display=swap"
2222
rel="stylesheet" />
23-
<link href="style.css?v=9" rel="stylesheet" />
23+
<link href="style.min.css?v=9" rel="stylesheet" />
2424
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet" />
2525
<link href="assets/icons/favicon-32.png?v=6" rel="icon" sizes="32x32" type="image/png" />
2626
<link href="assets/icons/favicon-16.png?v=6" rel="icon" sizes="16x16" type="image/png" />

audit_report_utf8.txt

Lines changed: 56 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,45 @@ Broken Links: None
6262
--------------------------------
6363
PAGE: /index.html
6464
Title: OK (Length: 41)
65+
Meta Description: OK (Length: 112)
66+
Canonical: MISMATCH (Found: https://techstackglobal.github.io/ | Expected: https://techstackglobal.github.io/index.html) (Critical)
67+
OpenGraph: OG URL MISMATCH (Found: https://techstackglobal.github.io/ | Expected: https://techstackglobal.github.io/index.html)
68+
Twitter Card: OK
69+
Schema: OK
70+
H1 Count: 1
71+
Viewport: OK
72+
Indexing: OK
73+
Broken Links: None
74+
--------------------------------
75+
PAGE: /old_index.html
76+
Title: OK (Length: 41)
6577
Meta Description: OK (Length: 190)
66-
Canonical: OK
67-
OpenGraph: OK
78+
Canonical: MISMATCH (Found: https://techstackglobal.github.io/index.html | Expected: https://techstackglobal.github.io/old_index.html) (Critical)
79+
OpenGraph: OG URL MISMATCH (Found: https://techstackglobal.github.io/index.html | Expected: https://techstackglobal.github.io/old_index.html)
80+
Twitter Card: OK
81+
Schema: OK
82+
H1 Count: 1
83+
Viewport: OK
84+
Indexing: OK
85+
Broken Links: None
86+
--------------------------------
87+
PAGE: /old_index_cmd.html
88+
Title: OK (Length: 41)
89+
Meta Description: OK (Length: 190)
90+
Canonical: MISMATCH (Found: https://techstackglobal.github.io/index.html | Expected: https://techstackglobal.github.io/old_index_cmd.html) (Critical)
91+
OpenGraph: OG URL MISMATCH (Found: https://techstackglobal.github.io/index.html | Expected: https://techstackglobal.github.io/old_index_cmd.html)
92+
Twitter Card: OK
93+
Schema: OK
94+
H1 Count: 1
95+
Viewport: OK
96+
Indexing: OK
97+
Broken Links: None
98+
--------------------------------
99+
PAGE: /old_index_utf8.html
100+
Title: OK (Length: 41)
101+
Meta Description: OK (Length: 190)
102+
Canonical: MISMATCH (Found: https://techstackglobal.github.io/index.html | Expected: https://techstackglobal.github.io/old_index_utf8.html) (Critical)
103+
OpenGraph: OG URL MISMATCH (Found: https://techstackglobal.github.io/index.html | Expected: https://techstackglobal.github.io/old_index_utf8.html)
68104
Twitter Card: OK
69105
Schema: OK
70106
H1 Count: 1
@@ -436,19 +472,30 @@ Broken Links: None
436472

437473
=== SECONDARY ISSUES REPORT ===
438474

439-
Duplicate Meta Descriptions: None
475+
Duplicate Meta Descriptions Detected:
476+
Meta Description: "TechStack Global delivers expert tech reviews, buying guides, and practical recommendations on consumer electronics, software, and productivity tools to help you make smarter tech decisions."
477+
Used On:
478+
- /old_index.html
479+
- /old_index_cmd.html
480+
- /old_index_utf8.html
440481

441-
Duplicate Titles: None
482+
Duplicate Titles Detected:
483+
Title: "TechStack Global | Smarter Tech Decisions"
484+
Used On:
485+
- /index.html
486+
- /old_index.html
487+
- /old_index_cmd.html
488+
- /old_index_utf8.html
442489

443490
Image Alt Text Issues:
444491
Image Alt Text: OK
445492

446493

447494
=== SITE RISK SUMMARY ===
448-
Total Pages Scanned: 36
449-
Pages With Critical Errors: 0
450-
Pages With Duplicate Meta: 0
451-
Pages With Duplicate Titles: 0
495+
Total Pages Scanned: 39
496+
Pages With Critical Errors: 4
497+
Pages With Duplicate Meta: 3
498+
Pages With Duplicate Titles: 4
452499
Pages With Missing Schema: 0
453500
Pages With Missing Alt Text: 0
454-
Clean Pages: 36
501+
Clean Pages: 35

blog.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
<meta content="https://techstackglobal.github.io/assets/images/og-blog.jpg" property="og:image" />
2929
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&amp;display=swap"
3030
rel="stylesheet" />
31-
<link href="style.css?v=9" rel="stylesheet" />
31+
<link href="style.min.css?v=9" rel="stylesheet" />
3232
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet" />
3333
<link href="assets/icons/favicon-32.png?v=6" rel="icon" sizes="32x32" type="image/png" />
3434
<link href="assets/icons/favicon-16.png?v=6" rel="icon" sizes="16x16" type="image/png" />

clean_img_styles.js

Lines changed: 0 additions & 34 deletions
This file was deleted.

contact.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<meta content="Reach out to our experts for tech stack advice and partnerships." property="og:description"/>
2424
<meta content="https://techstackglobal.github.io/assets/images/og-contact.jpg" property="og:image"/>
2525
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&amp;display=swap" rel="stylesheet"/>
26-
<link href="style.css?v=9" rel="stylesheet"/>
26+
<link href="style.min.css?v=9" rel="stylesheet"/>
2727
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet"/>
2828
<link href="assets/icons/favicon-32.png?v=6" rel="icon" sizes="32x32" type="image/png"/>
2929
<link href="assets/icons/favicon-16.png?v=6" rel="icon" sizes="16x16" type="image/png"/>

docs/caching_strategy.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Caching Strategy for GitHub Pages
2+
3+
GitHub Pages does not natively support setting custom `Cache-Control` or `Expires` headers. To effectively cache static assets (like images, CSS, and fonts) and improve Core Web Vitals, you must integrate a CDN or migrate to a host that provides header controls.
4+
5+
## Option A: Cloudflare Setup (Recommended & Free)
6+
7+
Cloudflare sits in front of your GitHub Pages site and allows you to enforce caching rules without changing hosts.
8+
9+
### Steps:
10+
1. **Create a Free Account:** Sign up at [Cloudflare](https://www.cloudflare.com/).
11+
2. **Add Your Site:** Enter your domain (`techstackglobal.com` or `techstackglobal.github.io` if custom domain isn't fully set up yet; note that Cloudflare requires a root domain you own, so if using `.github.io`, you must use a custom domain first to proxy through Cloudflare).
12+
3. **Update DNS Nameservers:** Follow Cloudflare’s instructions to change your domain registrar's nameservers to point to Cloudflare.
13+
4. **Create Cache Rules (Page Rules):**
14+
Navigate to **Caching** > **Cache Rules** (or **Rules** > **Page Rules**) and create the following to cache assets for 1 month:
15+
16+
**Rule 1 (Post Images):**
17+
- **If the URL matches:** `*techstackglobal.github.io/posts/images/*` (replace with custom domain when live)
18+
- **Then:** Set `Browser Cache TTL` to `1 month`
19+
20+
**Rule 2 (Global Assets):**
21+
- **If the URL matches:** `*techstackglobal.github.io/assets/*`
22+
- **Then:** Set `Browser Cache TTL` to `1 month`
23+
24+
5. **Edge Cache (Optional but Recommended):** Under **Caching** > **Configuration**, set Edge Cache TTL to a long duration to keep assets cached globally on Cloudflare's servers.
25+
26+
---
27+
28+
## Option B: Migrate Host (Netlify or Vercel)
29+
30+
If you prefer not to use Cloudflare and want native control via configuration files (`_headers` or `vercel.json`), migrating to Netlify or Vercel is free and easy for static sites.
31+
32+
### Migration Guide for Netlify:
33+
1. Create a free account on [Netlify](https://www.netlify.com/).
34+
2. Click **Add new site** > **Import an existing project**.
35+
3. Connect your GitHub account and select your `techstackglobal.github.io` repository.
36+
4. Leave the build command blank (it's a static HTML site) and set the publish directory to `/`.
37+
5. Create a `_headers` file in your repository root with the following to enable caching:
38+
```text
39+
/assets/*
40+
Cache-Control: public, max-age=2592000
41+
/posts/images/*
42+
Cache-Control: public, max-age=2592000
43+
```
44+
6. Deploy and update your DNS to point to Netlify.
45+
46+
### Migration Guide for Vercel:
47+
1. Create a free account on [Vercel](https://vercel.com/).
48+
2. Click **Add New** > **Project** and import your GitHub repository.
49+
3. Skip build commands and deploy.
50+
4. Create a `vercel.json` file in your repository root with caching headers:
51+
```json
52+
{
53+
"headers": [
54+
{
55+
"source": "/assets/(.*)",
56+
"headers": [
57+
{ "key": "Cache-Control", "value": "public, max-age=2592000, immutable" }
58+
]
59+
},
60+
{
61+
"source": "/posts/images/(.*)",
62+
"headers": [
63+
{ "key": "Cache-Control", "value": "public, max-age=2592000, immutable" }
64+
]
65+
}
66+
]
67+
}
68+
```
69+
5. Commit the file and update your DNS.

fix_max_width.js

Lines changed: 0 additions & 41 deletions
This file was deleted.

index.html

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,29 @@
1717
<meta name="impact-site-verification" value="50e160eb-0694-4afd-bd21-9998fbb1e0f5" />
1818
<title>TechStack Global | Smarter Tech Decisions</title>
1919
<meta
20-
content="TechStack Global delivers expert tech reviews, buying guides, and practical recommendations on consumer electronics, software, and productivity tools to help you make smarter tech decisions."
20+
content="Expert tech reviews, buying guides, and hands-on hardware analysis to help professionals choose the right tools."
2121
name="description" />
2222
<meta
2323
content="tech reviews, buying guides, consumer electronics, productivity tools, audio gear, mobile devices, software reviews"
2424
name="keywords" />
2525
<!-- OpenGraph / Social Media -->
2626
<meta content="website" property="og:type" />
27-
<meta content="https://techstackglobal.github.io/index.html" property="og:url" />
28-
<meta content="TechStack Global — Smarter Tech Decisions" property="og:title" />
29-
<meta
30-
content="Reviews, buying guides and how-tos covering consumer electronics, software, audio, mobile, and productivity tools."
31-
property="og:description" />
27+
<meta content="https://techstackglobal.github.io/" property="og:url" />
28+
<meta content="TechStack Global" property="og:title" />
29+
<meta content="Expert tech reviews and buying guides for professionals." property="og:description" />
3230
<meta content="https://techstackglobal.github.io/assets/og-image.jpg" property="og:image" />
3331
<!-- Twitter -->
3432

3533

3634

3735
<!-- Google Fonts: Inter for that premium tech feel-->
36+
<link rel="preconnect" href="https://fonts.googleapis.com" />
37+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
38+
<link rel="preload" as="style"
39+
href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&amp;display=swap" />
3840
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&amp;display=swap"
3941
rel="stylesheet" />
40-
<link href="style.css?v=9" rel="stylesheet" />
42+
<link href="style.min.css?v=9" rel="stylesheet" />
4143
<!-- FontAwesome for Icons-->
4244
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet" />
4345
<link href="assets/icons/favicon-32.png?v=6" rel="icon" sizes="32x32" type="image/png" />
@@ -63,12 +65,11 @@
6365
"sameAs": []
6466
}
6567
</script>
66-
<link href="https://techstackglobal.github.io/index.html" rel="canonical" />
68+
<link href="https://techstackglobal.github.io/" rel="canonical" />
6769
<meta content="summary_large_image" name="twitter:card" />
68-
<meta content="TechStack Global — Smarter Tech Decisions" name="twitter:title" />
69-
<meta
70-
content="Reviews, buying guides and how-tos covering consumer electronics, software, audio, mobile, and productivity tools."
71-
name="twitter:description" />
70+
<meta content="" name="twitter:site" />
71+
<meta content="TechStack Global" name="twitter:title" />
72+
<meta content="Expert tech reviews and buying guides for professionals." name="twitter:description" />
7273
<meta content="https://techstackglobal.github.io/assets/og-image.jpg" name="twitter:image" />
7374
</head>
7475

@@ -105,6 +106,15 @@ <h1>Make Smarter <br /><span class="gradient-text">Tech Decisions.</span>
105106
<p class="hero-sub" style="font-size: 1.25rem; max-width: 100%; margin-top: 1rem;">No hype. No
106107
fluff.
107108
Just clear guidance on the tech that powers modern work.</p>
109+
<p style="margin-top: 1.25rem; font-size: 0.95rem; line-height: 1.5; color: var(--text-secondary);">
110+
Explore our core buying guides:
111+
<a href="/posts/best-noise-cancelling-headphones-2026.html"
112+
style="color: var(--text-muted); text-decoration: underline;">best noise-cancelling headphones</a>,
113+
<a href="/posts/best-ultrawide-monitors-2026.html"
114+
style="color: var(--text-muted); text-decoration: underline;">best ultrawide monitors</a>,
115+
and <a href="/posts/best-podcast-microphones-2026.html"
116+
style="color: var(--text-muted); text-decoration: underline;">best podcast microphones</a>.
117+
</p>
108118

109119
</div>
110120
<!-- Feature Review Animated Cards -->

0 commit comments

Comments
 (0)