Skip to content

Commit f2be704

Browse files
author
TechStack Global
committed
Standardize favicons sitewide: Replace old T logo with new TSG brand assets
1 parent 7439841 commit f2be704

File tree

50 files changed

+392
-424
lines changed

Some content is hidden

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

50 files changed

+392
-424
lines changed

.planning/ROADMAP.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
- [] Phase 1: Map existing codebase into `.planning/codebase/`.
88
- [] Phase 2: Initialize project and requirements in `.planning/`.
99
- [ ] Phase 3: Comprehensive SEO & Layout Health Check (Audit Milestone).
10+
- [ ] Phase 3.1: Content Standardization (Remove Redundant Sections).
1011

1112
## 🧱 Milestone 2: Technical Debt & Sitemap Recovery
1213
- [ ] Phase 4: Resolution of Search Console sitemap fetch errors.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Phase 3.1: Content Standardization (Remove Redundant Sections)
2+
3+
**Objective**: Clean up all article pages by removing specific sections that are redundant or moving them to the sidebar.
4+
5+
## 📋 Requirements
6+
- **REQ-CS-001**: Remove all `<section>` or `<div>` blocks with the header "The Quick Ruling" (or similar).
7+
- **REQ-CS-002**: Remove all `<section>` or `<div>` blocks with the header "Technical Specs".
8+
- **REQ-CS-003**: Remove all `<section>` or `<div>` blocks with the header "Comfort Verdict".
9+
- **REQ-CS-004**: Remove all `<section>` or `<div>` blocks with the header "Final Recommendation".
10+
- **REQ-CS-005**: Ensure that no broken HTML tags are left behind.
11+
- **REQ-CS-006**: Verify that mobile and desktop layouts remain intact.
12+
13+
## 🛠️ Implementation Plan
14+
15+
### Wave 1: Identification & Multi-Article Audit
16+
1. Run a `grep_search` to identify all files containing these headers.
17+
2. List the specific HTML structures (classes/IDs) used for these sections to create a safe regex.
18+
19+
### Wave 2: Automated Cleanup
20+
1. Use a Python script (leveraging `BeautifulSoup`) to identify headers and remove their parent containers.
21+
2. Run the script on all files in `/posts/`.
22+
23+
### Wave 3: Verification
24+
1. Manually check 3 representative pages:
25+
- A standard review (e.g., Shure SM7dB)
26+
- A comparison page (e.g., Sony vs AirPods)
27+
- A guide page (e.g., Best Headphones for Zoom)
28+
2. Run `seo_audit.py` if available to ensure no critical SEO impact.
29+
30+
## 🎯 Success Criteria
31+
- [ ] No "Quick Ruling", "Technical Specs", "Comfort Verdict", or "Final Recommendation" headers exist in any page.
32+
- [ ] Pages still look premium and follow Glassmorphism standards.
33+
- [ ] Zero broken links or malformed HTML.

about.html

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,12 @@
2525
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&amp;display=swap" rel="stylesheet"/>
2626
<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"/>
28-
<link href="assets/icons/favicon-32.png?v=6" rel="icon" sizes="32x32" type="image/png"/>
29-
<link href="assets/icons/favicon-16.png?v=6" rel="icon" sizes="16x16" type="image/png"/>
30-
<link href="assets/icons/techstack-logo-192.png?v=6" rel="apple-touch-icon" sizes="192x192"/>
31-
<link href="assets/icons/favicon.ico?v=6" rel="shortcut icon"/>
3228
<script type="application/ld+json">{
3329
"@context": "https://schema.org",
3430
"@type": "WebPage",
3531
"name": "About TechStack Global | Our B2B Tech Vetting Methodology",
3632
"url": "https://techstackglobal.github.io/about.html"
3733
}</script><meta content="summary_large_image" name="twitter:card"/><meta content="About TechStack Global | Our B2B Tech Vetting Methodology" name="twitter:title"/><meta content="Transparency and technical rigor in every review." name="twitter:description"/><meta content="https://techstackglobal.github.io/assets/images/og-about.jpg" name="twitter:image"/>
38-
<!-- Site Favicons -->
39-
<link href="/favicon.ico" rel="icon"/>
40-
<link href="/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/>
41-
<link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/>
42-
<link href="/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/>
4334
<meta content="#0a2540" name="theme-color"/>
4435
<meta content="TechStack Global" property="og:site_name"/>
4536
<meta content="TechStack Global" name="application-name"/>
@@ -52,7 +43,13 @@
5243
"logo": "https://techstackglobal.github.io/favicon-32x32.png"
5344
}
5445
</script>
55-
<link href="https://techstackglobal.github.io/about.html" rel="canonical"/></head>
46+
<link href="https://techstackglobal.github.io/about.html" rel="canonical"/>
47+
<!-- Site Favicons -->
48+
<link href="/favicon.ico" rel="icon"/>
49+
<link href="/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/>
50+
<link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/>
51+
<link href="/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/>
52+
</head>
5653
<body class="dark-theme">
5754
<div class="ambient-grid"></div>
5855
<header class="glass-header">

