Quick summary
Customers no longer only search for restaurants - they search for dishes. Your online menu is the page that answers those searches, and for most restaurants it is the least optimised asset they own.
The five changes that matter most:
Publish the menu as HTML text, not only a PDF
Give dishes clear names and real descriptions
Add Menu, MenuSection and MenuItem structured data
Keep the menu consistent across your site, Google Business Profile and delivery apps
Make the path from dish to reservation frictionless
When people look for somewhere to eat, they don’t always type “restaurants near me.”
Increasingly they search for the food itself.
A customer in Lisbon might search best seafood rice in Lisbon, traditional Portuguese seafood, or arroz de marisco perto de mim. Someone in Setúbal is probably searching onde comer choco frito because they have already decided what they want and only need to choose where.
That is a specific opportunity, and most restaurants are not set up to capture it.
Your menu is not just a list of dishes and prices. It is the richest description of your restaurant that exists what you cook, how you cook it, what it costs, and who it suits. Published properly, it tells search engines and AI assistants exactly which searches you deserve to appear for.
This guide covers how to do that, and how to connect it to the booking that pays for it.
What menu SEO actually is
Menu SEO is the practice of structuring and publishing your menu so search engines and AI assistants can understand your dishes and match them to real customer searches.
Traditional restaurant SEO targets broad terms:
Restaurant in Lisbon
Portuguese restaurant Lisbon
Seafood restaurant Lisbon
Restaurants near me
Menu SEO targets the food:
Portuguese seafood rice
Traditional Portuguese cod
Seafood cataplana
Grilled fish in Lisbon
Vegetarian Portuguese dishes
Gluten-free restaurant options
The objective is not to repeat those phrases across your site. It is to describe, accurately, the dishes you genuinely serve.
Why dish-level searches are worth more
A search for seafood restaurant Lisbon tells you someone wants dinner.
A search for arroz de marisco Lisboa tells you what they intend to order.
The second has lower volume and far higher intent and barely any competition, because almost every restaurant menu in Portugal is still a PDF. High intent, low competition, low effort: that combination is rare.
The number worth knowing: 2026 industry research found 60% of diners say the menu influences where they book. It is the most-consulted information about your restaurant.
Why your menu matters to Google and AI
Your menu tells customers what you serve, which cuisine you specialise in, which dishes are distinctive, what ingredients you use, which dietary needs you meet, what it costs, and what kind of meal to expect.
It tells machines the same but only if published in a form they can read.
Less useful:
Seafood Rice Our chef’s special creation.
More useful:
Traditional Portuguese Seafood Rice Prawns, mussels, clams and fresh fish in a rich broth. Serves two.
The second lets a customer decide. It also gives an AI assistant answering “where can I get seafood rice in Lisbon?” something concrete to quote.
The principle underneath everything below: write for customers first, then make the information easy for machines to parse. A menu written for a crawler will be read by nobody - and increasingly, ranked by nothing.
Publish a searchable HTML menu
The single highest-value change most restaurants can make.
Be accurate about PDFs
Google can crawl PDFs. Saying they are invisible is wrong.
But an HTML menu wins on every practical measure:
HTML menu | ||
|---|---|---|
Mobile readability | Poor | Good |
Screen reader accessibility | Limited | Full |
Internal linking | No | Yes |
Structured data | Impossible | Yes |
Speed of updates | Slow | Instant |
AI extraction | Weak | Strong |
What changed since 2024
There is now a second, larger reason. Most AI crawlers cannot execute JavaScript. Research by Vercel and MERJ found the large majority cannot render it at all.
If your menu only appears after a script runs common with menu widgets and embedded viewers - an assistant asked “which restaurants near me do gluten-free pasta?” sees an empty page and recommends a competitor.
You are not blocked. You are unreadable. And there is no notification.
Test it in two minutes
Open your menu page and disable JavaScript in your browser. Is the menu still visible?
View the page source (
Ctrl+U/Cmd+Option+U) and search for a dish name. If it isn’t in the raw HTML, machines aren’t reading it.
Keep a downloadable PDF for customers who want one. Make the HTML page the primary version.
Name dishes clearly
The dish name should tell a customer what they’re ordering.
Creative names can be memorable. Abstract ones are unfindable and unclear.
Instead of | Use |
|---|---|
The Ocean Experience | Traditional Portuguese Seafood Rice |
Chef’s Catch | Grilled Sea Bass with Lemon and Herbs |
From the Deep | Choco Frito - Setúbal-style fried cuttlefish |
Never stuff keywords into a dish name.
This is not acceptable:
Best Seafood Rice Lisbon Portuguese Seafood Restaurant
It damages the page and reads as manipulation a policy problem as well as a quality one.
Keep the local name, then gloss it
If a dish has a genuine local name, use it and explain it: “Choco frito Setúbal-style fried cuttlefish with hand-cut chips.”
One line serves both the Portuguese searcher looking for choco frito and the visitor who has never heard of it.
Write descriptions that help people decide
Cover what’s relevant to the dish:
Main ingredients
Preparation style
Cuisine or regional tradition
What makes it distinctive
Dietary information
Portion guidance
Useful: Traditional Portuguese seafood rice with prawns, mussels, clams and fresh fish in a rich broth.
Not useful: Our famous chef’s special creation.
The second is promotional and communicates nothing. Specifics beat superlatives with customers and with the systems now summarising your menu on your behalf.
Portion guidance is worth more than it looks. In Portugal, noting that a dose serves two, or that a meia-dose exists, prevents the most common disappointment at the table — and answers something people genuinely search.
Add local relevance naturally
Make clear what you serve and where.
Looking for traditional Portuguese seafood rice in Lisbon? Our menu features classic Portuguese seafood dishes prepared with fresh ingredients.
The location appears once, naturally.
Avoid this:
Best seafood restaurant Lisbon offers the best seafood rice Lisbon at our seafood restaurant Lisbon.
Do this:
Our Lisbon restaurant specialises in traditional Portuguese seafood dishes, including seafood rice prepared with fresh shellfish.
Build content around signature dishes
Your menu doesn’t have to work alone.
Menu item | Supporting article |
|---|---|
Portuguese Seafood Rice | What Is Portuguese Seafood Rice? A Guide to a Classic Dish |
Choco Frito | Why Setúbal Is the Home of Choco Frito |
Each article links back to the menu, the restaurant page, the location page and the reservation page, creating a path:
Dish → Information → Restaurant → Menu → Reservation
The restraint that matters
Do not create a page for every minor dish to inflate URL count. Mass-produced thin pages are a named Google policy violation scaled content abuse and templated dish pages are precisely the pattern enforcement targets.
Three excellent dish articles beat forty thin ones, and carry none of the risk.
Target dish-specific searches
Identify the dishes that matter and make sure each is clearly represented.
Ask:
What do customers order most?
What is our signature dish?
What makes us different?
Which dishes do customers mention in reviews?
Which dishes are associated with our cuisine or city?
Work in the right language
For a Portuguese restaurant, the highest-intent searches are often in Portuguese — and keyword tools default to Brazilian volume, which will mislead you.
Set tools to Portugal / Portuguese (Portugal) before concluding a term has no demand. Note also: ementa in Portugal, cardápio in Brazil. Target the wrong one and you target nobody locally.
Connect the menu to your Business Profile
For most restaurants, more people see your food on Google than on your website.
Review:
Business name and primary category
Address, hours, phone
Website and menu link
Menu items where supported
Photos
Business description
Consistency is the point
If a dish comes off the menu, remove it from the website, the profile and the delivery apps. If hours change, update everywhere.
Contradictory information doesn’t only confuse customers it lowers the confidence search engines and AI systems have in your business as an entity, making them less likely to state facts about you at all.
The delivery platform trap: your Uber Eats and Glovo menus are public, indexed and frequently out of date. If they disagree with your site on prices or availability, you have three versions of the truth.
Photograph the food properly
On a mobile Maps card, images occupy more space than text.
Photograph signature dishes, popular items, the interior, the exterior, the room in use, seasonal dishes and drinks.
Image SEO basics
Don’t | Do | |
|---|---|---|
Filename |
|
|
Alt text |
|
|
Alt text exists for accessibility and image understanding. Stuffing it fails at both.
Make it work on a phone
Most menu views happen on a phone, often within a few hundred metres of your door.
A mobile-ready menu:
Loads quickly
Is readable without pinching
Has clear sections
Shows prices plainly
Avoids pop-ups over the content
Needs no horizontal scrolling
Keeps booking and contact details within reach
Anchor links help more than expected. Give each section an anchor (
#starters,#seafood,#vegetarian). It improves mobile navigation and lets search engines deep-link into a long page.
Handle dietary and allergen information
People increasingly choose on practical grounds: vegetarian, vegan and gluten-free options, family suitability, outdoor seating, accessibility, parking, dogs, reservations.
If you genuinely offer these, make them findable — on the menu, on the page, in your profile attributes.
Accuracy is not optional here
Don’t label the restaurant “gluten-free” because some dishes are. Don’t call yourself a “vegan restaurant” because you have one vegan dish.
Beyond the trust cost, dietary claims carry real consequences. Someone with coeliac disease acting on an inaccurate label is a safety issue and a legal one, and allergen obligations extend to the menu you publish online.
Say the cross-contact part out loud. If you run shared fryers — and any restaurant serving fried fish does — state it. “Fried in shared oil” prevents a serious problem and costs you a line.
Prepare for conversational search
Instead of seafood restaurant Lisbon, people now ask:
Where can I find traditional Portuguese seafood rice in Lisbon?
Which Lisbon restaurants serve authentic Portuguese seafood?
Onde posso comer choco frito em Setúbal esta noite?
Answer the questions people actually ask — about cuisine, signature dishes, ingredients, location, dietary options, hours, reservations and the kind of meal to expect.
Build an FAQ — but know what it does now
FAQ markup no longer generates the expandable panels it once did in Google’s results. That display feature was retired for most sites in 2026.
The value shifted rather than disappeared: clear question-and-answer blocks remain one of the most reliably extracted formats for AI assistants answering questions about your restaurant. Build it for that, not for a SERP feature that no longer appears.
Keep everything accurate
Menus change. Prices change. Seasonal dishes come and go. Hours change.
What | How often |
|---|---|
Menu items and prices | Monthly |
Opening and holiday hours | Quarterly, and before every public holiday |
Reservation links | Quarterly |
Dietary information | With every menu change |
Structured data | With every menu change — same task |
A customer who arrives expecting a dish that no longer exists has had a bad experience regardless of how good your SEO is.
Mine reviews for customer language
Your customers will tell you how they describe your food, in their own words.
Read genuine reviews and note recurring phrases: seafood rice, fresh fish, traditional Portuguese food, large portions, the crust on the choco.
This is not permission to manipulate reviews. Asking for specific wording, gating requests to happy customers, or incentivising reviews are all platform violations — and incentivised reviews breach EU consumer rules.
It is an instruction to listen. Customer language is free keyword research from people who have actually eaten your food, and review text is itself indexed content that AI systems draw on when summarising what you’re good at.
Common mistakes
Mistake | Why it costs you |
|---|---|
Relying only on a PDF | Weak on mobile, no structured data, poor AI extraction |
Menu that needs JavaScript to appear | Most AI crawlers can’t execute it |
Vague dish descriptions | Customers can’t decide; machines can’t extract |
Keyword stuffing | Damages quality, reads as manipulation |
Hundreds of thin dish pages | Scaled content abuse — a named policy violation |
Ignoring mobile | Where most menu views happen |
Inaccurate prices or availability | Destroys trust at the table |
Inconsistent menus across platforms | Weakens entity confidence |
Overpromising results | No agency can guarantee a dish ranks first |
Treating schema as a ranking trick | It aids understanding; it doesn’t replace good content |
The 2026 checklist
Publishing - [ ] HTML menu published, not PDF-only - [ ] Menu visible with JavaScript disabled - [ ] Anchor links on each section - [ ] Mobile-readable without pinching
Content - [ ] Clear, descriptive dish names - [ ] Real descriptions on signature dishes - [ ] Accurate, current prices - [ ] Portion guidance where useful - [ ] Local relevance included naturally
Dietary - [ ] Dietary options accurate and specific - [ ] Allergen and cross-contact information stated
Technical - [ ] Menu, MenuSection and MenuItem markup deployed - [ ] Markup validated in Rich Results Test - [ ] Descriptive image filenames and alt text
Distribution - [ ] Menu link on Google Business Profile - [ ] Consistent across site, profile and delivery apps
Conversion - [ ] Internal links to restaurant and reservation pages - [ ] Clear reservation call to action - [ ] Genuine FAQ section - [ ] Review cadence diarised
From menu visibility to bookings
Getting a dish discovered is the beginning, not the end.
A customer should move from discovering your dish → learning about your restaurant → viewing the menu → checking availability → booking without friction.
Food search sits unusually close to the point of purchase. Someone searching arroz de marisco em Lisboa is far closer to choosing a restaurant than someone reading about Portuguese cuisine in general.
That proximity is the opportunity — and it is wasted if the path from menu to reservation has a broken link, a form nobody checks, or a phone that rings out during service.
FAQs
What is menu SEO?
Structuring and publishing your restaurant menu so search engines and AI assistants can understand your dishes and match them to customer searches — particularly searches for specific food rather than for restaurants generally.
Should my menu be a PDF?
Not as the only version. Google can crawl PDFs, but an HTML menu is better for mobile, accessibility, updates and structured data — and far better for AI systems answering dish-level questions.
Does menu schema guarantee rich results?
No. Menu markup is not a standalone rich result type. It improves machine understanding of your dishes, which matters most for AI recommendations, but it produces no guaranteed visual feature and no ranking guarantee.
How do I mark up allergens?
Schema.org has no native allergen type as of 2026. Use suitableForDiet for broad categories and additionalProperty with a PropertyValue for specific allergens — always alongside, never instead of, your legally required allergen information.
Should I create a page for every dish?
No. Build supporting content only for genuinely distinctive dishes. Mass-produced thin dish pages are scaled content abuse, a named Google policy violation.
How often should I update my menu online?
Items and prices monthly; hours quarterly and before public holidays; structured data with every menu change.
Do FAQ sections still help?
Yes, but not the way they used to. FAQ markup no longer produces expandable panels in Google results. Clear question-and-answer blocks remain highly effective for AI extraction.
What language should my menu keywords be in?
Whichever your customers search in — and set your research tools to that country. Portuguese volume data defaults to Brazil, and Portugal uses ementa where Brazil uses cardápio.
Final thoughts
Restaurant search has become more specific. Customers no longer only search for restaurants — they search for dishes, cuisines, ingredients, dietary needs and experiences.
That makes your online menu a real part of your search presence rather than a formality.
Make it clear, searchable, accurate, mobile-friendly, descriptive and locally relevant — and above all, useful to a person deciding where to eat tonight.
Don’t try to rank by filling your menu with keywords. Explain what you serve, where you serve it, what makes it distinctive, and how to book a table.
