From 52a50bdfeec68139823190495c2cb89adf44d54d Mon Sep 17 00:00:00 2001 From: Musa Musa Date: Tue, 4 Aug 2026 17:18:54 +0100 Subject: [PATCH] chore: expand keywords toward real search intent MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Measured against npm's search API the package already ranks #1 for naija-id (score 678 vs 71 for the runner-up), #1 for vnin, #3 for bvn and #8 for nuban. So exact-name and single-identifier search already work — the gap is multi-word intent phrases: 'nin nigeria', 'nigerian bank code', 'nigeria kyc', 'voters card nigeria', 'nigerian plate number' were all absent from the top 20. Part of that cannot be fixed with metadata. npm weights popularity heavily, so a days-old package will not outrank libphonenumber-js on a generic phrase like 'phone validation', and pretending otherwise would be keyword stuffing. But several of those phrases failed on words that were simply missing: 'nigerian' (only 'nigeria' was present), 'validator' (only 'validation'), and the spelled-out identifier names. Adds 15 keywords and keeps all 22 existing ones. Separately, the GitHub repo had NO description, NO homepage and NO topics — the largest free win here, since topics feed GitHub search and the description is what Google has to index. Set directly on the repo (19 topics); no release needed for that part. --- .changeset/keen-search-terms.md | 13 +++++++++++++ package.json | 19 +++++++++++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 .changeset/keen-search-terms.md diff --git a/.changeset/keen-search-terms.md b/.changeset/keen-search-terms.md new file mode 100644 index 0000000..c5ff7a3 --- /dev/null +++ b/.changeset/keen-search-terms.md @@ -0,0 +1,13 @@ +--- +"naija-id": patch +--- + +Discoverability: expand `keywords` toward the terms people actually search. + +Measured against npm's search API, the package already ranks **#1** for `naija-id` (score 678 vs 71 for the runner-up), **#1** for `vnin`, **#3** for `bvn` and **#8** for `nuban`. What it did *not* appear in the top 20 for was multi-word intent phrases — `nin nigeria`, `nigerian bank code`, `nigeria kyc`, `voters card nigeria`, `nigerian plate number`. + +Part of that is unfixable by metadata: npm weights popularity heavily, so a days-old package cannot outrank `libphonenumber-js` on a generic phrase like "phone validation". But several of those phrases failed on words that simply were not in the keyword set — `nigerian` (only `nigeria` was there), `validator` (only `validation`), and the spelled-out identifier names. + +Adds 15 keywords, keeping all 22 existing ones: `nigerian`, `validator`, `national-identity-number`, `bank-verification-number`, `virtual-nin`, `account-number`, `bank-account-validation`, `voters-card`, `vin`, `drivers-licence`, `fixed-line`, `landline`, `phone-validation`, `data-masking`, `log-redaction`. + +The GitHub repository description, homepage and 19 topics were also set — they had been empty, which cost visibility in GitHub search and gave Google nothing to index. That change is outside the package and needs no release. diff --git a/package.json b/package.json index 757e795..c6ddd21 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "naija-id", "version": "0.5.1", - "description": "Zero-dependency validators, formatters and PII redaction for Nigerian identifiers — phone (E.164), NIN, vNIN, BVN, Tax ID, TIN, CAC, NUBAN, plate, passport, driver's licence and RSA PIN.", + "description": "Zero-dependency validators, formatters and PII redaction for Nigerian identifiers \u2014 phone (E.164), NIN, vNIN, BVN, Tax ID, TIN, CAC, NUBAN, plate, passport, driver's licence and RSA PIN.", "keywords": [ "nigeria", "naija", @@ -24,7 +24,22 @@ "identity", "kyc", "pii", - "redaction" + "redaction", + "nigerian", + "validator", + "national-identity-number", + "bank-verification-number", + "virtual-nin", + "account-number", + "bank-account-validation", + "voters-card", + "vin", + "drivers-licence", + "fixed-line", + "landline", + "phone-validation", + "data-masking", + "log-redaction" ], "license": "MIT", "author": "Musa Musa",