Skip to content

feat(site): full SEO + social-share meta, favicons, OG/Twitter images#15

Merged
StewAlexander-com merged 1 commit into
mainfrom
feat/seo-social-share
May 22, 2026
Merged

feat(site): full SEO + social-share meta, favicons, OG/Twitter images#15
StewAlexander-com merged 1 commit into
mainfrom
feat/seo-social-share

Conversation

@StewAlexander-com
Copy link
Copy Markdown
Owner

Summary

Make the GitHub Pages start page (site/) instantly shareable on LinkedIn,
Facebook, Messenger, iMessage, Slack, and X — and rank/preview well in search.

  • Meta package. Adds robots, keywords, color-scheme, full Open Graph
    (og:site_name, og:locale, og:image:secure_url, og:image:type,
    og:image:alt), full Twitter card (summary_large_image,
    twitter:image:alt), and JSON-LD SoftwareApplication. og:image
    and twitter:image use absolute https:// URLs so scrapers
    resolve them under the /python-tutor/ subpath.
  • Favicon package. favicon.svg, multi-res favicon.ico,
    16×16 / 32×32 PNGs, apple-touch-icon.png (180×180), 192/512 PWA
    icons, and site.webmanifest.
  • Social-share images. Redesigned og-image.png at the canonical
    1200×630 (dark/amber, large headline, two-command install on the card,
    domain in footer — no microtext) and a square og-image-square.png
    at 1200×1200 for iMessage / Slack previews.
  • Copy. Title now leads with Offline-first Python practice with a
    local AI tutor
    ; description names Ollama/Gemma and source-backed
    docs without microtext on the card itself.
  • Validation. scripts/check_site.sh now asserts the full meta
    package, requires absolute https:// URLs for social images, verifies
    every favicon/manifest/share asset is on disk at the right
    dimensions, and parses site.webmanifest.
  • Docs. site/README.md lists the social-preview assets and links
    to the FB / LinkedIn / X debuggers for post-deploy validation.

All asset paths stay relative; only the social og:image / twitter:image
are absolute (required for scrapers).

Test plan

  • ./scripts/check_site.sh passes locally
  • python3 -m http.server from site/ returns 200 for index,
    site.webmanifest, favicon.ico, apple-touch-icon.png, and
    both OG images
  • OG/Twitter <head> reviewed against the LinkedIn, Facebook,
    and X required-tags lists
  • After merge: paste live URL into https://developers.facebook.com/tools/debug/,
    https://www.linkedin.com/post-inspector/, and a draft tweet to
    confirm the new card renders

🤖 Generated with Claude Code

Make the GitHub Pages start page instantly shareable on LinkedIn, Facebook,
Messenger, iMessage, Slack, and X. Adds a complete favicon package, a PWA
manifest, and a redesigned 1200×630 OG card plus a 1200×1200 square variant.

- index.html: add robots, keywords, color-scheme, full OG set (site_name,
  locale, image:secure_url, image:type, image:alt) and full Twitter card
  set (image:alt, summary_large_image). og:image and twitter:image use
  absolute https:// URLs so scrapers can resolve them. Adds JSON-LD
  SoftwareApplication for Google rich results.
- assets: new favicon-16/32 PNGs, multi-res favicon.ico, apple-touch-icon
  180×180, icon-192/512 for PWA, redesigned og-image.png (1200×630,
  dark/amber, large text, no microtext), new og-image-square.png 1200×1200.
- site.webmanifest with all icons and theme/background colors.
- scripts/check_site.sh: validate the full meta package, require absolute
  https:// URLs for social images, assert PNG dimensions, parse manifest
  JSON and resolve every icon.
- site/README.md: document the social-preview assets and how to validate
  with the FB / LinkedIn / X debuggers.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@StewAlexander-com StewAlexander-com merged commit d91a00b into main May 22, 2026
5 checks passed
@StewAlexander-com StewAlexander-com deleted the feat/seo-social-share branch May 22, 2026 12:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant