Coding Agency for Web Development » Case Studies » Case Study :: MORE – Three Black Sea Restaurants on One Next.js Site

15.10.2026

Case Studies

Case Study :: MORE – Three Black Sea Restaurants on One Next.js Site

Summarize this article with:

READING TIME: MIN

Table of Content

MORE is three restaurants on the Black Sea coast around Varna: MORE Marina in the Asparuhovo fishing port, MORE Beach at St. Constantine & Helena, and MORE Fish & Grill in Saltanat. One brand, three very different rooms, three menus, three phone numbers – and one website that had to carry all of it without turning into a directory.

We rebuilt morerestaurant.bg from scratch as a bespoke Next.js site running on Cloudflare’s network – no WordPress, no plugins, no server to keep patched – while keeping every URL, the Google Analytics property, the Tag Manager container and the advertising conversions of the previous site working from the first minute.

This case study is about what a restaurant website actually has to do: show the room, show the menu the way it is printed, take a reservation without a commission, load instantly on a phone with one bar of signal, and be found by Google – and now by AI assistants – when someone searches for dinner by the sea.

The MORE restaurants website - morerestaurant.bg

Project Overview

The brief was a brand site for a group, not three separate sites. A guest arrives knowing “MORE” and only then decides which MORE – the marina, the beach or the grill. So the home page sells the brand and the sea, and the three location pages each carry their own atmosphere, gallery, menu, address and phone number.

Everything is bilingual: Bulgarian at the root, English under /en, as on the previous site, so the pages that already ranked kept their addresses. The site is delivered worldwide from the edge of Cloudflare’s network, and there is no origin server, no database and no admin panel that can be broken by an update.

Objectives

  • One brand, three venues – each with its own page, menu, gallery, address and phone, without fragmenting the brand
  • Keep the existing URLs, GA4 property, Tag Manager container, ad conversions and cookie consent working on day one
  • Show the printed menus as menus – something a guest reads, not a PDF they download
  • Take table reservations straight into the restaurant’s own inbox, with no booking platform and no per-cover fee
  • Serve 5-18 MB camera originals of the food and the sea without slowing anything down
  • Bulgarian and English, with correct canonical and hreflang tags
  • No servers to maintain, no plugins to update, no security patching
  Case Study :: Mythos - Launching a New Seaside Restaurant Together With Its Website

Key Features

Three venues under one roof

The home page introduces the group; each location has its own page with a hero, its own story, a filtered gallery (interior, kitchen, sea), its menus, its address with map and directions, and its own phone number. The two older pages kept the exact addresses they had on the previous site, so nothing that was indexed or linked from Google and TripAdvisor was lost.

MORE - a location page and the home page sections

Menus that turn like the printed ones

Restaurants have their menus as print PDFs, and most sites simply link to them – which on a phone means a download, a grey viewer and a pinch-to-zoom. Here each menu is rendered in the page as a booklet you flip through, with the restaurant’s real printed cover wrapped around it. The viewer is loaded only when a guest opens a menu, so it costs nothing to everyone who does not.

Reservations into the restaurant’s own inbox

The reservation section and the footer inquiry form post to the site’s own endpoint, which checks a Cloudflare Turnstile token and sends the request by SMTP to the restaurant’s mailbox – no booking platform, no commission, no account for the guest to create. If the mail cannot be delivered for any reason, the form does not swallow the guest: it shows the phone number and the WhatsApp button instead.

Photography at full quality, delivered small

The photographs are the product. The originals are 5-18 MB camera files; every image on the site is resized, re-encoded and cached per device by Cloudflare Images, so a guest on mobile data gets a few hundred kilobytes and the kitchen still gets its photography shown properly.

  Case Study :: Coach by Vipe - Coaching Platform and Mobile App for Sports Teams

Found by Google – and by AI assistants

Each venue is published as a Restaurant entity in structured data with its cuisine, address, phone, images and links, alongside the brand as an Organization, the site itself, and breadcrumbs. Titles, descriptions, canonical URLs, hreflang pairs, Open Graph images, a sitemap and robots rules are generated from one place, which is also what lets a model answering “where to eat fresh fish in Varna” read the facts correctly.

morerestaurant.bg on a phone

The marketing that was already working, kept

A rebuild is where restaurants usually lose their history: the analytics property is replaced, the ad conversions stop firing, the consent banner disappears. We carried the existing GA4 property, the Tag Manager container and the cookie-consent account over to the new site, with consent mode wired in, so reporting and campaigns continued across the switch.

Details that make it feel like a restaurant

Galleries with a lightbox and category filters, a muted video that opens with sound in a modal, gentle parallax on the sea images, numbers that count up as they come into view, sections that reveal on scroll, a floating WhatsApp button, and a link to online ordering for the venue that does delivery. None of it blocks the first paint.

Technology Stack

  • Front end: Next.js 16 (App Router), React 19, TypeScript, hand-written CSS – no page builder, no theme
  • Hosting: one Cloudflare Worker through OpenNext – no origin server, no database, global edge delivery
  • Images: the Cloudflare Images binding behind the Next.js image pipeline
  • Forms: a Worker API route with Cloudflare Turnstile and a minimal SMTP client written for the Workers runtime (TLS on port 465) that delivers to the restaurant’s own mailbox
  • Menus: PDF.js and StPageFlip, loaded on demand, over the restaurant’s print files
  • Bilingual: dictionary-driven BG/EN routing with canonical, hreflang and localised Open Graph
  • SEO: schema.org Restaurant / Organization / WebSite / BreadcrumbList, generated sitemap and robots
  • Analytics: GA4, Google Tag Manager and CookieYes consent, carried over from the previous site
  • DNS & TLS: Cloudflare zone routes with the mail records left untouched
  Case Study :: Villa Chinka - A Restaurant and a Hotel on One Site, in Four Languages

Architecture Highlights

  • The cutover happened by itself: the Worker was bound to the zone’s existing routes, so the moment the nameservers moved, the new site answered – no maintenance window, and mail kept flowing the whole time
  • No CMS and no database means no admin login to steal, no plugin to update and nothing that can go down at eight on a Saturday evening
  • Content and copy live in typed files in one repository, so a change is a one-line edit and a deploy – and a mistake is caught at build time, not by a guest
  • Heavy things (the menu viewer, the video, the lightbox) are loaded only when a guest actually asks for them
  • Every form has a human fallback – the phone and WhatsApp – so a failed delivery never costs a booking
  • Request-level observability is on, so an error is something we see rather than something the restaurant reports

Results

MORE now runs on one site that covers three venues in two languages, with its menus readable in the page, its reservations arriving as e-mail in the restaurant’s own inbox, and its photography served at a weight a phone can handle. The analytics and advertising history survived the migration, and the running cost of the site is a Cloudflare plan rather than a server with a maintenance contract.

See it live at morerestaurant.bg.

Why Partner With Vipe Studio

If you run a restaurant, a hotel or a group of venues, you have probably been offered a template, a monthly subscription and a booking platform that charges per guest. This is the alternative: a site designed around your room and your menu, built on the stack we use for production applications, that you own outright and that costs almost nothing to run.

We handle the whole move – design, photography handling, menus, reservation flow, the switch of domain and e-mail, and keeping your Google rankings, analytics and ad campaigns intact. Tell us about your venue and we will come back with a plan and a fixed price.

The content of this website is copyrighted and protected by Creative Commons 4.0.

Vipe Team

Author Vipe Team

Our tireless team who creates high-quality WordPress-related content for you 24/7/365.