It is early November. Someone in a planning meeting says the words "Harbolnas campaign," and a project brief goes out to the team.
Design starts on the landing page. Copy gets written. The page goes live on the first of December, eleven days before the peak.
It ranks for nothing. It was always going to rank for nothing, and everyone in that meeting could have known.
The Timeline Problem in One Sentence
Google needs weeks to crawl, evaluate and rank a new URL. Your campaign gives it eleven days.
That is the entire issue. Everything else in this article follows from it.
A new page enters an evaluation period. Googlebot finds it, indexes it, tests it against a small slice of queries, watches how users respond, and only then decides where it belongs. For a competitive commercial term on a page with no history and no inbound links, that process runs somewhere between six weeks and three months.
Launch on December first and the algorithm reaches its verdict in late January, about six weeks after anyone stopped searching.
When to build, against when it matters
A December campaign is an August decision. Everything after October is execution, not optimization.
Harbolnas Is Not a Day Anymore
Most brands still plan around 12 December, because that is the date everyone remembers. It stopped being accurate two years ago.
Since 2024, the Indonesian E-Commerce Association has run Harbolnas across seven days, from 10 to 16 December. Local product promotions occupy 10, 11, 13, 14, 15 and 16 December. The general promotion sits alone on the twelfth.
That structural detail changes the content strategy underneath your campaign. You are no longer optimizing one landing page for one day of extreme traffic. You are optimizing for a week of sustained elevated demand, with a spike in the middle, and different product categories peaking on different days.
A page built for "promo 12.12" leaves six days of demand on the table.
The double-date creep
Harbolnas borrowed its format from Singles' Day in China, and Indonesian marketplaces have since colonised every repeated-number date on the calendar. 9.9. 10.10. 11.11. Some platforms now run a promotional event monthly.
Each of those generates its own search demand, smaller than December but real, and each one arrives with the same six-week ranking lag as the last.
Ramadan Runs on a Calendar That Moves
Here is where planning gets harder, and where most annual marketing calendars quietly fail.
Ramadan follows the Hijri calendar. It shifts roughly eleven days earlier each Gregorian year. In 2026 it began in mid-February. In 2027 it is expected around 8 February, though the Ministry of Religious Affairs confirms the date only after the Sidang Isbat, close to the month itself.
So the campaign you built for last Ramadan sits at the wrong point in your content calendar this year. If you scheduled content production for December, expecting a March Ramadan, you are now producing for a month that already started.
The categories that spike are consistent even when the dates are not. Fashion, particularly modest wear. Hampers and gift sets. Groceries, especially in the two weeks before Idulfitri. Beauty and personal care. Home goods, as households prepare for visitors.
Working backwards from three moments
Ramadan
Moves eleven days earlier annually. Build content 90 days out. Confirm the exact date from Sidang Isbat, but do not wait for it before publishing.
Harbolnas, 10 to 16 December
Seven days, not one. Build in August. Different categories peak on different days within the window.
Double dates, 9.9 through 12.12
Smaller but recurring. One evergreen page can serve all of them if the URL avoids naming a specific event.
The lead time is the same in every case. Only the target date moves.
The URL Decision That Compounds or Resets
This is the mistake that costs the most and gets noticed the least.
Marketing builds a campaign page. The URL reads /promo-harbolnas-2026. It performs reasonably. In January it is archived, and the following August someone builds /promo-harbolnas-2027.
Every link that pointed at the 2026 page, every scrap of ranking authority it accumulated over its short life, stays with a URL nobody visits again. The new page starts from nothing, exactly as its predecessor did, and will be abandoned in the same way.
Three years of campaign work, three orphaned URLs, zero accumulated authority.
Use /promo-harbolnas with no year in the string. Update it annually. It compounds. By the third year it carries three years of links and behavioural signals into a market where every competitor is starting fresh.
The same applies to /ramadan-sale, /promo-lebaran, and every recurring event you will run again.
What to do with last year's content
Do not delete it. Update it in place.
Change the dates, refresh the product selection, revise the offers. The page keeps its history, and Google reads content freshness on a URL it already trusts rather than evaluating a stranger from scratch.
What Actually Gets Built, and When
Ninety days out, three things need to exist.
The ninety-day build
Evergreen campaign URL
Live, indexed, no year in the path. Even a placeholder version starts accumulating trust.
Category pages, enriched
Generic commercial terms live here, not on the campaign page. "Hampers lebaran" is a category, not a promotion.
Buying guides, published early
Research-stage content ranks before transactional pages do. It captures demand while shoppers are still deciding what they want.
Notice that only one of these is a campaign asset. The other two are permanent, and they carry the campaign.
Category pages deserve particular attention here. Google favours them for generic commercial queries because a shopper searching "hampers lebaran" wants to browse options, not land on a single product. Category pages enriched with unique content rank up to 2.7 times higher than those relying on filter text and manufacturer copy.
That is a permanent asset improving every seasonal peak, forever, and it does not care what date Ramadan falls on. It is core ecommerce SEO work, not campaign work, which is exactly why it tends to be nobody's job.
The Intraday Detail Almost Nobody Plans For
Search interest during mega-sale events does not distribute evenly across the day. It concentrates, sharply, in specific windows aligned to marketplace flash sale schedules, with heavy activity through late morning into early afternoon.
Your organic rankings cannot respond to that. They are what they are on the day.
But your on-page elements can. Stock indicators. Countdown timers. Price displays. If your product page shows stale pricing during the window when demand peaks, the shopper leaves and buys from the marketplace listing that showed accurate information.
This is the point where technical SEO stops being about rankings and starts being about whether the ranking converts.
What This Looks Like If You Start Today
Open a calendar. Find your next peak.
Count backwards ninety days. That is when the page needs to exist, not when the campaign brief circulates.
If that date has already passed, you have two options. Publish anyway, accept that this year is a data-gathering exercise, and let the page mature for next year. Or lean on your category pages and buying guides, which already rank, and route campaign traffic through them.
Both are reasonable. Building a fresh URL three weeks before the peak and expecting it to rank is not.
Meanwhile, an increasing share of seasonal shoppers now bypass search entirely and ask an AI assistant what to buy for Lebaran. Adobe Digital Insights tracked a 4,700 percent year-on-year rise in AI-referred traffic to retail sites, and Adobe Analytics found that traffic converting 42 percent better than traditional organic visitors in the first quarter of 2026. Those shoppers arrive with two or three brand names already in mind.
Whether yours is among them is decided by Generative Engine Optimization work, which runs on structured data and third-party consensus rather than campaign timing. It is a different discipline with the same uncomfortable property: the work happens months before the result appears.
I wrote about seasonal planning and the Indonesian retail calendar in Found Before They Search, mostly because I kept having the same November conversation with brands who had already run out of time. The companion volume, Cited or Silent, covers the AI citation side. Both are free as gated editions, and both are published in paperback and hardcover and listed on Google Play Books and Apple Books.
Frequently Asked Questions
How early should we start SEO preparation for Harbolnas?
Ninety days. For a December peak that means August or early September. Google needs weeks to crawl, evaluate and rank a new URL, and for competitive commercial terms on a page with no history that process typically runs six weeks to three months. A page published in early December will settle into its ranking in late January.
Is Harbolnas still a single day?
No. Since 2024 the Indonesian E-Commerce Association has run it across seven days, from 10 to 16 December, with local product promotions on the surrounding days and the general promotion on 12 December. Optimizing for a single date leaves six days of elevated demand unaddressed.
Should campaign URLs include the year?
No. A URL like /promo-harbolnas-2026 is abandoned in January, taking every link and every scrap of accumulated authority with it. Use /promo-harbolnas without a year, update the content annually, and let it compound. By the third year it carries three years of signals into a market where competitors restart every season.
How do we plan for Ramadan when the date moves?
Ramadan follows the Hijri calendar and shifts roughly eleven days earlier each Gregorian year. Build content ninety days before the expected start rather than waiting for the Sidang Isbat confirmation, which arrives too close to the month itself. The categories that spike stay consistent even when the dates do not.
Should seasonal content live on the campaign page or the category page?
Both, doing different jobs. Generic commercial terms belong on category pages, which Google favours for browse-and-compare queries and which rank up to 2.7 times higher when enriched with unique content. The campaign page handles the offer, the urgency and the conversion. One is permanent. The other is seasonal.
What if we have already missed the ninety-day window?
Publish anyway and treat this cycle as preparation for the next one, letting the page mature. Alternatively, route campaign traffic through category pages and buying guides that already rank. What does not work is building a fresh URL three weeks before the peak and expecting it to compete.
Sources & References:
- Indonesian E-Commerce Association (idEA) - official Harbolnas schedule, seven-day format since 2024.
- Kementerian Agama Republik Indonesia - Sidang Isbat process for confirming the start of Ramadan.
- Adobe Digital Insights - AI-referred traffic growth to retail sites, year on year.
- Adobe Analytics - AI referral conversion premium against traditional organic traffic, Q1 2026.
- Category page ranking multiplier from cross-referenced technical SEO benchmarking, 2026.
- Arfadia Digital Indonesia - State of SEO Indonesia 2026. arfadia.com/resources
- Arfadia Digital Indonesia - Digital Marketing Benchmark Indonesia 2026. arfadia.com/resources