Skip to content
Smart Local

Guide

SEO seasonality: how to tell a quiet season from a real drop

SEO seasonality is the regular rise and fall in searches for your service through the year, and it can make a normal quiet month look like a failure. Before you judge any SEO work, compare the same weeks last year and check whether demand itself moved. This guide shows how to name your pattern, do the arithmetic in a spreadsheet, and set targets that expect the season instead of fighting it.

Peter Moriarty, Smart LocalUpdated

Seasonality, trends and one-offs: name the pattern first

Seasonality is a change in demand that comes back at about the same time every year. Google's guide to debugging traffic drops lists it as one cause of falling traffic: changes in behaviour can change the demand for certain queries "due to a new trend, or seasonality throughout the year", and different industries have different levels of seasonality.

Most local services run on a calendar of some kind. Say you run a pest control business in Caloundra. Searches for your services probably climb as the weather warms and ease off in the cooler months. A tax agent's busy weeks sit around the end of the financial year instead. Both are seasonal, but they don't share a shape, and the shape decides which comparison is fair.

Two other things look like seasonality on a chart and aren't. A one-off event, such as a hailstorm or a local news story, lifts searches for a week or two and doesn't return next year. A trend is a lasting shift that carries across years, such as a new product people have only started searching for. Work out which one you're looking at before you judge the work. The table sorts the common shapes, with illustrative local examples.

PatternWhat it looks likeIllustrative local exampleFair comparison
Weather-driven, over several monthsA slow climb and fall that repeats each yearPest control, pool care, air conditioning servicingThe same months last year, and the year before if you have it
Fixed-date eventA spike around a date that stays put each yearEnd of financial year for tax and bookkeeping, Christmas closuresThe same dates last year, lined up by weekday
Moving-date eventA spike that lands in different weeks each yearEaster and school holiday trade, long weekendsThe event weeks against last year's event weeks, not the same calendar month
Peak and taperA sharp rise on a known date, then a slow fadeA pre-Christmas cleaning or gift rushWeeks counted from the start of the peak in each year
Constant fluctuationUps and downs with no yearly repeatEmergency work such as burst pipes or lockoutsLonger windows, such as a rolling quarter against the same quarter last year
One-off eventA spike or dip that doesn't come backA storm week, a road closure, a news storyAnnotate it and compare the weeks around it instead
TrendA level that keeps rising or falling across yearsA new service people have only started searching forA rolling 12-month total, which contains every season once

Pick comparison windows that actually match

This month against last month mostly shows you the season. To judge the work, compare with the same weeks last year. Search Console does this out of the box: Google's traffic-drop guide points to the Compare tab and options such as "Compare last 3 months year over year", and to the Last 16 months view, to check whether a drop "happens every year due to a festivity or a trend".

These rules line the windows up, and the table after them matches common questions to a fair comparison.

  • Compare whole weeks. The same date a year apart falls on a different weekday, so compare week with week. Google's December 2025 announcement of weekly and monthly views in Search Console says switching to them stops misaligned weekends from muddying a comparison of two periods.
  • Know how your analytics tool lines up dates. Google Analytics Help says the "Previous year (match day of week)" comparison has been removed from GA4, and its "Previous year" option compares the same date range last year. So a GA4 year-on-year view of enquiries matches dates, not weekdays. Read it as weekly totals, or check both ranges hold the same count of each weekday.
  • Move the window with Easter. Queensland's public holiday list puts Good Friday on 3 April in 2026 and on 26 March in 2027. So March 2027 against March 2026 compares a month with Easter against a month without it. Compare the Easter weeks with each other instead.
  • Watch the long weekends. Queensland holds Labour Day on the first Monday in May and the King's Birthday on the first Monday in October, so each one can fall in a different reporting week from last year.
  • Compare peak with peak and quiet with quiet. A slow month set against a busy one tells you nothing about the work.
The question you're askingWeak comparisonFairer comparison
Did the new service page help?This month against last monthThat page group against the same weeks last year, with demand checked
Was Easter good or bad?March against last MarchThe Easter weeks against last year's Easter weeks
Is this winter worse than usual?June against JanuaryJune against last June, and the June before if you have it
Are enquiries really down?This quarter against last quarterThe same weeks last year, counted with the same tracking setup
Did a Google update hit us?The month after against the month beforeWait at least a full week after it finishes, then compare with the week before it started, as Google's core update guidance suggests

Measure demand separately from your visibility

Search Console impressions blend two things: how many people searched, and how often Google showed you. To split them, you need a demand line your own work can't move. Google's guide suggests filtering the Performance report to one query at a time, then checking that query in Google Trends to see whether a drop was only on your site or across the web.

Where to find that line, plus two checks to run beside it:

  • Google Trends. Set the location to Australia or your state and compare this year with last year for your main service terms. Google's Trends help says its quick comparison chips add a historical reference line to the timeline, to help you see whether a spike is unusual or part of a regular seasonal cycle. The numbers are relative, so read the line for its shape.
  • Keyword Planner, inside Google Ads. Google's help says average monthly searches show how popular a keyword is at different times of the year. It also says the figures are rounded and that keywords with very low search volumes can't be found or forecast, so suburb-level terms can come back empty. Use the regional figure.
  • Your own reference queries. In Search Console, pick queries where your average position barely moved between the two periods. If their impressions fell, the market fell.
  • Look at the results page itself. Search Console Help defines an impression as someone seeing a link to your site, and average position as a relative ranking where 1 is the top. Neither tells you what else sat above you. Search your main terms from your service area in a busy week and a quiet one, and note the ads, the map pack and any AI Overview above the organic results. If the page gets busier at the peak, clicks can lag impressions while your position holds.
  • Track the enquiry rate on its own line. Enquiries per click can move with the season too, because a searcher in a busy week may be ready to book while one in a quiet week is still comparing. The job mix can shift as well, such as more inspections and fewer treatments. Divide enquiries by organic clicks for each window and compare that rate year on year before you blame the website. The guide to call tracking and conversion reconciliation covers counting enquiries reliably.
Floating analytics dashboards with line, bar and donut charts above a glowing podium, the kind of side-by-side view used to set your own numbers against a market demand line

Log every change with a date

Seasonality is only half the picture. Other changes land in the same weeks, some made by you and some not, and without dates you can't pull them apart. Search Console has custom annotations for this. Google's November 2025 announcement says you right-click the performance chart, choose "Add annotation" and write a note of up to 120 characters against a date. Everyone with access to the property can see them, so keep personal details out.

Give each entry a date, the page group or profile it touched, and one line on what changed. If an entry needs more room than 120 characters, keep the detail in a shared spreadsheet and put a short pointer in the annotation. What belongs in the log:

  • Website changes: new or merged pages, rewritten titles, template updates and migrations.
  • Business Profile changes: categories, services, hours and photos.
  • Paid activity. Google's Business Profile help says profile performance data includes views, searches and actions from both organic results and Google Ads, so an ad push shows up in your profile numbers too. The guide to paid search versus organic lead attribution covers the split.
  • Bidding changes for the season. Google Ads Help says Smart Bidding already manages seasonal events, and describes seasonality adjustments as a tool for short events of 1 to 7 days. If anyone sets one, log the dates, because it changes paid traffic in that window.
  • Google's own changes. The Search Status Dashboard lists ranking updates with their start dates and how long they ran. Its May 2026 core update began on 21 May and ran for just under 12 days, so it sits in late May and the first days of June, and any year-on-year comparison of those weeks next year carries it. Its June 2026 spam update began on 24 June and ran for about two days, and its September 2026 spam update began on 24 September.
  • Outside events, such as a storm that sends searches up or a week the phones went unanswered.

Calculate seasonality and read a change in five steps

The simplest measure is a seasonal index. Take a full year of monthly figures for one page group, such as Search Console impressions or tracked enquiries. Work out the monthly average, then divide each month by it. A month at 1.4 runs 40 per cent above a normal month, and a month at 0.6 runs 40 per cent below. With two or more years, average each month's index across the years so one odd year doesn't set the shape.

To take the season out of a single month, divide its figure by that month's index. For illustration: 600 impressions in a month with an index of 0.6 is the same as 1,000 in an average month. That lets you set a quiet month beside a busy one on equal terms.

Then compare your change with the market's. Your year-on-year change is this year's figure divided by last year's, minus one. Do the same for your demand line. In an illustrative case where the market fell by 10 per cent and you fell by 10 per cent, you held your share. If you fell by 25 per cent, about 15 points of that drop is yours to explain. Trends data is relative and sampled, so treat a gap of a few points as noise.

With the arithmetic ready, work through these steps in order and write down the answer to each before you move on. The table after the steps shows the patterns you'll usually meet at step three.

  1. Set the window: the same whole weeks last year, with holidays lined up.
  2. Check demand for both windows in Google Trends, Keyword Planner or your reference queries.
  3. Compare your change with the market's. If demand fell and you fell by about the same, you held your ground. If you fell further, something else is going on.
  4. Open the change log for the window and the weeks before it. Google's SEO Starter Guide warns that a change can show up within hours or only after months, so an older entry may be the one that counts.
  5. Write a one-line verdict (demand, visibility or conversion) and one next action with a date.
What you seeLikely readingCheck next
Impressions down, average position steady, demand down by a similar amountSeasonal dipLast year's same weeks; no fix needed
Impressions down, demand flatYou lost visibilityWhich pages lost positions, and what your change log shows for those weeks
Impressions up, clicks flat, position steadyMore searches, but your listing isn't earning the clickWhich queries grew, what now sits above you on the results page, and your titles
Clicks steady, enquiries downThe leak is after the click, or the enquiry rate has a seasonal shapeLast year's enquiry rate for the same weeks, then send a test form and call your tracked number
Rolling 12-month total rising or falling for several monthsA trend, separate from the seasonWhether the market's line moved the same way over the same months

Worked example: termite pages through a Queensland winter

This case is invented to show the method, and every number in it is illustrative. Say that pest control business in Caloundra sees impressions on its termite pages fall from around 1,400 in March to 630 in June. Month on month, it looks bad, and the owner is ready to pull the plug.

Step one sets the window: June this year against June last year, read as weekly totals so both months hold the same weekdays. Step two checks demand. Google Trends for termite inspection terms in Queensland shows a similar cool-season dip in both years, with the June line a little lower this year. Trends scales each chart from 0 to 100 for the place and time range you set, so both Junes are read from one chart whose range covers both years, not from two separate one-year searches.

Step three does the arithmetic. Last year the termite pages averaged 1,000 impressions a month and June had 600, so June's index is 0.6. This June's 630 impressions are 5 per cent up on last June, while the Trends line is about 5 per cent down. So the pages gained about 10 points against the market, with average position steady.

Step four opens the log. A new termite inspection page went live in April, the May 2026 core update ran from late May into the first days of June, and the June 2026 spam update ran from 24 June, inside the June window itself. Any of the three could sit behind the gain, or none. Step five writes the verdict: seasonal demand, with a small gain in share. Next action: watch the new page closely once the warm months return, and compare it with its own first season then.

Notice what the example can't prove. The log says the new page and the gain arrived around the same time, not that one caused the other. If you need that answer, design a local visibility experiment with a control group instead.

The same index fixes the targets. Say the business logged 120 organic termite enquiries last year, with 6 in June and 18 in December, and wants 132 next year. A flat target of 11 a month would mark every winter month a failure. Using last year's shape, June is 5 per cent of the year, so its target is about 7, and December's 15 per cent gives about 20. The year adds up to the same 132, and each month gets judged against its own season.

Illustrative measureLast JuneThis JuneReading
Termite page impressions600630Up 5 per cent
Average position6.15.9Steady
Google Trends interest, Queensland (relative)4038Down 5 per cent
Organic termite enquiries67Too few to read on their own
A laptop showing a generic website and search bar beside a magnifying glass and a rising bar chart, representing a small year-on-year gain read against the market

Plan the year around your season

Once you can see the pattern, it tells you when to do the work. Seasonal planning belongs in any local SEO plan, right next to the pages and profile work, and it shapes how long results take to show, as the guide on how long local SEO takes explains.

The calendar below is a template for an Australian local business, not a forecast. Fill the middle column from your own Trends and Search Console history, because two businesses in the same suburb can have different peaks.

Then tie each review to a point in your season, as in the cadence below. The guide on how to review a monthly SEO report covers the rest of the report.

  • Monthly: compare the same weeks last year against your demand line, with the change log open.
  • Each quarter: look ahead to the next peak. Pull last year's index for it and decide which pages and profile items need work before the climb. Google's SEO Starter Guide suggests waiting a few weeks to judge whether a change helped, so work done at the peak gets judged after it.
  • Before the season: refresh recurring seasonal pages on the same URL instead of publishing a new page each year. A new URL starts with no history in your reports and splits links between two pages. Confirm your special hours too: Google Business Profile Help says special hours cover holidays and closures of up to six days in a row, and suggests confirming hours for official holidays even when they don't change.
  • In the quiet season: fix weak pages, answer the questions off-season customers ask, keep asking recent customers for reviews (the Google review strategy guide covers how), and work through the Google Business Profile audit checklist. Keep tracking and the change log running, because pausing muddies next year's comparison.
  • After the season: write down when the peak started and ended, how your share compared with the market, and what changed. That note is next year's starting point.
  • All year: keep your own copy of the data. Search Console's Performance report goes back 16 months, and Google's traffic-drop guide notes you can use the Search Analytics API or bulk data exports to store more.
