Problem
GSC Insights can filter by device, country, and date, but not by site section or metric range. Users cannot isolate paths such as /blogs/* and then focus on rows with meaningful impressions, clicks, or positions.
Evidence
- User feedback: “Can we filter routes like
/blogs/* or /tools/*, plus impressions, clicks, and position?”
Implementation check
Checked main at fec642a0:
src/client/features/search-performance/SearchPerformancePage.tsx owns the current filters and shared table/export payload.
src/types/schemas/search-performance.ts exposes date, device, country, dimension, and pagination only.
src/serverFunctions/searchPerformance.ts builds the GSC filters used by overview, table, and export calls.
This is ready, but it spans UI, request schemas, and server filtering.
Suggested direction
Add a page-path filter with prefix-style input such as /blogs/*, normalizing it to GSC's page-dimension filtering. Add optional min/max filters for impressions, clicks, and average position. Metric thresholds must be applied before application pagination/export—not only to the visible page. Route filtering should affect overview cards and rows; any metric-filter exception for overview cards must be stated in the UI.
Contributor fit
Best for an intermediate full-stack TypeScript contributor familiar with query schemas and paginated/exported datasets.
Acceptance criteria
Problem
GSC Insights can filter by device, country, and date, but not by site section or metric range. Users cannot isolate paths such as
/blogs/*and then focus on rows with meaningful impressions, clicks, or positions.Evidence
/blogs/*or/tools/*, plus impressions, clicks, and position?”Implementation check
Checked
mainatfec642a0:src/client/features/search-performance/SearchPerformancePage.tsxowns the current filters and shared table/export payload.src/types/schemas/search-performance.tsexposes date, device, country, dimension, and pagination only.src/serverFunctions/searchPerformance.tsbuilds the GSC filters used by overview, table, and export calls.This is ready, but it spans UI, request schemas, and server filtering.
Suggested direction
Add a page-path filter with prefix-style input such as
/blogs/*, normalizing it to GSC's page-dimension filtering. Add optional min/max filters for impressions, clicks, and average position. Metric thresholds must be applied before application pagination/export—not only to the visible page. Route filtering should affect overview cards and rows; any metric-filter exception for overview cards must be stated in the UI.Contributor fit
Best for an intermediate full-stack TypeScript contributor familiar with query schemas and paginated/exported datasets.
Acceptance criteria