Restaurant local SEO comes down to five things: a complete, verified Google Business Profile with the right category and pin; a fast mobile website with your address, hours and a text menu; the same name, address and phone on every listing; a steady flow of genuine reviews; and Restaurant schema markup on your site.
By Michael Clarke, trained chef and restaurant marketer. Last updated 14 November 2026.
Quick answer
- Google profile first: verified, right primary category, exact pin, real hours, current menu.
- Website: one page per location, text menu (not just a PDF or photo), click-to-call, map, booking link.
- Citations: identical name, address and phone on Wongnai, TripAdvisor, delivery apps, Facebook and directories.
- Reviews: ask every guest, reply to every review.
- Schema: Restaurant markup with address, geo, hours, menu URL and cuisine; test it with Google’s Rich Results Test.
I run Markedine, a restaurant marketing company in Bangkok. The free Google audit at the end of this article is a Markedine offer. This article does not contain affiliate links.
What is local SEO for a restaurant?
Local SEO is everything that helps you appear when someone nearby searches for a restaurant like yours, on Google Search and Google Maps. Google says its local results are “mainly based on relevance, distance, and popularity.” You cannot move your address closer to the searcher, so local SEO is about relevance and prominence: telling Google clearly what you are, where you are, and showing that people know and like you.
At Markedine this is the work behind our strongest published results, from a patisserie in a Bangkok mall reaching the top 3 for its main keywords to a Japanese restaurant near Suvarnabhumi ranking top 3 for airport searches. This checklist is the order we work through.
What should be on a restaurant local SEO checklist?
1. Google Business Profile
| Check | Done? |
|---|---|
| Profile claimed and verified; only one profile per location | ☐ |
| Business name exactly as on the sign, no added keywords (Google’s guidelines) | ☐ |
| Primary category describes what you are; extra categories only if true | ☐ |
| Pin on the actual entrance; mall floor and unit in the address | ☐ |
| Dine-in hours, plus special hours for holidays | ☐ |
| Menu added in Google’s menu editor or a menu link to your own site | ☐ |
| Attributes filled in where true | ☐ |
| Photos: exterior, entrance, room, real dishes | ☐ |
| Website, booking link and a phone that rings | ☐ |
Full detail is in how to set up your Google Business Profile.
2. Website
| Check | Done? |
|---|---|
| Loads fast on a phone; tap-to-call and tap-for-directions at the top | ☐ |
| Name, address, phone and hours in text on every page (usually the footer) | ☐ |
| One page per location for groups, each with its own address, hours and map | ☐ |
| Menu as HTML text on the page, not only a PDF or photo | ☐ |
| Page titles that say what and where, e.g. “Thai seafood restaurant in Ari, Bangkok” | ☐ |
| Booking or ordering link that works on mobile | ☐ |
| Thai and English versions if you serve both audiences | ☐ |
3. Menus
Search engines and AI answer tools can read a text menu. They struggle with a photo of a printed menu. Put dish names and short descriptions as text, in the languages your guests search in, and keep the same menu current on your site, Google, Wongnai and delivery apps. On our Google Engine page we say that more than 90% of the restaurants we audit are missing categories, attributes or accurate menu data. That is our own audit figure, not Google’s.
4. Citations and listings
| Check | Done? |
|---|---|
| One master sheet of name, address, phone, hours, website | ☐ |
| Wongnai listing claimed and matching | ☐ |
| TripAdvisor claimed if tourists matter | ☐ |
| GrabFood, LINE MAN and other apps show the same name and address | ☐ |
| Facebook and Instagram profiles match | ☐ |
| Mall, hotel or building directory listing correct | ☐ |
| Old listings from a previous name or address fixed or closed | ☐ |
See Google, Wongnai or TripAdvisor: where to focus first.
5. Reviews
| Check | Done? |
|---|---|
| Review link or QR code on bill folders, receipts and bags | ☐ |
| Every guest asked the same way, no incentives | ☐ |
| Every review answered within a couple of days | ☐ |
See how to get more Google reviews without breaking the rules.
6. Schema (structured data)
| Check | Done? |
|---|---|
| Restaurant markup on the homepage or each location page | ☐ |
| Name, address, geo, phone, URL, hours, menu URL, cuisine included | ☐ |
| Tested in Google’s Rich Results Test with no errors | ☐ |
| Updated when hours or address change | ☐ |
How do you add Restaurant schema to your website?
Google’s LocalBusiness structured data documentation says to use the most specific type possible, such as Restaurant. The required properties are name and address. Recommended properties include geo (latitude and longitude to at least five decimal places), openingHoursSpecification, telephone with country code, url, menu (the full URL of your menu), servesCuisine and priceRange (under 100 characters).
Here is a sample you can copy and edit. Replace every value with your own; the coordinates shown are placeholders.
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "Your Restaurant Name",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Sukhumvit Road",
"addressLocality": "Bangkok",
"postalCode": "10110",
"addressCountry": "TH"
},
"geo": { "@type": "GeoCoordinates", "latitude": 13.00000, "longitude": 100.00000 },
"telephone": "+66-2-000-0000",
"url": "https://www.example.com/",
"menu": "https://www.example.com/menu/",
"servesCuisine": "Thai",
"priceRange": "฿฿",
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],
"opens": "11:00", "closes": "22:00"
}]
}
- Edit the sample with your real name, address, coordinates, phone, website, menu URL, cuisine and hours.
- Add it to your site. On WordPress, an SEO plugin can output it, or paste it in a
script type="application/ld+json"tag via a Custom HTML block. - Test it with Google’s Rich Results Test and fix any errors.
- Request indexing in Search Console with the URL Inspection tool, and keep a sitemap submitted.
Google is clear that structured data does not guarantee any special display in results, and that aggregate ratings on your own site are only recommended for sites that capture reviews about other businesses. Do not mark up your own reviews of yourself.
What results can you expect, and how fast?
Not overnight. Google says updates to your profile can take a few weeks to show. On our Google Engine page, Markedine’s published observation is that most restaurants we work with see profile views and direction requests move inside 60 days, and that rankings shift on a 90 to 180 day horizon. That is our experience, not a guarantee.
One unnamed Bangkok restaurant on that page went, on a GeoGrid ranking scan, from outside the top 20 at every point on day 1 to between 1 and 9 across the whole grid by day 120. That is one restaurant. The checklist is what made the movement possible; time did the rest.
How often should you run this checklist?
- Monthly: hours, special hours, menu, photos, reviews answered.
- Quarterly: categories, listings consistency, website speed, schema test.
- Every time something changes: new phone, new hours, a new branch, a rebrand.
Frequently asked questions
What is the most important local SEO factor for restaurants?
A complete, verified Google Business Profile with the correct primary category and an accurate pin. Google says local results are mainly based on relevance, distance and popularity, and an inaccurate profile may not show for relevant searches.
Does my restaurant menu need to be on my website as text?
Yes, ideally. A text menu can be read by search engines and AI tools, while a photo or PDF often cannot. Keep it consistent with your Google and app menus.
What schema type should a restaurant use?
Use the Restaurant type from schema.org. Google requires name and address and recommends geo, opening hours, telephone, URL, menu, cuisine and price range.
What are citations in local SEO?
Citations are listings of your restaurant’s name, address and phone on other sites, such as Wongnai, TripAdvisor, delivery apps and directories. They should match your Google profile exactly.
How long does restaurant local SEO take to work?
Profile changes can take a few weeks to show. In Markedine’s experience, profile views and direction requests often move within 60 days and rankings over 90 to 180 days, but there is no guarantee.
Sources
- Google Business Profile Help: local ranking
- Google Business Profile guidelines
- Google Business Profile Help: menu editor
- Google Search Central: LocalBusiness structured data
- Google Rich Results Test
- Markedine: Google Engine
Free Google audit
I run Markedine, and the free Google audit on this site is a Markedine offer. We look at your live Google profile, Maps presence and reviews, and send back practical fixes. There is no obligation to hire us. If your restaurant is in Thailand or Southeast Asia, the request goes to the Markedine team.

