Accounting & Auditing · Private sector
Primos Bo'ot
How we rescued ~90% of organic traffic for a Dili accounting firm after a botched WordPress → Next.js migration — URL-for-URL 301 map on the old domain, single-hop redirects on the new domain, trilingual content cleanup, and a GSC Change-of-Address all shipped in one engagement.

The situation
Primos Bo'ot is a Dili-based accounting, auditing, and corporate-registration firm that's been serving Timorese businesses, NGOs, and government entities since 2013. In May 2026 they relaunched on a new domain (.com) after years on primosboot.tl — the new site was a proper Next.js 16 build, trilingual (EN / Tetun / PT), with a live contact form. Beautiful site. Wrong outcome: 90% of their historical organic traffic disappeared overnight.
The reason was unglamorous and entirely predictable in hindsight. The old .tl domain was still serving, but it was 301-ing every single URL to its own homepage. Every old inbound link — news mentions, partner sites, government directories, old Facebook posts — landed on a page that no longer had the content. Google read this as “the old URLs are gone, the new URLs are unrelated” and deindexed accordingly.
The fix, in four stages
1 · Diagnose the crater
The .tl domain was doing blanket 301-to-root for every URL — every deep link, blog post, service page, partner case study landed on the homepage. Google deindexed half the surface area.
2 · URL-for-URL 301 map
cPanel .htaccess on the .tl side rewritten with explicit per-URL targets — 100+ source paths mapped to their .com equivalents. Single hop, no chains.
3 · .com side cleanup
Title tags rewritten for intent, meta descriptions written by hand, per-team-member DOM anchors restored so old "Meet Adelino" deep links resolve to the right card.
4 · GSC Change of Address
Both GSC properties (sc-domain:primosboot.tl and sc-domain:primosboot.com) verified. Change-of-Address request submitted so Google explicitly maps the move.
What the new site does right
Beyond the redirect surgery, the rebuild itself is a textbook modern accounting-firm site:
- Trilingual content — EN / Tetun / PT across services, team, and contact pages with hreflang-correct URLs.
- Service pages — bookkeeping, tax compliance, audit, corporate registration — each with its own meta + intent-targeted title.
- Team page — per-person anchor IDs so deep links from LinkedIn or old PR resolve to the right card.
- Contact form — Resend-backed, emails
[email protected], with server-side validation and no third-party form builder dependency. - Security headers + structured data — same fleet baseline as every other OniT property.
Retest plan
Recovery shipped 2026-05-16. The day-30 checkpoint (~2026-06-15) and day-90 checkpoint (~2026-08-14) compare old.tl historical queries against new .com query reports. The recovery signal is the old top-ranking URLs starting to surface in the sc-domain:primosboot.com Pages report, on equivalent slugs.
Stack