← back to AsSeenInMovies
asseeninmovies: GET /favicon.ico fallback — same inline SVG served at the conventional path so bots/legacy clients that ignore <link rel=icon> get 200 + content, not 404. 1-day Cache-Control.
22610232bb24ef049315a617842233d67d430218 · 2026-05-12 18:25:27 -0700 · SteveStudio2
Files touched
Diff
commit 22610232bb24ef049315a617842233d67d430218
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date: Tue May 12 18:25:27 2026 -0700
asseeninmovies: GET /favicon.ico fallback — same inline SVG served at the conventional path so bots/legacy clients that ignore <link rel=icon> get 200 + content, not 404. 1-day Cache-Control.
---
server.js | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/server.js b/server.js
index 9f47069..4875aa6 100644
--- a/server.js
+++ b/server.js
@@ -1609,6 +1609,14 @@ app.get('/sitemap.xml', async (_req, res) => {
}
});
+// Bots and link previewers that don't honor <link rel="icon"> in the head
+// still GET /favicon.ico — serve the same inline SVG so server logs don't
+// fill with 404s and previews show the brand mark.
+const FAVICON_SVG = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><rect width="32" height="32" rx="6" fill="#0d0c0a"/><text x="16" y="22" font-family="Georgia,serif" font-style="italic" font-size="20" fill="#c9a14b" text-anchor="middle">A</text></svg>`;
+app.get('/favicon.ico', (_req, res) => {
+ res.type('image/svg+xml').setHeader('Cache-Control', 'public, max-age=86400').send(FAVICON_SVG);
+});
+
app.get('/robots.txt', (_req, res) => {
const base = process.env.ASIM_PUBLIC_URL || 'https://asseeninmovies.com';
res.type('text/plain').send(`User-agent: *\nAllow: /\nDisallow: /spotted/queue\nDisallow: /api/\nSitemap: ${base}/sitemap.xml\n`);
← b59fa66 asseeninmovies: SEO surface — inline SVG favicon (data: URI,
·
back to AsSeenInMovies
·
asseeninmovies: home cache — true stale-while-revalidate. St f4b860b →