Tulip festival SEO case study: three in four clicks were non-branded
What we built for a Canadian tulip festival, and what one bloom season returned.
What we built for a Canadian tulip festival, and what one bloom season returned.
A family-run tulip festival in Canada. Bloom season of roughly three weeks across late April and early May. One season of work, measured against the season before it.
| Metric | Before | After |
|---|---|---|
| Average position, mobile | 9.21 | 4.82 |
| Average position, desktop | 36.95 | 15.31 |
| Average position, non-branded queries | 8.04 | 4.62 |
| Organic click-through rate | 2.88% | 5.49% |
| Google Business Profile views | 13,149 | 43,568 |
| Mobile Maps views | 3,106 | 13,966 |
Rankings and click-through from Google Search Console, 30 March to 29 July, both seasons. Local views from Google Business Profile statistics, 30 days to 23 April, both years.
Their existing website ranked. The trouble was what it ranked for.
Search the festival by name and it came up first. Search for a tulip farm in the region, or a spring day trip from the nearest city, or a tulip festival near me, and the results belonged to somebody else.
That gap is the whole business.
Your own name only reaches people who already know you exist, which makes branded search a record of last year's visitors rather than a source of new ones. Every other search was demand the festival had earned by growing the flowers, handed to a result they didn't own.
A full SEO audit and rebuild ahead of the season. Unique H1s on every page. Corrected heading hierarchy. Rewritten title tags and meta descriptions. Broken Open Graph URLs fixed. Stale tags from the previous season removed. Schema added. Thin pages expanded into pages worth ranking.
A new mobile-first property aimed at demand the original domain was never positioned to reach. Pages for the province, for the nearest major city, for the day trip out from it, plus tickets, FAQ, map and directions, and bloom updates.
The bloom update page carries more weight than it looks. It answers the highest-intent question anyone asks about a tulip farm, and most farms answer it on social only, where it reaches the people already following them and stays invisible to everyone else.
Categories, photos, hours and local signals, handled before the season opened rather than during it. For a venue whose customers decide on a phone in the car, this is the highest-leverage surface there is. More on how we work the Map Pack.
The original site carried more authority, so we pointed it at the new site's ticket pages and moved that strength where it could convert.
Connected to the FAQ and to transportation partners, so the questions that arrive at ten at night got answered at ten at night.
Site-wide average position on mobile went from 9.21 to 4.82, a gain of about 4.4 places. On desktop it went from 36.95 to 15.31, a gain of roughly 21.6 places.
Individual pages moved further. The pick farm page went from 17.49 to 7.44. The buy tickets page went from 10.99 to 6.36, which put it inside the top seven results for the season it needed to sell.
Combined organic click-through rate across both properties went from 2.88% to 5.49%.
That's the same impressions doing close to twice the work. Better titles, better descriptions, better positions, and pages that matched what the searcher was actually asking.
Non-branded queries improved from an average position of 8.04 to 4.62 while holding click-through rate flat at 9.9%.
Ranking gains without a drop in click rate is the pattern you want. It means the extra visibility brought the right people, not just more people.
Google Business Profile views over the 30 days to 23 April went from 13,149 to 43,568.
Mobile Maps views alone went from 3,106 to 13,966. Mobile search views went from 5,993 to 19,037. That's the person searching “tulip farm near me” on a phone, deciding where to spend a Saturday — and for a venue like this one, that surface does more work than either website.
A domain with no history, live for its first bloom, pulled 4,152 organic clicks from 162,522 impressions across 18,338 sessions.
75.6% of those query clicks were non-branded. Three in every four people arriving from search had typed something that never mentioned the festival by name — a tulip farm near a city, a spring day trip, somewhere to take the kids in May. That is the whole point. This wasn't intercepting an audience they already had. It was new demand.
Three of the top four pages by clicks were built that year specifically for search. The ticket page pulled 1,316 clicks from 30,774 impressions. The nearest-city festival page pulled 946 from 33,178.
| Metric | Season one |
|---|---|
| Organic clicks | 4,152 |
| Impressions | 162,522 |
| Sessions | 18,338 |
| Non-branded share of query clicks | 75.6% |
Clicks, impressions and non-branded share from Google Search Console for the new property, season one. Sessions from analytics for the same window.
The existing domain performed in its immediate area. Festival searches in the nearest metro sat outside that range, and a second property built for them picked up traffic the first was never positioned to win.
Day trip. Directions. FAQ. Bloom status. Not brochure pages. Pages that match what somebody types while they're deciding whether to get in the car. That's the organic search work.
A new domain has no history and needs time to be indexed and trusted. Going live weeks ahead of bloom rather than during it is the only reason there was anything to measure by May.
Your own name isn't a growth channel.It's a record of who already knows you. Check it in a minute. Search your business name, then search what you do plus your county, and see whether both return you.
Strip your own name out before you read a report.Search Console will filter branded queries out for you. Whatever is left is your actual reach — the people who found you without knowing you existed. On most seasonal accounts that number is far smaller than the headline suggests.
Your map listing is where the decision gets made.Local views here more than tripled in one season, and mobile Maps views more than quadrupled. Most operators treat that listing as an afterthought they update once a year.
A second property can reach demand your main site can't.Not always the right call, but when your target market sits outside the range your domain performs in, it's the fastest way to reach it.
None of it can start when your season does.The work that filled a three-week spring bloom was built the previous autumn. That timeline is identical for a pumpkin patch, a corn maze or a Christmas light show.
Months, not weeks. Google needs time to index new pages and build enough trust in a domain to rank it. For a spring bloom that means building in autumn. For a fall season it means building in spring.
Usually you don't need to. Here the existing domain performed well in its immediate area and the target demand sat in a different market. A second property built around location pages reached searches the first wasn't positioned to win.
It has a job, but it's a poor primary channel. Social reaches people who already follow you. Search reaches people who don't. On this account three of every four clicks to the new site came from queries that never mentioned the festival by name — an audience social had no way to reach.
Bloom updates, on your own website, on a permanent URL, updated through the season. It's the highest-intent question anyone asks about your farm. Posting it only to social means it reaches people who were already coming.
Here its views more than tripled in a single season, and the mobile Maps views behind that number more than quadrupled. For any venue where the decision gets made on a phone within driving distance, the map listing is usually the most valuable surface you own and the most neglected.
The structure does. Compressed season, local search decided on a phone, a business that ranks for its own name and nothing else. Pumpkin patches, corn mazes, orchards and light shows have the same shape with different dates.
Twenty minutes, and you leave with a written plan whether you hire us or not. We'll show you what you rank for now, what your nearest competitor ranks for, and which of the two is winning the searches that fill a weekend.
Month-to-month, always. No contract running through your season.