Projects
Performance
The SEO, GA4, AI answers, Crawlers, and Authority tabs: filters, date ranges, live crawler updates, comparisons, and data collection.
Performance shows your project’s SEO, GA4, AI answers, Crawlers, and Authority data. Each tab has filters, a date range, a chart, and a table.
SEO, GA4, and Crawlers stay available on free projects when their integrations are connected. AI answers and Authority show any evidence already saved, but new live checks, scans, and backlink collection require a managed project. Their upgrade notice links back to Projects; the data cells are not blanked out.
The shared toolbar
Every tab opens with the same row above the chart:
- Filter opens a popover for the tab's dimensions. Active filters become chips you can remove one at a time, and they narrow the whole tab.
- The date-range button sets the window and the comparison (see Date ranges).
- Explain with AI opens a new conversation in the pinned chat pane with the tab's window, comparison, filters, and visible numbers already in the prompt, so the assistant explains exactly what you are looking at. See Explain with AI.
Below it, every tab reads in the same order:
- What changed says in one sentence what moved against the comparison and, where the data can show it, which pages or sources carried it. Its chips open the evidence in place, and its side list links to the biggest movers.
- Stat tiles total the selected range with the change against the comparison, and turn the chart's lines on and off. The first line uses the left axis and the second the right, each labelled in its line's colour; any further line reads from the tooltip.
- Compare with tiles sit after the stat tiles, behind a thin divider (see Compare with).
- Pins above the chart mark what happened on a day: resolved tasks, Google Search updates, sharp shifts in the series and, where the tab has them, link, crawler, and AI-answer events. A busy day groups into one pin. Hover a pin for its summary and open it for details, such as the 7-day averages before and after. A pin says what happened at the same time; it doesn't prove the cause.
- The explorer is the tab's table: a dimension switch, views with their row counts (hover a view for its exact rule), search, sortable columns, and a rows-per-page choice. Every view covers the complete set. Percent changes and rates sort low-volume rows last, and a note under the table says when that applies. A page row opens the page panel; its funnel filters the tab to that page.
- Insight cards each name one finding. Explore opens the full list behind a card, one card at a time.
The range, filters, explorer state, and open cards and details live in the page URL, so a view can be bookmarked or shared with a teammate who has access to the project. Back undoes one step at a time: a new range, a filter, a view, or an opened detail. The page panel opens beside the tab and isn't a step. Links saved before this layout still open, on the matching table view.
Compare with
SEO, GA4, Crawlers, and Authority can shade one related measure behind their charts, so you can see whether the step before it or the step after it moved too. These comparisons show changes over the same period. They don’t establish cause. The AI answers tab shows those measures under More measures instead.
| Tab | Related measure | Related measure |
|---|---|---|
| SEO | Referring domains | Organic sessions (GA4 Google organic only, with key events and revenue in the tooltip) |
| GA4 | Search clicks | — |
| Crawlers | Referring domains | Non-brand impressions, or AI citation share when the tab is filtered to AI crawlers |
| Authority | — | Non-brand impressions and AI citation share |
The tiles are off by default. Click one to shade it behind the chart; click it again, or the other tile, to switch. Only one is drawn at a time, on its own hidden scale, so it never changes the tab's own axis. The tooltip lists its real value for the day. On ranges longer than five weeks, daily counts are drawn as a 7-day average and the legend says so. The choice lives in the page URL (?vs=).
The measures are picked so they aren't inflated by things that aren't growth:
- Non-brand impressions are the site's Search Console impressions minus the queries that name your brand, because a launch lifts brand searches and links at the same time.
- AI citation share is the percentage of tracked answers citing you. Adding or removing questions can change it.
- Organic sessions count Google organic traffic only, not every channel.
A tile appears once its source has at least a week of data in the range; while its numbers load it shows a placeholder. When the data starts inside the range, the tile says since that day, and when it doesn't reach back over the comparison period (Search Console keeps 16 months, so a 12-month range can't be compared with the 12 months before it), it says no earlier history instead of showing a change. Ranges shorter than 28 days and the live crawler windows don't offer a comparison: effects from links and fixes take weeks, so a short window would only show noise. A page filter carries through where the source can follow it (search, GA4, and referring domains); otherwise the tile says site-wide.
While a comparison is on, a pin also shows the compared measure for the four weeks before and the four weeks after that day. A day with less than four weeks of data after it says it is too recent to judge. None of this proves one line caused the other; it shows whether they moved together and when.
Date ranges
The date-range menu leads with the ranges that suit each tab's data and folds the rest under More periods:
| Tab | Up front | Under More periods |
|---|---|---|
| SEO | Last 7 days, 28 days, 3 months, 12 months | Last 6 or 16 months, All history, calendar months and quarters, Year to date |
| GA4 | Last 7 days, 28 days, 3 months, This month, Last month | Last 6 or 12 months, All history, Last week, quarters, Year to date |
| AI answers | Last 7 days, 28 days, 3 months, All history | Last 6 or 12 months, This month, Last month |
| Crawlers | Live: last 30 minutes, last 24 hours; Last 7 days, 28 days, All history | Live: last 3 hours; Last 3, 6, or 12 months, This month, Last month |
| Authority | Last 28 days, 3 months, 6 months, 12 months | Last 7 days, All history, quarters, Year to date |
The menu opens with the day the data runs through. Custom range picks a start and an end day on a calendar. Compare shows the current comparison and opens its settings: Previous period (the default), Year over year, a Custom period of the same length, or No comparison, plus Match weekdays (on by default, so a Monday is compared with a Monday) and Show change %. All history and live windows have no comparison. While the menu is open, the letter shown beside a range picks it: W for 7 days, M for 28 days, Q for 3 months, Y for 12 months.
You can also pick a range straight from a chart: press on any daily chart on these tabs and drag across the days you want. The days fill in as you drag, with the dates and day count shown above them. Release to make that window the custom range. Every chart on the tab highlights the same days while you drag, so on Authority the new and lost links band lights up with the timeline. A drag needs to cover at least two days, Esc cancels it, and your browser's Back button returns to the range you started from. On a touchscreen, press and hold for a moment before dragging. The live Crawlers windows are measured in minutes, so they don't support this.
Stored summaries and live fetches
Search Console evidence for the standard trailing windows — 7, 28, and 90 days, and all history — is summarized when the data is synced, so those views open instantly. Any other range or comparison is answered for exactly the dates you picked: calendar presets, custom dates, year-over-year comparisons, and every filtered view are fetched live from Search Console when you open them. A thin progress bar runs under the toolbar while a live view loads. Live views are limited to two years of history.
GA4 works the same way: the standard spans read stored rollups, and other windows are aggregated from the synced daily rows. While a custom GA4 range loads, the tab shows a loading state rather than another window's numbers. On very large sites its landing-page table can take about a minute to count.
Cards that cannot follow a filter say so with an unfiltered chip rather than showing a wrong number. If a read fails, the tab says so and offers to try again; it never leaves the previous range's numbers under the new date.
SEO
The SEO tab reads Google Search Console. The chart plots the metrics chosen on the tiles day by day, with the comparison period dashed underneath. Its pins mark resolved tasks, Google Search updates (core, spam, and Discover updates plus serving disruptions), sharp shifts in clicks, AI Overview changes, and gained or lost links.
Search Console keeps counting a day for about two days after it ends, so the newest day or two are partial. Like Search Console's own report, every range ends on the last finished day, so totals and comparisons only use finished days and match what Search Console shows. The partial days still appear at the right edge of the chart in a hatched Incomplete zone, drawn as a faint dashed line with hollow points instead of continuing the solid line. Hover one to see its numbers so far. They usually rise once Google finishes counting, so a dip there isn't a real drop. If you drag a custom range into those days, they're counted in its totals but still drawn dashed.
What changed splits the change in clicks into exposure and click-through, adds it up page by page, and names the biggest loss.
The explorer covers Pages, Searches, Countries, and Devices. Its columns are clicks, the change in clicks and its percent, impressions, click-through, position, and, on pages, the tracked AI answers citing the page. A search, country, or device row filters the tab to it. Its views are:
| View | Rows |
|---|---|
| All | Every row in the range |
| Losing clicks | Lost 20 or more clicks against the comparison, worst first |
| Positions 8–20 | Average position 8–20 with 1,000+ impressions (300+ for a search) |
| Low CTR | Under 60% of the click-through your searches usually get at that position, missing 20+ clicks |
| New | No impressions in the comparison period |
| Non-brand | Searches that don't name the brand |
| Cited with low CTR | Pages cited in tracked AI answers with that same low click-through (100+ impressions) |
Losing clicks and New need a comparison, so they're hidden without one. Addresses that differ only by a # fragment count as one page, and the page count says how many pages had no impressions in the range.
Problematic page rows can carry a crawl signal such as an HTTP error, redirect, noindex, failed or blocked fetch, or thin initial HTML. Hover it for the date and, for a redirect, where the address led. It describes SERPclimber's last fetch, not Google's indexing verdict; no badge means no known problem, or no crawl evidence. Addresses skipped as outside the crawl scope carry no badge, because nothing was fetched to judge.
The insight cards are:
- Click-through — pages that rank but don't get clicked, against the click-through your own searches usually get at each position (non-brand searches over the last 28 days, weighted by impressions).
- Rankings — how many searches sit in the top 3, positions 4–10, 11–20, and beyond, against the comparison, with the day-by-day picture behind Explore.
- Brand — the split between searches that name the brand and those that don't, with its daily split.
- International — how language folders perform, when the site has them. It's hidden under a country filter.
- Links — recently linked pages and the clicks those pages got.
- Topics — queries grouped into themes. Free projects use local grouping; managed projects can use model-named topics after the next sync. Live ranges that are not stored group by landing page and shared phrase instead.
Filtering the tab to one page turns it into that page's story: its click-through against typical for its position, links to the same page on GA4, AI answers, Crawlers, and Authority, and the explorer's searches for that page.
SEO filters are query (contains, equals, or does not contain), page (equals or contains), content group, country, device, and branded or non-branded. Up to twelve filters can be active at once.
How Search Console data is collected
Connecting Google is the only manual step. When a Search Console property matches the project domain it is attached automatically and the first sync pulls the last four weeks of daily clicks, impressions, and positions. The remaining history — Search Console keeps about sixteen months — is backfilled in monthly chunks over the following hours. After that a daily run re-pulls the last three days, because Google keeps restating recent days, and stores country and device breakdowns alongside the site totals. Page-and-query pairs are kept for the last four weeks to drive opportunity detection.
If the Google connection that owned a property is removed, the project is reattached to any other connected Google account that can read the same property and a fresh sync is queued. The Refresh control in the header is a manual reconciliation for when something looks out of date; normal operation never needs it.
GA4
The GA4 tab reads Google Analytics. A switch in the toolbar sets the scope: All traffic, Google organic, or AI assistants (ChatGPT, Perplexity, Gemini, Copilot, Claude, Grok, Meta AI, Mistral, and DeepSeek). The tiles, chart, What changed, and tables all follow it. Referrers and key events have no per-source split, so they appear on All traffic only.
What changed names the content groups that carry most of a change and how the key events are made up. Its chips open sessions by source and key events by name. The tiles show sessions, then the key events your property records (logins left out), revenue when GA4 holds some, and engaged sessions. Key-event tiles are totals with no line of their own.
The chart's pins add sharp shifts in sessions, surges in AI visits, new links, and, on AI assistants, crawler and AI-answer events. Days before GA4's first source row are blank, not zero. The AI assistants scope adds a block with each assistant's visits and the pages they land on.
The explorer covers Landing pages, Channels, Source / medium, Referral sites (search engines and AI assistants left out), Content groups, and Key events. Landing pages have these views: All, No key events, Losing sessions, Gaining sessions, AI landing pages, New, and Low engagement. Hover a view for its exact rule. A source, referral site, or content group row filters the tab to it.
Landing-page rows show the same crawl signals as SEO when the landing page matches a crawled page. GA4 landing pages leave out www. and trailing slashes, so the match ignores those differences and reads the address visitors actually land on: an apex address that redirects to www is not flagged as a redirect on the page it leads to. Paths the crawler stored with capital letters may not match. GA4 visits and crawler observations remain separate evidence.
The insight cards cover AI assistants, attribution (busy pages with no key events), hosts (the sessions on each hostname and paths that land on more than one), referrals, tracking problems, and visits from new linking domains.
Filtering the tab to one landing page shows that page's sessions, engaged sessions, key events, and AI visits, then where its visitors came from. GA4 sync stores no country per page, so a page has sources and referrers but not countries.
GA4 filters are landing page (equals or contains), content group, source / medium, and referrer.
The first sync backfills landing-page sessions, engagement, sources, and key events; a daily run keeps them current.
AI answers
The AI answers tab tracks the questions AI engines answer about your space and whether they cite your site. It has its own page: AI answers.
Crawlers
Without Cloudflare, the Crawlers tab can still read the site's public robots.txt and llms.txt files and show the rules for known crawlers. Cloudflare adds verified-bot analytics, grouped by purpose: AI assistants (live fetches an assistant makes while answering someone), Search crawlers (search engines and AI search crawlers building their index), and AI training. Googlebot and Bingbot aren't in Cloudflare's verified-bot feed, so the tab says so in its toolbar. Completed days are stored by UTC day; connecting a zone starts daily collection and backfills the recent Cloudflare analytics window.
The Crawlers date menu also offers live windows, marked with a green dot: the last 30 minutes and the last 24 hours at the top, and the last 3 hours under More periods. In a live window the chart, request totals, and the Companies, Crawlers and Pages tables update from Cloudflare about once a minute while this tab is visible, with no reload. Each update pulses the range button's green ring, slides the chart along as the newest minute comes in, adds a +N new line under each total for the requests that arrived since the previous check, and briefly highlights the rows whose counts grew. The status beside Filter reads Live · updated 20s ago; hover it for when Cloudflare was checked and how many API requests the check used. Chart lines end at the newest complete minute (5 or 15 minutes on the longer windows); the faint dashed segment after it is the current bucket so far, which fills in on the next check. Checks pause in a hidden browser tab or after 10 minutes without a click, keypress, or scroll. Returning to a hidden tab catches up if it is still active; an inactive view shows Paused · inactive and resumes when you interact with it. If a check fails, the status shows retrying and the last result stays on screen until the next check succeeds. If too many checks are requested across your tabs, it shows Waiting · rate limited until another check is allowed. These rolling windows are read directly from Cloudflare and do not alter saved daily history. If a result reaches the query's 5,000-row limit, the check splits its time range and combines the results. Cloudflare may take time to include recent traffic, and sampled counts can change. Live windows have no comparison. Switch back to a regular date range for comparisons, GA4 visits per assistant, new crawlers, and robots.txt against requests.
The toolbar has the date range and the same Filter button as the other tabs: filter by purpose, by company, by individual crawler, or any mix.
What changed says how requests moved against the comparison window. Its chips open the evidence in place: how the change splits by purpose and which crawlers moved it, assistant fetches by agent, each surge or pause with its daily strip, and the crawlers new in the range.
The tiles (search crawlers, AI training, AI assistants, and AI-assistant visits from GA4) toggle the chart's lines; Lines by under the chart switches the lines between purposes, companies and crawlers. The comparison window is drawn dashed underneath. Pins mark crawler surges and pauses, resolved tasks and Google Search updates; click a pin for its evidence.
The explorer lists every company, crawler and page, with its view, sort, page and search kept in the address. Companies can be narrowed to those whose assistant sends visitors, sends none, or can't be counted; crawlers by purpose; pages to documents, pages a tracked AI answer cites, pages none cites, and files and endpoints. Percent changes and requests per visit sort low-volume rows last. A path reads new only when the comparison named every path; otherwise its change is unknown and shows —. The toolbar filter also narrows the Companies list and the surges and pauses. Each page row shows its AI citations and AI-assistant visits and opens the page panel. A company, crawler or file opens its detail beside the table, ending with a robots.txt draft to copy. Nothing is published.
Cards below the explorer name what the data shows: which assistants send visitors back (it needs Google Analytics 4; until then the card shows what it would cover and links to Integrations), the pages assistants read against the pages they cite, crawl budget spent on files and endpoints, robots.txt against requests, and surges and pauses.
When a "Connect Google Analytics 4" task is open, it leads the Tasks list on this tab.
Authority
The Authority tab reads the site's off-site standing from a stored backlink profile. The toolbar shows when the data was last collected, with the reason when a refresh is overdue. Refresh is paid, so it first says what it will read and what the last run cost. The date range ends on the last collected day.
The tiles for Referring domains, Backlinks, and Domain rank choose what the timeline draws; New and Lost links are totals against the comparison. The chart's pins mark days with unusual link gains or losses, resolved tasks, and Google Search updates. The gained-versus-lost band under it draws each day's new links above the baseline and lost links below.
What changed separates the totals the tiles count from the links listed one by one, then names the new link sources, the hosts whose anchor text advertises a link seller (sites are classified by anchor text and haven’t been verified), and the links lost.
The explorer covers these dimensions, and hovering a view gives its exact rule:
| Dimension | Views |
|---|---|
| Referring domains | All, New, Lost a link, Gone, Dofollow, Rank 10+, Sends visits, Links to positions 8–20, Link-selling text |
| Backlinks | All, New, Lost, Lost any date, Dofollow, Nofollow, To positions 8–20, Link-selling text, No anchor text |
| Anchors | All, Exact match, Branded, Naked URL, Generic, Other, Link-selling text |
| Target pages | All, Gained links, Lost links, Positions 8–20, Only link-selling anchors |
| Link sources | New links, Lost links |
"Positions 8–20" uses the same rule as the SEO tab. A domain, link, or anchor row opens its detail beside the table, and a page row opens the page panel. A pin's day can narrow Backlinks to that day. Each domain shows its Rank, on a 0–100 scale. A custom range that runs past the last collection is cut there, and the toolbar names the days not collected.
The insight cards cover anchor text, lost links, pages at positions 8–20 and whether they have links beyond link sellers, Most-linked pages by section, Linking sites with visits, rivals' links (domains that link to your competitors and not to you, ranked by rank × competitors linked), and listings. Competitors come from Competitor domains in Project Settings; when that list is empty the tab uses the top rivals from the AI answers tab. Listings is the catalog of directories and profiles the engine knows for the site, grouped as Available, Submitted, Live, and Skipped. Submitted and skipped are your workflow states; live and lost come from the backlink data when the next refresh verifies them.
Filters. The Filter button narrows the whole tab (rank, dofollow, page, host, domain, anchor, pattern), and the set lives in the page URL (?f=). While a filter is active the timeline, the new and lost band, and the tiles are rebuilt from the matching links themselves (a link counts from the day it was first seen until the day it was lost), so the chart shows only the links you filtered to. Domain rank is a whole-site score with no per-link meaning, so its tile and line step aside until the filter is cleared. Links lost before the first full pull are not on record, so filtered lines for days before that pull run slightly low.
Ask the assistant why backlinks spiked or dropped, who sent the links, which links were lost, who links to a given page, or where to get links next: it reads the same rows this tab shows, takes the same filters as arguments, and explains whether a change is sitewide, directory, or editorial and what that is worth.
How backlink data is collected
Backlink data comes from a paid evidence provider, so collection runs only when Scheduled authority evidence is on in Project Settings and credits are available. The first run is one exhaustive pull: every referring domain and backlink, the monthly history back to 2019, and the daily gains and losses. Weekly runs after that read only rows first seen or lost since the last run, plus small full re-reads of anchors, linked pages, competitor suggestions, and link targets; once a quarter the full lists are re-read to reconcile. A run that reaches a safety limit stops where it is and resumes later. Existing Core subscriptions also retain their project monthly evidence budget. The header's Refresh (or Collect backlinks before the first pull) queues a run now instead of waiting for the weekly tick; changing the competitor domains also queues one.
Performance creates tasks only from the Create task buttons in its side panels. When a card points at other work worth doing, ask the assistant with Explain with AI, or open Audit and create the related task.
