seo-intel 1.2.3 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/package.json +1 -1
- package/reports/generate-html.js +1 -1
- package/server.js +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.2.4 (2026-03-31)
|
|
4
|
+
|
|
5
|
+
### Fixes
|
|
6
|
+
- Fix favicon serving — explicit `Content-Type: image/png` header prevents browser showing cached favicon from crawled sites
|
|
7
|
+
- Favicon link tag now cache-busts on dashboard regeneration
|
|
8
|
+
|
|
3
9
|
## 1.2.3 (2026-03-28)
|
|
4
10
|
|
|
5
11
|
### Dashboard
|
package/package.json
CHANGED
package/reports/generate-html.js
CHANGED
|
@@ -208,7 +208,7 @@ function buildHtmlTemplate(data, opts = {}) {
|
|
|
208
208
|
<meta charset="UTF-8">
|
|
209
209
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
210
210
|
<title>SEO Intel ${pro ? 'Dashboard' : 'Preview'} — ${project.toUpperCase()}</title>
|
|
211
|
-
<link rel="icon" type="image/png" href="/favicon.png">
|
|
211
|
+
<link rel="icon" type="image/png" href="/favicon.png?v=${Date.now()}">
|
|
212
212
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
213
213
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
214
214
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Syne:wght@600;700;800&display=swap" rel="stylesheet">
|
package/server.js
CHANGED
|
@@ -678,7 +678,11 @@ async function handleRequest(req, res) {
|
|
|
678
678
|
if (req.method === 'GET' && (path === '/favicon.ico' || path === '/favicon.png')) {
|
|
679
679
|
const faviconPath = join(__dirname, 'seo-intel.png');
|
|
680
680
|
if (existsSync(faviconPath)) {
|
|
681
|
-
|
|
681
|
+
res.writeHead(200, {
|
|
682
|
+
'Content-Type': 'image/png',
|
|
683
|
+
'Cache-Control': 'public, max-age=3600',
|
|
684
|
+
});
|
|
685
|
+
res.end(readFileSync(faviconPath));
|
|
682
686
|
} else {
|
|
683
687
|
res.writeHead(204); res.end();
|
|
684
688
|
}
|