Kshitij Dhamala
Kshitij Dhamala

Build less. Think deeper.

Writing · Engineering · · 5 min read

Moving a website without losing what it had earned

Rebuilding Transit Education’s site from WordPress to Next.js, and the unglamorous work that decides whether a migration helps or hurts.

Transit Education helps Nepali students plan their studies abroad. I look after its digital systems, and I rebuilt its website from scratch, front end to content system.

The old site was on WordPress, and it had been around long enough to have pages people found through Google. A new site that looks better but throws all of that away is not an upgrade. It’s a reset.

Who is actually reading

Before any design work I wrote down who visits. Mostly students between 18 and 28, often the first in their family to think about studying abroad, usually on a phone. Their parents are part of the decision, sometimes sitting right next to them.

That changed a lot. Every page had to work on a small screen first. The copy had to be specific instead of salesy: real offices, real requirements, real steps. Anxious people don’t need hype. They need to know what happens next.

Every old link still goes somewhere

The first unglamorous job was redirects. Every old WordPress address now points to its new page in a single hop. Not a chain of three redirects, one. Chains are slow for people and they leak value for search engines.

I also made one address the only real one. With and without www used to both work, which quietly splits a site in two in the eyes of a search engine. Now there is one canonical host and everything else points to it.

Being readable by machines too

The site generates its own sitemap, robots file, RSS feed and an llms.txt for AI tools, all from live content. Country guides carry structured FAQs, and every blog post carries one clean set of structured data.

Reviewing my own work, I caught page titles that repeated the brand name twice and a sitemap that had quietly lost pages. Both were easy to fix and easy to miss, so I added a small script that checks the SEO basics on a running build. A future change can’t silently break them again.

An editor people can trust

A website is only as good as the team’s ability to update it. The team writes their own blog posts, so the editor got real attention.

There were bugs you’d only find by using it. Pasted HTML was being saved as literal text. Published changes didn’t show up because caches weren’t refreshed. One sanitiser crashed article pages outright. Each fix was small. Together they made it an editor the team can actually rely on.

The small things on small screens

Some of the most useful changes were tiny. Tables in articles now scroll sideways on a phone instead of breaking the page. Student tools like the cost calculator, the GPA converter and the IELTS band calculator answer the questions students search for before they’re ready to talk to anyone.

None of this looks impressive in a screenshot. It’s the part of a website that decides whether it actually works.

See Transit Education