From 88c91615c2309f69fa94e86795a4f75a286a4710 Mon Sep 17 00:00:00 2001 From: Joachim Date: Fri, 13 Mar 2026 09:16:15 +0100 Subject: [PATCH 1/4] chore: strip marketing content for public core repo Remove blog, docs, catalog, roadmap pages and content. Remove @nuxt/content, @nuxtjs/seo, @nuxtjs/mdc, @tailwindcss/typography deps. Replace useSchemaOrg with manual JSON-LD in job detail page. Simplify PublicNavBar for self-hosters. Add redirect index.vue (marketing layer overrides this). --- TOPICAL-AUTHORITY-MAP.md | 440 ------ app/components/GiscusComments.vue | 54 - app/components/PublicNavBar.vue | 28 - app/pages/blog/[...slug].vue | 158 -- app/pages/blog/index.vue | 128 -- app/pages/catalog/index.vue | 520 ------- app/pages/docs/[...slug].vue | 364 ----- app/pages/docs/index.vue | 206 --- app/pages/index.vue | 1368 +---------------- app/pages/jobs/[slug]/index.vue | 13 +- app/pages/roadmap.vue | 734 --------- content.config.ts | 35 - .../best-free-ats-software-for-startups.md | 171 --- ...-open-source-applicant-tracking-systems.md | 392 ----- content/blog/career-page-seo.md | 214 --- content/blog/career-page-that-converts.md | 227 --- .../blog/google-for-jobs-structured-data.md | 322 ---- content/blog/greenhouse-vs-open-source-ats.md | 189 --- .../how-applicant-tracking-systems-work.md | 155 -- .../open-source-applicant-tracking-system.md | 251 --- content/blog/open-source-vs-free-ats.md | 144 -- content/blog/opencats-vs-reqcore.md | 91 -- content/blog/self-hosted-vs-cloud-ats.md | 180 --- ...st-of-ownership-saas-ats-vs-self-hosted.md | 315 ---- content/blog/who-uses-open-source-ats.md | 222 --- .../ai-intelligence/ai-ranking/index.md | 40 - content/catalog/ai-intelligence/index.md | 8 - .../catalog/ai-intelligence/local-ai/index.md | 30 - .../ai-intelligence/resume-parsing/index.md | 34 - .../email-communication/index.md | 39 - content/catalog/applicant-management/index.md | 8 - .../phone-communication/index.md | 42 - .../collaboration/candidate-portal/index.md | 29 - .../email-notifications/index.md | 30 - content/catalog/collaboration/index.md | 8 - .../interview-scheduling/index.md | 28 - .../collaboration/team-comments/index.md | 26 - content/catalog/mobile-support/index.md | 8 - .../responsive-dashboard/index.md | 26 - .../application-tracking/index.md | 27 - .../candidate-profiles/index.md | 30 - content/catalog/pipeline-management/index.md | 8 - .../job-management/index.md | 30 - .../pipeline-management/kanban-board/index.md | 31 - content/catalog/platform/dashboard/index.md | 30 - content/catalog/platform/deployment/index.md | 36 - content/catalog/platform/index.md | 8 - .../catalog/platform/multi-tenant/index.md | 30 - .../custom-application-forms/index.md | 39 - .../document-storage/index.md | 33 - content/catalog/recruitment-tools/index.md | 8 - .../public-job-board/index.md | 32 - .../catalog/security-compliance/gdpr/index.md | 30 - content/catalog/security-compliance/index.md | 8 - .../rate-limiting/index.md | 27 - .../server-proxied-documents/index.md | 26 - .../docs/1.getting-started/1.introduction.md | 73 - .../docs/1.getting-started/2.installation.md | 139 -- .../docs/1.getting-started/3.configuration.md | 110 -- .../docs/1.getting-started/4.quick-start.md | 83 - content/docs/2.deployment/1.docker-compose.md | 123 -- content/docs/2.deployment/2.railway.md | 108 -- .../2.deployment/3.environment-variables.md | 124 -- content/docs/3.features/1.job-management.md | 92 -- .../docs/3.features/2.candidate-pipeline.md | 97 -- content/docs/3.features/3.document-storage.md | 86 -- content/docs/3.features/4.public-job-board.md | 98 -- .../docs/3.features/5.application-forms.md | 91 -- content/docs/3.features/6.dashboard.md | 86 -- content/docs/3.features/7.google-calendar.md | 190 --- content/docs/4.architecture/1.overview.md | 110 -- .../4.architecture/2.directory-structure.md | 120 -- content/docs/4.architecture/3.data-model.md | 153 -- content/docs/4.architecture/4.security.md | 136 -- .../5.contributing/1.development-setup.md | 118 -- .../5.contributing/2.coding-conventions.md | 179 --- content/docs/6.legal/1.privacy-policy.md | 245 --- nuxt.config.ts | 78 +- package.json | 4 - .../source-package-opencats-vs-reqcore.md | 29 - .../topic-brief-opencats-vs-reqcore.md | 35 - server/api/__sitemap__/urls.ts | 40 - 82 files changed, 17 insertions(+), 10440 deletions(-) delete mode 100644 TOPICAL-AUTHORITY-MAP.md delete mode 100644 app/components/GiscusComments.vue delete mode 100644 app/pages/blog/[...slug].vue delete mode 100644 app/pages/blog/index.vue delete mode 100644 app/pages/catalog/index.vue delete mode 100644 app/pages/docs/[...slug].vue delete mode 100644 app/pages/docs/index.vue delete mode 100644 app/pages/roadmap.vue delete mode 100644 content.config.ts delete mode 100644 content/blog/best-free-ats-software-for-startups.md delete mode 100644 content/blog/best-open-source-applicant-tracking-systems.md delete mode 100644 content/blog/career-page-seo.md delete mode 100644 content/blog/career-page-that-converts.md delete mode 100644 content/blog/google-for-jobs-structured-data.md delete mode 100644 content/blog/greenhouse-vs-open-source-ats.md delete mode 100644 content/blog/how-applicant-tracking-systems-work.md delete mode 100644 content/blog/open-source-applicant-tracking-system.md delete mode 100644 content/blog/open-source-vs-free-ats.md delete mode 100644 content/blog/opencats-vs-reqcore.md delete mode 100644 content/blog/self-hosted-vs-cloud-ats.md delete mode 100644 content/blog/total-cost-of-ownership-saas-ats-vs-self-hosted.md delete mode 100644 content/blog/who-uses-open-source-ats.md delete mode 100644 content/catalog/ai-intelligence/ai-ranking/index.md delete mode 100644 content/catalog/ai-intelligence/index.md delete mode 100644 content/catalog/ai-intelligence/local-ai/index.md delete mode 100644 content/catalog/ai-intelligence/resume-parsing/index.md delete mode 100644 content/catalog/applicant-management/email-communication/index.md delete mode 100644 content/catalog/applicant-management/index.md delete mode 100644 content/catalog/applicant-management/phone-communication/index.md delete mode 100644 content/catalog/collaboration/candidate-portal/index.md delete mode 100644 content/catalog/collaboration/email-notifications/index.md delete mode 100644 content/catalog/collaboration/index.md delete mode 100644 content/catalog/collaboration/interview-scheduling/index.md delete mode 100644 content/catalog/collaboration/team-comments/index.md delete mode 100644 content/catalog/mobile-support/index.md delete mode 100644 content/catalog/mobile-support/responsive-dashboard/index.md delete mode 100644 content/catalog/pipeline-management/application-tracking/index.md delete mode 100644 content/catalog/pipeline-management/candidate-profiles/index.md delete mode 100644 content/catalog/pipeline-management/index.md delete mode 100644 content/catalog/pipeline-management/job-management/index.md delete mode 100644 content/catalog/pipeline-management/kanban-board/index.md delete mode 100644 content/catalog/platform/dashboard/index.md delete mode 100644 content/catalog/platform/deployment/index.md delete mode 100644 content/catalog/platform/index.md delete mode 100644 content/catalog/platform/multi-tenant/index.md delete mode 100644 content/catalog/recruitment-tools/custom-application-forms/index.md delete mode 100644 content/catalog/recruitment-tools/document-storage/index.md delete mode 100644 content/catalog/recruitment-tools/index.md delete mode 100644 content/catalog/recruitment-tools/public-job-board/index.md delete mode 100644 content/catalog/security-compliance/gdpr/index.md delete mode 100644 content/catalog/security-compliance/index.md delete mode 100644 content/catalog/security-compliance/rate-limiting/index.md delete mode 100644 content/catalog/security-compliance/server-proxied-documents/index.md delete mode 100644 content/docs/1.getting-started/1.introduction.md delete mode 100644 content/docs/1.getting-started/2.installation.md delete mode 100644 content/docs/1.getting-started/3.configuration.md delete mode 100644 content/docs/1.getting-started/4.quick-start.md delete mode 100644 content/docs/2.deployment/1.docker-compose.md delete mode 100644 content/docs/2.deployment/2.railway.md delete mode 100644 content/docs/2.deployment/3.environment-variables.md delete mode 100644 content/docs/3.features/1.job-management.md delete mode 100644 content/docs/3.features/2.candidate-pipeline.md delete mode 100644 content/docs/3.features/3.document-storage.md delete mode 100644 content/docs/3.features/4.public-job-board.md delete mode 100644 content/docs/3.features/5.application-forms.md delete mode 100644 content/docs/3.features/6.dashboard.md delete mode 100644 content/docs/3.features/7.google-calendar.md delete mode 100644 content/docs/4.architecture/1.overview.md delete mode 100644 content/docs/4.architecture/2.directory-structure.md delete mode 100644 content/docs/4.architecture/3.data-model.md delete mode 100644 content/docs/4.architecture/4.security.md delete mode 100644 content/docs/5.contributing/1.development-setup.md delete mode 100644 content/docs/5.contributing/2.coding-conventions.md delete mode 100644 content/docs/6.legal/1.privacy-policy.md delete mode 100644 seo-research/source-package-opencats-vs-reqcore.md delete mode 100644 seo-research/topic-brief-opencats-vs-reqcore.md delete mode 100644 server/api/__sitemap__/urls.ts diff --git a/TOPICAL-AUTHORITY-MAP.md b/TOPICAL-AUTHORITY-MAP.md deleted file mode 100644 index dae0b9c..0000000 --- a/TOPICAL-AUTHORITY-MAP.md +++ /dev/null @@ -1,440 +0,0 @@ -# Topical Authority Map: Open Source ATS - -> **Status:** Living roadmap — check off articles as they are published. -> -> **Goal:** Build definitive topical authority for "open source applicant tracking systems" across 9 tightly-linked content clusters. -> -> **Total articles:** 132 | **Target pace:** ~1 per day | **Timeline:** ~4 months (Phases 1–4) + ongoing refresh - ---- - -## How This Map Works - -### Design Principles -- **Tight `siteFocusScore`** — every article reinforces the core topic (open-source ATS, recruitment technology, self-hosted hiring software). -- **Minimal `siteRadius`** — no generic HR, career advice, or resume-tip content. Everything serves the topical graph. -- **Deep cluster coverage** — each cluster has one comprehensive pillar + focused supporting articles. -- **Strong internal linking** — every supporting article links to its pillar + 2–3 siblings. Cross-cluster links are noted explicitly. - -### Exclusions -Generic HR content, general career advice, resume tips for job seekers. These dilute focus and attract unqualified traffic. - -### Intent Tags -| Tag | Meaning | Typical Format | -|-----|---------|----------------| -| 🔵 | Informational | Guide, explainer, glossary | -| 🟢 | Commercial | Comparison, roundup, buyer's guide | -| 🔴 | Transactional | Checklist, migration tool, scorecard | - -### Linking Rules -- Every supporting article **must** link to its cluster pillar. -- Every pillar **must** link to all its supporting articles. -- Cross-cluster links are noted with `→ [Cluster X]` and must be implemented as internal links. -- Follow the internal linking rules in [`.agents/skills/seo-skill/SKILL.md`](.agents/skills/seo-skill/SKILL.md) §9. - -### Content Quality Standards -All articles must follow the SEO Skill ([`.agents/skills/seo-skill/SKILL.md`](.agents/skills/seo-skill/SKILL.md)): -- **Pillars:** 2,500+ words, hub page with links to every supporting article. -- **Supporting articles:** 1,200–2,000 words, links to pillar + 2–3 siblings. -- Every article must include at least one of: original screenshot, data point, code snippet, decision framework, or template. -- No filler paragraphs — every section teaches something specific. -- First-person experience from building Reqcore wherever relevant (E-E-A-T). -- Answer the query in the first 100 words (featured snippet + AI Overview optimization). -- Apply the full [SEO Quality Checklist](.agents/skills/seo-skill/SKILL.md) §15 before publishing. -- Update every pillar page quarterly (freshness signal). - -### File Conventions -- Blog articles go in `content/blog/.md` -- Filename = URL slug (no dates, no uppercase, hyphens only) — see SEO Skill §5 -- Complete frontmatter required (title, description, date, author, image, tags) — see SEO Skill §2 - ---- - -## Phase 1: Foundation + Money (Weeks 1–4) - -> Write the money cluster first to capture commercial-intent traffic immediately, then the foundation cluster to give Google base topical context. - -### Cluster 2: Choosing & Comparing ATS Solutions (Money Cluster) — 25 articles - -> Highest commercial intent. People searching these are actively evaluating tools. #1 revenue-driving cluster. - -**Pillar:** -- [x] Best open source applicant tracking systems [2026] 🟢 — [`best-open-source-applicant-tracking-systems.md`](content/blog/best-open-source-applicant-tracking-systems.md) - -**Supporting — Roundups:** -- [x] Best free ATS software for startups 🟢 — [`best-free-ats-software-for-startups.md`](content/blog/best-free-ats-software-for-startups.md) -- [ ] Best self-hosted ATS platforms compared 🟢 -- [ ] Best ATS for small businesses (under 50 employees) 🟢 -- [ ] Best ATS for recruiting agencies (open source options) 🟢 -- [ ] Best ATS with transparent AI scoring 🟢 → [Cluster 3] -- [ ] Best lightweight ATS for teams that hate bloated software 🟢 - -**Supporting — Head-to-head comparisons:** -- [x] Greenhouse vs open source ATS: honest comparison 🟢 -- [ ] Lever vs open source ATS: features, cost, and flexibility 🟢 -- [ ] Ashby vs open source ATS: modern ATS showdown 🟢 -- [ ] Workable vs open source ATS: which is more flexible? 🟢 -- [ ] JazzHR vs open source ATS: budget-friendly comparison 🟢 -- [ ] BambooHR vs open source ATS: best for small teams? 🟢 -- [ ] Recruitee vs open source ATS: customization compared 🟢 -- [ ] Manatal vs open source ATS: AI features compared 🟢 → [Cluster 3] -- [ ] Zoho Recruit vs open source ATS: ecosystem comparison 🟢 -- [ ] iCIMS vs open source ATS: legacy vs modern 🟢 -- [ ] SmartRecruiters vs open source ATS: enterprise vs DIY 🟢 -- [x] OpenCATS vs Reqcore: open source ATS head-to-head 🟢 — [`opencats-vs-reqcore.md`](content/blog/opencats-vs-reqcore.md) - -**Supporting — Decision frameworks:** -- [ ] ATS features that actually matter (and which are bloat) 🟢 -- [ ] Red flags when evaluating an applicant tracking system 🟢 -- [x] Total cost of ownership: SaaS ATS vs self-hosted open source 🟢 → [Cluster 4] -- [ ] How to run an ATS proof of concept before committing 🟢 -- [ ] Questions to ask in an ATS demo that vendors don't want you to ask 🟢 -- [ ] The ATS buyer's scorecard: how to evaluate and rank options 🔴 - ---- - -### Cluster 1: What Is an Open Source ATS (Foundation Pillar) — 10 articles - -> Build first awareness and capture top-of-funnel informational queries. Establishes the right to rank for everything else. - -**Pillar:** -- [x] What is an open source applicant tracking system? (The complete guide) 🔵 — [`open-source-applicant-tracking-system.md`](content/blog/open-source-applicant-tracking-system.md) - -**Supporting:** -- [x] How does an applicant tracking system work? (The basics explained) 🔵 — [`how-applicant-tracking-systems-work.md`](content/blog/how-applicant-tracking-systems-work.md) -- [ ] Open source vs proprietary ATS: what's the real difference? 🔵 → [Cluster 2] -- [x] Open source vs free ATS: why "free" and "open source" aren't the same thing 🔵 — [`open-source-vs-free-ats.md`](content/blog/open-source-vs-free-ats.md) -- [ ] What does open source licensing mean for ATS software? (MIT, GPL, Apache explained) 🔵 -- [x] Who uses open source ATS? Use cases by company size and type 🔵 → [Cluster 6] — [`who-uses-open-source-ats.md`](content/blog/who-uses-open-source-ats.md) -- [ ] The true cost of running an open source ATS 🟢 → [Cluster 2] -- [ ] Is open source ATS secure enough for candidate data? 🔵 → [Cluster 5] -- [x] What "self-hosted" means and why it matters for recruiting software 🔵 → [Cluster 4] — [`self-hosted-vs-cloud-ats.md`](content/blog/self-hosted-vs-cloud-ats.md) -- [ ] Open source ATS glossary: 50 terms every recruiter should know 🔵 - ---- - -**Phase 1 total: 35 articles** | Progress: 6/35 - ---- - -## Phase 2: Differentiation (Weeks 5–8) - -> These are Reqcore's moat. No competitor covers transparent AI scoring or self-hosted data ownership with this depth. - -### Cluster 3: AI & Automation in Your ATS (Differentiation Cluster) — 17 articles - -> Where Reqcore's transparent AI positioning shines. High interest, under-served by competitors. - -**Pillar:** -- [ ] How AI works in modern applicant tracking systems (the honest guide) 🔵 - -**Supporting — How AI works:** -- [ ] How AI candidate scoring actually works inside an ATS 🔵 -- [ ] AI resume parsing explained: how your ATS reads resumes 🔵 -- [ ] Keyword matching vs semantic matching: how modern ATS rank candidates 🔵 -- [ ] How to configure AI scoring rules that reflect your hiring values 🔵 -- [ ] AI skills extraction: automatically mapping candidate competencies 🔵 - -**Supporting — Transparency & bias:** -- [ ] Transparent AI scoring vs black-box algorithms: why it matters 🔵 -- [ ] AI bias in applicant tracking systems: real risks and how to mitigate them 🔵 -- [ ] How to audit your ATS for algorithmic fairness 🔵 -- [ ] Explainable AI in recruiting: why candidates deserve to know how they're scored 🔵 -- [ ] The legal landscape of AI in hiring (NYC Local Law 144, EU AI Act) 🔵 → [Cluster 5] - -**Supporting — Practical AI automation:** -- [ ] Automating candidate screening without losing the human touch 🔵 -- [ ] How to use AI to write better job descriptions 🔵 -- [ ] AI-powered candidate matching: how to set it up in your ATS 🔵 -- [ ] Automated email sequences for candidate nurturing in your ATS 🔵 -- [ ] Using LLMs to summarize interview feedback 🔵 -- [ ] When AI should NOT make the hiring decision 🔵 - ---- - -### Cluster 4: Self-Hosting, Data Ownership & Setup (Moat Cluster) — 16 articles - -> Nobody else writes this content well. Own the conversation and build unique authority. - -**Pillar:** -- [ ] The complete guide to self-hosting your applicant tracking system 🔵 - -**Supporting — Data ownership:** -- [ ] Why data ownership matters in recruiting technology 🔵 -- [ ] Vendor lock-in in ATS: how it happens and how to avoid it 🔵 -- [ ] What happens to your candidate data when your ATS vendor shuts down 🔵 -- [ ] Data portability in recruiting: why it should be non-negotiable 🔵 -- [ ] Self-hosted vs cloud ATS: a data ownership perspective 🟢 → [Cluster 2] - -**Supporting — Deployment guides:** -- [ ] How to deploy an open source ATS with Docker (step-by-step) 🔵 -- [ ] Deploying an open source ATS on AWS 🔵 -- [ ] Deploying an open source ATS on DigitalOcean 🔵 -- [ ] Deploying an open source ATS on Railway / Render / Fly.io 🔵 -- [ ] One-click deploy: getting your ATS running in under 10 minutes 🔵 - -**Supporting — Operations:** -- [ ] Backup and disaster recovery for your self-hosted ATS 🔵 -- [ ] Monitoring and uptime for self-hosted ATS 🔵 -- [ ] Scaling your self-hosted ATS as your team grows 🔵 -- [ ] ATS security hardening: SSL, access control, and audit logs 🔵 → [Cluster 5] -- [ ] Cost breakdown: self-hosted ATS infrastructure month by month 🟢 → [Cluster 2] - ---- - -**Phase 2 total: 33 articles** | Progress: 0/33 - ---- - -## Phase 3: Practitioner Depth (Weeks 9–12) - -> High dwell-time content that proves genuine usefulness via `lastLongestClicks`. Feeds Reddit strategy — how-tos and metric breakdowns are highly shareable. - -### Cluster 6: ATS Setup, Workflows & Daily Use (Practitioner Cluster) — 16 articles - -> Targets people who already have (or are about to get) an ATS. Long reads, how-tos, step-by-steps. - -**Pillar:** -- [ ] How to set up your ATS from scratch: the complete workflow guide 🔵 - -**Supporting — Initial setup:** -- [ ] How to design your hiring pipeline stages 🔵 -- [ ] Configuring custom workflows in your ATS 🔵 -- [ ] Setting up user roles and permissions 🔵 -- [ ] How to configure ATS email templates and SMTP settings 🔵 -- [ ] Customizing application forms for different roles 🔵 -- [ ] Setting up your first job posting in an open source ATS 🔵 - -**Supporting — Integrations:** -- [ ] How to integrate your ATS with job boards (Indeed, LinkedIn) 🔵 -- [ ] Calendar and scheduling integrations for your ATS 🔵 -- [ ] Slack and Teams integrations for hiring collaboration 🔵 -- [ ] Zapier and n8n automation workflows for your ATS 🔵 -- [ ] How to build a career page connected to your ATS 🔵 → [Cluster 8] -- [ ] Using your ATS API: developer quickstart guide 🔵 - -**Supporting — Migration:** -- [ ] How to migrate from spreadsheets to an ATS 🟢 → [Cluster 2] -- [ ] How to migrate candidate data between ATS platforms 🔵 -- [ ] How to export your data from Greenhouse / Lever / Workable 🔵 → [Cluster 4] - ---- - -### Cluster 7: Recruiting Metrics & ATS Analytics (Data Cluster) — 15 articles - -> Data-driven content demonstrating expertise. Recruiter leaders search these when building reports for leadership. - -**Pillar:** -- [ ] The recruiting metrics that actually matter (and how to track them in your ATS) 🔵 - -**Supporting — Core metrics:** -- [ ] How to calculate cost-per-hire accurately 🔵 -- [ ] Time-to-fill vs time-to-hire: the difference and why it matters 🔵 -- [ ] Quality of hire: how to measure it with ATS data 🔵 -- [ ] Offer acceptance rate: benchmarks and how to improve 🔵 -- [ ] Source of hire tracking: attributing candidates to channels 🔵 - -**Supporting — Pipeline analytics:** -- [ ] Pipeline conversion rates: diagnosing where you lose candidates 🔵 -- [ ] Candidate drop-off analysis: finding and fixing bottlenecks 🔵 -- [ ] Recruiter productivity metrics: what to measure without micromanaging 🔵 -- [ ] Application completion rate: how your forms affect your funnel 🔵 → [Cluster 6] - -**Supporting — Reporting:** -- [ ] How to build a recruiting dashboard with your ATS data 🔵 -- [ ] Presenting recruiting data to leadership: the 5 numbers they care about 🔵 -- [ ] Using ATS data to forecast hiring needs 🔵 -- [ ] Diversity hiring metrics: what to track and how 🔵 -- [ ] How to benchmark your recruiting against industry standards 🔵 - ---- - -**Phase 3 total: 31 articles** | Progress: 0/31 - ---- - -## Phase 4: Trust + Conversion (Weeks 13–16) - -> Compliance content attracts backlinks from legal/HR blogs. Migration content converts people convinced by comparison posts. - -### Cluster 5: Compliance, Privacy & Candidate Data (Trust Cluster) — 15 articles - -> Builds E-E-A-T trust signals. Compliance content gets linked by legal blogs and HR publications — backlink magnet. - -**Pillar:** -- [ ] ATS compliance guide: GDPR, EEOC, and candidate data privacy 🔵 - -**Supporting — Data privacy:** -- [ ] GDPR compliance for your applicant tracking system 🔵 -- [ ] CCPA and candidate data: what your ATS needs to handle 🔵 -- [ ] Right to deletion: handling candidate data requests in your ATS 🔵 -- [ ] Consent management for candidate data collection 🔵 -- [ ] Data retention policies: how long should you keep candidate data? 🔵 -- [ ] International data transfers and your ATS (EU-US, PIPEDA, LGPD) 🔵 - -**Supporting — Employment law:** -- [ ] EEO and OFCCP reporting with your ATS 🔵 -- [ ] Ban-the-box laws: how to configure your ATS 🔵 -- [ ] Pay transparency laws and your job postings 🔵 -- [ ] Adverse impact analysis using your ATS data 🔵 -- [ ] AI hiring regulations: what your ATS needs to comply with 🔵 → [Cluster 3] - -**Supporting — Security frameworks:** -- [ ] Open source ATS and SOC 2: what you need to know 🔵 -- [ ] Candidate data encryption: at rest and in transit 🔵 → [Cluster 4] -- [ ] How to create a data processing agreement (DPA) for your ATS 🔵 - ---- - -### Cluster 8: Career Pages & Employer Brand (Conversion Cluster) — 9 articles - -> Captures people optimizing their hiring presence. Naturally links to ATS setup and integrations. - -**Pillar:** -- [x] How to build a career page that converts (the ATS-powered guide) 🔵 — [`career-page-that-converts.md`](content/blog/career-page-that-converts.md) - -**Supporting:** -- [x] Career page SEO: getting your job listings found on Google 🔵 — [`career-page-seo.md`](content/blog/career-page-seo.md) -- [x] Google for Jobs: structured data implementation guide 🔵 — [`google-for-jobs-structured-data.md`](content/blog/google-for-jobs-structured-data.md) -- [ ] Application form design: reducing candidate drop-off 🔵 → [Cluster 7] -- [ ] Mobile career pages: why they matter and how to optimize 🔵 -- [ ] Custom career page vs ATS-generated page: pros and cons 🔵 -- [ ] How your ATS shapes the candidate experience 🔵 -- [ ] Employer branding on a budget for small teams 🔵 -- [ ] How to A/B test your job application flow with ATS data 🔵 → [Cluster 7] - ---- - -### Cluster 9: Migration & Switching ATS (Action Cluster) — 9 articles - -> Pure conversion content. People searching these are ready to switch. Tightest path to Reqcore adoption. - -**Pillar:** -- [ ] How to switch your ATS without losing data or momentum 🔴 - -**Supporting:** -- [ ] Signs it's time to replace your current ATS 🟢 -- [ ] How to convince your team to switch ATS platforms 🟢 -- [ ] The real cost of switching ATS (time, data, disruption) 🟢 → [Cluster 2] -- [ ] ATS data migration checklist: nothing gets left behind 🔴 -- [ ] How to export candidate data from any ATS 🔵 → [Cluster 4] -- [ ] Mapping fields between ATS platforms: the data translation guide 🔵 -- [ ] How to handle duplicate candidates during migration 🔵 -- [ ] Post-migration validation: making sure nothing broke 🔵 - ---- - -**Phase 4 total: 33 articles** | Progress: 0/33 - ---- - -## Phase 5: Ongoing Refresh Cycle - -After Phase 4, return to Phase 1 content and upgrade: - -- [ ] Review and update all Cluster 2 comparison posts with new data, screenshots, and refreshed dates -- [ ] Review and update all Cluster 1 pillar + supporting articles -- [ ] Add new competitor comparison articles as the market evolves -- [ ] Expand thin articles with deeper sections -- [ ] Check and fix all internal and external links across all clusters -- [ ] Update every pillar page (quarterly cadence per SEO Skill §13) -- [ ] Monitor ranking drops and fill content gaps identified by SERP analysis - ---- - -## Cross-Cluster Linking Map - -``` - ┌──────────────┐ - │ Cluster 1 │ - │ Fundamentals │ - └──────┬───────┘ - │ - ┌────────────┼────────────┐ - │ │ │ - ┌───────▼──────┐ ┌──▼───────┐ ┌──▼──────────┐ - │ Cluster 2 │ │Cluster 4 │ │ Cluster 3 │ - │ Comparisons │ │Data Own. │ │ AI & Auto │ - │ (MONEY) │ │ (MOAT) │ │ (DIFFER.) │ - └──┬───────┬───┘ └──┬───────┘ └──┬───────────┘ - │ │ │ │ - │ ┌────▼─────────▼──┐ ┌────▼──────────┐ - │ │ Cluster 5 │ │ Cluster 6 │ - │ │ Compliance │ │ Setup & Use │ - │ └─────────────────┘ └────┬──────────┘ - │ │ - ┌────▼────────┐ ┌─────────────┐ ┌──▼───────────┐ - │ Cluster 9 │ │ Cluster 8 │ │ Cluster 7 │ - │ Migration │ │Career Pages │ │ Metrics │ - │ (ACTION) │ │ │ │ │ - └─────────────┘ └─────────────┘ └──────────────┘ -``` - -### Key Cross-Cluster Links - -| From Article | Links To | -|---|---| -| Open source vs proprietary ATS (C1) | Cluster 2 pillar | -| Who uses open source ATS? (C1) | Cluster 6 pillar | -| The true cost of running an open source ATS (C1) | Cluster 2 pillar | -| Is open source ATS secure enough? (C1) | Cluster 5 pillar | -| Self-hosted means… (C1) | Cluster 4 pillar | -| Best ATS with transparent AI scoring (C2) | Cluster 3 pillar | -| Manatal vs open source ATS (C2) | Cluster 3 pillar | -| Total cost of ownership: SaaS vs self-hosted (C2) | Cluster 4 pillar | -| Legal landscape of AI in hiring (C3) | Cluster 5 pillar | -| Self-hosted vs cloud ATS: data ownership (C4) | Cluster 2 pillar | -| ATS security hardening (C4) | Cluster 5 pillar | -| Cost breakdown: self-hosted infrastructure (C4) | Cluster 2 pillar | -| AI hiring regulations (C5) | Cluster 3 pillar | -| Candidate data encryption (C5) | Cluster 4 pillar | -| How to build a career page (C6) | Cluster 8 pillar | -| Migrate from spreadsheets (C6) | Cluster 2 pillar | -| Export data from Greenhouse/Lever/Workable (C6) | Cluster 4 pillar | -| Application completion rate (C7) | Cluster 6 pillar | -| Application form design (C8) | Cluster 7 pillar | -| A/B test application flow (C8) | Cluster 7 pillar | -| Real cost of switching ATS (C9) | Cluster 2 pillar | -| Export candidate data from any ATS (C9) | Cluster 4 pillar | - ---- - -## Progress Summary - -| Cluster | Phase | Articles | Done | Remaining | -|---------|-------|----------|------|-----------| -| 1. Fundamentals | 1 | 10 | 4 | 6 | -| 2. Comparisons | 1 | 25 | 2 | 23 | -| 3. AI & Automation | 2 | 17 | 0 | 17 | -| 4. Data Ownership | 2 | 16 | 0 | 16 | -| 5. Compliance | 4 | 15 | 0 | 15 | -| 6. Setup & Workflows | 3 | 16 | 0 | 16 | -| 7. Metrics | 3 | 15 | 0 | 15 | -| 8. Career Pages | 4 | 9 | 0 | 9 | -| 9. Migration | 4 | 9 | 0 | 9 | -| **Total** | | **132** | **6** | **126** | - ---- - -## SEO Skill Reference - -This map is designed to be used alongside the [SEO Skill](.agents/skills/seo-skill/SKILL.md). Key sections to reference when writing each article: - -| Writing Step | SEO Skill Section | -|---|---| -| Choose the primary keyword | §1.1 Target One Primary Keyword | -| Validate search intent | §1.2 Match Search Intent | -| Score business potential | §1.3 Business Potential Score | -| Write frontmatter | §2 Article Frontmatter | -| Craft the title | §3 Title Tag Optimization | -| Write meta description | §4 Meta Description Optimization | -| Set the URL slug (filename) | §5 URL Structure | -| Structure headings & content | §6 Content Structure & On-Page SEO | -| Optimize for AI citations | §7 LLM & AI Visibility Optimization | -| Add E-E-A-T signals | §8 E-E-A-T | -| Add internal + external links | §9 Internal & External Linking | -| Optimize images | §10 Image Optimization | -| Add schema markup | §11 Structured Data | -| Set `useSeoMeta()` | §12 Technical SEO Checklist | -| Pre-publish quality check | §15 SEO Quality Checklist | -| Quarterly review | §13 Content Update & Freshness Strategy | diff --git a/app/components/GiscusComments.vue b/app/components/GiscusComments.vue deleted file mode 100644 index a14b98b..0000000 --- a/app/components/GiscusComments.vue +++ /dev/null @@ -1,54 +0,0 @@ - - - diff --git a/app/components/PublicNavBar.vue b/app/components/PublicNavBar.vue index c6c13cf..061b68b 100644 --- a/app/components/PublicNavBar.vue +++ b/app/components/PublicNavBar.vue @@ -31,13 +31,6 @@ const { data: session } = await authClient.useSession(useFetch)