feat(site): full SEO + social-share meta, favicons, OG/Twitter images#15
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Make the GitHub Pages start page (
site/) instantly shareable on LinkedIn,Facebook, Messenger, iMessage, Slack, and X — and rank/preview well in search.
(
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-LDSoftwareApplication.og:imageand
twitter:imageuse absolutehttps://URLs so scrapersresolve them under the
/python-tutor/subpath.favicon.svg, multi-resfavicon.ico,16×16 / 32×32 PNGs,
apple-touch-icon.png(180×180), 192/512 PWAicons, and
site.webmanifest.og-image.pngat the canonical1200×630 (dark/amber, large headline, two-command install on the card,
domain in footer — no microtext) and a square
og-image-square.pngat 1200×1200 for iMessage / Slack previews.
local AI tutor; description names Ollama/Gemma and source-backed
docs without microtext on the card itself.
scripts/check_site.shnow asserts the full metapackage, requires absolute https:// URLs for social images, verifies
every favicon/manifest/share asset is on disk at the right
dimensions, and parses
site.webmanifest.site/README.mdlists the social-preview assets and linksto the FB / LinkedIn / X debuggers for post-deploy validation.
All asset paths stay relative; only the social
og:image/twitter:imageare absolute (required for scrapers).
Test plan
./scripts/check_site.shpasses locallypython3 -m http.serverfromsite/returns 200 for index,site.webmanifest,favicon.ico,apple-touch-icon.png, andboth OG images
<head>reviewed against the LinkedIn, Facebook,and X required-tags lists
https://www.linkedin.com/post-inspector/, and a draft tweet to
confirm the new card renders
🤖 Generated with Claude Code