fix(landing): redirect /privacy → /policy (unblock CWS extension publish) - #5
Merged
Merged
Conversation
The Chrome Web Store has https://knowcap.ai/privacy registered as the Knowcap extension's privacy URL, but the actual privacy policy page lives at /policy. Google's publish-time reachability check 404s on the URL and blocks every extension publish with: Publish condition not met: Privacy policy link is not reachable. Has silently blocked every extension publish since 1.21.6 (May 6). 1.21.19 has been sitting unpublished in the CWS dashboard for days. Fix: Next.js permanent redirects for /privacy and /privacy-policy → /policy. Both URLs now return 200 (via 308), Google's check passes.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Smetools
added a commit
that referenced
this pull request
Jun 14, 2026
…rends to advisory Dry-run (2026-06-14) surfaced two input gaps in the routine: - The only hub SEO audit is technical/on-page — it has NO keyword table, so routine input #5 had no structured source. - Google Trends has negligible volume for this B2B ICP (closest odoo term scored <=0.9/100 across EG/SA/AE), so it can't gate keyword selection. This adds routines/blogger/keyword-opportunities.md as the PRIMARY keyword source: a per-persona table (odoo-partners, mena-audit-firms, regulated-verticals, + deprioritized mena-agencies), each keyword pain-and-intent derived from POSITIONING.md buyer profiles, with dedup status vs shipped slugs. Includes the only volume-validated MENA terms we actually have (mahdar egtmaa 89x Saudi; "AI meeting notes" Saudi growth; Saudi PDPL) mined from shipped posts. ROUTINE.md: input #5 now reads keyword-opportunities.md (SEO audit demoted to on-page guidance only); input #6 (Trends) is advisory/tiebreaker, never a gate; failure-mode "advance keyword" points at the new table. Also flags the roster-vs-research mismatch: mena-agencies is in the rotation roster but the segmentation study rates it an anti-buyer. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This was referenced Jun 14, 2026
Smetools
added a commit
that referenced
this pull request
Jun 14, 2026
…static keywords + Trends) (#61) Turns the blogger from static-keyword + dead-Google-Trends into a daily, live SEO-driven engine. - scripts/seo-pull.mjs: zero-dep DataForSEO pull (Google-Ads keywords_for_keywords). Expands persona seeds into real related keywords with search volume + competition, MENA (KSA+EG+UAE) EN+AR, filters to Knowcap ICP intent, ranks by volume x competition-weight, dedups vs shipped posts -> opportunity-queue.json + digest. Auth: HTTP Basic from ~/.claude/secrets/blogger.md (never committed). Verified live: 369 keywords -> 13 fresh ranked opportunities, $0.075/run. - AGENT.md: the brain mission (email-manager style) — daily flow, burn cadence, hard rules (ICP-only, Knowcap-angle, quality>quota, honesty, dedup, EN posts). - ROUTINE.md: input #5 now runs seo-pull (was static SEO-audit scan); #6 Google Trends removed (near-zero for B2B); new "Daily flow + burn cadence" section (3 posts/wk for ~8wk -> 1/wk, never publish thin to hit quota). - .gitignore: opportunity-queue.json + burn-state.json (runtime state). Brain-first half of the knowcap/blogger routine rebuild (routine-creator). The thin schedule shell + Windows task land in claude-knowcap next.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Chrome Web Store has `https://knowcap.ai/privacy\` registered as the
Knowcap extension's privacy URL, but the page lives at `/policy`.
Google's publish-time reachability check 404s and blocks every
extension publish with:
```
"Publish condition not met: Privacy policy link is not reachable."
```
Has blocked every extension publish since 1.21.6 (May 6). 1.21.19 is
currently sitting unpublished in the CWS dashboard.
Previously merged into `master` as #4 — but Vercel deploys from
`main` (per #3's commit message: "master has been a broken dev fork
for 2 months"). Re-targeting at `main` so the redirect actually
ships.
Fix
Permanent redirects `/privacy` and `/privacy-policy` → `/policy` in
`next.config.js`. Both URLs return 200 via 308.
Test plan