Illustrative case study

A fictional business. The figures are a modelled scenario, not a client result.

← Case studies

Sankofa Pathways · Scholarship & study-abroad platform · Accra

Weaving 4,000 scholarship pages into a site Google could crawl

+256%

organic sessions over 9 months · Technical SEO · Accra, Ghana

  • Programmatic pages
  • Crawl budget
  • Structured data
  • Core Web Vitals
Each warp thread is a crawl path into the site. Each row of weft is a batch of fixes — three a month, 27 in all.

01 · The challenge

Sankofa, “go back and fetch it”

A scholarship database generated thousands of thin, expired listings on slow mobile pages in a market where most users are on low-bandwidth phones.

Sankofa Pathways lists scholarships and study-abroad programmes for students in Ghana and across West Africa. Every funding cycle added hundreds of pages and none were ever retired, so Google spent its visits on closed opportunities while new ones waited days to be found. The students it serves search on data-capped phones — a 3.8MB page costs them real money before it shows a deadline.

Sankofa means going back for what was left behind. That was the brief: go back through every old listing and decide, deliberately, what each one should become.

listing pages
4,000
past their deadline
73%
of visits on mobile
86%
to first crawl
11 days

02 · Audit & diagnosis

Nkyinkyim, “the journey twists”

Loose threads: what the crawl and the logs found

Crawl budget

  • 71%

    of Googlebot requests went to expired listings or filter URLs, from 90 days of server logs.

  • 186k

    crawlable filter combinations (country × level × field × sort), none canonicalised.

  • 11 days

    median time for a new listing to be first crawled — deadlines were passing before indexing.

Programmatic pages

  • 4,000

    listing pages from one template; 2,900 past their deadline but still returning 200 OK.

  • 64 words

    median unique copy per listing: name, a date and a funder logo.

  • 0

    hub pages for the queries students actually type, like “masters scholarships in the UK for Ghanaians”.

Structured data

  • None

    no breadcrumb, list or grant markup; deadlines lived inside images on 38% of listings.

  • 1,200

    listings with a deadline in the title that disagreed with the date on the page.

Core Web Vitals

  • 3.8MB

    median mobile page — a hero carousel, four web-font families and nine third-party tags.

  • 6.1s

    field LCP at the 75th percentile, on the low-end Android phones most visitors use.

03 · The strategy

Dwennimmen, “strength with humility”

Four threads, woven together

Built on our Signal plan (technical seo): fix how Google moves through the site first, then make every page it lands on worth the trip.

  1. Thread 01

    Programmatic pages

    One template, rebuilt so each listing earns its place: eligibility by nationality, award amount, required documents, deadline and past-cycle dates as text. A listing is only indexable once it has the fields that answer the query. 212 hubs (country × study level) gather live listings for the searches with real demand.

  2. Thread 02

    Crawl budget

    Filter parameters blocked in robots.txt and canonicalised to the hub; sitemaps split into live, reopening and archived, with only live submitted and lastmod kept honest. Every live listing sits within two clicks of the home page.

  3. Thread 03

    Structured data

    BreadcrumbList everywhere, ItemList on hubs and MonetaryGrant on listings (funder, amount, validity). Not a rich-result type — it makes funder and deadline unambiguous to machines, and the deadline in the title is generated from the same field.

  4. Thread 04

    Core Web Vitals

    Built for a phone on two bars: system fonts, no carousel, AVIF images at phone widths, third-party tags cut from nine to two and loaded after interaction. A 640KB budget enforced in CI.

The expiry rule, applied to 2,900 listings

Every listing past its deadline goes down exactly one path. The rule now runs nightly.

  • Recurring scheme

    301 to the scheme’s evergreen hub

    1,640

  • One-off, closed for good

    410 Gone, removed from sitemaps

    980

  • Reopening on a known date

    Kept, noindex, reopening date shown

    280

The same query, before and after

Mock-up of a mobile result for “chevening scholarship deadline”.

Before · not in top 100

sankofa-pathways.example › listing › 4471

Chevening 2023/24 | Sankofa Pathways

Applications are now closed. Sankofa Pathways — the best scholarships…

After · position 9

sankofa-pathways.example › uk › masters › chevening

Chevening Scholarship: deadline, amount & eligibility for Ghanaian students

Next deadline 4 Nov. Fully funded one-year master’s in the UK. Documents you need and past-cycle dates.

04 · 9 months on the loom

Nsoromma, “a guiding star”

Month by month, row by row

Drag the shuttle, or pick a month, to see the cloth as it stood and what the crawl looked like at that point.

Month 9 of 9

Hand over the loom

Expiry rules run nightly from the database; the team gets a runbook and a crawl-health report.

Crawl on live pages
86%
from 29%
Organic sessions
+256%
from baseline
Mobile page weight
640KB
from 3.8MB
Expired listings handled
2,900
from 0

05 · Results

Adinkrahene, “greatness, leadership”

The finished band

Headline
+256%
organic sessions
Expired listings handled
2,900
Mobile page weight
3.8MB → 640KB
Student sign-ups
+119%

Modelled scenario for a fictional business — not a client result. Rankings and traffic are never guaranteed; see our Terms.

Organic sessions

Index, baseline month = 100 · +256% organic sessions

0100200300400BaseM1M2M3M4M5M6M7M8M9+256% organic sessions

Student sign-ups per month

410 at baseline → 898 in month 9 · +119%

410BaseM1M2470M3M4M5690M6M7M8898M9

Mobile page weight, by resource

3.8MB → 640KB

before3.8MB

after640KB

  • Images 1900→300KB
  • JavaScript 1150→190KB
  • Web fonts 420→0KB
  • CSS 210→60KB
  • HTML 120→90KB

Expired listings handled

2,900 of 4,000 listings · each square = 20 listings

  • 1,640 recurring scheme
  • 980 one-off, closed for good
  • 280 reopening on a known date
  • 1,100 still live

LCP · p75 mobile

2.1s from 6.1s

Line marks the “good” threshold (2.5s)

INP · p75 mobile

160ms from 480ms

Line marks the “good” threshold (200ms)

CLS · p75 mobile

0.03 from 0.31

Line marks the “good” threshold (0.1)

Where the pages rank now

Google.com.gh, mobile, month 0 vs month 9. Modelled positions.

QueryPage typeBeforeAfter
scholarships for ghanaian students 2027Hub342
daad scholarship application ghanaListing222
fully funded scholarships for ghanaian studentsHub413
commonwealth scholarship requirementsListing294
study in germany from ghanaGuide375
masters scholarships in uk for africansHub586
chevening scholarship deadlineListing—9
undergraduate scholarships in canada for international studentsHub7614

06 · Your turn

Sankofa, “go back and fetch it”

Get a plan like this

Thousands of pages, a crawl that never reaches the good ones, phones on slow connections — Signal is built for exactly that.

← Back to all case studies