PeriodWhat can shift for local servicesWhat to check in your own data
December and JanuaryChristmas and New Year closures and summer holidays, with non-urgent jobs often put offSpecial hours set for each public holiday; these weeks against last year's same weeks, not against November
Late March to April, moving each yearEaster and the term 1 school holidays, which Queensland's Department of Education lists as 3 to 19 April in 2026 and 26 March to 11 April in 2027Holiday weeks lined up year on year and annotated in Search Console
JuneEnd of financial year on 30 June, when tax, bookkeeping and some purchases bunch upWhether your own index shows an end-of-year bump, or none at all
Winter monthsIndoor, heating and damp jobs can rise while outdoor work slowsYour June to August index against the year before
SpringOutdoor, garden and pre-summer servicing work can start to buildThe week last year's climb began, so pages are refreshed before it
Storm weeksSudden spikes in repair, roofing, electrical and tree workMarked as one-off events and kept out of next year's targets

Common questions

What is a simple definition of seasonality?

Seasonality is a pattern in demand that repeats at about the same time each year. For a local business it shows up as busy and quiet months for searches and enquiries. The key word is repeats. A spike that happens once, like a storm week, isn't seasonal, and neither is a slow rise that carries on across several years. You need at least two years of data before you can call a pattern seasonal with confidence.

Can you give me an example of seasonality?

Picture a hypothetical pool care business in Mackay. Searches for pool services would likely climb as the weather warms and ease through winter, then do the same the next year. A bookkeeper sees a different shape: enquiries bunched around the end of the financial year on 30 June. Both are seasonal because the pattern returns each year. The fair comparison for each is the same weeks last year, not last month.

What is the difference between trend and seasonality?

Seasonality repeats on the calendar, while a trend keeps going. If searches drop every winter and recover every spring, that's seasonal. If each year's total is higher than the last, that's a trend. To separate them, add up the latest 12 months and recalculate that total each month. It contains every season once, so if it climbs, the trend is up, whatever month you're in.

Can you give me an example of seasonal marketing?

Say a hypothetical air conditioning installer in Townsville knows from two years of data that enquiries build before the hot months. Seasonal marketing means acting on that early: refreshing the cooling page on its existing URL, posting about pre-summer servicing on the Business Profile, asking recent customers for reviews and testing the booking form. The work lands before the peak, so it can be judged against last year's same weeks.

How many years of data do I need to see seasonality?

Two full years lets you average each month's index, so one odd year doesn't set the shape. Search Console only keeps 16 months, so start saving your own exports now if you want that history. If your site is newer, borrow the market's shape from Google Trends with a custom time range covering several years, and treat your own year-on-year numbers as provisional until a second season has passed.

Can Google Trends tell me how many people searched?

No. Trends shows relative interest on a 0 to 100 scale, worked out by dividing searches for a term by all searches in that place and time. Google's Trends FAQ says it uses only a sample of searches, that regions with the same score don't always have the same search volume, and that low-volume terms show as zero. For rough counts, use Keyword Planner or your own Search Console impressions.

My competitor is flat out while I'm quiet. Is that seasonality?

Probably not, if you serve the same customers in the same area. Seasonality moves the whole market, so it should hit you both. Check what you can see directly: whether they show in the map pack for your main terms from your suburbs, and how fast their review count has grown. Third-party tools only estimate a competitor's traffic, so treat those figures as rough, then check your own change log.

Can I compare with last year if my website changed a lot?

Yes, with care. A redesign or URL change alters what's being measured, so compare page groups rather than whole-site totals, and annotate the date the change went live. Where a page didn't exist last year, use Google Trends or Keyword Planner as its baseline instead of your own history. The guide to a website migration and SEO handover covers keeping the data clean through a move.

Keep exploring

Want the phones ringing?

Tell us your suburb and your trade. We'll show you which searches and suburbs we'd target first.