Skip to content

feat(geo): structured data, meta tags, and AI crawler infrastructure#136

Open
abrichr wants to merge 2 commits into
mainfrom
feat/geo-optimization
Open

feat(geo): structured data, meta tags, and AI crawler infrastructure#136
abrichr wants to merge 2 commits into
mainfrom
feat/geo-optimization

Conversation

@abrichr
Copy link
Copy Markdown
Member

@abrichr abrichr commented May 25, 2026

Summary

Addresses critical GEO (Generative Engine Optimization) gaps identified in audit scoring 36/100. This PR adds the foundational infrastructure needed for AI search engines (ChatGPT, Perplexity, Gemini, Google AI Overviews) to discover, understand, and cite OpenAdapt.

  • AI crawler access: robots.txt with explicit AI bot rules, sitemap.xml for all 5 pages, llms.txt for LLM content guidance
  • Structured data: JSON-LD schemas (Organization, SoftwareApplication, WebSite) with sameAs links to GitHub/X/LinkedIn/Discord/PyPI
  • Meta tags: Unique per-page <title>, <meta description>, canonical URLs, complete Open Graph + Twitter Card tags
  • Technical fixes: lang="en" on <html>, duplicate <h1><h2> in IndustriesGrid, alt/height on TAAFT badge (CLS fix)
  • Security headers: X-Frame-Options, Referrer-Policy, Permissions-Policy, HSTS with includeSubDomains via netlify.toml

Files changed

File Change
public/robots.txt New — AI crawler allowances + sitemap ref
public/sitemap.xml New — all 5 indexable pages
public/llms.txt New — LLM content guidance
pages/_document.js New — lang="en" on html tag
pages/_app.js Fix single meta description, improved OG/Twitter tags
pages/index.js JSON-LD structured data (3 schemas) + unique Head
pages/book.js Unique Head (title, description, canonical, OG)
pages/contact.js Unique Head (title, description, canonical, OG)
pages/privacy-policy.js Unique Head (title, description, canonical, OG)
pages/terms-of-service.js Unique Head (title, description, canonical, OG)
components/IndustriesGrid.js h1 → h2, alt/height on image
netlify.toml Security headers

Test plan

  • Verify deploy preview renders all pages without errors
  • Validate JSON-LD with Google Rich Results Test
  • Check robots.txt and sitemap.xml are accessible at root
  • Confirm no duplicate <title> or <meta description> tags in page source
  • Verify llms.txt is accessible at /llms.txt
  • Check security headers in response via browser DevTools

🤖 Generated with Claude Code

Addresses critical GEO (Generative Engine Optimization) gaps identified
in audit scoring 36/100. Adds robots.txt with AI crawler allowances,
sitemap.xml, llms.txt, JSON-LD schema markup (Organization,
SoftwareApplication, WebSite), unique per-page titles/descriptions/
canonical URLs, security headers, and fixes heading hierarchy.

- Create public/robots.txt with explicit AI bot rules and sitemap ref
- Create public/sitemap.xml covering all 5 indexable pages
- Create public/llms.txt for LLM content guidance
- Create pages/_document.js with lang="en" on html tag
- Fix _app.js: single meta description, improved title, complete OG + Twitter Card tags
- Add JSON-LD structured data to homepage (Organization + SoftwareApplication + WebSite schemas with sameAs to GitHub/X/LinkedIn/Discord/PyPI)
- Add unique Head (title, description, canonical, OG) to all pages
- Fix duplicate h1 in IndustriesGrid (h1 -> h2)
- Add alt/height to TAAFT badge image (CLS fix)
- Add security headers to netlify.toml (X-Frame-Options, Referrer-Policy, Permissions-Policy, HSTS w/ includeSubDomains)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@netlify
Copy link
Copy Markdown

netlify Bot commented May 25, 2026

Deploy Preview for cosmic-klepon-3c693c ready!

Name Link
🔨 Latest commit 82f9b64
🔍 Latest deploy log https://app.netlify.com/projects/cosmic-klepon-3c693c/deploys/6a13ecd828fc970008daf078
😎 Deploy Preview https://deploy-preview-136--cosmic-klepon-3c693c.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Add <lastmod> dates to all sitemap URLs so crawlers can prioritize
recrawl scheduling. Add a comment in _app.js reminding future
contributors to add per-page Head tags on new pages.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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