JUMTA Xpress Cargo — A Customs Agent Moves from WordPress to Next.js + Sanity

Visit Site (opens in a new tab)
Role
Product Design, Next.js & Sanity Development, SEO Migration
Timeline
2 days to launch, then a week of refinement
Tools
Figma, Next.js, Sanity, TypeScript, Tailwind CSS, GSAP
Client
JUMTA Xpress Cargo Ltd
Industry
Customs clearance & logistics
Market
Nigeria

Key results

Old URLs redirected and tested
136/136
Article sentences carried over
298/298
PageSpeed performance, mobile / desktop
95 / 100
Accessibility and SEO
100

Project Overview

JUMTA Xpress Cargo is a licensed customs clearing agent in Kano, Nigeria. It helps importers and exporters with customs clearance, shipment documents (Form M, PAAR, SONCAP), freight coordination and delivery, and it is part of the JUMTA Group family of companies.

Its website ran on WordPress with a free demo theme. I rebuilt it from start to finish: an audit of the old site and its search data, the URL and redirect plan, the content model, the design, the Next.js and Sanity build, the content migration, QA and the launch on the same address, cargo.jumta.com.ng.

The new site shares one design system with the other JUMTA sites (the Group hub and JUMTA Export), so the family looks and works alike while each company keeps its own accent colour.

‍

The Challenge/Problem

The old site had been built quickly on a theme demo and never revisited. The audit found:

  • Plain WordPress addresses everywhere (/?p=714, /?page_id=82), with no sitemap, so Google had found pages only by following links.
  • About 20 leftover demo pages still public and indexable: "Typography", "Sample Page", four lorem-ipsum service pages, even a page titled "404 Not Found". Google had shown seven of them in results.
  • Contact details that disagreed with each other: three different opening hours on one page and the theme author's demo email address in the header. "Request a Quote" was an empty page.
  • Content the business had outgrown: stock "global logistics" slogans and claims that were no longer accurate.

But the old site also had something worth protecting. Over 16 months it earned 95 Google clicks from 14,190 impressions, and about 80% of them came from five plain-language articles about Nigerian import procedures. The Form M article alone brought in 45%. Those articles had to survive the rebuild with their rankings, while every old ?p= address moved to a readable URL.

‍

The Solution

Start with evidence

Before any design, I documented the old site: a full crawl (Screaming Frog), 16 months of Search Console data, and a snapshot of every post, page and image from the WordPress REST API. The snapshot became the source for the migration, so nothing depended on the old server staying online.

A redirect for every old address

Every old URL got a deliberate outcome, written down before launch:

  • Pages and articles: a permanent (301) redirect to their new readable address, e.g. /?p=714 → /guides/form-m-nigeria.
  • Demo pages, empty archives and feeds: "Gone" (410), so Google drops them instead of keeping dead pages in its index. Old paths that never had any value return a normal 404.

A script tests all 136 old URLs against the live site. All 136 pass, and a sentence-by-sentence check confirmed that all 298 sentences of the five articles are on the new pages.

Content the team can edit

Pages are built in Sanity from a small set of sections (hero, services, how it works, document checklist, guides, FAQ, contact), so the team can reorder or rewrite a page without a developer. Articles are Sanity documents with their own SEO title and description. Copy that never changes (the privacy policy, the four process steps) lives in code and is written once, so the homepage and the Services page can't drift apart.

A design built around how customers actually get in touch

Customers mostly arrive by WhatsApp, phone and email, usually after finding the business on Google. So the site is contact-first: "Request a quote" and "Chat on WhatsApp" in every hero, a floating WhatsApp button, and a short quote form that sends a formatted email with one-tap Reply on WhatsApp, Call and Reply by email buttons. Each service card links to the form with that service already selected.

The look uses JUMTA's shared navy, sand and amber, plus a Cargo blue. The homepage hero has an animated clearance diagram: the cargo moves through Shipment → Documents → Customs → Release → Delivery, the same journey a customer's goods take. Each service has its own small animated illustration, and the "What to send us" lists look like paper documents.

Accessible and quick on a phone

  • One H1 per page, headings in order, a skip link, visible focus outlines and alt text required in the CMS.
  • Small orange text on the sand background got its own darker shade to pass contrast (5.0:1).
  • Screen readers hear whole words even where headings animate letter by letter.
  • Everything is visible without JavaScript or with reduced motion.
  • Fonts trimmed to the characters the site uses (including the naira sign): about 0.35 MB instead of 1.3 MB.
  • Content on the first screen fades in by CSS straight away instead of waiting for the animation code.
  • Business structured data (name, address, phone) matches the Google Business Profile.

‍

The Result

JUMTA Xpress Cargo now has a site that says what the business really does: a licensed customs agent in Kano, with the routes to get in touch one tap away. The team can edit pages and publish new guides themselves in Sanity.

Every one of the 136 old URLs has a tested outcome, the five articles moved over without losing a sentence, and the homepage kept its address, so the Google Business Profile link still works. On Lighthouse, every page tested (Home, Services, Contact and the Form M guide, on phone and desktop) scores 100 for accessibility and 100 for SEO, with no layout shift. After a round of speed work (first-screen content shown without waiting for the animation code, trimmed fonts, the spam check loaded only when the form comes into view, and HubSpot analytics and its cookie banner delayed until the page has finished loading), Google's PageSpeed Insights scores the homepage 95 on mobile and 100 on desktop (13–14 October 2026).

The site went live on 25 September 2026. Search Console is being monitored as Google moves the old rankings to the new addresses.

‍

Visual Showcase

JUMTA Xpress Cargo homepage hero: 'Licensed clearing agent in Kano for imports and exports' with Request a quote and Chat on WhatsApp buttons, and an animated clearance gauge showing the documents stage.
Homepage hero with the animated clearance diagram
Six service cards: customs clearance, import and export documentation, freight forwarding, haulage and delivery, sourcing from China and Dubai, and agricultural export logistics.
Services, each linking to the quote form with the service pre-selected
How it works in four steps, followed by a grid of common shipment documents styled as paper cards: commercial invoice, packing list, bill of lading, Form M, PAAR and SONCAP.
How it works, and the documents a shipment may need
Customs Clearance section of the Services page with an illustration of a container passing a raised barrier, a list of what is handled, and a 'What to send us' document card.
Services page: one illustrated section per service
The Form M in Nigeria guide: breadcrumb, title, publish date, reading time, a note that details may have changed, and the article's first sections.
The Form M guide, migrated from WordPress word for word
Contact page with WhatsApp, call and email options, a photo of the office at Gamji Plaza in Kano, what to send for a quote, and the request form.
Contact page and quote request form
Three phone screens: the homepage hero, the Services page and the Contact page, each with the floating WhatsApp button.
On phones

Let’s Build Yours

Ready to turn your vision into a living, breathing digital experience?

Hey human 👋 I'm your AI assistant. Ask me anything about Muhammad's work, projects, or skills!

Quick questions: