SEO audit for restaurants: menus, hours and being found tonight
Someone is deciding where to eat in the next twenty minutes, on a phone.
Restaurant websites fail in a very consistent way: the two things every visitor wants — the menu and the opening hours — are the two things machines can't read, because both are pictures.
Fix that and most of the rest is speed and structured data. This is the whole list, in the order it costs you covers.
What goes wrong on Restaurant sites
The menu is a PDF or an image
Nothing can read it: not Google, not a screen reader, not the AI assistant someone just asked for vegan options nearby. A menu in HTML is the single highest-return change most restaurant sites can make.
Opening hours only in a graphic
Hours belong in text and in structured data, where Google can show them in the result and answer "open now" correctly. A seasonal-hours image on the homepage answers nobody's question at 7pm.
No Restaurant structured data
Cuisine, price range, address, hours, menu URL and accepted reservations, in one JSON-LD block, are what turn a plain listing into something that answers the question directly.
Heavy photography on a mobile connection
Food photography is the point of the site and also the reason it takes six seconds. Compress properly and lazy-load anything below the first screen.
Booking buried behind a third-party widget
A reservation widget that loads late, opens a modal and breaks on mobile is a conversion problem wearing a performance problem's clothes. A plain link to the booking page, visible immediately, outperforms it.
Multiple locations on one page
Two or three branches sharing a page cannot rank for either town. One page per location, each with its own address, hours and structured data.
No page for the thing people search
People search for a dish, an occasion or a dietary need — Sunday roast, private dining, gluten free — and most restaurant sites have one page called Menu. A short, honest page for the two or three things you are actually known for outperforms any amount of technical tuning.
Hours that disagree with the Google listing
The site says one thing, the Google Business Profile another, and the door a third. Google checks the site when it decides how much to trust the listing, so an out-of-date hours block quietly costs you the thing local SEO is for.
What an AuditOpti crawl looks for
- Whether the menu exists as text a machine can read
- Opening hours in HTML and in structured data, and whether the two agree
- Restaurant or LocalBusiness schema: present, valid and complete
- Mobile Core Web Vitals with the real images the site serves
- Per-location pages, addresses and contact details
- Titles and descriptions, which on restaurant sites are usually the CMS defaults
Check part of it right now, free
These read a live page and tell you what a search engine sees. No signup, no email.
Schema markup checker
See the structured data on your page, and whether it is machine-readable at all.
SEO score checker
Score one page against the checks that actually move rankings.
Image alt text checker
Every image on the page, and what a screen reader would say about it.
The issues behind this
Each has a full entry in the issue library: what it is, what it costs a business, and step-by-step fixes for WordPress, Shopify, Webflow and custom builds.
Missing or invalid structured data
No machine-readable description of the business or page.
Thin content
The page has too little text to be useful.
Slow largest contentful paint
The main content takes too long to appear.
Oversized images
Images are far larger than they need to be.
Questions
Related
Local business
Most local SEO is done off your website. The rest is on it, and it is usually broken.
Wix
Wix has improved enormously. The remaining problems are specific, and mostly settings.
Squarespace
A tidy platform with a few defaults worth turning off.
Crawl the site and see what a search engine can actually read about tonight
The free audit crawls the site, groups every finding, and returns the five things worth fixing this month in plain English. No card, no call.
Run a free audit