Changelog
<!-- Recommended manual workflow: Keep ## [Unreleased] at the top. Add bullets under the existing sections only: Added, Changed, Fixed, Deprecated, Removed. When you want to publish a release block, move those bullets into a new month section like ## [2026-05]. Leave an empty ## [Unreleased] block above it for the next round of notes. Deploy the site, and the updated markdown will appear on /changelog. --> All notable user-facing feature changes to Stash Clicks are documented here.
Unreleased
Added
- Playground and Reports: the site's logo now sits before its name in the heading above the main chart.
- Playground, Queries and Pages: each tab now opens with a chart of where the site ranked, week by week. One stacked bar per ISO week of the selected period shows how many queries (or pages) sat in each position range: 1 to 3, 4 to 6, 7 to 10, 11 to 15, 16 to 20, 21 to 30, 31 to 50 and 51+. Only whole Monday-to-Sunday weeks inside the period are charted, with 1 to 3 at the top of each bar. Hover a bar to read each range's figure and its share of the week, and the two biggest shares are written inside the bar. Switch the bars to clicks or impressions instead of a count. Filters and the Brand / Non-Brand segment apply as they do to the table below. Every complete week Search Console still holds is charted, however long the period: squeezed to fit by default, or with Widen the bars at a readable width you scroll through, newest first.
- Reports, Brand vs Non-Brand, Target Countries and Questions vs Non-Questions: each segment's clicks and impressions now show its share of the total across the segments, so branded against non-branded (say) reads as a percentage at a glance.
- Reports, Taxonomies: the report's summary is now one table of every taxonomy on the site. Select a row to put that taxonomy on the chart and in the tables below (up to four at a time), and select it again to take it off; the change loads on its own, with nothing to confirm. Each row shows the taxonomy's name in the colour of its line, a small chart of the first selected metric, and its clicks, impressions, CTR and position. Everything follows the timeframe, aggregation and previous period or previous year comparisons chosen at the top of the page, so the table never shows dates of its own. Sort the table by any metric, or by the biggest gain or loss against the comparison. It replaces the Filter Taxonomies dropdown and the separate segment summary; Inverse Taxonomy, Brand Split and the Configurations button now sit in its header.
- Reports: clicking a row in the segment summary table shows only that segment on the chart and switches the tables below to its data, the same as choosing its tab. Click it again, or the All Selected Segments row, to go back to every segment.
- Reports: a gear button at the right of the summary heading opens Configurations on the same site, to redefine the brand terms, question words, target countries or taxonomies the report is built on. For a saved filter report it opens Filters.
- Playground and Reports: every query in the Queries tables is a link that opens that search on Google.com in a new tab, with personalised results turned off.
- Keyword Clusters, View keyword clusters: CTR joins Clicks, Impressions and Position as a chart metric and as a sort (highest first). CTR is worked out from a cluster's total clicks and impressions for the period.
- Keyword Clusters, View keyword clusters: every cluster, and each category's total, shows pills for all four metrics for the period, so clusters can be compared at a glance whichever metric the charts draw. While a comparison with the previous period is running, only the charted metric and its change are shown.
- Keyword Clusters, Create: "Add ideas from Search Console" now opens on two choices, Add single cluster and Add multiple clusters, and shows each path once it is chosen.
- Keyword Clusters: Add multiple clusters creates a whole set of clusters from a list, on the page itself. Name the set and its category, then list the variables: describe the list (the most popular car models in the UK, the states of the United States, the ages 16 through 25) and Stash Clicks AI lists them, or paste your own. Choose the words every cluster shares using one variable as the example, then review every cluster the set would create, with its name, its rule and how many of your queries it matches, and create them in one go. A set holds up to 100 variables, and the page says what each cluster costs. Each cluster remembers the set and variable it came from.
- Keyword Clusters: the variables of a set are pills. Type one and press Enter, or paste a whole list; select a pill to edit it, or remove it with the cross. Each pill has an "or..." button for another name that should match too: give "VW Golf" the other name "Volkswagen Golf" and the cluster matches queries with either make, while its name stays "VW Golf". Writing "VW or Volkswagen Golf" as the variable does the same.
- Keyword Clusters: an alternative can be a phrase, and another name no longer has to share a word with the variable. "Daily" can take "24 hour" as another name: queries with "daily" or with "24 hour" match, while "1 hour" does not. The same works in a rule's word groups (type "daily, 24 hour").
- Keyword Clusters, Create: a notification says exactly what was created: the cluster, its category and what it matches, or for a set, how many clusters, the category and their names.
- Keyword Clusters: a contains rule can now say what a query must not contain, so a rule for Virginia can leave out "west". In a set, variables whose name is inside another variable's name are kept apart automatically, and every exclusion can be changed.
- Keyword Clusters: a contains rule can leave out branded queries, using the site's current brand terms. It is on by default for a new rule, and the charts, Position Tracking and the weekly stash all honour it.
- Keyword Clusters: any word can be typed into a rule, not only the words of the cluster's name.
- Keyword Clusters: a contains rule can accept any one of several words in the same place, so one cluster can be Ford Fiesta with "insure" or "insurance". Type the words together separated by commas, or use "or..." on a word that is on. A group counts as one of the rule's six words, works in the set builder too, and is honoured by the charts, Position Tracking and the weekly stash.
- Keyword Clusters, Create: the page now has two tabs. Add ideas from Search Console comes first and builds a cluster from your own queries in numbered steps: name the cluster, choose the match type, then pick the queries or the words. Add ideas from competitors holds the SEMrush competitor flow, along with typing keywords yourself and generating similar keywords with AI, for a site with little Search Console traffic to pick from.
- Keyword Clusters: the Exact match and Contains choices are now two larger buttons that each say what choosing them means.
- Keyword Clusters: a cluster's category is chosen beside its name, from a dropdown of your existing categories with a New category option.
- Keyword Clusters: a cluster can now be a contains rule instead of a list of exact queries. Choose Contains, turn on the words every query must contain ("17" and "insurance"), and the cluster is every Search Console query that contains all of them as whole words, including queries that only appear later. A preview lists what the rule matches in the last 184 days. Available when adding a custom cluster and when reviewing a saved one. A rule that matches more than 500 queries warns that it is broad and can still be saved; the weekly stash keeps the top 500 queries per cluster per week.
- Keyword Clusters, Saved: Review opens in a window over the page instead of expanding under the card, and every cluster has a Review button. A rule shows its words in place of keyword pills, with how many Search Console queries it matches.
- Keyword Clusters, Saved: switching a cluster between Exact match and Contains asks you to confirm first. It replaces the cluster's keywords, sets how the cluster matches from then on, and is not something to switch back and forth. On a site whose clusters are stashed, changing a rule's words or adding queries asks too, because the weeks already stashed were collected with the previous matching and cannot be collected again.
- Position Tracking: a contains rule cluster shows its words and loads every query that matches the rule.
- Keyword Clusters, Create: the page now starts from your own Search Console queries. Name a cluster and the words in its name become chips, rarest first; the rarest is on, every word that is on must appear in a query, and the matching queries from the last 184 days appear in a table to select. Branded queries are left out unless the checkbox includes them. A line shows how much of the regex limit the selected queries use, and selecting stops at the limit. Competitor keywords and AI expansion remain as the next steps.
- Keyword Clusters, Saved: a cluster's keyword pills show three rows, then "+N more" reveals the rest; the coverage line starts with its Review button; the coverage header and the query picker lost their refresh buttons (the brand checkbox reloads by itself).
- Position Tracking: the page shows the loading indicator while your keyword clusters load instead of "No keyword clusters found", and "+N more" after the keyword pills reveals the rest.
- Keyword Clusters, Saved: a coverage check. Once the site's queries are loaded, each cluster says how many Search Console queries look like they belong to it but are not members, which word they matched on, and Review lists them to select and add.
- Keyword Clusters, Add a custom cluster: Find matching queries in Search Console is the first step; Generate similar keywords with AI stays as the second. A cluster name that already exists is refused instead of silently overwriting the existing cluster.
- Keyword Clusters, Create: the competitor picker is headed Add ideas from competitors.
- Keyword Clusters, Saved: changing a cluster's keywords now refreshes its split-by-page chart as well as its main chart.
- Keyword Clusters, Saved: the cluster charts now ask Search Console for finalised data only, so the roughly 48 hours Google is still processing no longer appear on this report. Choosing a sort by clicks, impressions or position switches the charts to that metric as well; the metric can still be changed afterwards.
- Keyword Clusters, Saved: a Period dropdown (Max, 7, 14, 28 or 92 days) sets what the category and cluster charts, the metric pills and the sort cover. Picking a range compares it with the previous period: a dashed line on the charts and a coloured percentage on each pill and category total, with a "vs Previous Period (PP)" checkbox in the dropdown to turn it off. The current and previous ranges are shown under the controls. Max keeps everything stored, by week, including the weeks your stash preserved. Split by page follows the period without a comparison. Kept for the session per site. The pill's position is now impression-weighted, the same figure the sort uses.
- Keyword Clusters, Saved: with Split by page on, the weeks your stash preserved beyond Google's 16 months now appear in the page split too, marked with the same stash band. The stash keeps the top 100 pages per cluster per week; the caption under each split chart says so.
- AI Overviews: the AI Competitors tab has previous / next month buttons beside its heading, so the rankings, the tiles and the comparison table can be read for any of the stored twelve months, not only the latest.
- AI Overviews: AI Opportunities recommendations are now article-style cards you page through one at a time. Each shows the example article title, why it was suggested, alternative titles, the keywords behind it, the competitor pages Google already cites for that topic, and a confidence level with its reason. Save for later keeps a card on a new Saved for later tab; Remove hides it from future runs.
- AI Overviews: the AI Opportunities run now also reads the pages your top-cited competitors are cited for, so recommendations draw on both your own keyword gaps and the kind of page Google already cites, and the run shows its four steps while it works.
- AI Overviews: an explainer on the AI Page Recommendations tab says what the High, Medium and Low confidence pills mean and how to use each.
- Stash page: after a site starts being stashed without brand terms or target countries, a prompt explains that the Brand, AI Overviews, Competitors and Keyword Clusters reports depend on them and offers to detect the settings automatically or open Configurations.
- Competitors, AI Overviews and Keyword Clusters: when a site has competitors saved under a different country than the one selected, the report says so and offers a one-click switch, and a site with no configured target country opens on the country its competitors were saved for.
- Competitors: the quadrant chart's x-axis metric can be chosen from a dropdown beside the month switcher: AI Overview Citations (the default), Organic Keywords, Organic Cost, Paid Traffic or Paid Keywords. Organic Traffic stays on the y-axis.
- Competitors: the 12-month trend chart can now plot AI Overview Citations and AI Overview Keywords alongside the existing metrics.
- Indexing report: a new Tracked pages tab lists every page the site tracks and any page removed in the last 30 days, with the group each is in, when it was added, when it was removed, and when it was last checked. From there you can move one or many pages to another group, into a new group, or stop tracking them; a removed page can be tracked again from the same row.
- Performance report: the site selector now leads with a Performance group listing the sites already being monitored here, the way the Indexing report leads with its tracked sites.
- Playground and Reports: a category picker in the annotations panel, beside Add Annotation, chooses which annotation categories are drawn on the chart. Every category is on by default; deselect any to hide it from the chart.
- Indexing report: you can now choose the period the report covers (7, 14, 28 or 92 days) instead of always seeing the last 28 days. Picking a period longer than the site has been tracked simply shows everything there is.
- Indexing report: the tracked group selector now takes more than one group at a time, so you can read the report across any combination of them rather than one at a time or all of them.
- Indexing report: the results table now has a Search Console metric column you can switch between clicks, impressions, CTR and position, so you can see which pages matter next to how Google is indexing them.
- Indexing report: clicking a page in the results table now loads that page's full check history rather than only the part inside the selected period, so the recrawl count and average gap describe the page rather than the dropdown.
- Indexing report: a page's history panel can now lay that page's daily Search Console clicks or impressions over its crawl-age line, on their own axis, so a recrawl or a long gap can be read against what the page was earning at the time.
- Indexing report: the Index freshness chart can now be split by URL group as well as by coverage state, so you can see which of your tracked groups Google comes back to most often.
- Indexing report: the summary table has a Tracked in column, beside Details, naming every group each page is in.
- Indexing report: the Tracked in column on Select pages from GSC can be filtered by group from its header, as it already could on Tracked pages.
- Indexing report: the summary table's Coverage header is now a filter. Pick one coverage state, or "Not checked today", to show only those pages; each option shows its count.
- Site selector: stashed sites now show a small Tier 1 / Tier 2 tag beside their name.
- Competitors report: a full-screen loading panel now appears whenever a new month of SEMrush data (or a newly saved competitor's history) is being pulled, naming the month, the market, and each domain as it loads, so it is clear the charts are updating rather than frozen.
- Competitors report: the Organic Traffic and AI Overview Citations quadrant chart now has previous / next month buttons, so you can step back through the stored twelve months instead of only seeing the latest one.
- Competitors: finding competitors now reports how many were found (or that SEMrush has no data for the site yet), saving takes you straight back to the saved list, and the chart chips stay visible on both tabs.
- Performance report: a new dashboard under
/app/performancetracking Core Web Vitals (LCP, INP, CLS, plus FCP and TTFB) from Google's Chrome UX Report, so you see how the site performs for real Chrome visitors rather than in a lab test. It opens with roughly ten months of history straight away, marks how long a change takes to work through Google's rolling 28-day measurement window, and can overlay your Search Console clicks or average position on the same chart. Available on every site, refreshed monthly on mobile; stashed sites refresh daily, add desktop data, track competitors' Core Web Vitals alongside your own, and can compare an individual page against the equivalent page on a competitor's site. - AI Overviews report: a new dashboard under
/app/ai-overviewsthat surfaces, for every tracked property, which of your top-ranking queries currently trigger a Google AI Overview, the share of your tracked queries that have one, and how that share is trending week-over-week. Data is pulled from SEMrush so you can see AI Overview exposure alongside the rest of your GSC metrics without leaving the app. - A
/featurespage listing what Stash Clicks does, linked from the site footer - Changelog is now linked from the site footer instead of being reachable only from the sitemap
Changed
- Playground, Queries and Pages: the position range chart shows a full-size loading spinner with its progress while the first weeks arrive, and its heading leads with the site's logo and name.
- Playground, Pages: URL grouping sits on the same row as Page view.
- Playground: every tab's table heading now says which days it covers, beside the title.
- The word of the day has left the top bar; it still appears while a report loads.
- Every link that leaves Stash Clicks now carries ?ref=stashclicks, including page URLs and competitor domains in tables, so the site you open can see the visit came from here.
- Competitors: Saved Competitors and Find New Competitors are tabs, matching the rest of the app.
- Refresh: the button in the top bar is the one page refresh, in the same place on every page. Teams, Position Tracking and Keyword Cannibalization now use it, and their in-page refresh buttons are gone. On Playground and Reports the in-page Refresh now only appears beside the notice that the data is getting old, and the top bar button hides on Playground until a site is selected.
- Keyword Clusters, View keyword clusters: the Position Tracking button on each cluster is icon-only.
- Keyword Clusters, Split by page: every cluster's page table now shows five rows a page, and pages with under 1% of the metric stay in the table, dulled, instead of being held back, so a cluster with one dominant page no longer gets a one-row table.
- Keyword Clusters: team members with a Viewer, Client or Member role now get a view-only cluster card. They still see the name, category, keywords or rule, match count and charts, but not the rename, category, remove-keyword, add-keyword, Review or delete controls.
- Keyword Clusters, View keyword clusters: "Add a custom cluster" has moved off this tab (it is on Add ideas from competitors), and the coverage line now reads "may belong here". The note about the weekly stash keeping the top 500 queries is a tooltip beside the match count.
- Keyword Clusters, Add multiple clusters: "Next: choose the words" and "Generate variables with AI" share one line, Next on the left and the AI button on the far right.
- Keyword Clusters is now one page with three tabs, like the other reports: View keyword clusters, Add ideas from Search Console and Add ideas from competitors. The old Saved and Create links still open the right tab, and the menu item is now called Clusters.
- Keyword Clusters: the query table offers the rows-per-page control again when adding clusters (it starts at 50), and the small helper text on those screens is larger and easier to read.
- Keyword Clusters: a rule reads in the order you would say it, the set's variable first and then the shared words ("weekend" + "insurance"), on the review table, the saved cluster card and Position Tracking. Add multiple clusters says "variables" throughout, and the name pattern uses {variable}.
- Keyword Clusters, Add multiple clusters: the variables box is three lines high, and the AI description box sits below it, hidden until "Generate variables with AI" is selected.
- Keyword Clusters, Saved: a cluster's delete button sits on the same line as its Review button and the text beside it.
- Keyword Clusters, Create: the tabs sit directly on the page, naming the category is step 2 beside the cluster name, and the wording says "select" throughout.
- Keyword Clusters, Saved: cluster charts now load a few at a time instead of all at once, so a site with many clusters no longer stalls while they load, and closed categories no longer draw their charts until opened.
- Keyword Clusters: the query table keeps its column headers while you type a cluster name instead of appearing and disappearing, Select all matched and Clear sit on the left above it, and the row above the table is the same height for both match types. Text inputs on the report use the darker background.
- AI Overviews: the report tabs use the same tab bar as the other reports, and a tab you cannot open yet says why.
- AI Overviews: the Latest button on the AI Competitors month switcher sits to the left of the arrows, so the arrows and the month stay put when it appears.
- AI Overviews: the competitor tiles share the row evenly, one column per domain when the width allows (three domains, three tiles a third wide each), wrapping only when a tile would get too narrow.
- App header: the Beta pill now uses the same colour as the Stash Clicks wordmark beside it.
- AI Overviews: the report is three tabs, Setup, AI Competitor Performance and AI Opportunities. The AI Keywords and Competitor Content tabs are hidden for now; everything they fed into AI Opportunities is now fetched by that run itself.
- AI Overviews: the AI Opportunities tab opens with a sources panel, one card for the site and one for each competitor the run reads, saying what data each contributes, instead of a grid of every yield-only keyword group.
- AI Overviews: the AI Opportunities run now also reads the competitor pages that trigger an AI Overview (cited or not), so ideas can target AI Overview keywords the site does not rank for at all.
- AI Overviews: the "generated using AI" notes are no longer italic.
- AI Overviews: the competitor tiles are capped at four per row, each row using the full width, with fewer per row on smaller screens.
- AI Overviews: AI Opportunities is now a two-stage flow. Pick any number of saved competitors, load their AI Overview keyword groups into a table beside your own (one row per page, with keyword count, search volume, SEMrush traffic estimate, CPC and the PPC value of that traffic, plus the most similar page on your site with a confidence), select the rows that matter, then run Stash Clicks AI over exactly those rows. Rows you are already cited for on every keyword cannot be selected. The top three competitors by citations are selected by default.
- Competitors: a manually added competitor typed with "www." or a path is saved as the root domain SEMrush keys its history by, so it no longer sits in the roster with empty cells.
- AI Overviews: when SEMrush has no history for a competitor, the AI Competitor Performance tab now says which domains and why, instead of showing a row of blank cells.
- AI Overviews: the AI Content Opportunities table lists competitor pages only, and only those with keywords you are not cited for; your own pages are no longer rows (they still mark what you are cited for and find your closest page). Nothing is selected to start with, the keyword view shows the selected pages' keywords, and the two filter checkboxes are gone.
- Keyword Clusters, Saved: the Clicks, Impressions and Position buttons are a Metric dropdown, and a Sort dropdown orders the categories and the clusters inside them by name, clicks, impressions or position, kept for the session per site.
- Keyword Clusters, Saved: a "Split by page" checkbox turns each cluster chart into stacked areas, one per page that earns the cluster's clicks or impressions (the top seven pages, the rest as Other pages), with a table under the chart listing every page's clicks, impressions, CTR, position and share of clicks. Position is drawn as separate lines. Live Search Console data, last 16 months.
- Keyword Clusters, Saved: the aggregated category chart and each cluster chart now mark the weeks preserved by your stash beyond Google's 16 months, the same band the All Properties and Playground charts show, with the same Stash Clicks checkbox to hide it. The text label sits on the category chart only; the cluster charts keep just the band and the dotted line.
- Keyword Clusters, Saved: each category shows a progress bar while its clusters' data is still loading (and while page data loads with Split by page on), and the page table under a split chart lists the pages with at least 1% of the metric first, with the rest behind Next.
- Keyword Clusters, Saved: each category opens on its aggregated chart alone; the clusters underneath sit behind a "Show clusters" toggle, and which categories are open is kept for the session.
- AI Overviews: running Stash Clicks AI shows its progress as a notification in the corner instead of a bar under the table, and the report opens the AI Page Recommendations tab when the run finishes, with a short notice of what came back.
- AI Overviews: a match-confidence picker beside the AI Content Opportunities view tabs keeps chosen similar-page confidences (no similar page, Low, Medium, High). Deselect High to see only the themes you have no content for yet.
- AI Overviews: a search-intent picker beside the AI Content Opportunities view tabs keeps chosen funnel stages only (Informational, Commercial, Navigational and Transactional), narrowing the keywords, the page totals and what the AI reads together. Deselect Informational to leave blog-style keywords out; the last stage cannot be deselected. The competitors shown are the ones selected on Competitor Sources, so the table has no second competitor filter.
- AI Overviews: the AI Opportunities tab is four sub-tabs in order: Competitor Sources, AI Content Opportunities, AI Page Recommendations and Saved Recommendations. The keyword table has two views, aggregate by page (the rows the run reads) and aggregate by keyword (how each keyword contributes to its page's numbers). The source column is the logo alone, and the similar-page confidence sits in its own sortable column.
- AI Overviews: each recommendation now shows what being cited could be worth: the monthly visits SEMrush estimates for its keywords and what that traffic would cost in paid search.
- AI Overviews: a Programmatic Pages recommendation carries a hover tooltip beside its type pill explaining what a programmatic page is, with three example URLs the template would produce on your site.
- AI Overviews: recommendation sentences no longer end in an ellipsis when the AI runs a little long; the sanitiser keeps a whole sentence up to a larger cap.
- AI Overviews: every AI Opportunities recommendation is now checked against the site's existing pages from Search Console. A title that reads like an existing URL shows that page on the card as a warning (or, for a Content Expansion card, as the page it expands), and the prompt now sees the existing pages most related to the keywords rather than only the most-clicked ones.
- AI Overviews: a competitor tile with no AI summary now shows just its name and rank instead of placeholder text, and a summary run that failed is reported once under the tiles.
- AI Overviews: the set-level AI synopsis is now three bullets (AI Overview keyword shift, citation shift, standout mover); per-domain summaries name a domain's standing on citation rate from a fixed word list, so only the last-placed domain can be called the straggler; the AI disclosure sits directly under the summaries; the rank column shows the previous position in parentheses instead of struck through; and the progress bar during a run names each step, including the AI summaries and the save.
- AI Overviews: the competitor-set synopsis now reports the month-on-month change in keywords that trigger an AI Overview (noting whether organic keywords held steady), the change in citations the set earns from them, and the standout mover, from totals computed before the AI writes a word. Summaries are also generated under a fixed response schema, so every domain comes back and text is never cut mid-word.
- Competitors: the "Found N competitors" message now carries a Find New Competitors button when it appears on the Saved Competitors tab, so it takes you to the list it is talking about.
- Indexing report: the results view is now the Indexing summary tab and is purely for reading the data. Its checkbox column and Untrack button have gone; managing pages lives on the new Tracked pages tab. Submit to Google stays on the summary as a per-row action on pages Google is not indexing, plus a "Submit all not-indexed" button.
- Indexing report: after saving a group, moving pages or adding pages from a sitemap you now stay on the tab you were on instead of being switched to the results view.
- Indexing report: the XML/URL tab is now "Select pages from XML/URL".
- Indexing report: the tabs now run Indexing summary, Tracked pages, Select pages from GSC, Select pages from XML/URL.
- Indexing report: the summary table is titled with the group (or "All tracked pages") and the selected period, instead of "current state".
- Indexing report: on the Tracked pages and Select pages from GSC tabs, Stop tracking is its own red button beside the "Add selected to" dropdown rather than the last option inside it.
- Indexing report: the note about how many pages Search Console found now sits in the page picker's own header rather than above the table.
- Indexing report: the tracked group selector now appears only on the Indexing summary tab, whose numbers it scopes. The other tabs filter by group from their own Tracked in column.
- Indexing report: on Tracked pages and Select pages from GSC, selecting the first row no longer pushes the table down: the header keeps its height whether or not anything is selected.
- Indexing report: the Index freshness chart is titled with the selected period and defaults to daily buckets again.
- Indexing report: Check now is only offered until the site's first scheduled check has run. After that every tracked page is checked daily, and pressing it again only re-spent the day's quota.
- Indexing report: a page you stop tracking disappears from the report straight away. Previously it stayed in the table and charts until its old results aged out of the selected period.
- Indexing report: the coverage pie now has its own panel beside the charts, headed with the group scope and the date of the latest check, instead of being one of three views behind an icon.
- Indexing report: the crawl-age chart now runs oldest on the left to freshest on the right, matching the last-crawl-date view, and the freshness chart defaults to monthly buckets.
- Indexing report: the Select pages tab's page count and instruction are now one notice.
- Tables: column headers are now a shade darker than the rows on every table, including the Playground tables, which had lost that contrast.
- Indexing report: the Search Console metric column's header is now the dropdown that chooses clicks, impressions, CTR or position, rather than a label with a separate control in the toolbar.
- Indexing report: on the Select pages tab, a page in no group no longer shows a "No group" dropdown; the Tracked in column is simply blank for it. Select it and use "Add selected to" instead.
- Indexing report: "Add selected to" now offers "Add to a new group...", and only offers "Stop tracking" when something selected is actually tracked.
- Indexing report: the daily / paused choice has gone. A group is either tracked or it is not, so every tracked page is checked daily and any group that was paused resumes. Untrack the pages or delete the group to stop checking them.
- Indexing report: the tracked group selector always offers "All pages" again, rather than only being reachable by clearing the selection.
- Indexing report: the Select pages tab now says up front that you select pages to track them, and tells you how many are selected.
- Indexing report: when a group has no results yet, the "No checks yet" panel now carries its own Check now button instead of only mentioning one.
- Indexing report: saving a selection as a taxonomy now lists exactly the pages you picked whenever a section rule would sweep in pages you did not. Previously selecting 7 pages under one directory could produce a rule matching 99 of them. A section rule is still used when every page in that section is selected and nothing else is.
- Indexing report: pages whose URL contains an anchor (like /guide#step-2) are no longer offered for tracking, from Search Console, a sitemap or a pasted list. Google indexes the page rather than the fragment, so tracking both would report the same page twice. The Path column explains this.
- Indexing report: the site selector now shows the Tier 1 / Tier 2 tag on sites listed under Indexing, not only under Stashing.
- Indexing report: Check now is hidden until the site actually has tracked pages.
- All Properties and Blended: each site card now shows its data span in months as well as days, for example "723 days (~24 months) of data".
- Indexing report: every tracked page is now checked daily. The weekly option has been removed, and any group already set to weekly moves to daily automatically. Checking some pages weekly and others daily made the coverage chart move according to which pages happened to run that day rather than according to anything changing on the site. Pausing a group still stops its checks entirely.
- Charity page: now lists five charities we give 5% of revenue to, each with its logo, a description, and a described link to where our donation goes: Direct Relief, Zarach, Doctors Without Borders, Planned Parenthood and the Internet Archive.
- Playground: every chart and table heading now names the brand segment and saved filter narrowing the data, for example "Date Data for Non-Branded Terms".
- Every date in the app now shares one format and one typeface. Dates and date ranges (chart headings, table columns, the Tests parameter bar, annotation lists, account and profile pages, the Indexing and Performance report headers) are rendered in a monospace date style as "Jan 5, 2026" or "Jan 5 to Feb 1, 2026", with the current period, previous period and previous year each in the colour of the line they describe. Day counts sit beside the range instead of in brackets, weekday labels read "Thu, Jan 8, 2026" rather than "Jan 8, 2026 (Thu)", and the Tests parameter bar and Blended dates table no longer show raw YYYY-MM-DD values.
- The Google updates and Annotations chart overlay toggles now look and behave the same on every report. They were previously drawn four different ways — an unlabelled icon on some pages, a labelled checkbox on others, coloured pill buttons on Position Tracking — and are now one checkbox each, tinted the same colour as the marker they draw on the chart, sitting in line with the trendline and stashed-data toggles. Every chart toggle now explains itself on hover — including Hide branding, Trendlines and the stashed data label on All Sites and Blended, which previously had no tooltip at all — and for annotations the tooltip says how many you have.
- Move critical app pages under
/app/*to a client-side SPA driven by React Router - Sign-up and password pages load noticeably faster: the password strength checker is now fetched only once you start typing a password, instead of being downloaded with the page
- Faster page selection in the Indexing report when picking URLs for a taxonomy
Fixed
- Tables: the page counter now reads "Page 1 of 1,115" rather than "of 1115".
- Playground and Reports: the date range beside the site name in the chart heading sits level with it again.
- Competitors: the "Found N competitors" notice only appears after a search you started, no longer every time your saved competitors are loaded.
- Teams: a member's role menu is no longer cut off by the card around it.
- Playground, Queries and Pages: the summary tiles at the top of each tab (queries retrieved, average words, pages driving clicks and so on) are gone; the tables below carry those figures.
- All Properties: sites now load from the top of the page down. Stashed sites load first, then Favorites, then the rest, a few at a time, and stashed history is fetched in the same order. Before, the first sites to load were whichever came first in the flat list, so the Stashed and Favorites groups at the top often filled in last.
- Playground and Reports: the stashed data label is only offered when a period is viewed on its own (Max, or any range that reaches into stashed dates). With previous period or previous year on, the checkbox is withdrawn and the label is not drawn, even when the comparison itself runs back into stashed data.
- Playground and Reports: Export CSV is a save button, matching every other table in the app. Clear and Clear Filters no longer wear the refresh colour, since they refetch nothing.
- Keyword Clusters: renaming a cluster now renames it, instead of leaving the old cluster in place and creating a second one under the new name. Its charts and stashed history stay with it, and a rename that fails to save is undone on screen.
- Keyword Clusters: the Split by page checkbox shows the pointer cursor over the box as well as over its label.
- Keyword Clusters, Saved: switching between two sites that each have a cluster with the same name no longer shows one site's chart on the other.
- AI Overviews: the AI Opportunities run could fail, or silently run twice, after its fallback AI model was retired. It now uses one model and reports a clear error when that call fails.
- Buttons: a text button beside icon-only buttons of the same size no longer sits 2px taller, so the Latest button on the month switchers (AI Overviews and Competitors) appears without nudging the arrows.
- Stash page: a site moved into Tier 1 or Tier 2, removed, or replaced now appears with the right tier in every report's site selector straight away. Selectors read a cached subscription list that the change did not clear, so a newly added site could stay missing for up to five minutes.
- Tests report: an annotation scoped to a taxonomy no longer shows "no longer exists on this site" while the taxonomy is there. The page looked the taxonomy up before it could identify the site and never looked again, so the test silently measured the whole site.
- Playground: with "Exclude recent 2 days" on, the Previous Period and Previous Year comparisons now shift back with the current period. They were still anchored to the uncapped latest date, so every day was compared against a day two days out of step.
- Indexing report: it was impossible to pick a tracked group once "All pages" was showing, because selecting a group was read as re-selecting All pages. Selecting works again.
- Tables: sorting a date column such as Checked (Stash) did nothing, because every YYYY-MM-DD value was being read as the number 2026. Dates now sort in order; only wholly numeric values are compared as numbers.
- Stashed history that cannot be loaded now shows a notice, instead of the charts quietly showing Google's live data only. A refresh that fails keeps showing the history loaded earlier.
- Playground: the Brand / Non-Brand toggle now works in the 72-hour view, and any active filter is applied to the hourly chart too. Both were silently ignored for hourly data before.
- Competitors: your own site's share-of-voice history now loads for URL-prefix properties (for example
https://www.example.com/). It was being fetched and saved under thewww.host but read back under the root domain, so the client row stayed empty while every competitor filled in. - Corrected two out-of-date answers in the homepage FAQ
Removed
- Playground: the N-gram Distribution chart on the Queries tab and the Pages by Clicks Range chart on the Pages tab.
- Playground, Queries and Pages: the note about weeks older than Search Console keeps. The chart shows the weeks it can have.
- Performance report: the LCP-against-clicks correlation block has been removed.
April 2026
Added
- Click the primary line chart to annotate key dates
- Shareable URL parameters for filters, date ranges, and metric selection
Changed
- Speed up first paint of the Properties dashboard by lazy-loading chart bundles
- Standardise table pagination controls across every dashboard table
Fixed
- CTR and average position no longer round to whole numbers in CSV exports
- Weekly aggregations now start on Monday everywhere (ISO weeks)
March 2026
Added
- Stashed historical data merging for subscribed sites beyond the GSC 16-month window
Fixed
- Token expiration now redirects cleanly to the login screen with a helpful message