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.
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.
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.
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.
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.
Which of these is you?
SEO teams
Search Console says these pages were crawled but not indexed. I want to know what Google was given when it fetched them.
The status code your server returned on each of those crawls, beside Google's index status, for every URL in your sitemap.
Search crawler intelligence
Migrations and relaunches
We changed our URLs last week. Is Google crawling the new ones yet?
Googlebot requests by section as they arrive, inspection fetches as they happen, and error spikes measured against your own baseline.
Server log analysis for SEO
Content teams
Clicks are down. Is it a crawling problem, an indexing problem, or the search results changing?
Crawl activity, index status and search performance for the same URLs in one view, so the three causes can be told apart.
How Salience compares with other tools
Security teams
How much of the traffic that calls itself Google is Google?
Each request claiming a Google identity marked verified or unverified against Google's published ranges, with the unverified addresses listed.
Security and bot intelligence
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.
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 protectionYou 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.
- 500K requests/mo
- 1 site
- 30 days history
- Unlimited users
- Real-time analytics, bot and AI detection
- 20M requests/mo
- 5 sites (+5)
- 1 year history
- Unlimited users
- Real-time analytics with bot and AI-crawler verification
- 100M requests/mo
- 15 sites (+15)
- 2 years history
- Unlimited users
- AI allowance: ~600 answers or ~60 reports a month
- 500M requests/mo
- 50 sites, no ceiling
- 4 years history
- Unlimited users
- AI allowance: ~3,000 answers or ~300 reports a month
- 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.