Local SEO for restaurants: the complete guide
80% of people ordering food start on Google. They type "pizza near me" or "sushi Gràcia". If you're not up top, those calls and those orders go to someone else. This guide explains, with no fluff, exactly what you need to do to show up. And which things don't work even when someone tries to sell them to you.
The problem, in one sentence
Google shows 3 restaurants at the top of the map. It's called the local pack. If you're in it, you exist. If you're not, your potential customers don't scroll: they open Uber, Glovo or the next restaurant on the list.
The goal isn't to beat the New York Times at SEO. It's to show up when someone 1.5 km away searches "food delivery" or "restaurant open now" and makes up their mind in 20 seconds.
What local SEO is (in 30 seconds)
Local SEO is everything that makes Google show you when someone searches for something near your restaurant. There are three pillars, and only three:
- Your Google Business Profile. The little box with photos, hours, reviews and buttons. By far the most important one.
- Your own website. One that loads fast, looks good on mobile and has the information Google needs to trust you.
- What others say about you. Reviews, mentions in local blogs, listings in directories. Without this, Google doesn't know if you're real.
What local SEO is not: buying links, stuffing repeated keywords into your footer, paying an agency €500 a month for a "report". That was SEO from 2012.
The mechanics, in 6 steps
Set up your Google Business Profile properly
Go to business.google.com and spend a real hour on this. Not 10 minutes. The fields that matter:
- Name: the actual name of the restaurant, exactly as it is. None of "Pizzeria Luigi | Best pizza Barcelona | Delivery". Google penalizes keyword stuffing.
- Primary category: as specific as possible. "Pizzeria" is better than "Restaurant". Add 2-3 secondary categories if they apply (e.g. "Takeaway", "Italian restaurant").
- Hours: exact. If you close on Mondays, say so. Google notices when people arrive and you're closed, and it drops you down the rankings.
- Photos: at least 20. The outside of the place, the inside, 5-10 of your dishes done well, the team. Swap out the cover photo every month or two.
- Attributes: tick everything that applies (terrace, accessible, takeaway, vegetarian, wifi). Each attribute gets you into more specific searches.
- Order link: point it to your website, not Uber Eats. And set it as the main one. This alone saves you the 15-30% commission on many orders.
Real cost: €0. Time: 1 hour well spent. Impact: big. It's literally the most profitable lever there is in restaurant SEO.
Post updates on your profile every week
Google Business Profile has a "Posts" section that almost nobody uses. It's free and Google gives it weight. Put one up every week:
- Photo of this week's new dish
- A one-off offer ("Tuesdays = 2-for-1 on signature pizzas through the 30th")
- News ("we're now open on Sundays")
- An event ("wine pairing dinner on June 15th")
It doesn't need to be a work of art. 1 photo + 3 sentences. 5 minutes a week.
Reviews: ask for them, and reply to every single one
Google looks at two things: how many reviews you have and how often they come in. 50 reviews all from 2019 are worth less than 15 reviews from the last 3 months.
How to ask without being annoying:
- QR on the table: "How was the food? Leave us 1 line on Google → [QR]". The QR points to your short review link (Google gives it to you for free).
- Automated email 2 days after the first direct order: "If you enjoyed it, a review really helps us not depend on the apps."
- At the end of the shift, the waiter asks the 2-3 happiest tables of the day. That alone gets you 10-15 reviews a month with no effort.
How to reply: to all of them. The 5-star ones too (2 sentences land fine). Reply to negative ones quickly, without making excuses, with a concrete fix ("sorry about the wait, that night three big orders came in back to back. If you come back, dessert's on us, write to us at hello@..."). Google shows your reply right underneath: the next customers read the negative one and how you handled it.
Never, ever, buy reviews or use review farms. Google detects them better and better and deletes the whole profile. There are restaurants in Barcelona that lost their listing overnight because of this.
Your website: make it load fast and look good on mobile
70-80% of traffic to a restaurant website is mobile. If your site takes more than 3 seconds to load or you have to zoom in to read it, Google knows and drops you down. Concrete things to check:
- Speed: drop your URL into pagespeed.web.dev. Below 70 on mobile is a problem.
- Mobile: test from your phone, not your laptop. Big buttons, text readable without zooming, a menu you can browse with your thumb.
- Structured data (Schema.org): Google wants to know you're a restaurant with a menu, hours, a location. If your site provides these in Schema format, Google shows you with stars, average price and dishes right in the result. This multiplies your click-through.
- A page per location: if you have a single venue this doesn't apply. If you have several, give each one its own URL, address, phone and photos.
If your website fails any of these, it's not SEO: it's a website that's pushing customers away before they even arrive.
NAP consistency: your name, address and phone, identical everywhere
NAP = Name, Address, Phone. Google cross-checks your details across Google Business Profile, your website, TripAdvisor, TheFork, the Yellow Pages and 20 more sites. If one says "Pizzeria Luigi", another "Pizzería Luigi Ltd" and another "Luigi's Pizza", Google doubts whether you're the same business and drops you.
What to do:
- Decide on one exact name (with or without the accent, with or without "Ltd"). Use it everywhere.
- Address in the same format (with or without the floor number, with or without "ground floor").
- One main phone number. If you have several, make one the official NAP.
Search for yourself on Google exactly as is ("Pizzeria Luigi Barcelona"). You'll find 15 places where you're listed and 3 have your old address or a phone number you no longer use. Fix one a week. In 2 months it's done.
Local mentions: neighborhood blogs, guides, foodies
A mention of you on a local blog ("the 10 best spots to have dinner in Sants") is worth more than 50 paid backlinks. How to get them without being annoying:
- Make a list of the 10 foodies and blogs in your city/neighborhood. Follow them. Invite them to dinner with a "hi, we're new and just opened in the area, we'd love for you to come".
- Get yourself into local guides: TimeOut, the merchants' association, the city council's guides. Almost all of them accept free submissions.
- If there's a neighborhood event (street festival, Christmas market), take part. You'll appear on the event's website, and that's a real local backlink.
Don't chase "high-authority" backlinks with no local context. A link from a Sants blog is worth 10x more for your local SEO than a link from a national newspaper.
What to measure
Don't open Google Analytics if you don't already. With these 4 numbers, at the end of the month, you're more than covered:
- Branded searches vs discovery searches. Google Business Profile gives this for free. "Branded" ones are people searching for you specifically. "Discovery" ones are people who searched "pizza near me" and found you. The goal is for the latter to go up.
- Calls from the profile. Google counts clicks on "Call". If this number grows, you're showing up higher.
- Clicks on the order button. If it's to your website, you win. If it's to Uber, you lose. Make sure it's to your website (step 1).
- New reviews per month. Realistic target: 5-15 a month if you ask well. If you're at 0-2, something's wrong with your review-asking system.
What doesn't work (and we see it every week)
- Paying a generic agency €500/month. If they don't show you what they changed on your profile or which reviews they brought in, they're charging you for a spreadsheet.
- Filling your website with keywords. "Best pizza Barcelona pizza delivery best pizzeria Sants" hasn't worked since 2014. Google is much smarter than that.
- Buying reviews in bulk. Google detects them. And when it deletes your listing, you start from scratch and your competitors eat you alive.
- Ignoring negative reviews. A 1-star review with no reply convinces the next customer not to come. Replying well turns it into proof that you care about the details.
- Changing your website every 6 months. Google takes time to trust you. If you change URLs, you lose the SEO you've built up. Pick a good website and stick with it for at least 2-3 years.
How long all this takes to work
Let's be honest. This isn't an ad: it doesn't pay off the next day.
- Weeks 1-2: the optimized profile and the first 10 new reviews. You'll already notice more calls.
- Month 2-3: Google starts showing you for broader searches. More visits to the profile.
- Month 4-6: if you've kept up the pace (reviews, weekly posts, new photos), you break into the local pack for "near me" searches in your area.
- Month 6 onwards: every week that passes, you show up in more searches. The effect compounds.
If by month 3 you see no movement, check: 90% of the time it's that the reviews aren't coming in or the photos are still the same 4 from opening day.
Want us to set it up for you?
SnackStack includes the optimized Google profile, the fast site with Schema, the automated review system and the follow-up emails. Setup included, limited spots each month.