Who this case is for
Software houses, digital agencies and B2B service businesses whose website is well built and passes every audit tool, but still brings in no new customers from Google.
This case shows that a perfect score from a website audit tool does not mean you will rank if the site speaks in words your customers do not search for.
There is a checklist at the end you can use on your own website right away.
We do not name the company, its products, the clients in its portfolio or competing websites.
1. A software house asked us for a free website audit
The company builds software, web apps, mobile apps and AI systems for businesses. It has its own AI product and 17 delivered projects, from an ERP system for a factory to a CRM connected to LINE OA.
The site is built with Next.js on Cloudflare and has 25 URLs in the sitemap: 8 main pages and 17 project pages, with no blog yet. The domain had been registered for about 14 months.
We checked it from 5 sources:
- HTTP and HTML checks on all 25 URLs: H1s, page titles, Schema, internal links and redirects
- Lighthouse on mobile: the homepage and a project page
- Real-world use: on desktop, an iPhone 13 and a Pixel 7, scrolling the way customers scroll, tapping the real LINE button, and watching the network and console
- Ahrefs, Thai market: keywords, 11 competitor domains and all 497 historical referring domains
- Google search directly: the site: command, the brand name and the target terms
2. What we found
The site passes every audit tool, but nobody finds it
This site is better built than most Thai software company websites we have audited. All 25 pages have unique titles and meta descriptions, every page has exactly one H1, Schema covers almost every type, and all redirects are correct.
If the team keeps fixing technical errors, rankings will not move, because the real problems are 3 things that audit tools cannot see.
Problem 1: customers do not search the words the site uses
The homepage, the services page and almost every project page start with “รับพัฒนา…” (“we develop…”), a phrase Ahrefs measures at about 10 searches a month. People looking for someone to build a system type other words.
The H1s had the same problem. Only 4 of 25 were actually usable. The rest fell into 3 types:
- English slogans that read well, but contain no word Thai users type into search
- Nice but too broad, such as “Intelligent customer management and communication system”. People looking for a CRM type “ระบบ crm” (CRM system); nobody types a long phrase like that
- Terms almost nobody searches, such as “บริการรับพัฒนาซอฟต์แวร์” (custom software development service)
The report rewrote the H1 and page title for all 25 pages and set one key rule: project pages must not start with “รับ…” (“we do…”). Hiring-intent terms belong to the service and solution pages. If project pages and solution pages compete for the same term, Google cannot pick one, and often neither ranks.
Problem 2: no pages answer solution searches yet
Of the 25 URLs, 17 were project pages, all 6 services were squeezed onto one page, and there were no articles at all. Terms searched thousands of times a month had no page to land on.
The proposed fix was a Hub & Spoke structure: solution pages at the center, project pages linking up to them as proof, and articles as entry points from Google.
| New solution page | Target keywords | Combined monthly searches | Project used as proof |
|---|---|---|---|
| ERP | ระบบ erp (ERP system) · โปรแกรม erp (ERP software) | 3,000 | Machine maintenance request system for a factory |
| CRM connected to LINE OA | ระบบ crm (CRM system) · line oa crm | 1,450 | Omnichannel chat inbox with AI |
| Document approval | ระบบอนุมัติเอกสารออนไลน์ (online document approval system) · ระบบจัดการเอกสาร (document management system) | 550 | Mobile document signing system |
| Back office | ระบบหลังบ้าน (back-office system) | 450 | Online store app with back office |
| LMS | ระบบ lms (LMS system) · e-learning องค์กร (corporate e-learning) | 200+ | In-house online learning system |
| Maintenance requests | ระบบแจ้งซ่อม (maintenance request system) · โปรแกรมแจ้งซ่อม (maintenance request software) | 200 | QR code maintenance request system |
| AI Dashboard / Chatbot | ai dashboard · รับทำ chatbot (chatbot development service) | 250 | The company’s own AI product |
Each solution page should run 1,200+ words and follow this order: what problem the business faces, where the system helps, whether to buy off the shelf or build custom (saying plainly when you should not hire us), similar real projects, price range and timeline, the working process, and a closing FAQ.
A trap the report warned about: “เซ็นเอกสารออนไลน์” (sign documents online) gets 1,000 searches a month with a KD of just 1, which looks easy. But positions 2–7 are all free PDF signing tools with DR 76–96. People searching this term want a free tool to use right now, not a custom system. Low KD can be misleading. Always open the real search results before choosing a term.
Problem 3: 333 linking domains, almost all of them junk
The Ahrefs figures suggest the site has some foundation: DR 12 and 333 referring domains. But checking domain by domain, 325 were flagged as spam. There was exactly one real quality link, and it came from the company’s own website.
These links were probably not bought. The first one appeared just 2 days after the domain was registered, when nobody knew the site existed yet. The pattern matches spam networks that pull lists of new domains from public SSL certificate databases and generate a page for every domain they find. Many new websites get hit the same way.
The report made 3 recommendations:
- No need to rush a disavow. Most of the links are nofollow, and Google usually skips them anyway
- Do not count DR 12 as an asset, and do not buy more link packages like these
- All 380 links point to the homepage alone. The other 24 pages have no external links at all, so credit links from client websites should point straight to that client’s project page
The real link sources proposed: “Developed by” credits from client websites in the portfolio, B2B review platforms, partner universities, software industry associations and articles in tech media.
What audit tools cannot see: a chat covering the mobile screen
This is why we use the site for real instead of just reading the HTML.
First-time visitors on mobile see an automated chat greeting with 3 reply buttons pop up within 3 seconds. It takes up about 40% of the screen and stays there while scrolling, covering both the text under the H1 and the LINE button, which is the main channel for closing sales.
The team, who open their own site every day, may never have seen this, because the chat system remembers in a cookie that it was closed before. Open the site in incognito mode on a phone and you see it immediately. And most people who arrive from Google are first-time visitors.
That single chat script is also the main reason the site is slow on mobile.
| Lighthouse mobile | Homepage | Project page | Good threshold |
|---|---|---|---|
| Performance | 33 | 44 | 90+ |
| Largest Contentful Paint | 9.5 s | 11.7 s | 2.5 s or less |
| Total Blocking Time | 2,260 ms | 930 ms | 200 ms or less |
| Cumulative Layout Shift | 0.139 | 0.139 | 0.1 or less |
The main image weighs only 22 KB, so images are not the cause. It is JavaScript holding the main thread. The fix: load the chat only after the user scrolls or taps, turn off the automatic greeting on mobile, and put a static chat button in its place. Customers can still start a chat just as before. No need to change frameworks, because Next.js is already well suited to this.
Another thing we found when tapping the real LINE button: no event at all was sent to Google Analytics. Google Tag Manager was installed but there was no GA4 tag, so the company could not measure how many customers came from Google.
The competition is weaker than it looks
| What we found in the search results | What it means |
|---|---|
| Position 2 for “รับเขียนโปรแกรม” (custom programming service) is a page on a DR 4 site with no external links, yet it gets about 305 visitors a month | A single page named to match the search term can rank |
| A “What is an ERP system” article from a DR 25 software company gets over 4,000 visitors a month | People searching solution terms are still learning before they buy |
| A site registered just 2 weeks before this one already ranks for 797 keywords and sits at #5 for “ระบบ erp” (ERP system) | Domain age is not a wall if you invest seriously in content and real links |
| “software house” shows a Local Pack in the results, but the company has no Google Maps profile | No chance to appear in that box at all yet |
What this company has that many competitors lack is 17 real projects, plus a price range shown on the homepage, which most competitors do not dare to show. The report therefore proposed a separate “software development pricing” page to capture people searching about price.
Action plan
| Period | Main work |
|---|---|
| This week | Turn off the chat that covers the mobile screen · Install GA4 and track LINE taps, calls and form submissions · Submit the 18 unindexed pages through Search Console · Rewrite the main H1s and page titles (no more than 3 working days in total) |
| Weeks 1–3 | H1 and page title on all 25 pages · Fix internal links on project pages · Create a Google Business Profile |
| Months 1–3 | ERP and CRM solution pages first, then the other 5 · Launch the blog with the first 4 articles · Ask 6 clients for credit links |
| Months 4–12 | 2 articles a month up to 25 in total · Get included in list articles of custom software companies · English version of the site |
Internal linking had an interesting detail. The “Other projects” block on project pages showed the same 3 projects on every page, giving those 3 pages 18–19 internal links each, while the other 13 got only 2–3. The one project page that was in Google happened to be one of those three. And the factory machine maintenance page recommended a pet shop app as further reading, which has nothing to do with it. So the report re-matched related projects page by page.
3. Expected results
This table shows the targets in the report. They are not results that have happened. They are estimates based on market data, not a guarantee of results.
| Metric | At audit | 3 months | 6 months | 12 months |
|---|---|---|---|---|
| Ranking keywords (Ahrefs) | 0 | 30–60 | 120–200 | 300–500 |
| Keywords in the Top 10 | 0 | 5–10 | 25–40 | 60–100 |
| Monthly visitors from Google | 0 | 100–250 | 500–1,000 | 1,500–3,000 |
| Real, non-spam linking sites | 1 | 8–12 | 20–30 | 40–60 |
| Lighthouse Performance on mobile | 33 | 60+ | 75+ | 80+ |
| Customer contacts from Google per month (form, LINE, calls) | ~0 | 2–5 | 8–15 | 20–35 |
This report was delivered on 10 September 2026. We will update this case when we have real numbers from Search Console and GA4.
Checklist for software houses and B2B service businesses
Open your website and answer each item.
Business side
- Your homepage uses the words customers actually search, not slogans or industry jargon
- Each main service has its own page instead of being squeezed onto one page
- Every project links to the related service page
- You ask for credit links from the websites you built for clients, pointing straight to that project page
- Your company has a Google Business Profile
Website side
- You have opened your own site in incognito mode on a phone, and no popup covers the content
- GA4 is installed and really tracks LINE taps, calls and form submissions
- You have checked in Search Console that Google has indexed all your pages
- You do not judge your site by DR or link count before checking whether the links are spam
- You open the real search results before choosing a term, instead of trusting KD alone
If you cannot tick more than half, your site may pass every audit tool but still not be found by customers.
Questions software companies often ask us
Our Lighthouse SEO score is 100. Why are we not ranking? That score only checks whether the site follows basic technical rules. It does not check whether your content matches what people search for, or whether trusted outside websites mention you. Those two things are what actually decide rankings.
Our domain is only a year old. Should we wait? No need to wait. Terms with KD 0–3 can rank even on a new domain, as long as you have a page that matches the search. In this case, a site of the same age already ranked for almost 800 keywords. Competitive terms like “รับทำเว็บไซต์” (website design service) can be kept as long-term targets.
Hundreds of spam domains link to us on their own. Should we do anything? If Search Console shows no warning, there is no need to disavow. Google usually skips these links anyway. What matters is not mistaking a DR inflated by spam for real strength, and not buying more link packages like these.
Should we show prices on our website? In this case, showing a price range is a strength, because most competitors do not. The search results for “รับเขียนโปรแกรม” (custom programming service) include forum threads asking about price, which means searchers really want to know.
We audit websites for technology businesses like this
If your website is well built but still brings in no customers from Google, start with a free website audit. We use your site for real on a phone too, not just read a tool’s report. Or see the details of our SEO Audit service.