affiliate-disclosure.html

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,12 @@
1717
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&amp;display=swap" rel="stylesheet"/>
1818
<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"/>
20-
<link href="assets/icons/favicon-32.png?v=6" rel="icon" sizes="32x32" type="image/png"/>
21-
<link href="assets/icons/favicon-16.png?v=6" rel="icon" sizes="16x16" type="image/png"/>
22-
<link href="assets/icons/techstack-logo-192.png?v=6" rel="apple-touch-icon" sizes="192x192"/>
23-
<link href="assets/icons/favicon.ico?v=6" rel="shortcut icon"/>
2420
<meta content="https://techstackglobal.github.io/affiliate-disclosure.html" property="og:url"/><meta content="https://techstackglobal.github.io/og-image.jpg" property="og:image"/><script type="application/ld+json">{
2521
"@context": "https://schema.org",
2622
"@type": "WebPage",
2723
"name": "Affiliate Disclosure | TechStack Global",
2824
"url": "https://techstackglobal.github.io/affiliate-disclosure.html"
2925
}</script><meta content="summary_large_image" name="twitter:card"/><meta content="Affiliate Disclosure | TechStack Global" name="twitter:title"/><meta content="Read the TechStack Global affiliate disclosure policy to understand how we fund our independent research and hardware reviews." name="twitter:description"/><meta content="https://techstackglobal.github.io/og-image.jpg" name="twitter:image"/>
30-
<!-- Site Favicons -->
31-
<link href="/favicon.ico" rel="icon"/>
32-
<link href="/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/>
33-
<link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/>
34-
<link href="/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/>
3526
<meta content="#0a2540" name="theme-color"/>
3627
<meta content="TechStack Global" property="og:site_name"/>
3728
<meta content="TechStack Global" name="application-name"/>
@@ -44,7 +35,13 @@
4435
"logo": "https://techstackglobal.github.io/favicon-32x32.png"
4536
}
4637
</script>
47-
<link href="https://techstackglobal.github.io/affiliate-disclosure.html" rel="canonical"/></head>
38+
<link href="https://techstackglobal.github.io/affiliate-disclosure.html" rel="canonical"/>
39+
<!-- Site Favicons -->
40+
<link href="/favicon.ico" rel="icon"/>
41+
<link href="/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/>
42+
<link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/>
43+
<link href="/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/>
44+
</head>
4845
<body class="dark-theme">
4946
<div class="ambient-grid"></div>
5047
<header class="glass-header">

