restaurant seogoogle search consolelocal seogoogle business profilenear me

Google Search Console for Restaurants: A Practical Local SEO Guide

A practical guide to Google Search Console for restaurants: track near-me and city queries, fix menu pages, and grow multi-location visibility.

Search Console Tools Team14 min read
Table of Contents

If you run a restaurant, a cafe, or a multi-location food brand, most of your search visibility happens somewhere you cannot fully see. A hungry person types "tacos near me" or "best ramen downtown," taps a map pack result, and decides where to eat in about four seconds. Almost none of that journey shows up in a normal web analytics tool, and a lot of it never touches your website at all. That is why so many restaurant owners assume search engine optimization is something only big chains worry about.

The reality is more nuanced. Google Business Profile (GBP, formerly Google My Business) does carry the bulk of restaurant discovery, the maps, the reviews, the "open now" badges, the photos of your carbonara. But your website still earns a meaningful slice of clicks, especially for menu browsing, reservations, catering, private events, and dish-specific or cuisine-specific searches. Google Search Console (GSC) is the free tool that shows you that website slice: the exact queries people typed, which of your pages answered them, and where you are leaving clicks on the table.

This guide is about using GSC the way a restaurant actually should. We will be honest about the division of labor between GBP and GSC, then get concrete: the regex filters that isolate "near me" and city-level demand, how to read menu and reservation page performance, how to find dish queries worth building pages around, how to fix titles that get impressions but no clicks, and how to track multiple locations cleanly. Everything here uses real GSC features. No invented numbers, no magic.

Why most restaurant search is local and branded, and what GSC adds

Two truths shape restaurant SEO. First, a large share of restaurant queries are local: they contain a place ("near me," a city, a neighborhood) or are answered by Google's local map pack regardless of wording. Second, a large share are branded: people who already know your name searching for your hours, menu, or phone number. Both of those intents are handled extremely well by Google Business Profile, which feeds the maps, the knowledge panel, and the "popular times" widget.

Here is the part owners miss. GBP visibility and website visibility are tracked in completely different places. GBP performance lives in the Business Profile dashboard (searches, calls, direction requests, photo views). GSC only reports clicks and impressions for your website in Google's organic results, the blue links, sitelinks, and rich results that point to pages you control. When someone clicks "Menu" inside your map listing and never reaches your domain, GSC sees nothing. When someone searches "gluten free pizza [your city]," lands on your menu page from the web results, and books a table, GSC sees everything.

So the mental model is simple: GBP owns the map and the listing; GSC owns the website's search footprint. You want both. GSC is where you discover that your "private dining" page ranks on page two for a dozen high-intent queries, that your menu page gets thousands of impressions but a weak click-through rate, or that people keep searching for a dish you serve but never put on a dedicated page. Those are website problems, and they are invisible in GBP. If you also run general local pages, our broader walkthrough on using Google Search Console for local business pairs well with this restaurant-specific take.

Setting up GSC so the restaurant data is usable

Before any regex, get the foundation right. Verify your site in GSC using the Domain property type if you can (it covers every subdomain and both http and https). Confirm your menu, reservations, locations, and contact pages are all indexed, you can check any URL with the URL Inspection tool at the top of GSC.

Then learn the three controls you will use constantly in the Performance > Search results report:

  • The date range selector (use "Last 3 months" or "Last 6 months" for restaurants; food search has weekly and seasonal swings, so short windows mislead).
  • The + New filter button, which lets you filter by Query, Page, Country, or Device.
  • The query and page filter modes, set the dropdown inside a Query or Page filter to Custom (regex) to unlock the patterns below.

Make sure the Average CTR and Average position boxes are toggled on above the chart, alongside Clicks and Impressions. You need all four to make decisions.

Tracking "near me," city, and "best dish" queries with regex

GSC's regex filters use the RE2 syntax, which means no look-ahead or back-references, but plenty of power for the patterns restaurants care about. All of these go in a Query filter set to Custom (regex) with the Matches regex option. They are case-insensitive by default in GSC. For a deeper reference on the syntax itself, see our guide to Google Search Console regex filters.

Use this table as a starting kit:

