AEO/GEO architecture
AEO/GEO architecture
Serving boundary
blog.drinkingdojo.comis served by this repository through GitHub Pages (CNAMEand the GitHub Pages API agree).drinkingdojo.comis a separate Nuxt application served by Google Frontend. It is not built from this repository.Drinking-Dojo-CMSis an empty GitHub repository as of 2026-09-06.
This change therefore improves the public blog only. Main-app product, offer, availability, or event data must be implemented in the separate Nuxt source once that source is identified.
Structured-data policy
The shared head emits:
OrganizationandWebSiteon every crawlable page.BlogPostingon post pages, using existing title, excerpt, URL, and dates.ItemListon paginated home pages, using the posts actually rendered there.FAQPageonly when questions and matching visible answers exist in page front matter.
Product, Offer, AggregateRating, Review, and Event are deliberately omitted. This repository has no verified price, availability, SKU, review, rating, or owned event records. Adding those types without source data would misrepresent the offering.
Content and crawlability
/drinking-games-guide/ provides extractable comparisons, audience-led use cases, concise answers, responsible-use boundaries, and links to the live games. robots.txt permits general crawling and advertises the generated sitemap. The same HTML is served to users and crawlers.
Verification
Run:
bundle exec jekyll build --trace
ruby scripts/validate_structured_data.rb _site
The validator parses every JSON-LD block, checks required schema types and content-backed FAQs, confirms key crawl files and pages, and checks that a made-up route is absent.