@@ -29,23 +29,12 @@ const primaryHSLDark = `${h} ${s} ${lighterL}`;
2929<!doctype html >
3030<html lang =" en" >
3131 <head >
32+ <!-- Critical meta tags -->
3233 <meta charset =" UTF-8" />
3334 <meta name =" viewport" content =" width=device-width, initial-scale=1.0" />
3435 <meta name =" generator" content ={ Astro .generator } />
3536
36- <!-- Favicon -->
37- <link rel =" icon" type =" image/x-icon" href =" /favicon.ico" />
38-
39- <!-- Apple Touch Icons -->
40- <link rel =" apple-touch-icon" href =" /apple-touch-icon-180x180.png" />
41- <link rel =" apple-touch-icon" sizes =" 180x180" href =" /apple-touch-icon-180x180.png" />
42-
43- <!-- Apple Web App Capable -->
44- <meta name =" apple-mobile-web-app-capable" content =" yes" />
45- <meta name =" apple-mobile-web-app-status-bar-style" content =" default" />
46- <meta name =" apple-mobile-web-app-title" content ={ config .app .shortName } />
47-
48- <!-- SEO -->
37+ <!-- SEO & OG meta tags (HIGH PRIORITY for crawlers) -->
4938 <SEO
5039 title ={ title }
5140 description ={ description }
@@ -54,14 +43,33 @@ const primaryHSLDark = `${h} ${s} ${lighterL}`;
5443 noindex ={ noindex }
5544 />
5645
46+ <!-- Theme Color -->
47+ <meta name =" theme-color" content ={ config .theme .primary } />
48+
49+ <!-- Apple Web App Capable -->
50+ <meta name =" apple-mobile-web-app-capable" content =" yes" />
51+ <meta name =" apple-mobile-web-app-status-bar-style" content =" default" />
52+ <meta name =" apple-mobile-web-app-title" content ={ config .app .shortName } />
53+
54+ <!-- Favicon -->
55+ <link rel =" icon" type =" image/x-icon" href =" /favicon.ico" />
56+
57+ <!-- Apple Touch Icons -->
58+ <link rel =" apple-touch-icon" href =" /apple-touch-icon-180x180.png" />
59+ <link rel =" apple-touch-icon" sizes =" 180x180" href =" /apple-touch-icon-180x180.png" />
60+
5761 <!-- RSS Feed -->
5862 <link rel =" alternate" type =" application/rss+xml" title ={ ` ${config .app .name } RSS Feed ` } href =" /rss.xml" />
5963
6064 <!-- PWA Manifest -->
6165 { pwaInfo ?.webManifest ?.linkTag && <Fragment set :html = { pwaInfo .webManifest .linkTag } />}
6266
63- <!-- Theme Color -->
64- <meta name =" theme-color" content ={ config .theme .primary } />
67+ <!-- Preload critical assets -->
68+ <link rel =" preconnect" href =" https://fonts.googleapis.com" />
69+ <link rel =" preconnect" href =" https://fonts.gstatic.com" crossorigin />
70+
71+ <!-- Preload OG image for faster social media crawler fetching -->
72+ { image && <link rel = " preload" as = " image" href = { image } />}
6573
6674 <!-- Theme initialization script (must run before body renders to prevent flash) -->
6775 <script is:inline >
@@ -82,10 +90,6 @@ const primaryHSLDark = `${h} ${s} ${lighterL}`;
8290 })();
8391 </script >
8492
85- <!-- Preload critical assets -->
86- <link rel =" preconnect" href =" https://fonts.googleapis.com" />
87- <link rel =" preconnect" href =" https://fonts.gstatic.com" crossorigin />
88-
8993 <!-- Dynamic CSS variables from config - MUST come after globals.css to override -->
9094 <style is:inline set:html ={ `
9195 :root {
0 commit comments