Local SEO for restaurants: editorial illustration of a calendar with tasks marked, a map with pins, and a restaurant dish in the background.
SEO & GEO 11 min

One month of local SEO for a restaurant in Valladolid: what I did each day and what happened

Day-by-day chronicle of one month implementing local SEO at Restaurante Los Pinochos (Valladolid, Spain). What I did, how long it took, what failed, and the real results at 6 months.

Daniel Software Engineer

This post is not a local SEO guide. It’s a chronicle of March 2026, when I implemented local SEO at Restaurante Los Pinochos (Valladolid, Spain) from start to finish. I tell you what I did each day, how long it took, what failed, and the real results at 6 months. If what you’re looking for is the list of “7 local SEO factors for restaurants”, Wikipedia and BrightLocal blogs give it to you better than me. What I give you here is the messy reality of a project, with its problems, its unforeseen events, and its small victories.

If you work in SEO, you’ll see things you’d do differently. If you don’t work in SEO and you have a restaurant, you’ll understand why your website doesn’t appear on Google and what you can ask whoever makes it for you. Let’s get to it.


Week 1: audit and starting point

Monday March 2. I start with the audit. Before touching anything, I measure where Los Pinochos’ website is. I open Google Search Console (already configured, but without useful data because it hadn’t been looked at in months). I open Google Business Profile. I open the website. And I start taking notes.

What I find on the website:

  • Website in Wix, 7.2 seconds to load the hero (mobile, 4G, PageSpeed).
  • Zero Schema.org in the source code.
  • Zero llms.txt.
  • The address only appears in the footer, in plain text, without link to Google Maps.
  • The menu is an image of a scanned PDF (illegible for Google).
  • The photos of the dishes are from the PDF, low quality, 12 photos, 1.2 MB each on average.
  • No blog. No “about us” or “contact” pages with structured data.

What I find in Google Business Profile:

  • Listing exists, verified, main category “Restaurant”.
  • 87 reviews, 4.6 average.
  • Schedules well set, but not updated (still winter schedules, and we’re in March).
  • 4 photos, 3 of the premises and 1 of a generic dish.
  • No attributes (terrace, accessible, etc.).
  • No posts.

What I find elsewhere:

  • The NAP (Name, Address, Phone) is different in 4 places: on the website it says “Restaurante Los Pinochos”, on TripAdvisor “Los Pinochos Valladolid”, on TheFork “Rest. Los Pinochos”, on Instagram “Los Pinochos - Cocina Valenciana”. Google doesn’t know they’re the same place.
  • No mentions in local media, no gastronomy blogs, no guides.

Audit summary: bad website, regular listing, broken NAP, no local authority. Forecast: with 4-6 weeks of consistent work, they should go from “doesn’t appear” to “top 5 in local pack for sector keywords”. Estimated cost of my time: 15-20 hours.

Tuesday March 3. Meeting with Benji (the chef) and his wife Carmen (who runs the dining room and management). 1 hour. I explain the plan in 3 phases: week 1 audit, weeks 2-3 technical implementation, week 4 onwards content and maintenance. I ask for access to Google Business, their networks, and the TripAdvisor/TheFork listing. I explain that this work is 6-month-sighted, not 1 week. Carmen asks me “and when are we going to see results?”. I tell her: “in 2-3 months you should see movement in Google queries, in 6 months you should be in the top 3 for your keywords”. She looks at me like “that’s a long time”. I explain that SEO is an investment, not a campaign. She understands.

Wednesday March 4 to Friday March 6. I start with the quick fixes. First thing: fix the NAP in the 4 places where it was wrong. It’s 30 minutes of work, but it requires going into TripAdvisor, TheFork and Instagram to change the name, and verifying that the address and phone are identical. I do it myself with the credentials they give me. In Google Business, I update schedules to spring, upload 8 new photos (facade with the sign, dining room, bar, team, 4 star dishes with good light), and fill in the attributes (terrace, accessible, accepts reservations, serves alcohol, open kitchen at noon). No posts yet, I’ll do those next week.


Week 2: technical implementation on the website

