See what Google indexed next to what your server returned.

Search Console reports which pages Google has indexed and how they perform in search. Your logs record each request Google made and the status your server gave it. Salience joins the two for every URL in your sitemap and verifies each request that claims to be Google.

Read-only access through Google sign-in. No code or DNS changes. Search Console data syncs daily and runs two to three days behind Google.

The Search Performance page for demo-site.example once Google Search Console is connected through Official Search Console API: the Website setup strip shows Google Search Console Connected, the tiles read Impressions 84,151, Clicks 634, CTR 0.75%, Avg position 9.1, and the Top pages table fills with /products/overview, 64 clicks, 4,110 impressions, 9.7 position; /guides/pricing-2026, 52 clicks, 36,522 impressions, 11.2 position; /blog/2019-relaunch, 52 clicks, 5,251 impressions, 7.1 position; /old-product-url, 37 clicks, 4,272 impressions, 8.2 position. Last sync 49 min ago · data through 13 Sept.

Log sources it joins

Search Console and your server logs answer different questions

Search Console shows what Google decided about a page. Your logs show what happened when Google asked for it. Most teams keep the two in separate tools and match them by hand when something goes wrong.

Waiting two or three days for Search Console to catch up before you can tell whether a deploy affected crawling.

Seeing a page marked "Crawled, currently not indexed" with no way to check what your server returned when Googlebot fetched it.

Exporting Search Console to one spreadsheet and log data to another, then matching URLs between them.

Reading a ranking drop as a Google decision when the logs show Googlebot receiving errors on those URLs the week before.

See crawl status and index status for every URL in your sitemap

Once Search Console is connected, each sitemap URL shows whether Googlebot has fetched it, what it was given, and whether Google has indexed it. Both sides update as new requests and syncs arrive.

The Salience dashboard for demo-site.example, last 24 hours. Website setup 5 of 6 completed. Traffic over time in fifteen-minute buckets, human and bot requests stacked. Bot identity evidence: 12.1K verified requests, 762 unverified claims, 2.7K with verification unknown. Total requests 34.2K, up 7.0% on the previous period. Unique IPs 15.3K, up 2.0%. Bot traffic 45.5%, down 1.9 points. AI crawlers 18.5%, down 8.0 points.

Search Console data syncs once a day and runs two to three days behind Google. The request side comes from your logs as they arrive.

Every sitemap URL is sorted by crawl and index status

Salience places each sitemap URL in one of four groups: crawled and indexed, crawled and not indexed, indexed but not recently crawled, and neither. Each group is broken down by directory, so you can see which sections of the site Google is indexing and which it is passing over, and open any group to the URLs inside it.

Per URLCrawl and index status for every sitemap URL, with a directory breakdown, updated on each sync

Sitemap Coverage on demo-site.example: 31,041 Total Active URLs, 22,514 Recently Crawled, 7,912 Stale, 615 Never Crawled, 73% Coverage Rate. /sitemap.xml first seen 23/01/2026, 135 recorded crawls, last crawled 15h ago by Bingbot, Crawled; /products/overview first seen 29/04/2026, 1 recorded crawls, last crawled 22/03/2026 by Googlebot Smartphone, Stale; /guides/pricing-2026 first seen 25/02/2026, 2 recorded crawls, last crawled 25/02/2026 by Bingbot, Stale; /blog/2019-relaunch first seen 14/02/2026, 2 recorded crawls, last crawled 14/02/2026 by Googlebot, Stale.

See Google's inspection fetches as they arrive

When someone runs Test live URL or Request indexing, Google fetches the page with its inspection client, and that request lands in your logs. Salience gives those fetches their own view: request totals, the URLs inspected, the status codes your server returned and a filterable log of each request. The fetch shows up at the time you pressed the button.

LiveInspection requests from your logs, with no Search Console sync needed

Status code detail for 4xx Client Error on demo-site.example, last 24 hours: Total Requests 3,272, % of All Traffic 9.58%, Unique Codes 4. Individual status codes: 403 2,337, 71.4% of 4xx; 404 896, 27.4% of 4xx; 405 29, 0.9% of 4xx; 499 10, 0.3% of 4xx. Top paths: /old-product-url 155, /blog/2019-relaunch 142, /guides/pricing-2025 119, /products/legacy 98, /sitemap-old.xml 90, /blog/page/48 42.

Check that a request from Google came from Google

Scrapers borrow Google's user agents because they are rarely questioned. Salience checks every request that claims a Google identity against Google's published address ranges and marks it verified or unverified, with the addresses behind the unverified ones listed.

200+Crawler identities recognised, verified where the provider publishes ranges

Bots and Crawlers on demo-site.example, last 24 hours: 15,541 bot requests, 12,233 verified, 655 failed verification, 2,653 other status. Served versus rejected: Googlebot 357 served, 34 rejected, Impersonators only, 0 verified · 34 unverified; Amazonbot 3,934 served, 16 rejected, The real bot, 16 verified · 0 unverified; Attack Path Probe 413 served, 104 rejected, Not verifiable, 0 verified · 104 unverified.

