Crawlable menu HTML for SEO (SSR or Menu schema)
under review
Heights Brewing
Embeds render menu items client-side, so the host page's initial HTML response contains no item names, prices, or descriptions — only the widget shell. Confirmed on heightsbrewing.com/menu/: zero matches for any item name in the raw HTML. Googlebot eventually renders JS, but indexed snippets, lastmod-based re-crawl signals, and long-tail keyword matches all derive from the initial HTML, so menu items never become discoverable in search. Stale snippets compound the problem for venues with weekly menus.
Asks, in order of dev effort:
- Schema.org Menu JSON-LD output. Emit Menu / MenuItem nodes alongside the widget. Lowest lift, gets rich results and crawlable item names without changing the embed model.
- noscript fallback inside the embed. A static HTML mirror of the current menu state inside a <noscript> tag. Trivial server-side template.
- SSR endpoint, e.g. GET /v1/venues/{id}/menu.html returning a styled HTML snapshot we can fetch server-side (WordPress shortcode, Next.js getServerSideProps, etc.) and render before paint. Solves it cleanly.
Happy to test any of the above on heightsbrewing.com.
Log In
Sippo Team
updated the status to
under review
Thanks for the suggestion, Heights Brewing! From our research, the menu items should be getting picked up by search crawlers. Can you share a specific example of what you're seeing (or not seeing)?
For example if you search "Heights Brewing Happy Sandman", note how the data is getting picked up by crawlers as expected.
We're happy to explain the nuance behind the other suggestions that were provided as well.
A Menu schema output has been something we've considered, but similarly there's nuance here as it can actually prevent users from visiting the site (which may or may not be in your best interest).