Plan: New blog topics from Search Console data (jkpscprep.com)
Plan: New blog topics from Search Console data (jkpscprep.com)
Context
We exported 6 months of search data (2026-02-04 → 2026-08-11) to search-consoles-analysis/
(GSC Queries.csv = 1,003 queries, Pages.csv = 217 pages, plus a Bing keyword report).
The site earns ~13,000 clicks from ~194,000 impressions (India, 79% mobile, avg position ~5.6).
The data shows large, high-intent demand that the site currently ranks for but does not serve — mostly around the live 2026 exam cycle, exam dates, and top-of-funnel "what is JKAS" queries. This plan extracts the topic clusters, names the exact posts to write, and specifies the internal links each one must carry.
Secondary benefit: this directly supports the AdSense "low value content" remediation — these are substantial original articles, and they interlink the orphan pages the site audit flagged.
What the data says (theme clusters, whole 1,003-query set)
| Theme | Impressions | Clicks | CTR | Read |
|---|---|---|---|---|
| Result | 37,369 | 1,790 | 4.8% | Served (best pages), needs 2026 |
| Exam date / schedule | 17,900 | 304 | 1.7% | Biggest gap — no dedicated page |
| Uncategorised (brand + "jkas") | 12,130 | 1,015 | — | Contains the informational gap |
| PYQ / papers | 6,016 | 554 | 9.2% | Well served |
| Cutoff | 3,098 | 82 | 2.6% | Content exists but not for 2025 |
| Notification / vacancy | 1,546 | 8 | 0.5% | Gap |
| Informational ("what is jkas") | 1,270 | 9 | 0.7% | Gap |
| Exam pattern / optional / prep / syllabus | ~890 combined | ~18 | ~2% | Barely ranking = no content |
Real-world cycle status (verified via search, must re-verify against jkpsc.nic.in before publishing): CCE Prelims 2025 held 05 Dec 2025 (result out) → Mains 2026 notification 13 Feb 2026, 80 vacancies → Mains exam held 23 Jun – 01 Jul 2026 → so the 5,286 impressions on "kas result 2026" are candidates awaiting the Mains 2026 result right now. This makes Tier 1 time-critical.
Tier 1 — Live 2026 cycle (write first; ~22,000 impressions at ~1.5% CTR)
1. jkpsc-kas-mains-result-2026 — JKPSC KAS Mains Result 2026
- Keywords:
kas result 2026(5,286 imp, pos 8.5) ·jkpsc kas result 2026(2,346) ·kas mains result 2026(1,838, pos 8.6) ·kas result 2026 pdf download(559) ·kas result 2026 jkpsc(236, pos 11.4) ·kas mains result 2026 pdf(63) - Intent: transactional/live. Must be a living page: status banner (awaited → declared), how to check, PDF link, roll-number guidance, cutoff context, what happens next (interview).
- Links →
/resources/jkpsc-kas-mains-marks-2024-analysis,/resources/cutoff,/blog/jkpsc-kas-mains-result-2024,/resources/interview-transcripts
2. jkpsc-kas-exam-date-2026 — JKPSC KAS 2026 Exam Calendar & Date Sheet (single authoritative hub)
- Keywords:
kas mains exam date 2026(3,228) ·jkpsc mains exam date 2026(2,841) ·jkpsc kas mains exam date 2026(1,399) ·jkpsc kas exam date 2026(1,354, pos 8.7) ·jkpsc kas prelims exam date 2026(698) ·jkpsc prelims exam date 2026(608, 0 clicks, pos 10.9) ·jkpsc exam date 2026(424, 0 clicks) ·kas exam date 2026 jammu and kashmir(288) ·kas 2026 exam date(193) ·jkas exam date 2026(353) - This one cluster is ~11,000 impressions converting at ~1%. Highest-leverage single post.
- Full stage-by-stage timeline table (notification → apply → prelims → mains → interview → final), with "last verified" date.
- Links → post #1, post #3,
/prelims,/mains
3. jkpsc-kas-2026-notification-apply-online — JKPSC KAS 2026 Notification, Vacancies & How to Apply
- Keywords:
jkpsc kas 2025 notification(442) ·jkpsc kas 2026 notification(109, pos 12) ·jkpsc kas 2026 notification prelims(72) ·kas last date to apply 2026(65) ·kas form date 2026(63) ·jkpsc kas last date to apply 2026(52) ·jkas notification 2025(62) ·jkpsc kas 2027 notification(41 — early demand, add a "next cycle" section) - Links → post #2, eligibility post (#10),
/prelims
Tier 2 — Evergreen informational (top-of-funnel, ~4,000 imp at <1% CTR; builds topical authority)
4. what-is-jkas-exam-complete-guide — What is JKAS? Complete Guide to the J&K Administrative Service
- Keywords:
jkas(1,939, pos 4.2, 14 clicks) ·jkas exam(946, 3 clicks) ·what is jkas(747, 4 clicks) ·jkas means(292) ·jkkas(98) ·jk kas(74) ·jkpsc cce(103) - ~4,100 impressions at ~0.6% CTR. Explains JKAS vs KAS vs JKPSC CCE naming, stages, posts, service profile.
- Links → #2, #5, #6, #7, #9,
/prelims,/mains,/optionals
5. jkpsc-kas-syllabus-2026 — JKPSC KAS Syllabus 2026 (Prelims + Mains, PDF)
- Keywords:
jkpsc syllabus·jkpsc kas syllabus 2026 pdf download·jkpsc kas syllabus pdf download 2026·jkpsc kas syllabus official website·anthropology syllabus for jkpsc - Low current impressions because nothing ranks — foundational cluster piece.
- Links → all 5
/mains/{paper}/syllabus+ all 8/optionals/{subject}/syllabus(fixes orphan pages)
6. jkpsc-kas-exam-pattern-marking-scheme — keywords: jkas exam pattern (pos 1.2), pattern/scheme/stages/marks queries. Links → #5, /prelims, /mains
7. jkpsc-kas-optional-subjects-list — All JKPSC KAS Optional Subjects & How to Choose
- Keywords:
jkpsc optional paper(64) ·jkas optional paper(48) ·kas optional subjects(44) ·jkpsc kas optional subjects(35) ·kas optional subjects list(22) ·optional subjects in jkpsc kas(22) ·jkpsc optional subjects(19) - Best internal-linking hub on the list → all 8
/optionals/{subject}+/analysis+/past-papers
8. jkpsc-kas-salary-posts-job-profile — keywords: jkas rank wise post (30, pos 9.8) · jkpsc kas rank wise post (17) · kas posts 2025 · jkpsc lecturer posts. Salary/pay-scale is high-volume generally even though thin in this export.
9. how-to-prepare-for-jkpsc-kas — JKPSC KAS Preparation Strategy
- Keywords:
how to prepare for jkpsc kas(91) ·how to prepare for kas exam j&k(57) ·how to prepare for kas(21) ·jkpsc preparation(15) ·how to prepare for jkas(7) - Strongest conversion path into the PYQ product. Links →
/prelims/{year}, review pages,/mains/*, current affairs.
10. jkpsc-kas-eligibility-criteria — age limit, attempts, qualification, domicile; kas eligibility percentage. Links → #3, #4
11. best-books-for-jkpsc-kas — keywords: jkpsc mains pyq book (19) · jkpsc kas pyq book (18) · jkpsc pyq book (16, pos 15.2) · kas mains notes. Position the site's own free PYQ archive as the core resource.
Tier 3 — Cutoff refresh + niche wins
12. jkpsc-kas-prelims-cutoff-2025 — kas prelims cut off (259, pos 10.2) · kas prelims cut off marks 2025 (222, 0 clicks) · kas cut off 2025 (152) · kas prelims cut off marks 2024 (100, pos 12.1). Existing cutoff pages rank well (/blog/jkas-cutoff-complete-guide: 24,635 imp) but there is no 2025-specific page. Also refresh the hub to link it.
13. slc-category-jkpsc-reservation-explained — slc category in jkpsc (79 imp, pos 10.8, 0 clicks). Explains J&K reservation categories (OM, RBA, SC, ST, EWS, SLC, ALC/IB, PSP) used in every cutoff table. Low competition, genuinely useful, links to every cutoff page.
14. jkpsc-kas-interview-personality-test — kas interview result (48) · jkpsc kas interview date 2025 (17) · jkpsc kas interview (16) · kas interview questions. Links → /resources/interview-transcripts (real transcripts = strong differentiator).
Internal-linking rules (the "links" deliverable)
Every new post must link to the existing money pages — this is also the fix for the audit's orphan/weak-internal-link findings:
- PYQ/strategy posts →
/prelims,/prelims/{year},/prelims/{year}/{subject}/review - Mains posts →
/mains/gs1…gs4,/mains/essay,/mains/{paper}/syllabus|past-papers - Optional posts →
/optionals/{subject}+/analysis+/past-papers+/syllabus - Cutoff/result posts →
/resources/cutoff,/resources/cutoff/{year} - Interview posts →
/resources/interview-transcripts - Current-affairs posts →
/resources/jkpsc-kas-current-affairs-compilationCross-link Tier 1 posts to each other (date ↔ notification ↔ result) to build the 2026 cluster.
Accuracy & maintenance rules (non-negotiable)
- Never invent dates, results, cutoffs, or vacancy numbers. Every factual claim must be verified against the official source (jkpsc.nic.in notification/PDF) at writing time. Aggregator sites (adda247/testbook/prepp) are leads, not sources.
- Tier 1 posts are living pages: show a visible "Last verified:
" line and a status label (Awaited / Declared / Postponed), and schedule re-checks. - Add author byline +
datePublished/dateModified— the site audit flagged both as missing sitewide (E-E-A-T), and this content is career-critical for readers.
Implementation mechanics (verified against the codebase)
Post shape — entry in the blogContent map, app/blog/[slug]/page.tsx (closes at line 1784):
{ title, date: "YYYY-MM-DD", category, readTime, content, image?, metaTitle?, metaDescription? }
There is no author field (byline is hardcoded "JKPSC Prep Team" in client-page.tsx), and
dateModified is just date. Body is a markdown template literal inside the TS file
(react-markdown + remarkGfm + remarkBreaks); GFM tables are the house style, a leading
# Title renders as <h2>, and backticks / ${ inside the body must be escaped.
Constraints that matter for the site audit: the root metadata template appends
| JKPSC Prep, so metaTitle must be ≤ 47 chars; metaDescription 120–155 chars.
If metaDescription is omitted it is auto-extracted from the first paragraph > 50 chars
(extractDescription, lib/seo.ts:182) — so always set it explicitly.
Four required steps per post (a missed step means the post is invisible or breaks):
app/blog/[slug]/page.tsx— add theblogContententry (drives routing, metadata, static params, sitemap).app/blog/page.tsx:34-125— add a matching object to the separate, hand-maintainedblogPostsarray (id,title,description,date,category,readTime), inserted at the top (rendered in array order, newest-first). This is not derived fromblogContent.lib/static-paths.ts:7-18— add the slug toblogSlugs(documented contract inSEO-RULEBOOK.md).- Add the hero image to
public/images/as slug-matching kebab-case, referenced/images/...(rendered 1200×630 vianext/image; alt is always the post title).
Recommended: add a relatedPosts[slug] entry in client-page.tsx:29-160 (otherwise the post
gets generic fallback links), and update public/llms.txt:206-221.
No update needed for app/sitemap.ts or generateStaticParams — both derive from blogContent.
Reuse generateBlogMetadata / generateBlogSchema / generateBreadcrumbSchema (lib/seo.ts).
Follow BLOG-WRITING-GUIDE.md and SEO-RULEBOOK.md:210-268.
Two pre-existing bugs found while mapping (fix opportunistically, not required):
generateBlogSchemais called atpage.tsx:1824withoutimage, so every post's BlogPosting schema uses the generic OG image even whenpost.imageis set.jkpsc-kas-2024-final-result-download-pdfpoints its hero at/results/JKPSC%20KAS%202024%20Final%20Result.jpg, butpublic/results/does not exist → that image is a 404.
Verification
- Build (
npx next build) and confirm each new slug prerenders and appears in/sitemap.xml. - Check rendered
<title>≤ 60 chars and meta description 120–160 (site audit rules). - Confirm each post's internal links resolve (no 404s) and JSON-LD validates.
- Re-run
squirrel auditto confirm thin-content count drops. - After ~4 weeks, re-export GSC and compare CTR/position for the target queries above.