chore(seo): add ex-sinks baseline to pulse reports - #93
Merged
Conversation
Two docs pages absorb a third of all Search Console impressions at near-zero CTR (/llms-full.txt and /overview/self-hosting/railway), so every site-level clicks/impressions/CTR number describes them instead of the docs. - add `impression_sinks` to the pulse config, with the reason each page is listed - add Phase 0 (gsc-perf.mjs): parses a Search Console pages export and prints site totals as exported and ex-sinks, plus each sink's share of impressions - report template now carries both views and compares month over month on ex-sinks - record the ex-sinks baseline and the Jul 10-18 impression cliff (Google-side: onset predates every July SEO commit) in the July report
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Two docs pages absorb a third of all Search Console impressions at near-zero CTR, so every site-level clicks/impressions/CTR number in the pulse describes those pages instead of the docs:
/llms-full.txt/overview/self-hosting/railwaySite CTR reads 0.29% with them, 0.44% without (pages people actually click run 0.85% to 1.7%).
What changed
config.jsongainsimpression_sinks, with a comment explaining what each page does to the numbers, so the list is easy to edit when another page starts behaving the same way.gsc-perf.mjs: parses a Search Console pages export and prints site clicks/impressions/CTR as exported and ex-sinks, plus each sink's share of impressions, and writes aperf-YYYY-MM.jsonsnapshot for next month's delta.SKILL.md: the report template now carries both views, and month-over-month comparison is on the ex-sinks row. The as-exported number is never dropped.Tests
tests/seo-ex-sinks.test.ts(TDD, written first) covers the export parsing and the ex-sinks totals: thousands separators, header variants, sink matching by path or full URL, and a sink missing from the export. Full suite green, biome clean.