Monday March 9. I start with the website. The current Los Pinochos website is on Wix and moving it entirely right now is a 2-3 week project. We don’t have time for that, so I decide to do an SEO tune-up of the current website, in parallel to the migration plan to Astro that we have planned for later. This is important: sometimes the strategy isn’t to do everything at once, but to do what you can now with what you have, while preparing the big change.

What I do in Wix (which allows custom HTML/CSS editing with limitations):

  • I add Schema.org LocalBusiness and Restaurant in the head of the homepage. Wix allows injecting custom code in the paid version, so I do it from the panel.
  • I add Schema.org Menu with the menu structure.
  • I add Schema.org FAQPage with 8 real questions (the ones Carmen passed to me that people asked her on WhatsApp).
  • I add link to the Google Business profile in the footer, in “About this business” schema format.
  • I change the hero images to WebP versions, compress them to <200 KB each.
  • I change the scanned PDF of the menu to HTML text, structured with Menu and subsections (starters, rice dishes, mains, desserts, wine list).

They are 3 days of work. The website goes from 7.2 seconds to 2.1 seconds. And Google starts to understand what the site is.

Thursday March 12. First problem: when I validate Schema.org with the browser extension, I get an error. The JSON-LD I injected in Wix is malformed because Wix adds its own escape characters. After 2 hours fighting with Wix’s code editor, I decide the best solution is to migrate to Astro now, not wait. I call Benji and Carmen, explain the problem, and propose moving the migration to next week. They accept.

Friday March 13. Decision: we launch the Astro migration next week. It’s a project that was going to be for later, but if the current website doesn’t let us do Schema right, we don’t have a choice. I send them a quick quote (€550, which is what we had already talked about for a new website) and we agree to start Monday 16. This is a real unforeseen event: the audit revealed a technical problem that is only fixed with migration, and we had to change the plan. Things that happen.


Week 3: migration to Astro + complete Schema

Monday March 16. I start the migration. It’s a project in parallel to the SEO audit. The new website will have complete Schema.org from day 1, llms.txt, Core Web Vitals 95+, blog prepared for 2 posts per month, multi-language (Spanish + English because they have international clients), and custom JSON-based CMS so Carmen can edit the menu and wine list without touching code. Timeline: 2 weeks.

Wednesday March 18. Progress: the new website already has Schema Organization, Restaurant (subtype of FoodEstablishment), Menu, FAQPage and BreadcrumbList working. Validated with Schema Markup Validator. Carmen is already filling in the menu in the CMS JSON, which she does more smoothly than I expected (she’s methodical and likes processes).

Friday March 20. Problem with the photo gallery. The new website had a gallery made with an Astro component that required JavaScript for the lightbox. Carmen tells me: “all I want is to upload photos and have them show up, no more”. I make a simpler component, without lightbox, and it looks better. Sometimes less is more. The lesson: when your client tells you “this is too complicated”, you’re probably technically right that it’s “better”, but you’re not right that it’s what he needs. You have to listen more.


Week 4: website launch + first blog posts

Monday March 23. Migration finished. Los Pinochos’ website already loads in 0.9 seconds on mobile, has complete Schema, detailed llms.txt, and the custom CMS working. Deploy on Vercel. Configured domain. Active HTTPS. 100% indexable. Carmen has already edited the menu herself 3 times without asking me for help.

Tuesday March 24. First blog post. I write about “How to make a perfect arroz a banda at home” (1,500 words, with photos of Benji in the kitchen, step-by-step instructions, and a link to the rice dishes page on the website). The post doesn’t sell directly, but positions for “arroz a banda” and demonstrates experience. It’s a pure E-E-A-T post.

Wednesday March 25. Second post: “The 5 best wines to pair with Mediterranean rice dishes” (1,200 words, with the restaurant’s sommelier recommendations and a link to the wine list page). Another E-E-A-T post, this time focused on the wine list.

Thursday March 26. I start with the reviews. I make a QR code for the restaurant’s bill that leads directly to the Google Business listing, not to TripAdvisor. It’s printed on cards and put on each table. Carmen helps me write the QR text: “If you liked the experience, a 30-second review helps us a lot. If you didn’t, write to us on WhatsApp and we’ll fix it”. It’s an honest text, not manipulative. Benji agrees.