amazon-stack.html

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,6 @@
1818
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&amp;display=swap" rel="stylesheet"/>
1919
<link href="style.min.css?v=9" rel="stylesheet"/>
2020
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet"/>
21-
<link href="assets/icons/favicon-32.png?v=6" rel="icon" sizes="32x32" type="image/png"/>
22-
<link href="assets/icons/favicon-16.png?v=6" rel="icon" sizes="16x16" type="image/png"/>
23-
<link href="assets/icons/techstack-logo-192.png?v=6" rel="apple-touch-icon" sizes="192x192"/>
24-
<link href="assets/icons/favicon.ico?v=6" rel="shortcut icon"/>
2521
<script type="application/ld+json">
2622
[
2723
{
@@ -51,11 +47,6 @@
5147
<meta content="Amazon Product Stack | Modern Tech Hardware | TechStack Global" name="twitter:title"/>
5248
<meta content="The definitive guide to Amazon-sourced hardware for students, freelancers, and remote workers. Vetted benchmarks for modern productivity." name="twitter:description"/>
5349
<meta content="https://techstackglobal.github.io/assets/og-image.jpg" name="twitter:image"/>
54-
<!-- Site Favicons -->
55-
<link href="/favicon.ico" rel="icon"/>
56-
<link href="/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/>
57-
<link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/>
58-
<link href="/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/>
5950
<meta content="#0a2540" name="theme-color"/>
6051
<meta content="TechStack Global" property="og:site_name"/>
6152
<meta content="TechStack Global" name="application-name"/>
@@ -68,7 +59,13 @@
6859
"logo": "https://techstackglobal.github.io/favicon-32x32.png"
6960
}
7061
</script>
71-
<link href="https://techstackglobal.github.io/amazon-stack.html" rel="canonical"/></head>
62+
<link href="https://techstackglobal.github.io/amazon-stack.html" rel="canonical"/>
63+
<!-- Site Favicons -->
64+
<link href="/favicon.ico" rel="icon"/>
65+
<link href="/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/>
66+
<link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/>
67+
<link href="/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/>
68+
</head>
7269
<body class="dark-theme">
7370
<div class="ambient-grid"></div>
7471
<header class="glass-header">

audit_favicons.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import os
2+
3+
base = r"C:\Users\PMLS\Desktop\Youtube Shorts\b2b_blog"
4+
html_files = []
5+
for root, dirs, files in os.walk(base):
6+
for f in files:
7+
if f.endswith('.html'):
8+
html_files.append(os.path.join(root, f))
9+
10+
for path in html_files:
11+
with open(path, 'r', encoding='utf-8', errors='ignore') as f:
12+
content = f.read()
13+
14+
has_assets = 'assets/icons/favicon' in content
15+
has_root = 'link href="/favicon' in content or 'link rel="icon" href="/favicon' in content
16+
17+
print(f"{os.path.relpath(path, base)}: assets={has_assets}, root={has_root}")

blog.html

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,6 @@
3232
rel="stylesheet" />
3333
<link href="style.min.css?v=10" rel="stylesheet" />
3434
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet" />
35-
<link href="assets/icons/favicon-32.png?v=7" rel="icon" sizes="32x32" type="image/png" />
36-
<link href="assets/icons/favicon-16.png?v=7" rel="icon" sizes="16x16" type="image/png" />
37-
<link href="assets/icons/techstack-logo-192.png?v=7" rel="apple-touch-icon" sizes="192x192" />
38-
<link href="assets/icons/favicon.ico?v=7" rel="shortcut icon" />
3935
<!-- Build Signature: 2026-03-08T20:45:00Z-FORCE-SYNC -->
4036
<script type="application/ld+json">
4137
{
@@ -62,6 +58,11 @@
6258
}
6359
</script>
6460
<link href="https://techstackglobal.github.io/blog.html" rel="canonical" />
61+
<!-- Site Favicons -->
62+
<link href="/favicon.ico" rel="icon"/>
63+
<link href="/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/>
64+
<link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/>
65+
<link href="/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/>
6566
</head>
6667

6768
<body class="dark-theme">

clean_favicons.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import os
2+
import re
3+
4+
base = r"C:\Users\PMLS\Desktop\Youtube Shorts\b2b_blog"
5+
html_files = []
6+
for root, dirs, files in os.walk(base):
7+
for f in files:
8+
if f.endswith('.html'):
9+
html_files.append(os.path.join(root, f))
10+
11+
root_favicon_block = """<!-- Site Favicons -->
12+
<link href="/favicon.ico" rel="icon"/>
13+
<link href="/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/>
14+
<link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/>
15+
<link href="/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/>"""
16+
17+
# Specific patterns to remove
18+
remove_patterns = [
19+
re.compile(r'\s*<link[^>]+(?:rel="icon"|rel="shortcut icon"|rel="apple-touch-icon"|rel="apple-touch-icon-precomposed")[^>]*>', re.IGNORECASE),
20+
re.compile(r'\s*<link[^>]+(?:favicon|techstack-logo-192|apple-touch-icon)[^>]*>', re.IGNORECASE),
21+
re.compile(r'\s*<!-- Site Favicons -->', re.IGNORECASE)
22+
]
23+
24+
for path in html_files:
25+
if "test-deploy.html" in path: continue
26+
27+
with open(path, 'r', encoding='utf-8', errors='ignore') as f:
28+
content = f.read()
29+
30+
new_content = content
31+
for pattern in remove_patterns:
32+
new_content = pattern.sub('', new_content)
33+
34+
# Standardize Head space before </head>
35+
# Append the root_favicon_block right before </head>
36+
new_content = new_content.replace('</head>', f'{root_favicon_block}\n</head>')
37+
38+
if new_content != content:
39+
with open(path, 'w', encoding='utf-8') as f:
40+
f.write(new_content)
41+
print(f"Deep cleaned and standardized favicons in {os.path.relpath(path, base)}")
42+
43+
print("Done.")

contact.html

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,12 @@
2525
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&amp;display=swap" rel="stylesheet"/>
2626
<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"/>
28-
<link href="assets/icons/favicon-32.png?v=6" rel="icon" sizes="32x32" type="image/png"/>
29-
<link href="assets/icons/favicon-16.png?v=6" rel="icon" sizes="16x16" type="image/png"/>
30-
<link href="assets/icons/techstack-logo-192.png?v=6" rel="apple-touch-icon" sizes="192x192"/>
31-
<link href="assets/icons/favicon.ico?v=6" rel="shortcut icon"/>
3228
<script type="application/ld+json">{
3329
"@context": "https://schema.org",
3430
"@type": "WebPage",
3531
"name": "Contact TechStack Global | Partner with the B2B Authority",
3632
"url": "https://techstackglobal.github.io/contact.html"
3733
}</script><meta content="summary_large_image" name="twitter:card"/><meta content="Contact TechStack Global | Partner with the B2B Authority" name="twitter:title"/><meta content="Reach out to our experts for tech stack advice and partnerships." name="twitter:description"/><meta content="https://techstackglobal.github.io/assets/images/og-contact.jpg" name="twitter:image"/>
38-
<!-- Site Favicons -->
39-
<link href="/favicon.ico" rel="icon"/>
40-
<link href="/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/>
41-
<link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/>
42-
<link href="/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/>
4334
<meta content="#0a2540" name="theme-color"/>
4435
<meta content="TechStack Global" property="og:site_name"/>
4536
<meta content="TechStack Global" name="application-name"/>
@@ -52,7 +43,13 @@
5243
"logo": "https://techstackglobal.github.io/favicon-32x32.png"
5344
}
5445
</script>
55-
<link href="https://techstackglobal.github.io/contact.html" rel="canonical"/></head>
46+
<link href="https://techstackglobal.github.io/contact.html" rel="canonical"/>
47+
<!-- Site Favicons -->
48+
<link href="/favicon.ico" rel="icon"/>
49+
<link href="/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/>
50+
<link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/>
51+
<link href="/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/>
52+
</head>
5653
<body class="dark-theme">
5754
<div class="ambient-grid"></div>
5855
<header class="glass-header">