How it works

Connect

Sign in with a Google account that can read the property and choose the domain or URL-prefix property for your site. Salience asks for read-only access and the first sync starts on its own.

Join

Index status, canonical selection, impressions, clicks and position are matched to the request stream from your log source, URL by URL, against your sitemap.

Compare

Crawl status beside index status for every URL, a view of inspection fetches, and crawler alerts from your logs, in the dashboard, by email and Slack, and through the API and CLI.

Specification

Collection method
A read-only connection to the official Search Console API, authorised by Google sign-in
Data freshness
Synced daily at 05:00 UTC, or on demand from settings. Google's search analytics run two to three days behind
Typical setup time
A Google sign-in and a property pick
Plan requirement
None on Google's side. Search Console is free; any verified property works
Permissions needed
A Google account with access to the property. Salience asks for read-only scopes
Code or DNS changes
None. No code changes and no DNS changes
Historical import
Each sync stores the trailing 28 days of search performance, and history builds up across syncs
Key limitation
Search Console data is aggregated and runs two to three days behind Google, with some queries withheld as anonymised. Salience shows it beside your live logs as context and never counts it as traffic.
Full setup and mechanismServer log analysis for SEO

Doesn't Search Console already tell me this?

It tells you what Google decided, and it is the only source for that. Crawl Stats, the page indexing report, the performance report and URL Inspection come from Google itself. Salience reads Search Console through the official API and adds the part Google's reports leave out: each request Googlebot made to your server and the response it got.

Index status and search performance

Search Console alone
Google's own report, and the source Salience reads
Salience
Synced daily and shown beside your logs

What your server returned on each crawl

Search Console alone
Google reports its own view of the page
Salience
Every request, with the status code and response time

How current the data is

Search Console alone
Two to three days behind
Salience
Requests appear as your server logs them

Which queries are included

Search Console alone
Some queries withheld as anonymised
Salience
Every request is in the log

Whether a request came from Google

Search Console alone
Outside its scope
Salience
Checked against Google's published ranges

Crawled and indexed, per URL

Search Console alone
Two facts in two reports
Salience
One row per sitemap URL

Other search engines and AI crawlers

Search Console alone
Google only
Salience
Bingbot, GPTBot, ClaudeBot and 200 more from your logs

When the native tooling is all you need

If your question is what Google thinks of a page, whether it is indexed, what it ranks for, what the inspection said, Search Console answers it and Salience reads the same answer. The join earns its place when Google's report and your server's log disagree about a page, which is where most fixes start.

Facts about the connection

Each of these is a property of the connection you can check on the free plan.

Read-onlySalience never writes to your property or requests indexing
DailySync at 05:00 UTC, with a Sync Now button in settings
28 daysOf search performance per sync, with history building up across syncs
500 URLsInspected per sync, highest impressions first, refreshed after seven days

Illustrative example

A group of product pages sits in Search Console as "Crawled, currently not indexed". Read on its own, that looks like a judgement on the content. The logs for the same fortnight show every one of those crawls answered with a 500 during a four-hour window. The fix is on the server, and the copy was never the problem.

Everything included

One connection, one request stream. No per-feature setup and no second pipeline to maintain.

Crawled and indexed, per URL

Every sitemap URL placed in one of four groups by crawl and index status, with a directory breakdown and a URL list under each group.

Inspection fetches

Test live URL and Request indexing fetches in their own view: totals, URLs inspected, status codes returned and a filterable request log. Works from your logs alone.

Verified and unverified Google requests

Each request claiming a Google identity checked against Google's published address ranges, with the unverified addresses listed.

Search performance

Impressions, clicks, click-through rate and average position, the queries and pages behind them, and Google's chosen canonical for each URL, through the official API.

Sitemap coverage

Your sitemap fetched and compared with crawler activity, so you can see which URLs Google has fetched recently, which have gone stale and which it has never requested.

robots.txt history

Changes to robots.txt recorded and shown against crawler activity, so a fall in crawling can be traced to the rule that preceded it.

Alerts that name URLs

Crawler error spikes, sitemap gaps and crawl-budget shifts from your logs, each naming the URLs involved, read against the index status Search Console reports for them.

Dashboard, alerts and API

Dashboards, email and Slack alerts, webhooks, the public API, the CLI, the MCP server, CSV exports and shared read-only dashboards.

Index status crossed with fetches

Each URL's Search Console index status set against verified Googlebot fetches in your logs: indexed but no longer revisited, fetched but not indexed, and fetched but never inspected.

Queries per page

The queries that showed each page over the trailing 28 days, with daily impressions and clicks, next to the crawler fetches for the same page.

Page Importance

A 0 to 10 score per page from how often verified Googlebot and Bingbot return to it over 90 days, computed from your own logs.

Pages ranking that AI never fetched

Pages earning impressions in Search that no AI system has fetched, listed from the Search Console join.

Saved segments

