If your online store is not growing in Google, the cause is usually structural rather than editorial. Filter URLs are eating the crawl, category pages carry three sentences of copy, product pages have no structured data and the whole catalogue depends on a marketplace listing you do not own. Writing more blog posts will not touch any of that.
This guide covers what moves organic revenue for a Malaysian e-commerce brand: the crawl and indexing decisions that come first, the two page types that carry the money, the schema Google needs to show your price and stock in the result itself, and the order to do it in when you have three thousand SKUs and one person on marketing.

Why e-commerce SEO is a different job in Malaysia
The market is large and it is not slowing. Malaysia's e-commerce income reached RM338 billion in the second quarter of 2026, up 2.9% year on year, according to the Department of Statistics Malaysia. Business-to-consumer transactions alone came to RM336.6 billion across the first nine months of 2025, on DOSM's own count.
The complication is where that demand goes. Shopee drew roughly 43.8 million monthly visits in Malaysia in July 2025 against Lazada's 11.4 million, by Statista's tracking. For most local brands, the marketplaces are the storefront and the brand site is an afterthought that exists mainly to look legitimate.
That arrangement works until it does not. On a marketplace you rent the customer, you compete on price inside the same grid as every importer undercutting you, and you cannot see who bought. Organic search on your own domain is the only acquisition channel where the traffic keeps arriving after you stop paying, and where the customer data is yours. It is slower to build and much harder to take away.
So the goal is not to leave Shopee. It is to stop being a tenant everywhere.
Where an online store leaks search traffic
Four leaks account for most of it, and they compound in sequence. Fixing the last one first is the standard mistake.
Fix the URLs before you write a word
Every filter combination on a store creates a URL. Colour, size, price band, brand, sort order, page number. Multiply those and a 400-product catalogue generates hundreds of thousands of crawlable addresses, none of which anyone searches for.
Google's own guidance on faceted navigation is unusually direct about the fix. Block the filter URLs in robots.txt, because "oftentimes there's no good reason to allow crawling of filtered items, as it consumes server resources". It also notes that Google does not support URL fragments in crawling and indexing, which makes #colour=black a safe way to build filters that never create a crawlable page. Canonical tags get a lukewarm mention as "generally less effective in the long term", and noindex is worse than useless here, because Google still has to request the page before it discovers the tag.
| Situation | What to do | Why |
|---|---|---|
| Filters nobody searches (sort order, price band, page 2 of 40) | Disallow in robots.txt, or build them as URL fragments | Stops the crawl waste at source |
| Filters with real demand ("black leather sofa", "size 12 running shoes") | Give them a real indexable URL with its own copy and title | These are category pages in disguise |
| Two filters that return the same products | Pick one URL, use & as the parameter separator, keep filter order consistent |
Google asks for the industry standard separator explicitly |
| A filter combination with zero products | Return an HTTP 404 | Empty pages otherwise index as thin content |
Google says crawl budget becomes a genuine concern for sites over a million pages that change weekly, or sites over ten thousand pages that change daily. A mid-size Malaysian store looks small until you count the filter URLs, at which point it is comfortably in the second category.
Do this first. Everything downstream is wasted effort while Googlebot spends its visits on ?sort=price_asc&page=37.
Category pages are the money pages
Search demand for products is almost never singular. People type "wireless earbuds Malaysia", not the model number, and the page that answers that is a category page. Most Malaysian stores treat category pages as a grid with an H1 above it, then wonder why a competitor with worse products outranks them.
A category page that competes carries four things: a heading that matches how people search rather than how your ERP is organised, 150 to 300 words of genuine buying guidance above or below the grid, internal links to the three or four sub-categories underneath it, and a short set of answers to the questions buyers ask before choosing. Not a keyword paragraph. Actual help.
The same page then feeds your paid channels, because a category page built to answer a buying question is also the best landing page for the ad that targets it. That overlap is the point of running the disciplines together rather than in separate silos, which is the argument we make in full in how to build a marketing system that compounds.
What a product page needs
Product pages have a second job beyond ranking. They have to give Google enough structured data to show price, availability and rating inside the search result, which is what makes a listing look real next to nine competitors.
Google splits product markup into two experiences. Merchant listings are for pages where the customer can buy from you, and they support shipping details, return policy and apparel sizing. Product snippets are for pages where they cannot buy directly, and they carry more review options. If you sell on your own site, you want the first, and adding its required properties makes the page eligible for the second anyway.
| Element | What it does | Common failure on Malaysian stores |
|---|---|---|
| Product schema (merchant listing) | Puts price, stock and rating in the search result | Missing entirely, or copied from a theme demo and never updated |
| Product variant markup | Tells Google which pages are variations of one parent | Every colour indexed as a separate competing page |
| Unique description | Gives the page something to rank for | Supplier copy pasted across four competing retailers |
| Real review content | Feeds the rating star and answers objections | Reviews loaded by a script Google never renders |
| Stock and price accuracy | Keeps the rich result from being suppressed | Schema says in stock, the page says sold out |
The variant problem is the expensive one. A shirt in six colours often exists as six URLs with near-identical content, splitting the ranking signal six ways and multiplying the crawl load. Google's product variant guidance exists precisely so you can mark them as one product with options.
When traffic arrives and nothing sells
Ranking is half the job. Baymard Institute puts the average documented cart abandonment rate at 70.22%, averaged across fifty separate studies, and that number has barely moved in a decade. Seven in ten people who add to cart do not finish.
Some of that is unavoidable browsing. A large share is not, and it is almost always the same short list: shipping cost revealed late, forced account creation, a checkout that takes eight fields when it needs four, or a product page that loads slowly on a mid-range Android over mobile data. That last one matters more in Malaysia than the global benchmarks suggest, because a meaningful share of shopping happens on phones outside Klang Valley network quality.
We wrote a fuller treatment of the diagnosis in why your website traffic isn't turning into sales. For an e-commerce brand the shortcut is this: fix the checkout before you buy more traffic, because every improvement upstream multiplies against a conversion rate you already control.
Where to start with 3,000 SKUs
You cannot optimise a full catalogue by hand and you should not try. Sequence it.
| Weeks | Work | What you should see |
|---|---|---|
| 1 to 2 | Crawl the site, fix robots.txt, block filter URLs, resolve variant duplication | Crawl stats in Search Console shift toward real pages |
| 3 to 5 | Build the top 10 category pages properly, one at a time | Impressions rise on head terms before clicks do |
| 6 to 8 | Roll out product schema across the catalogue, fix stock and price accuracy | Rich results start appearing for tested URLs |
| 9 to 12 | Rewrite descriptions for the top 50 revenue SKUs, fix checkout friction | Conversion rate moves on the pages that carry the revenue |
| Ongoing | One buying-guide article a fortnight, linked to the categories it supports | Long-tail traffic compounds from month four |
Two honest caveats. Organic results on a young or previously neglected domain take three to six months to show properly, so anyone promising movement in week two is selling you something else. And this sequence assumes your product range is competitive, because SEO makes a business findable rather than desirable.
There is one addition worth making now rather than later. Buyers increasingly ask an assistant for a shortlist before they open Google at all, and the sources those assistants quote are not always the ones ranking. That is a separate discipline from conventional SEO, and we cover the difference in SEO versus GEO in Malaysia. You can check what the assistants currently say about your brand with our AI Visibility Checker.
Frequently asked questions
How long does e-commerce SEO take to work in Malaysia?
Three to six months for meaningful movement, longer on a new domain. Technical fixes to crawling and schema show up fastest, sometimes within weeks, because you are removing an obstacle rather than building authority. Rankings on competitive category terms take the longest.
Should we sell on our own site or on Shopee and Lazada?
Both, with different jobs. The marketplaces give you volume and discovery you cannot match early on. Your own site gives you margin, customer data and a channel nobody can reprice or delist. Treat the marketplaces as distribution and the site as the asset.
How much does e-commerce SEO cost in Malaysia?
Meaningful ongoing SEO for a store usually runs from RM5,000 to RM12,000 a month, and more when the catalogue is large or the technical debt is deep. Our fuller breakdown sits in what you should pay a marketing agency in Malaysia.
Do we need to block all our filter pages?
No. Block the ones nobody searches for, which is most of them, and promote the handful with genuine demand into proper indexable category pages with their own copy. The decision is per filter, not site-wide.
Is product schema worth the development time?
Yes, and it is usually a one-off template change rather than per-product work. It is the difference between a plain blue link and a listing showing your price, stock and star rating while the competitor above you shows neither.
Will AI search replace e-commerce SEO?
It changes where the answer appears, not whether you need to be findable. The same structured product data, clear category pages and credible reviews that win in Google are what assistants read when assembling a recommendation.
The bottom line
Start with the crawl, then the category pages, then the schema, then the checkout. That order is not a preference, it is the sequence in which each stage limits the next, and most stores lose years by working it backwards.
If you want an outside read on where your store is leaking, talk to us. We run e-commerce SEO as part of an integrated team alongside website design and performance, because a store that ranks and does not convert is only half a result.