| Goal | RE2 regex | What it catches | |------|-----------|-----------------| | "Near me" demand | near me | "thai food near me", "brunch near me" | | City / location intent | \b(austin|round rock|cedar park)\b | any query naming your cities | | "Best [dish/cuisine]" | ^best | "best tacos", "best pizza austin" | | Cuisine + place combos | (italian|mexican|sushi|ramen).*(near me|downtown|austin) | cuisine searches tied to a place | | Dish-level queries | (brisket|carbonara|pad thai|birria|tiramisu) | specific menu items people want | | Reservation / booking intent | (reservation|book|table|reserve) | high-intent booking searches | | Catering / events | (catering|private|event|party) | off-premise revenue queries | | Dietary modifiers | (vegan|vegetarian|gluten[ -]?free|halal|keto) | searches you may not have pages for | | Hours / open now | (hours|open|open now|closing) | branded info-seeking |

A few practical notes. Replace the city and dish lists with your own, the pipe | means OR, and \b is a word boundary so "austin" does not match "austinmer." If you want to exclude your brand name to see only non-branded demand, add a separate Query filter set to Doesn't contain with your restaurant name, GSC lets you stack one regex filter with one plain text filter. For the near-me category specifically, we go much deeper in near-me keyword research with Google Search Console, including how to interpret position data for queries that trigger the map pack.

One honest caveat: "near me" and many local queries are often answered by the map pack, so your website impressions for them may be modest even when real-world demand is huge. Low website numbers on "near me" do not mean low demand, they mean GBP is doing the heavy lifting. GSC still helps because it reveals which near-me variants your pages manage to rank for organically, which is exactly where a strong page can win extra clicks above or below the map.

Reading menu and reservation page performance

Switch from the Query tab to the Page tab in the Performance report, or apply a Page filter to drill into a single URL. Two pages deserve permanent attention.

Your menu page is usually the highest-impression page on a restaurant site. Filter to it and look at the query mix: you will typically see dish names, cuisine terms, dietary modifiers, and "[restaurant] menu" branded searches. Two things to check. First, is the page ranking for dishes you serve but do not name in the page text? If people search "birria tacos" and your menu only says "tacos," adding the proper dish name and a short description can lift relevance. Second, watch the CTR, menu pages often have rich-snippet competition and a generic title, both of which suppress clicks.

Your reservation or booking page is lower volume but higher intent. Filter to it and confirm it is actually capturing booking-intent queries (use the reservation regex above as a Query filter on top of the Page filter). A common problem: the reservation flow lives on a third-party widget or subdomain that GSC does not see, so the intent leaks away from your tracked pages. If your booking page gets impressions but near-zero clicks, the title and meta description are usually the culprit, fixable in minutes.

Also check pages people forget: catering, private events, locations, and any blog/recipe content. These often quietly rank on page two for valuable queries and just need a nudge.

Finding striking-distance dish and cuisine queries

This is where GSC becomes a content engine. "Striking distance" queries are ones where you already rank on the edge of page one, roughly positions 8 to 20, where small improvements can produce outsized click gains because moving from position 12 to 6 can multiply traffic.

To find them: open the Performance report, set a 3 to 6 month range, switch to the Queries tab, and turn on Average position. Then either sort the position column or export to a spreadsheet and filter to rows where position is between 8 and 20 and impressions are meaningful. Layer the dish or cuisine regex on top so you only see food queries, not branded or navigational ones. Our full method for this lives in striking-distance keywords in Google Search Console.

What you do with the list depends on the query:

  • A dish you serve but have no dedicated section for (e.g. "korean fried chicken") is a signal to expand or restructure the menu page, or to add a short dish-spotlight blog post.
  • A "best [dish] [city]" query you rank 11th for is a content opportunity: a genuinely useful local roundup or a page that answers the comparison intent honestly.
  • A cuisine + occasion query ("italian restaurant for anniversary") points toward a private-dining or experience page.

The point is to let real demand dictate what you write, instead of guessing. If you want the broader workflow for turning the Queries report into a content plan, see how to use Google Search Console for keyword research. And if you would rather not do the spreadsheet work by hand, Search Console Tools connects to your GSC data through Google sign-in and groups your striking-distance queries into ready-to-use content briefs automatically, it is free to try.

Fixing low-CTR titles on high-impression pages

A page can rank well and still bleed opportunity if nobody clicks. In GSC, sort your Queries or Pages by Impressions descending, then scan the CTR column for rows that are high on impressions but low on CTR relative to their position. A page sitting at position 5 with a CTR far below what that position usually earns is almost always a title and description problem.

For restaurants, the usual fixes are concrete:

  • Put the city or neighborhood in the title tag of menu, location, and reservation pages ("Wood-Fired Pizza in East Austin | Tony's").
  • Add a specific hook: a signature dish, "now taking reservations," "open late," or "outdoor patio."
  • Make sure the meta description answers the obvious question (hours, location, what makes you worth the trip) instead of repeating the page title.
  • Avoid duplicate titles across location pages, each location needs its own city and address in the title.

