From e68db9c26c5963005989941da55ec4ff798fbde4 Mon Sep 17 00:00:00 2001 From: Scott Scoble Date: Fri, 1 May 2026 22:34:38 -0700 Subject: [PATCH] feat: implement forms, SEO, sitemap, and other infrastructure improvements --- public/manifest.json | 24 +++ public/robots.txt | 19 ++ src/components/Footer.astro | 103 +++++++++- src/components/Form/SharedForm.astro | 293 +++++++++++++++++++++++++++ src/components/SEO.astro | 223 ++++++++++++++++++++ src/layouts/BaseLayout.astro | 37 +--- src/pages/404.astro | 67 +++++- src/pages/books.astro | 4 +- src/pages/consulting.astro | 1 + src/pages/contact.astro | 35 +--- src/pages/index.astro | 1 + src/pages/privacy.astro | 5 +- src/pages/sitemap.xml.ts | 44 ++++ src/pages/speaking.astro | 37 +--- 14 files changed, 791 insertions(+), 102 deletions(-) create mode 100644 public/manifest.json create mode 100644 public/robots.txt create mode 100644 src/components/Form/SharedForm.astro create mode 100644 src/components/SEO.astro create mode 100644 src/pages/sitemap.xml.ts diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..47f9cc9 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,24 @@ +{ + "name": "Scott Scoble", + "short_name": "Scott Scoble", + "description": "Human Cultivation Expert for the AI Age", + "start_url": "/", + "display": "standalone", + "background_color": "#faf8f5", + "theme_color": "#3d5a3e", + "orientation": "portrait-primary", + "icons": [ + { + "src": "/icons/icon-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any maskable" + }, + { + "src": "/icons/icon-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any maskable" + } + ] +} diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..26a9c27 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,19 @@ +# robots.txt for scott.scoble.me +# https://scott.scoble.me + +User-agent: * +Allow: / + +# Sitemap +Sitemap: https://scott.scoble.me/sitemap.xml + +# Disallow admin pages (if any) +Disallow: /admin/ +Disallow: /api/ + +# Disallow private user data +Disallow: /private/ +Disallow: /checkout/ + +# Crawl delay (optional) +Crawl-delay: 1 diff --git a/src/components/Footer.astro b/src/components/Footer.astro index c4b0dd1..188cb8a 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -9,11 +9,13 @@ const currentYear = new Date().getFullYear(); + +