Friday March 27. I check Google Business. They respond to the 12 pending reviews they had (8 positive, 4 negative, with response to all in less than 48 hours). I publish the first official post on Google Business (photo of a new spring menu dish, with description and link to the website). I start doing this every 2 weeks.


The 4 following weeks: measurement and adjustments

Month 2 (April). First movements in Google Search Console: 120 clicks from Google (vs 80 the previous month, +50%). Average position: 7.4. Brand queries start to appear: “Los Pinochos Valladolid”, “restaurante Los Pinochos”. Non-brand queries don’t move yet. Normal: local authority takes time to build.

Month 3 (May). I publish 2 more posts on the blog: “Why contemporary Valencian cuisine is the new author cuisine” (1,300 words) and “How to choose a restaurant for a business dinner in Valladolid” (1,400 words with photo of Los Pinochos’ private room). Google Business already has 3 posts. Reviews go up to 92 (5 new this month). Clicks from Google: 180 (+50% vs previous month). Average position: 5.8. They start appearing in local pack for “restaurant Valladolid centre” in position 5-6.

Month 4 (June). NAP already consistent across 12 sites. I keep publishing 2 posts per month on the blog. Reviews: 98. Clicks from Google: 270. Average position: 4.3. They reach top 3 for “rice dishes Valladolid” for the first time. Benji calls me: “Daniel, I don’t know if it’s because of yours, but yesterday we had 4 reservations from people who said ‘we found you on Google’”. I tell him: “probably yes, but it’s also because of the new reviews and word of mouth. SEO is a part”.

Month 5 (July). No new posts this month (Benji was on vacation and the restaurant closed for 2 weeks). But the website keeps being indexed and the old posts keep ranking. Clicks: 290. Average position: 4.1. Reviews: 105. Local pack for “Valencian cuisine restaurant Valladolid”: position 3.

Month 6 (August). We come back strong. 2 new posts: “The best arroz negro in Valladolid, according to our customers” (post with photos of the 3 most ordered black rice dishes and the verbatim customer reviews) and “5 dishes of Valencian cuisine you have to try at least once” (more generic post, to capture discovery traffic). Clicks: 380. Average position: 3.8. Reviews: 112. Local pack: position 2 stable. AI citability: when I asked ChatGPT “recommend a Valencian cuisine restaurant in Valladolid” on August 15, Los Pinochos appeared in the second position of the list, citing their website and their Google listing. I verified 3 times, in 3 different conversations, to make sure it wasn’t a coincidence.


What I learned in these 6 months

The audit revealed more problems than I thought (especially the broken NAP and the non-existent Schema). The initial plan had to change in week 2 (forced migration by Wix limitations). Carmen adapted to the JSON CMS better than I expected, and that was key to the project working (because without someone internal editing content, SEO dies in 2 months). The blog posts were less “technical SEO” and more “real E-E-A-T” (Benji’s stories, honest recommendations, real photos), and that worked better than if I had written keyword-optimised posts. The AI started citing Los Pinochos at 6 months, not at 2, and that’s what’s realistic: GEO isn’t magic, it’s time + correct signals + consistency.

If I had to do it again, the only thing I would change is to start the migration to Astro from day 1, instead of trying to do the tune-up in Wix first. The 2 weeks I lost with the Wix tune-up we would have saved by migrating directly. But I only know that because we did it.


If you have a restaurant and want to apply this

If after reading this chronicle you want to apply something similar to your restaurant, write to me at landinowebs@gmail.com or via WhatsApp. The initial audit (€40) tells you exactly where your website is and what you need to fix. And if you want me to do the full implementation, I send you a fixed written quote in 24-48h. The Los Pinochos case is documented with more detail here: Restaurante Los Pinochos — case study.

Want to apply this to your project?

If you liked the article and want me to help you with your web, app or SEO, write to me. I reply within 24 hours with a fixed-price quote in writing or a call to scope your case, no commitment.