A fictional business. The figures are a modelled scenario, not a client result.
Byalo Cleaners · Dry-cleaning chain, 14 branches · Plovdiv
Ticket BYC-0614 · Technical SEO · 6 months
00SEO case study · Drop-off
Collected
14/14
14 of 14 branch pages indexed and ranking
01 · The stain
A page-builder site with duplicated branch pages, 4-second LCP and thousands of orphaned URLs meant Google indexed only three of fourteen locations.
Byalo Cleaners grew branch by branch over a decade, and the website grew the same way: a page builder, two migrations and a copy-pasted page for every new counter. Customers searching for a dry cleaner near Trakia or Karshiyaka were being shown the central branch, a competitor, or nothing at all.
The brief was not more content. It was to take a fragile stack apart, clean each piece, and hang it back up so search engines could crawl, understand and rank every branch on its own merits.
02Audit · Tagging
Every finding from the crawl, log files and field data got a numbered paper ticket. Pink for speed and crawl, mint for branch pages and markup. Select a ticket to read the stain and the treatment.
Byalo · Garment ticket
No. 01
03Strategy · The process
The engagement runs on our Signal plan (technical seo): fix how the site is built before asking it to rank.
Station 1 · Steam
Tickets 01 02 03 04
The page-builder theme shipped a 1.9 MB slider, eleven stylesheets and a chat bundle on every URL. We rebuilt the critical path: one static AVIF hero with fetchpriority, critical CSS inlined, third parties deferred behind facades and space reserved for the booking widget.
Station 2 · Press
Tickets 05 06 07
Eleven branch pages were copies with a different street name, so Google folded them into one. A single branch record now drives a data-led template: real hours, services offered at that counter, parking, the nearest tram stop, photos and turnaround times, so every page earns its own place in the index.
Station 3 · Sort
Tickets 08 09 10 11
Server logs showed Googlebot spending 71% of its visits on filter URLs and orphaned builder pages. We closed the parameter traps, pruned 2,960 orphans, collapsed redirect chains and rebuilt the sitemap so crawl time lands on the fourteen pages that make money.
Station 4 · Tag
Tickets 12 13 14
Hours lived in images and prices in a PDF. Each branch now carries DryCleaningOrLaundry markup with geo, opening hours and its parent organisation, and the HTML price list exposes Service and Offer data for suits, wedding dresses and duvets.
04Rail log · Month by month
M1 · Sort
Full crawl and log-file sample. Faceted parameters cut off, hero carousel replaced, critical CSS inlined. LCP falls to 3.4s.
3/14 indexed · LCP 3.4s
M2 · Treat
Branch record built for all fourteen locations; template ships with unique copy, hours and photos. New sitemap submitted. Six branches indexed.
6/14 indexed · LCP 2.6s
M3 · Press
2,960 orphaned URLs removed or redirected, redirect chains rewritten, crawlable branch hub live. Crawl errors down 74%.
10/14 indexed · LCP 2.0s
M4 · Mark
DryCleaningOrLaundry, Service and Offer markup validated. Price list moved from PDF to HTML. Thirteen branches indexed.
13/14 indexed · LCP 1.8s
M5 · Wrap
Turnaround FAQs written per branch, breadcrumbs sitewide. Belomorski, the newest branch, is indexed: 14 of 14.
14/14 indexed · LCP 1.7s
M6 · Collect
Chrome UX field data passes Core Web Vitals on mobile. Organic sessions +118%, directions requests +76% against baseline.
14/14 indexed · LCP 1.6s
05Results · Collection
LCP (mobile)
4.1s → 1.6s
Crawl errors
-93%
Organic sessions
+118%
Branch directions requests
+76%
Modelled scenario for a fictional business — not a client result. Rankings and traffic are never guaranteed; see our Terms.
Collection counter · month-end
14/14
branch pages indexed by end of month 6
Google.bg, mobile, Plovdiv location. Month 0 versus month 6.
| Query | Vol/mo | Before | After |
|---|---|---|---|
| химическо чистене пловдивdry cleaning plovdiv | 2,400 | #14 | #1 |
| химическо чистене тракияdry cleaning trakia | 320 | not ranking | #1 |
| пране на килими пловдивcarpet washing plovdiv | 880 | #31 | #3 |
| чистене на сватбена рокляwedding dress cleaning | 390 | not ranking | #2 |
| химическо чистене кършиякаdry cleaning karshiyaka | 170 | not ranking | #1 |
| пране на завивки пловдивduvet washing plovdiv | 260 | #48 | #4 |
| химическо чистене близо до менdry cleaners near me | 1,900 | #22 | #2 |
| чистене на костюм ценаsuit cleaning price | 210 | not ranking | #5 |
06 · Pick up
A technical audit, a ticket for every issue, and a rail that keeps moving until each one is fixed.