index.html

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,6 @@
4242
<link href="style.min.css?v=9" rel="stylesheet" />
4343
<!-- FontAwesome for Icons-->
4444
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet" />
45-
<link href="assets/icons/favicon-32.png?v=6" rel="icon" sizes="32x32" type="image/png" />
46-
<link href="assets/icons/favicon-16.png?v=6" rel="icon" sizes="16x16" type="image/png" />
47-
<link href="assets/icons/techstack-logo-192.png?v=6" rel="apple-touch-icon" sizes="192x192" />
48-
<link href="assets/icons/favicon.ico?v=6" rel="shortcut icon" />
4945
<script type="application/ld+json">
5046
{
5147
"@context": "https://schema.org",
@@ -71,15 +67,14 @@
7167
<meta content="TechStack Global" name="twitter:title" />
7268
<meta content="Expert tech reviews and buying guides for professionals." name="twitter:description" />
7369
<meta content="https://techstackglobal.github.io/assets/og-image.jpg" name="twitter:image" />
74-
75-
<!-- Site Favicons -->
76-
<link rel="icon" href="/favicon.ico">
77-
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
78-
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
79-
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
8070
<meta name="theme-color" content="#0a2540">
8171
<meta property="og:site_name" content="TechStack Global">
8272
<meta name="application-name" content="TechStack Global">
73+
<!-- Site Favicons -->
74+
<link href="/favicon.ico" rel="icon"/>
75+
<link href="/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"/>
76+
<link href="/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"/>
77+
<link href="/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"/>
8378
</head>
8479

8580
<body class="dark-theme homepage">

0 commit comments

Comments
 (0)