Checklist of best practices for a production-grade GitHub Pages site.
- sitemap.xml β Auto-generated via GitHub Actions (
cicirello/generate-sitemap@v1) on every push tomainand daily cron. - robots.txt β Allow all crawlers, pointing to
https://climbstack.github.io/sitemap.xml. - Canonical URLs β Added
<link rel="canonical" href="...">to every page (index.html,privacy.html). - Open Graph meta tags β
og:title,og:description,og:image,og:url,og:type,og:site_name,og:localeconfigured. - Twitter Card meta tags β
twitter:card(summary_large_image),twitter:title,twitter:description,twitter:imageconfigured. - Structured Data (JSON-LD) β Added
SoftwareApplicationandWebSiteschema inindex.html. - HTML
langattribute β Dynamically synced with i18n viajs/i18n.js. -
<meta name="theme-color">β Set to#0D1117(Alpine Dusk background).
- CNAME file β Create
CNAMEwithclimbstack.is-a.software(waiting for is-a.software service to come back up). - DNS configuration β Add CNAME record pointing to
climbstack.github.iovia the is-a.software PR process. - Enforce HTTPS β Enable in GitHub Pages settings once custom domain is verified.
- Update hardcoded URLs β Switch canonical, sitemap, and OG tags to
climbstack.is-a.softwareonce custom domain is active.
- AT Protocol DID (
atproto-did) β Skipped for now. -
rel="me"links β Included for verified social profiles in footer. - Google Search Console β Ownership verification meta tag added to
index.html.
-
SECURITY.mdβ Responsible disclosure security policy with contact details. - Referrer Policy β Added
<meta name="referrer" content="strict-origin-when-cross-origin">. - Subresource Integrity (SRI) β Configured on external CDN assets.
- Image optimization β Converted
feature.pngandicon.pngto WebP (assets/feature.webp,assets/icon.webp) with<picture>fallback and explicit width/height dimensions. - Favicon set β Full favicon set generated:
favicon.ico,apple-touch-icon.png(180Γ180),favicon-32x32.png,favicon-16x16.png,android-chrome-192x192.png,android-chrome-512x512.png. - Preconnect hints β Added
<link rel="preconnect">for Google Fonts and Bootstrap CDN. - Decoding hints β Added
decoding="async"on images to speed up rendering.
- Skip to content link β Visually hidden accessible skip link (
<a href="#main-content" class="skip-link">) on all pages. - Focus styles β High-contrast visible focus indicators.
- Alt text audit β Meaningful
altattributes on all images. - Heading hierarchy β Logical
h1βh2βh3hierarchy. - ARIA landmarks β Proper semantic structure with
<nav>,<main id="main-content">,<header>,<section>,<footer>. - Reduced motion β Added
@media (prefers-reduced-motion: reduce)incss/climbstack.css.
- Web App Manifest (
site.webmanifest) β App name, icons, theme color, background color, display mode. -
apple-touch-iconβ Added for iOS bookmarks. - Service Worker β Optional offline caching (can be added if offline standalone PWA is needed).
- Custom 404 page β
404.htmlwith Alpine Dusk styling, i18n support, and navigation back to home.
- Sitemap generation β
.github/workflows/generate-sitemap.ymlusingcicirello/generate-sitemap@v1. - Lighthouse CI β
.github/workflows/lighthouse.ymland.lighthouserc.jsontesting performance, accessibility, best practices, and SEO scores on push and PR.
-
humans.txtβ Credits to Founder & Lead Developer Giovanni Zanotti. - License file β
LICENSE(MIT). - Contributing guide β
CONTRIBUTING.md. - Issue templates β Add issue templates for website repo if external contributions increase.