Location pages indexed
18% → 91%
A fictional business. The figures are a modelled scenario, not a client result.
Fryline Kitchens
Multi-brand delivery kitchen operator · Manchester
Location pages indexed
18%to91%
Indexed location pages 18% → 91%
Service
Baseline
Location pages indexed
18% · 201 of 1,116
Tickets bumped
0/12
Grill
On order · diagnosing+ 6 more on the rail
Fry
Cooking · building the fixPass
Shipped · awaiting recrawlRail clock: 10:00 on a ticket = one month of work. Modelled scenario.
01The rush
Fryline Kitchens runs 6 delivery-only brands out of 31 dark kitchens across Greater Manchester and the North. Each brand had a page for every area it might deliver to — 1,116 in all — generated from one template that knew nothing about which kitchen actually served the area.
When no kitchen was in range the page still returned 200 with “no kitchens near you”. Satellite towns inherited a canonical to /manchester. Google treated most of the estate as duplicates or soft-404s, and orders went to aggregator apps that charged up to 30% commission.
02Audit check
Fryline Kitchens
Technical audit · 1,116 URLs
Search: “fried chicken delivery salford”
fryline.co.uk › crisp-theory › salford
Crisp Theory Salford | Fryline
Sorry — there are no kitchens near you right now. Try another postcode…
Soft-404 · canonical → /manchester · not indexed
fryline.co.uk › crisp-theory › salford
Crisp Theory Fried Chicken Delivery in Salford · Open till 2am
Delivered from our Ordsall kitchen in ~25 min. Wings, tenders & loaded fries. Order direct, no app fees.
Indexed · position 2 · Restaurant schema
The diagnosis was not “more content”. It was plumbing: the estate told Google 1,116 times that a page existed, then gave it nothing to index, the wrong canonical, or no link to find it by — and the few pages that did rank answered a tap in 410ms.
03The line
Built on our Signal plan (technical seo): fix what Google can crawl and trust before writing a word more.
Every brand × delivery-area page now earns its URL. The template pulls the real kitchen behind each area — opening hours, delivery radius, ETA and that brand's live menu — server-rendered so Googlebot sees it on first byte. Combinations with no kitchen in range return 410 instead of a "no kitchens near you" shell.
61,000 filter and sort URLs were eating 86% of Googlebot's visits. Parameters were noindexed and pattern-blocked, sitemaps split into six per-brand files with honest lastmod dates, and a weekly log-file watch alerts if any template loses crawl share.
Nine city hubs link to every live kitchen page within two clicks, breadcrumbs carry brand → city → area, and each page links to four adjacent areas. Orphan location pages fell from 533 to 11, and click depth from seven to two.
The menu used to hydrate as one 1.3MB bundle, so the first tap on “Add” stalled. Menu sections became islands, the basket widget and seven tags moved off the input path, and INP at p75 fell from 410ms to 160ms.
048 services
Crawl of all 1,116 URLs, 90 days of log files, Search Console page reports split by brand. Canonical fix shipped in week 3.
412 soft-404 shells triaged: 348 gained a real kitchen + menu, 64 empty combos returned 410. Parameter facets blocked.
Location template rebuilt with server-rendered hours, delivery radius and brand menu. Six per-brand sitemaps live.
Nine city hubs launched; median click depth falls from 7 to 2. Indexation passes 60%.
Menu islands ship; basket widget and tags deferred. INP p75 drops under the 200ms ‘good’ line for the first time.
Breadcrumbs and adjacent-area links on every page; orphan pages fall from 533 to 11.
Restaurant schema per kitchen and brand; log-file watch alerts on any template losing crawl share.
91% of location pages indexed; QA reports per brand handed to the in-house team as a weekly ritual.
05Service report
Modelled scenario for a fictional business — not a client result. Rankings and traffic are never guaranteed; see our Terms.
18% → 91%
-87%
+204%
410ms → 160ms
| Query | Landing page | Before | After |
|---|---|---|---|
| fried chicken delivery salford | /crisp-theory/salford | not indexed | #2 |
| bao delivery manchester | /bao-down/manchester | 34 | #3 |
| smash burger stockport | /smash-club/stockport | not indexed | #4 |
| late night food delivery bury | /late-loaf/bury | 61 | #5 |
| vegan delivery chorlton | /green-fork/chorlton | not indexed | #3 |
| wings near me didsbury | /wing-shift/didsbury | 48 | #6 |
| burger delivery oldham | /smash-club/oldham | not indexed | #7 |
| fried chicken open now leeds | /crisp-theory/leeds | 72 | #8 |
Order up
Hundreds of templated pages, little of it indexed? Signal starts with the crawl, the canonicals and the links — then the speed.
← Back to all case studies