Skip to content

Case study · my own store

Krasnodarflora: SEO for my own store, with every number in the open

This is my flower delivery store in Krasnodar, Russia. Ten years in search, 200+ orders a month, 991 reviews on the site. Here I show what usually gets hidden: what an agency left behind, what a Google update drop really looks like, and what I'm doing to win it back.

10 yrs
the store has lived in search
200+
orders per month
4.8
rating on 2GIS maps, 99 votes
991
reviews on the store site

My own business instead of someone else's portfolio

Krasnodarflora is not a client project. It's a business where I answer for everything: flower purchasing, florists, couriers, the site and its marketing. Every SEO mistake here costs me real money, not a line in someone's report.

For years the site was handled by an external agency. In June 2026 I took SEO in-house and started with a full audit: 12 reports, 65+ findings, from junk pages in the index to incomplete structured data.

Krasnodarflora online store homepage
A living store: fresh supply daily, a bouquet photo before every delivery, 991 reviews. Every storefront mechanic runs on real data.

What the audit showed

Everything below can be verified in the site code and webmaster panels. These are the highlights.

  1. 01

    Organic traffic flat for four years

    From July 2022 to June 2025 search traffic hovered around five thousand visits a month, seasonal March peaks aside. Years of paid SEO didn't move the line.

  2. 02

    May 2026: the Google core update

    After the update, Google traffic nearly halved year over year: from 4,079 visits in June 2025 to 2,001 in June 2026. Updates don't forgive a weak foundation.

  3. 03

    Hundreds of junk pages in the index

    Empty sections, duplicates and auto-generated filter pages were eating crawl budget. I removed 300+ of them with proper 301 redirects.

  4. 04

    Template-generated titles

    Titles were assembled by a generator, duplicated each other and got truncated in results. Key pages are now rewritten by hand for real queries.

  5. 05

    Analytics was lying

    Up to 97 percent of "direct visits" turned out to be bots without JavaScript. Until that was filtered out, any conclusion drawn from analytics was garbage.

  6. 06

    Ratings without a backbone

    Product markup was incomplete, and I rejected the idea of painting fake scores outright. Storefront ratings are now computed from confirmed orders.

What got done in the first weeks

The order is simple: foundation first, then content, then growth.

Technical foundation

  • 300+ junk pages removed with 301 redirects
  • Canonicals for filters and product duplicates
  • A curated sitemap instead of auto-generation
  • Bot filtering in analytics and scraper protection

Structure and content

  • A delivery hub section with internal linking
  • SEO copy and FAQ for 62 catalog sections
  • 334 product descriptions rewritten without AI clichés
  • Tag chips to catch long-tail queries

Commercial pages

  • Product card and catalog listing redesign
  • Honest ratings and order counters on the storefront
  • Per-stem prices with quantity discounts
  • Speed: script cleanup, self-hosted fonts

Local search

  • 2GIS and Yandex Business: profiles, photos, review replies
  • A 4.8 rating across 99 votes on 2GIS
  • A bouquet photo before delivery as a public promise

Where the project stands now

Orders hold at around two hundred a month despite the Google drop: Yandex, maps, direct demand and repeat customers carry the business. Every fourth order comes from a returning buyer.

The technical debt is closed, content rewritten, analytics cleaned. Now comes the slowest part: winning positions back after the update. I'll publish checkpoint snapshots here as they come.

Four years of organic traffic: search visits per month

A flat plateau under the agency, seasonal March peaks, and the drop after the May 2026 Google update. I publish this chart because this is the reality I work with.

012к16к07.2201.2307.2301.2407.2401.2507.2501.26Google updateSEO in-house

Data: Yandex.Metrica, counter 42046359 · July 2022 · June 2026

Show data as a table
Search visits
07.225 010
08.225 474
09.225 051
10.225 695
11.226 301
12.225 697
01.235 221
02.237 426
03.2311 457
04.234 653
05.235 130
06.234 404
07.234 402
08.234 582
09.234 884
10.234 477
11.234 863
12.234 346
01.243 938
02.246 703
03.2412 341
04.244 584
05.245 333
06.244 451
07.244 440
08.245 042
09.245 010
10.245 204
11.245 411
12.244 827
01.254 830
02.257 166
03.2511 306
04.254 796
05.256 674
06.256 127
07.256 035
08.256 119
09.254 695
10.254 468
11.254 526
12.254 505
01.264 181
02.265 666
03.268 682
04.263 706
05.263 752
06.262 868
Yandex vs Google over two years

Yandex grew from 566 visits in July 2024 to 2,575 at the March 2026 peak. Google lost half after the update. Betting on one engine is a risk, and diversification is how I remove it.

YandexGoogle
012к07.2410.2401.2504.2507.2510.2501.2604.26

Data: Yandex.Metrica, counter 42046359 · July 2024 · June 2026

Show data as a table
YandexGoogle
07.245663 858
08.246294 397
09.246494 337
10.246864 507
11.247884 607
12.241 0333 767
01.251 1913 614
02.251 4455 688
03.252 4218 860
04.251 1693 606
05.252 3084 342
06.252 0344 079
07.252 2463 762
08.251 9154 174
09.251 3443 313
10.251 2143 223
11.251 2383 274
12.251 3633 130
01.261 2292 934
02.261 6483 995
03.262 5756 076
04.261 1142 574
05.268222 907
06.268562 001
Krasnodarflora listing on 2GIS maps with a 4.8 rating
A public 4.8 rating across 99 votes on 2GIS. Local search brings orders past the classic results page, and it's part of the same system.

Honest status

What I'm not claiming yet: that traffic has grown. Positions start moving in month three after technical work, and the first checkpoint for this project lands in September 2026. Its numbers will appear here, whatever they are.

Questions, answered

Why publish a case study with falling traffic?

Because it's true, and because I sell a method, not fairy tales. The May 2026 Google update hit a huge number of stores. The difference is that I show, on my own numbers, what to do about it.

How is this case useful to me as a client?

You see how I work when my own money is on the line: diagnosis, priorities, technical work, content, local search. Client projects get exactly the same method.

What do honest ratings mean?

Scores on the store site are computed from confirmed orders. Faking reviews would have been easy, but it's a time bomb, and I offer clients the same principle.

Can these numbers be checked?

The store is public: krasnodarflora.ru. Reviews and map ratings on 2GIS and Yandex Maps are public too. The charts are built from a Yandex.Metrica export, the counter ID is right under them.

Want the same breakdown of your site?

I'll start with a free review: where you stand, what's holding you back, and what to fix first. No top-1-by-Friday promises.