SEO Lesgo Media · 2026
- 2.5sLCP target
- 200msINP target
- 0.1CLS target
Technical SEO gets sold as a developer job, and half of it is. The other half is checking, and an owner or a marketing executive can do that in an afternoon without touching code.
The point is not that you fix everything yourself. It is that you walk into the next conversation with your developer holding a list of specific broken things instead of a complaint that the site feels slow.
The checklist runs in order of damage: the first items can remove your site from Google, the last ones cost a little crawl efficiency.
The three free tools you need before you start
Nothing below requires paid software. Semrush and Ahrefs make it faster, and neither is needed to find the faults.
| Tool | What it answers | Cost |
|---|---|---|
| Google Search Console | Is the page indexed, which pages Google skipped and why, sitemap and hreflang errors | Free, one-time setup |
| PageSpeed Insights | Core Web Vitals from real Chrome users, plus the files slowing the page | Free, no login |
| Rich Results Test | Whether your structured data is valid and what it qualifies for | Free, no login |
| Browser view-source | Canonical tags, hreflang tags, meta robots | Free, installed |
If Search Console is not set up on your domain, stop and set it up first. Nothing else here is worth doing while you are guessing at what Google sees. Verification takes a developer about ten minutes through DNS or your hosting panel, and it is a one-off job.
Every check carries a tag for who fixes it. Marketing means someone comfortable in the WordPress dashboard. Developer means server access or theme code.
Checks 1 and 2: indexation and Search Console coverage
A page that is not indexed cannot rank. This is the only failure on the list that takes your traffic to zero, so it goes first.
- Site search. Search Google for site:yourdomain.com and compare the count against how many pages you think you published. A gap of ninety percent means something is blocking Google.
- URL Inspection. In Search Console, paste your five most important URLs into the inspection bar one at a time. You want the words URL is on Google. Anything else names its own problem.
- Pages report. Open Indexing, then Pages, and read the Not indexed reasons. Crawled but currently not indexed usually means thin content. Excluded by noindex tag means someone left a switch on.
How bad is it: critical. The most common cause is a staging site that went live with WordPress still set to discourage search engines. Settings, then Reading, then untick the box. That one tick has cost businesses whole quarters of traffic. Who fixes it: marketing for the WordPress setting, developer if a server rule is doing it.
Checks 3 and 4: sitemap and robots.txt
Your XML sitemap lists the URLs you want crawled. Your robots.txt lists the paths you do not. Between them they tell Google where to spend its time.
Load yourdomain.com/sitemap_index.xml in a browser. Yoast and Rank Math both generate one automatically. Check that the URLs listed are the live versions, not old HTTP or non-www ones, and that deleted pages are gone.
Then load yourdomain.com/robots.txt. The line that ends careers is Disallow: / with nothing after it, which asks every crawler to ignore the whole site. Confirm your sitemap is referenced there on a Sitemap: line.
Then submit the sitemap under Sitemaps in Search Console and read the status.
How bad is it: a broken robots.txt is critical. A missing sitemap is minor for a fifty-page site and serious for a shop with two thousand product URLs. If you are still planning the build, settle both before launch. Who fixes it: marketing for the sitemap plugin, developer for robots.txt.
Check 5: canonical tags and the duplicate URLs WordPress creates
WordPress is generous with URLs. One article is reachable through the post URL, a category archive, a tag archive, an author archive, a date archive, and any URL carrying a tracking parameter. Google then picks one.
The rel=canonical tag tells it which. Google treats this as a strong signal rather than an order, and says to use absolute paths rather than relative paths, with a self-referential canonical on the canonical page itself.
To check, open any post, view source, search for canonical. It should point at that page with the full https address. Add ?fbclid=test, reload, and look again. It should not have changed.
The short version
- Self-referencing canonical on every indexable page, absolute URL.
- Tag and date archives usually deserve noindex.
- Tracking parameters must not change the canonical.
- Never canonicalise a Malay page to its English twin.
How bad is it: moderate to serious. Signals split across four versions of a page means none of them ranks. Who fixes it: marketing, through Yoast or Rank Math, or a developer if the theme hardcodes canonicals.
Checks 6 and 7: HTTPS, mixed content and mobile rendering
HTTPS is settled. If your site still loads on plain HTTP, browsers mark it Not secure and conversion drops before ranking enters the argument. Most Malaysian hosts include a free Let’s Encrypt certificate, so the cost argument is gone.
The subtler failure is mixed content: the page loads over HTTPS but pulls an image, script or font over HTTP. Press F12, open the Console tab, and look for mixed content warnings. On WordPress this usually comes from old image URLs left in the database after a migration.
For mobile, resize your browser to phone width and use the site as a customer would. Google crawls with a smartphone agent, so the mobile version is the one indexed. Check that the phone number is tappable, forms work with a thumb, text needs no pinching, and no popup covers the screen on arrival.
How bad is it: mixed content is moderate and worsens as browsers block more of it. Broken mobile rendering is critical. The same rules appear on our business website checklist. Who fixes it: developer for the certificate, marketing for an intrusive popup.
Checks 8 and 9: Core Web Vitals, image weight and formats
Core Web Vitals measure what loading your page feels like. Google reads them at the 75th percentile of real page loads, split between mobile and desktop, so three quarters of visitors must have a good experience before you pass.
Largest Contentful Paint should happen within 2.5 seconds, Interaction to Next Paint within 200 milliseconds, and Cumulative Layout Shift should stay at 0.1 or below. The thresholds are published on Google’s web.dev. INP replaced First Input Delay in 2024, so any checklist still asking for FID is out of date.
On most Malaysian SME sites the biggest cause is one hero image exported straight from a camera.
Those figures are typical, not universal. Anything over 300 KB deserves a second look, and images need width and height attributes or the browser cannot reserve space and CLS suffers.
To check, run your homepage and one service page through PageSpeed Insights and read the real-user panel at the top. The lab score below it is a diagnostic, not a grade.
How bad is it: moderate. Speed is a tiebreaker between pages of similar quality, and matters more for conversion than ranking. Who fixes it: marketing for images and unused plugins, developer for the rest.
Checks 10 and 11: redirect chains and broken internal links
Site rebuilds are where Malaysian businesses quietly lose rankings. The site launches, the URL structure changes, and either nobody maps the old URLs to the new ones or the mapping gets layered over years until one URL passes through four hops.
A redirect chain is a URL that redirects to a URL that redirects again. Each hop adds latency and dilutes the signal. You want one hop, old URL to final URL, on a 301 rather than a 302.
- Pull the 404 list. Search Console, Indexing, Pages, then Not found. Broken internal links show up here too: a link on your own site pointing at a page that no longer exists.
- Decide per URL. If a replacement exists, 301 to it. If nothing equivalent exists, leave the 404 and remove the internal links pointing at it. Do not redirect everything to the homepage.
- Fix the source links. Editing the link in the old article beats relying on the redirect.
- Retest. Paste the old URL into a redirect checker and confirm it reaches the destination in one hop.
How bad is it: serious after a rebuild, minor on a stable site. Who fixes it: marketing for internal links and plugin redirects, developer for server rules and bulk mapping.
Check 12: hreflang on a bilingual Malaysian site
This is the check that matters most for anyone publishing the same article in Bahasa Melayu and English, and the one Malaysian sites most often get wrong. This article has a Malay twin, so these are rules we run on ourselves.
Start with structure. Google says to use different URLs for each language version rather than cookies or browser settings, and warns against automatically redirecting users between language versions, because that can stop both users and search engines seeing all of them. A header language switcher is correct. An IP-based redirect forcing a visitor into the Malay page is not.
Google accepts three equivalent methods: HTML tags in the head, HTTP headers, or sitemap entries. Pick one and use it consistently. The rules that break implementations:
- Every version lists every version, itself included. Google states that each language version must list itself as well as all the others.
- Return links must be mutual. Google is blunt: if two pages do not both point to each other, the tags will be ignored.
- Get the code right. Language is ISO 639-1, region optional and ISO 3166-1 Alpha 2. Malay is ms. The code my is Burmese, the most common error on Malaysian sites. Use ms-MY and en-MY, never a country code alone.
- Add x-default. It catches users whose language settings match none of your versions. Point it at your English page.
- Keep canonicals in-language. Google says to specify a canonical page in the same language. Each version self-canonicalises. Canonicalising the Malay page to the English one deletes it from the index.
Translated content is not duplicate content, so publishing both versions is safe. And hreflang adds no ranking power. It decides which of your pages gets shown to which searcher.
How bad is it: serious on a bilingual site, irrelevant on a single-language one. Who fixes it: developer for the tags, owner for deciding which languages you commit to maintaining.
Checks 13 to 15: structured data, pagination, and the order to fix everything
Structured data tells Google what a page is about without it interpreting your prose. It raises no rankings by itself, but a result with stars or an FAQ dropdown takes more screen than the one above it. Four types earn their keep: LocalBusiness with address, hours and phone, supporting your local search work; Organization on the homepage; Article on posts; and Product with price in MYR if you sell online. Test with the Rich Results Test, and obey the hard rule: markup must describe what a visitor can see.
Pagination covers any page-2 sequence: blog archives, category listings, product grids. Google retired rel=next and rel=prev, so each paginated page needs its own self-referencing canonical rather than one pointing back to page one. Page numbers should be real links, because a load-more button driven only by JavaScript leaves later pages uncrawled.
| Priority | Check | Damage if broken | Who fixes |
|---|---|---|---|
| 1 | Indexation and coverage | Traffic to zero | Marketing |
| 2 | Robots.txt and sitemap | Sections invisible | Developer |
| 3 | HTTPS and mobile rendering | Ranking and conversion drop | Developer |
| 4 | Canonicals and duplicates | Signals split, nothing ranks | Marketing |
| 5 | hreflang, if bilingual | Wrong language served | Developer |
| 6 | Redirects and broken links | Lost equity post-rebuild | Marketing |
| 7 | Core Web Vitals and images | Slower conversion | Both |
| 8 | Structured data and pagination | Missed visibility | Marketing |
Work top down and stop when the next fix costs more than it returns. None of this substitutes for the content and links covered in the basics of how SEO works. If you would rather someone ran it monthly, our SEO services page explains how, and the SEO pricing guide covers the cost.
Nak tahu angka sebenar untuk business anda?
Hantar detail ringkas. Kami semak akaun atau website anda, pastu tunjuk di mana duit bocor dan apa langkah paling berbaloi seterusnya.
Frequently asked questions about technical SEO
How often should I run this checklist?
Quarterly for a stable site, and immediately after any redesign, migration or hosting change. Check indexation monthly, because that is the one failure that can wipe out traffic between quarters. Point Search Console alerts at an address someone reads.
Do I need a developer for all of this?
No. About half the list sits in the WordPress dashboard: search engine visibility, canonical settings in your SEO plugin, image compression, internal links and basic structured data. HTTPS, robots.txt, server redirects and hreflang tags usually need a developer.
What are the Core Web Vitals numbers I should aim for?
Largest Contentful Paint within 2.5 seconds, Interaction to Next Paint at 200 milliseconds or less, and Cumulative Layout Shift at 0.1 or below. Google reads these at the 75th percentile of real page loads, split between mobile and desktop.
Will publishing the same article in Malay and English get me penalised?
No. Google treats translated content as separate content, not duplicate content. Each version needs its own URL and hreflang annotations that point at each other. What does cause harm is canonicalising one language version to the other, which removes it from the index.
Which language code should I use for Bahasa Melayu?
Use ms, the ISO 639-1 code for Malay. The code my is Burmese and is the most common hreflang error on Malaysian sites. If you want language and country, ms-MY is correct. Google does not accept a country code alone.
Is a perfect PageSpeed Insights score worth chasing?
No. The lab score is a diagnostic, not the metric Google uses. What counts is the field data at the top of the report, gathered from real Chrome users. Going from passing Core Web Vitals to a green 100 rarely pays for itself.
My site was rebuilt last year and traffic never recovered. Where do I look?
Start with redirects. Pull the Not found list in Search Console, check whether old URLs still resolve in one hop to the right new page, and look for anything mass-redirected to the homepage. Then check indexation, because staging settings often survive launch.
Does structured data improve my rankings?
Not directly. It helps Google understand the page and can qualify your result for a richer display, which raises click-through from the same position. Treat it as presentation rather than ranking. The markup must describe content a visitor can actually see.
Conclusion: run the list, then hand over what you cannot fix
Most technical SEO problems on Malaysian business sites are mechanical, and most are visible in half a day with free tools. Indexation, canonicals and hreflang cause more lost traffic than page speed ever will, which is the opposite of how the work gets sold. Run the checks in order, fix what sits in your dashboard, and give your developer a specific list.
Versi Bahasa Melayu di sini: Technical SEO Checklist untuk Business Malaysia.
If you want a second pair of eyes, get in touch and we will run the checklist against your domain.
Baca lagi
- SEO Quotation Malaysia: What to Check Before You Sign
- Berapa Lama SEO Nak Nampak Hasil di Malaysia?
- Why Is My Website Not Showing Up on Google? A Diagnostic Guide
