Case 05 / 05Website, SEO, GEO and campaign2026Live

We designed and built the Forza Rotterdam website from scratch, with menu, opening hours and facts machine-readable for Google and AI. Then we kept developing it: a lighter foundation, a catering page and a campaign with Felyx.

forza-rotterdam.nlForza Rotterdam
forza-rotterdam.nl
Forza Rotterdam: Website, SEO, GEO and campaign
Screenshot of the work

The brief

An Italian sandwich shop on Pannekoekstraat that needs to be found: in Google for ‘sandwiches rotterdam’ and in answers from AI assistants, with menu, opening hours and prices always right. After launch came the next question: more clicks and more catering.

What we did

A custom website in plain HTML, CSS and JavaScript, with a complete structured-data graph and an llms.txt fact sheet. In a second round we made our own code lighter, from 117 to 51 KB for the homepage, without changing URLs, tracking or structured data. Then came an FAQ and a catering page.

7.9%CTR in Google search results
117→51KB for the homepage
12FAQ answers matching the schema exactly
100Lighthouse SEO, mobile (lab)

What we built

Forza Rotterdam
  • Website from scratch

    Design and build of the complete site: the story, Il Menu with twelve schiacciatas as real text, an NL/EN switch, a photo gallery and ordering through the Tebi shop.

  • Lighter foundation

    In round two CSS and JavaScript split and cleaned, dead code removed, images to WebP with srcset in 28 variants and fonts cut from 11 to 7. Every anchor, class and tracking selector stayed the same.

  • Structured data

    A complete graph with CafeOrCoffeeShop, a menu of twelve schiacciatas with fixed IDs, FAQPage, WebPage and BreadcrumbList. Every visible price and answer is checked automatically against the schema.

  • GEO and llms.txt

    A fact sheet for AI assistants with address, GPS, opening hours, prices, the full menu with ingredients and the official channels, so AI cites Forza correctly.

  • Catering page

    A dedicated page for group lunches: pick-up through the Tebi shop and delivery from €150, with delivery area, costs and lead time strictly separated.

  • Measuring what matters

    GA4 events for ordering, menu, email, Instagram, directions, calls, catering, language and FAQ. The tag only loads on the production domain, so tests don’t pollute data.

  • Forza × Felyx

    A QR code in the shared scooter leads to a mobile campaign page with the ‘Il Viaggio’ preloader and a digital voucher for a free drink with a schiacciata, for 1,000 drinks.

In pictures

Scroll to browse
forza-rotterdam.nl
Our story with a static WebP photo gallery.
01Our story with a static WebP photo gallery.
forza-rotterdam.nl
Il Menu: the twelve schiacciatas as real text, with an NL/ENG switch.
02Il Menu: the twelve schiacciatas as real text, with an NL/ENG switch.
forza-rotterdam.nl
Vegetarian and vegan marked on the right sandwiches.
03Vegetarian and vegan marked on the right sandwiches.
forza-rotterdam.nl
The new catering page for group lunches.
04The new catering page for group lunches.
forza-rotterdam.nl
Forza × Felyx: the ‘Il Viaggio’ preloader.
05Forza × Felyx: the ‘Il Viaggio’ preloader.
forza-rotterdam.nl
The digital voucher for a free drink with your lunch.
06The digital voucher for a free drink with your lunch.
forza-rotterdam.nl
The campaign flow, from scooter to till.
07The campaign flow, from scooter to till.

The hardest part

Evolving your own work without breaking anything. The temptation was to rebuild the site, but URLs, structured data and content were in good shape. By replacing only the delivery layer, the site got faster and easier to find without losing a single ranking or tracking event.

Under the hood

Languages, frameworks and integrations
Languages
HTML, CSS, JavaScript
Approach
Plain HTML with no build or runtime dependencies
Data
JSON-LD: CafeOrCoffeeShop, Menu, FAQPage, BreadcrumbList
GEO
llms.txt fact sheet
Images
WebP with srcset, PowerShell conversion script
Measurement
Google Analytics 4, Search Console, Lighthouse
Server
Apache, .htaccess redirects and caching
Ordering
Tebi shop
Next case — 01 / 05Bistro & BoulesWebsite and a separate booking system with staff screen