After you ship changes, give Google a couple of weeks to recrawl, then compare CTR over a matched date range using the Compare mode in the date picker. Our dedicated walkthrough, how to fix low CTR in Google Search Console, covers how to read the before/after numbers without fooling yourself with seasonality.

Tracking multiple locations with page filters

Multi-location food businesses live or die by clean location pages, and GSC tracks them through the Page filter. The prerequisite is structural: each location should have its own indexable URL (for example /locations/austin/ and /locations/dallas/), not a single page that swaps content with JavaScript.

To compare locations, use a Page filter set to Custom (regex) with a pattern like:

/locations/(austin|dallas|houston)/

Then look at the Pages tab to see clicks, impressions, and position per location URL side by side. To audit one location's query mix, set the Page filter to that single URL and read the Queries tab. You are looking for two failure modes: location pages that get impressions for the wrong city (a sign of internal duplication or weak geo-signals), and location pages that rank for dish queries you could reinforce locally.

A clean per-location regex to isolate just the location directory:

^https?://([a-z0-9-]+\.)?yourdomain\.com/locations/[^/]+/?$

That matches your location pages whether or not there is a subdomain and whether or not the trailing slash is present, without catching deeper sub-pages. Swap in your real domain. Tracking each location separately is also the only honest way to know whether a new opening is gaining organic traction or still relying entirely on its GBP listing.

Being honest about GBP versus GSC

It would be dishonest to imply GSC is where most of your restaurant traffic comes from. For the majority of independent restaurants, Google Business Profile drives more discovery, more calls, and more directions than the website does, and you should keep your GBP listing complete, accurate, and stocked with fresh photos and current hours. GSC does not replace any of that.

What GSC does is fill the blind spot GBP leaves: the website's organic search footprint. It is the only free, first-party source that tells you the exact queries your pages appear for, where they rank, and how often people click. Used together, GBP gets you found on the map, and GSC makes sure that when someone reaches your site, the right page answers them, and that you are steadily building content around demand you can actually measure. That combination is the entire restaurant SEO playbook, and both halves are free.

Frequently Asked Questions

Does Google Search Console track my Google Business Profile or map pack performance?

No. GSC only reports clicks and impressions for your website in Google's organic web results. Map pack interactions, calls, and direction requests live in the separate Google Business Profile dashboard. Use GBP for listing performance and GSC for your website's search footprint.

Why do my "near me" queries show low impressions in Search Console?

Most "near me" searches are answered by the local map pack rather than the blue-link web results that GSC tracks, so your website's impressions for them are naturally lower than real-world demand. That does not mean the demand is small. GSC still shows which near-me variants your actual pages rank for organically, which is where a strong page can earn extra clicks.

How do I track each restaurant location separately in GSC?

Give each location its own indexable URL, then use a Page filter in the Performance report. Set it to Custom (regex) with a pattern like /locations/(austin|dallas)/ to compare locations side by side, or filter to a single location URL to audit its query mix. Avoid single pages that swap location content with JavaScript, since GSC cannot separate them.

What regex finds dish and cuisine searches in Search Console?

Use a Query filter set to Custom (regex). A pattern like (brisket|carbonara|pad thai|birria) catches specific dishes, while (italian|mexican|sushi|ramen).*(near me|downtown|austin) catches cuisine-plus-place combinations. The pipe means OR, so just list the dishes and cuisines you serve.

Is Google Search Console enough on its own for restaurant SEO?

No, and it does not try to be. For most restaurants, Google Business Profile drives more discovery than the website. GSC complements GBP by revealing your website's organic queries, page rankings, and click-through rates, the part GBP cannot show you. Use both together.

How long until I see results after fixing a low-CTR title?

Google needs to recrawl and re-index the page, which usually takes a few days to a couple of weeks. After that, use the Compare date mode in GSC to check CTR over matched periods, and watch for seasonality so you do not mistake a slow week for a failed change.

2026 Standard

Run a Free AI Citation Audit

Are you in the AI Overview? Get a free report showing how often ChatGPT, Claude, and Gemini cite your brand, plus the 3 blockers preventing your discovery in 2026.

No spam. 1-click unsubscribe. Join 1,200+ SEO teams managing the GEO pivot.

Put These Tips Into Action

Connect your Google Search Console and let our AI find your biggest opportunities.

Get Started Free