Three hundred and fifty internal links that changed everything
A domain authority of 15 is the kind of number that makes a site invisible. It’s not just low; it’s functionally absent from competitive search results. For a Singapore-based web hosting company that had spent years building solid infrastructure, good support, and competitive pricing, a DA of 15 meant none of that mattered to anyone searching for hosting. The site existed, but it didn’t belong.
The client arrived with a fairly standard problem: a blog section that had been treated as a dumping ground. Every new service page got a blog post, but the links between them were arbitrary or nonexistent. Posts linked to other posts only when an editor remembered to do it. The service pages themselves had almost no internal links pointing at them from anywhere except the main navigation. Google’s crawlers could find the pages, but there was nothing suggesting relative importance or topical authority.
That DA of 15 had held steady for about eighteen months. A few backlinks from industry directories bumped it to 17 briefly, then it settled back. The client had tried the obvious things: guest posts, a press release or two, a link exchange with a partner company. Nothing moved the needle by more than a point or two.
The solution had nothing to do with backlinks in the end. It was internal linking.
A blog about dedicated servers that didn’t link to the dedicated server page
Domain authority is Moz’s metric, but the principle applies across any authority scoring system. A site’s authority accumulates when search engines perceive it as a trusted resource on a specific topic. Trust is communicated by relevance, and relevance is communicated by how pages reference each other. A site with thirty blog posts and ten service pages, where none of the blog posts link to the service pages, is a site that has failed to tell search engines what it is about.
The Singapore hosting client had the opposite of a silo problem. Their site had no structure at all. A blog post about choosing a dedicated server in Singapore did not link to the dedicated server pricing page. A post comparing SSD vs. HDD storage did not link to the hosting plans page that explained their storage options. The service pages existed in isolation, and the blog posts existed in a separate universe that happened to share the same domain.
The first step was a full content audit. Every page on the site was catalogued: service pages, blog posts, landing pages, about pages, support articles. Each was categorized by topic. The topics that emerged were predictable for a hosting company: shared hosting, VPS, dedicated servers, email hosting, SSL certificates, domain registration, and a few niche categories like game server hosting and reseller plans.
Fifteen pages, identical anchor text, one problem
The decision was made to build a hub-and-spoke model rather than a fully meshed one. A fully meshed structure, where every relevant page links to every other relevant page, sounds ideal but quickly becomes unmanageable and can dilute authority rather than concentrate it. The hub-and-spoke model designates a single authoritative page per topic category as the hub. All spoke pages link to the hub. The hub links to the most important spokes.
For shared hosting, the hub page was the main shared hosting service page. The spokes were every blog post, support article, and comparison page that mentioned shared hosting. Each spoke had to link to the hub using anchor text that contained the target keyword phrase. The hub linked back to the most important spokes — the three highest-traffic blog posts and the most commonly referenced support article.
The work was tedious. Each spoke page needed to be edited individually. Anchor text had to be natural rather than forced. A blog post about “Why Singapore businesses choose local hosting” could naturally link to the shared hosting page with the anchor “Singapore shared hosting plans.” A post about “How to migrate from US to Singapore hosting” could link to the VPS page with “local VPS options in Singapore.”
A mistake that showed up early: someone on the team used the same anchor text across fifteen different pages. All fifteen linked to the dedicated servers page using “dedicated server Singapore” as the exact anchor. That kind of uniformity looks unnatural to search engines and can trigger spam signals even when the intent is legitimate.
The rule became: vary the anchor text, but keep the target keyword present in some form. If the target was “dedicated server Singapore,” acceptable variations included “Singapore dedicated servers,” “dedicated hosting Singapore,” “our dedicated server plans,” and “Singapore-based dedicated servers.” As long as the core terms appeared, the topical signal remained strong while the link profile looked organic.
A second rule: no links from unrelated pages. A blog post about WordPress security should not link to the domain registration page. It should link to the SSL certificate page or the managed WordPress hosting page. Topical relevance between linking page and linked page mattered as much as the anchor text itself.
The hub page, the spoke pages, the cross-category links, and the blog-to-blog connections
The process took roughly three months to implement fully. The client had just under two hundred pages. Each page had between one and three new internal links added. The total number of new internal links was somewhere around four hundred and fifty — maybe a bit more.
Every service page received links from every blog post within its topic category. That created the spoke-to-hub pattern. Every blog post received links from the service page hub within its category, but only if the blog post had enough substance to warrant it — at least eight hundred words, original content, no duplicate or thin material. That was the hub-to-spoke pattern.
Every service page within the same broader category linked to each other. The dedicated servers page linked to the VPS page because both fall under “high-performance hosting.” The shared hosting page linked to the email hosting page because both are common add-ons. That was the cross-category pattern.
Every post on the blog linked to at least one other post. A post about “SSD vs. HDD for hosting” linked to a post about “How to choose a hosting plan.” That was the internal blog linking pattern. It distributed authority across the blog itself rather than concentrating it entirely on the service pages.
The navigation was also restructured. The main menu had previously listed every service page as a top-level item. That created a flat hierarchy where no page was structurally more important than another. The new navigation grouped services under broader categories: “Hosting” (shared, VPS, dedicated), “Email & Security” (email hosting, SSL), “Domains” (registration, transfer). The categories themselves became hub pages that captured authority from all the pages beneath them.
Month one: DA 19. Month two: DA 27. Month three: DA 38.
At the start: DA 15. Total indexed pages: 187. Total internal links pointing at service pages: 47.
After one month of linking work: DA 19. Total internal links: roughly 300 installed. The first signals appeared when Google recrawled the linked pages. Service pages that had previously received zero internal link equity began showing up for long-tail keyword queries.
After two months: DA 27. Service pages began ranking on the second and third pages for competitive terms like “Singapore web hosting” and “VPS Singapore.” Blog posts that had been indexed but not ranking moved from page ten to page four or five.
After three months: DA 38. The shared hosting main page reached the first page for “Singapore shared hosting.” Five other pages reached the top three pages for their primary keywords. Total indexed pages increased to 203 — some previously unindexed pages had been found through the new link paths.
The DA continued to climb slowly after the active linking work stopped, reaching 42 in month four and 44 in month five. That suggested the internal linking structure had created a self-reinforcing authority loop. Each newly ranked page passed authority to the hub page, which passed authority back to other spokes, which ranked higher and passed more authority in return.
The thin pages that never got linked
Not every page was included. Thin pages — under four hundred words, no original content, clearly written for keyword stuffing — were excluded from the linking structure entirely. Linking to them would have passed authority to low-quality pages, which would have diluted the overall site authority.
Pages with broken links or outdated information were either fixed or removed before linking began. A page about “2019 hosting trends” from four years ago was redirected to the current trends page rather than receiving new internal links. A page with a broken contact form was fixed so that linking to it made practical sense for users as well as search engines.
The client’s support team flagged a handful of pages that had high bounce rates. Those pages were improved — better formatting, clearer calls to action, faster load times — before they were added to the linking structure. Linking to a page that users immediately leave is a net negative.
Blog traffic from 15 percent to 35 percent
The DA increase was the headline number, but the traffic shift told a more useful story. Before the linking restructure, the blog contributed roughly 15 percent of total site traffic. The service pages contributed the rest, mostly from branded search and direct visits. After three months, the blog’s share of traffic had risen to 35 percent. That meant new visitors were finding the site through informational queries — “how to choose a hosting provider,” “Singapore VPS vs. shared hosting” — and then being directed to service pages through the new internal links.
The blog-to-service-page click-through rate went from essentially zero to 12 percent. That was the measurable behavioral proof that the linking structure was working for users, not just for search engine crawlers.
Organic traffic overall increased by roughly 180 percent over the six-month period following the restructure. The majority of that increase came from non-branded keywords. The site was now appearing for queries that potential customers typed when they didn’t already know the company existed.
A dozen hosting companies, a small market, and a single point of authority
The Singapore hosting market has a particular structure that made internal linking unusually effective. It’s a small geographic market with intense competition. A dozen or more hosting companies compete for the same keywords. Most of them have DA scores clustered between 20 and 40. The difference between ranking on page one and page two can come down to a single point of authority or a single well-placed internal link.
Backlinks in this market are hard to earn. The pool of Singapore-based websites that link to hosting companies is small. International backlinks don’t carry the same geographic relevance. Internal linking, by contrast, is entirely within the site owner’s control. No outreach, no guest posting, no link exchanges. Just structural decisions about how pages relate to each other.
The client also benefited from a clean technical foundation — fast load times, mobile-responsive design, proper schema markup, no crawl errors. Internal linking works best when the technical SEO foundation is already solid. A site with slow pages or broken schema will not see the same results from linking improvements because the pages themselves are not optimized to hold the authority they receive.
The DA of 44 that the site eventually reached was not the ceiling. It dropped slightly to 42 a few months later after a Google algorithm update, then recovered to 43. The linking structure remained intact, and the authority had become stable rather than fragile.
📷 Photos: Brett Jordan (Unsplash)