Page groups you define by prefix, pattern or query string, with a one-click library of common groups, applied to all history and used in every report, alert and export.

Trust & data protection

Privacy and data protection

You are the controller

We process only on your instructions. GDPR Art. 28 DPA on every account, nothing to sign.

UK data residency

AWS eu-west-2 (London). Encrypted in transit (TLS 1.2+) and at rest (AES-256).

Server-side collection

No browser tracking script and no client-side pixel.

No sale, no pooling

Your logs are never sold, never used for advertising, never shared between customers. DPA, sub-processor list and security overview available.

What is collected

  • Search performance: queries, clicks, impressions, position
  • Index status per URL with Google's reason, and Google's chosen canonical
  • Sitemap URLs, joined to crawl activity

What is never collected

  • Any write access: Salience never requests indexing on your behalf
  • Bing or other engines' consoles
  • Queries Google withholds as anonymised

The Search Console connection is included on every plan, and Search Console itself is free from Google. Plans are priced on the requests your log source sends.

Crawler intelligence from $19/mo.

Priced on requests, not seats. Unlimited users on every plan except Solo. Start on the free tier and upgrade when your traffic does. Free trial, no card needed.

Prices in
Free$0
  • 500K requests/mo
  • 1 site
  • 30 days history
  • Unlimited users
  • Real-time analytics, bot and AI detection
Solo$19/mo
  • 5M requests/mo
  • 1 site (+2)
  • 6 months history
  • 1 seat
  • Sitemap and Search Console
Starter$49/mo
  • 20M requests/mo
  • 5 sites (+5)
  • 1 year history
  • Unlimited users
  • Real-time analytics with bot and AI-crawler verification
GrowthPopular$149/mo
  • 100M requests/mo
  • 15 sites (+15)
  • 2 years history
  • Unlimited users
  • AI allowance: ~600 answers or ~60 reports a month
Pro$499/mo
  • 500M requests/mo
  • 50 sites, no ceiling
  • 4 years history
  • Unlimited users
  • AI allowance: ~3,000 answers or ~300 reports a month
EnterpriseTalk to us
  • 1B requests/mo
  • Unlimited sites
  • Custom history
  • Unlimited users
  • SSO / SAML and audit log

Common questions

Does Salience replace Search Console?

No. Search Console is Google's own report of what it indexed and how pages perform, and Salience reads it through the official API. Salience adds the requests Googlebot made to your server and the responses it received, and shows the two together for each URL.

How do I connect it, and do I need a developer?

Sign in with a Google account that has at least Read permission on the property, grant read-only access and choose the property. The first sync starts on its own. There are no code or DNS changes. If the site is not yet verified in Search Console, Google asks for a one-time verification first.

What does Salience pull, and can it change anything?

Index status per URL with Google's reason, Google's chosen canonical, impressions, clicks and average position per URL, and the top queries, all through the official API with read-only access. Salience cannot change a setting or submit URLs.

How often does the data refresh?

The sync runs daily at 05:00 UTC, and you can run it on demand from Settings. Google's search analytics run two to three days behind. Each sync stores the trailing 28 days, and history builds up across syncs. URL inspection covers up to 500 URLs per run, highest impressions first, and each URL is inspected again after seven days.

Why do Salience and Search Console show different numbers?

They count different things. Logs count the requests your server answered, as they happen. Search Console reports Google's view, two to three days behind, with some queries withheld as anonymised. When the two disagree about a page, that is usually the place to look.

Can I see whether Google re-crawled a page after I updated it?

Yes. Request indexing in Search Console and the fetch appears in your logs shortly after, with the status code your server returned. Regular Googlebot re-crawls appear in the crawler stream the same way.

Do I need Search Console connected to see inspection fetches?

No. Inspection requests arrive in your server logs like any other request, so that view works from your log source alone. Connecting Search Console adds the index and performance data around it.

Do I need a log source connected as well?

Yes, for the join. Search Console supplies Google's report and a log source supplies your server's side. Cloudflare, Vercel, CloudFront, Netlify, Kinsta, Shopify, Apache and Nginx all work.

What does an unverified inspection request mean?

The request claimed Google's inspection client but did not come from Google's published address ranges. Often that is a scraper. On sites behind a CDN it can also be the edge address standing in for the origin, so treat it as something to check rather than proof of abuse.

Does this cover Bing or other search engines?

This connection is Search Console only. Bingbot and the AI crawlers are covered from the log side, where they are verified against their published address ranges in the same way as Google's crawlers.

What happens to our data, and where is it stored?

You are the controller and Salience processes data on your instructions under a GDPR Article 28 DPA on every account. Data is stored encrypted in AWS eu-west-2 (London), never sold, never used for advertising and never pooled between customers.

How do I disconnect?

Remove the connection in Settings, or revoke Salience's access from your Google account. Either stops the sync, cached data expires, and your log analysis continues as before.

Your logs already show what Google and the AI crawlers are doing.

Read-only access through Google sign-in. No code or DNS changes. Search Console data syncs daily and runs two to three days behind Google.