Kinsta server log monitoring

See every crawler, bot and error on your Kinsta WordPress site.

MyKinsta shows resource use and about 4 days of raw log lines. Salience reads the same access log every 15 minutes and shows which crawlers, AI bots and scrapers requested each URL.

  • Any Kinsta WordPress plan
  • No plugin or DNS change
  • About 10 minutes to connect

Explore sample data

Example Log Explorer rows for a WordPress site on Kinsta: verified Googlebot, GPTBot, Bingbot, PerplexityBot and ChatGPT-User requests, and a request for /wp-config.php.bak from a script that is not a crawler, with an alert about requests for sensitive WordPress files.

Log Explorer

www.example · latest 15-minute pull

Example
  • GooglebotVerified/blog/tubeless-tyre-setup/200
  • GPTBotVerifiedTraining/blog/chain-wear-guide/200
  • python-requestsNot a crawler/wp-config.php.bak404
  • BingbotVerified/tag/maintenance/page/7/200
  • PerplexityBotVerifiedAI search/blog/disc-brake-bleeding/200
  • ChatGPT-UserVerifiedUser-triggered/product/gravel-tyre-40mm/200
WarningSuspicious URL Patterns

Requests for /wp-config.php.bak, /.env and /wp-content/debug.log from 203.0.113.88. Salience fetched each path itself and all three returned 404.

Recommended: review the address in Recommendations and block it.

MyKinsta and Salience answer different questions

MyKinsta reports resource use, cache performance and PHP timing, and its log viewer shows the raw access, error and cache logs Kinsta keeps for about 4 days. Salience pulls the access log through the Kinsta API every 15 minutes, keeps it, and checks who sent each request.

MyKinsta and Kinsta APM

Kinsta's server analytics, log viewer and APM tool

  • How many visits and how much bandwidth did the site use this month?
  • How much of the traffic was served from cache?
  • Which PHP transactions and database queries are slow?
  • What do the latest access and error log lines say?

PHP errors and APM traces stay in MyKinsta.

Salience

Every line of your Kinsta access log, pulled through the Kinsta API

  • Which crawlers requested which URLs, and were they who they said they were?
  • Which posts in your sitemap has Googlebot not requested?
  • Which AI systems request your posts and products, and which pages do AI assistants send people to?
  • Which addresses are sending requests to /wp-login.php and /xmlrpc.php?

History is kept for your plan's period, from 30 days to 4 years.

Questions your Kinsta reports can't answer

Four examples from the four teams that use Salience on a WordPress site. The site, addresses and figures in the panels are examples.

01Search and SEO

Is Googlebot spending its time on your posts?

WordPress creates a URL for every tag, category, author and date archive, for each page of those archives, and for search results and feeds. Googlebot can spend much of its crawling on those and reach new posts late.

Salience records every verified Googlebot request with the URL, the status code it received and the time, groups the requests by section, and compares the URLs Googlebot fetched with the URLs in your sitemap.

Find sitemap posts Googlebot has not fetched, see how much crawling goes to archives, search results and feeds, and see error responses to Googlebot on the day they start.

How Salience reports search crawler activity

Verified Googlebot by section

www.example · last 7 days

Example
Verified Googlebot requests by site section over 7 days, the URLs fetched, and sitemap URLs with no Googlebot request (example data)
Posts/blog/*3,284URLs fetched612Sitemap URLs not fetched27
Products/product/*1,146URLs fetched388Sitemap URLs not fetched0
Tag archives/tag/*2,207URLs fetched940Sitemap URLs not fetchedNot in sitemap
Search and feeds/?s=, /feed/1,593URLs fetched1,071Sitemap URLs not fetchedNot in sitemap
46%of 8,230 verified Googlebot requests went to tag archives, internal search and feed URLs
27posts in the sitemap had no Googlebot request in 7 days

Sources requesting login and content URLs

www.example · last 24 hours

Example

Requests per hour from unverified automation

peak 2,121

Unverified automated requests ran at about 160 an hour, rose to between 2,078 and 2,121 an hour from 01:00 to 06:59, then returned to about 160.

  • 203.0.113.0/24Not a crawler11,652

    Hosting provider · 3 rotating browser user agents · POST /wp-login.php, 01:00 to 06:59

  • 198.51.100.61Unverified2,388

    Hosting provider · Googlebot (claimed) · POST /xmlrpc.php, about 100 an hour

  • GooglebotVerified1,174

    Google · Googlebot · Posts, products and sitemaps, follows robots.txt

  • 192.0.2.140Not a crawler1,436

    Hosting provider · python-requests/2.32 · /feed/, then every post it lists

02Security and content protection

Who is sending requests to your login page?

WordPress sites receive password attempts on /wp-login.php and /xmlrpc.php, probes for files such as /wp-config.php.bak, and scripts that copy every post listed in the feed. Many borrow Googlebot's name, and none run the JavaScript that analytics tools rely on.

Salience groups requests by source address and user agent, checks every claimed crawler name against the operator's published addresses, and shows each source's paths, request rate and timing. Before alerting on a request for a sensitive file, it fetches the path itself to see whether the file is exposed.

Block the sources with MyKinsta's IP Deny tool. Recommendations list the addresses and fake crawler user agents, with the paths and sample user agent behind each one.

How Salience evidences scrapers and bot threats

03AI search and discovery

Which AI systems are reading your posts?

AI companies run separate crawlers for collecting training data, for building an AI search index and for fetching a page when someone asks an assistant a question. Each one is a separate robots.txt decision.

Salience puts every AI crawler in one of those three classes, verifies it where the operator publishes its addresses, and lists the posts and products each one requested.

A recorded request shows that a page was fetched. It does not show whether an answer used or cited the page.

The AI referral traffic report counts the human visits that arrive from ChatGPT, Perplexity, Claude, Gemini, Copilot and other assistants, by landing page.

How Salience reports AI crawler activity

AI crawlers by purpose

www.example · last 7 days · verified requests

Example
Training
  • GPTBot1,862
  • ClaudeBot1,247

Most requested /blog/chain-wear-guide/

AI search
  • OAI-SearchBot534
  • PerplexityBot421

Most requested /blog/tubeless-tyre-setup/

User-triggered
  • ChatGPT-User187
  • Perplexity-User52

Most requested /product/gravel-tyre-40mm/

48human visits referred by chatgpt.com and perplexity.ai, landing on 14 posts and product pages · AI referral traffic report

04Engineering and operations

What broke after your last plugin update?

A plugin, theme or WordPress update can start returning errors on some templates, and a security plugin can start refusing crawlers, while the pages still load when you open them in a browser.

Salience tracks status codes per path and per type of client against your own history. Site Events mark your updates and changes on every chart, and the Edge Policy Change alert fires when verified crawlers start receiving 401, 403 or 429 responses.

The alert names the date, the crawlers affected and how their refused share compares with the usual level, with a recommended next step.

How Salience monitors site reliability

Requests refused (401, 403, 429) by client

www.example · daily share · 14 days

Example
Share of requests refused per day. Verified search crawlers and verified AI crawlers stayed under 1% from 6 to 14 October, then rose to between 24.8% and 26.1% and between 46.8% and 49.0% from 15 October, the day a security plugin's rate limit was enabled. Human visitors stayed at 0.2%.0%20%40%6 Oct8101214161819 Oct25.7%48.5%0.2%
Verified search crawlers
24.9% 25.7%
Verified AI crawlers
46.8% 48.5%
Human visitors
0.2%
  • Site event · security plugin rate limit enabled
CriticalEdge Policy Change · 15 Oct

Googlebot, Bingbot, GPTBot and ClaudeBot are receiving 403 and 429 responses. Human visitors are unaffected.

Recommended: check the rate limit and bot rules in the security plugin changed on 15 Oct, and allow verified crawlers.

Example investigation

Googlebot started receiving 500 errors on 9 WooCommerce product pages

An example of how an alert becomes a fix, step by step. The site, URLs and figures are illustrative.

  1. 1

    The alert fires

    At 11:45 a Crawler Error Spike alert reports that verified Googlebot requests to product pages are returning 500, on a site where Googlebot usually receives none.

  2. 2

    The crawler is Google's

    Every request came from an address inside Google's published Googlebot ranges, so these are Google's own fetches receiving a server error.

  3. 3

    The affected URLs

    71 requests across 9 product URLs. Posts and category pages kept returning 200 throughout.

  4. 4

    When it started

    The first 500 arrived at 11:12, 7 minutes after the WooCommerce update your team recorded as a Site Event at 11:05. The errors continued through the afternoon.

  5. 5

    The next step

    Read the PHP error log in MyKinsta for the error behind the 500s, roll back or fix the update, then check that Googlebot receives 200 on its next visits to the 9 URLs.

Explore an investigation in sample data

Crawler Error Spike

www.example · opened 11:45 · Googlebot · 500

Example
CriticalGooglebot is receiving 500s on product pages
GooglebotVerified66.249.79.0/24 · in Google's published ranges
Affected URLs9 URLs · 71 requests
  • /product/gravel-tyre-40mm/50012
  • /product/gravel-tyre-45mm/50010
  • /product/tubeless-sealant-500ml/5009
  • /product/disc-brake-pads-resin/5009
  • /product/chain-12-speed/5008
  • /product/cassette-10-51t-12-speed-wide-range/5007
  • 3 more URLs · 16 requests
Googlebot 500s per hour

11:05 Site event · WooCommerce updated

No 500s in the 10:00 hour; after the WooCommerce update at 11:05, 6, 13, 15, 12, 10, 8 and 7 per hour from 11:00 to 17:00, 71 in total.

Recommended next step

Read the PHP error log in MyKinsta for the error behind the 500s, roll back or fix the WooCommerce update, then confirm Googlebot receives 200 on the 9 product URLs.

What Salience shows for a WordPress site on Kinsta

Every report comes from the same request data. Search Console and Google Analytics 4 add search and session figures to the same URLs if you connect them.

URL detail

www.example/blog/tubeless-tyre-setup/ · last 28 days

Example

/blog/tubeless-tyre-setup/

Segment · PostsIn sitemap.xml200 to Googlebot
  • LogsVerified Googlebot fetchesLast 200 at 09:4711
  • LogsAI page fetchesChatGPT-User, Perplexity-User4
  • LogsAI-referred visitschatgpt.com3
  • Search ConsoleImpressions, 28 daysIndexed, last inspected 8 Oct2,460
  • Google AnalyticsSessions, 28 daysOrganic search 76%538

Who is requesting

  • Verified crawler identities

    200+ crawler identities, checked against published address ranges where the operator publishes them.

  • AI crawlers and AI referrals

    Training, AI search and user-triggered fetches separated, with AI-referred visits by landing page.

  • Login attempts and probes

    Requests to /wp-login.php, /xmlrpc.php and sensitive files such as /.env, grouped by address, network and user agent.

What they request

  • Every request, URL by URL

    Log Explorer and a URL page for each path, with status, client, time and source.

  • Posts, archives and parameters

    Segments for posts, archives, products, search results and parameter URLs, defined by prefix, pattern or query string and applied to all history.

  • Sitemap and robots.txt

    Checked automatically when the site is added, with crawl activity set against sitemap coverage.

What happens next

  • Status codes and errors

    Status codes per path, soft 404s and redirects against your own baseline.

  • Alerts and recommendations

    Alerts by email, Slack or webhook with a recommended next step, and lists of addresses to block and fake crawler user agents.

  • Reports

    A weekly email report, a daily digest and a written technical SEO report.

Salience also runs its own site crawler and crawl audit, and has a public API, a CLI and an MCP server.

How to set up server log monitoring on Kinsta

Setup takes about 10 minutes. Salience checks the API key and environment ID against the Kinsta API before saving them.

  1. 1

    Create an API key in MyKinsta

    In MyKinsta, open the menu under your name, then Company settings, then API Keys, and create a key. Kinsta shows the key only once, so copy it straight away.

  2. 2

    Find your site's environment ID

    Open the site in MyKinsta on its live environment. The browser address contains two IDs, and the second one is the environment ID.

  3. 3

    Paste both into Salience and connect

    Choose Kinsta as the integration, paste the key and the environment ID, and press Verify & connect. The first access-log entries appear within a couple of minutes, then every 15 minutes.

What you need

  • A WordPress site hosted on Kinsta
  • Access to Company settings in MyKinsta, to create an API key
  • The environment ID of the site's live environment

What stays the same

  • No plugin, agent or theme change
  • No DNS or CDN change
  • Nothing runs on your Kinsta servers

Before you connect

  • Kinsta keeps about 4 days of logs, and the first pull collects what is still there
  • Older history imports from log files downloaded from MyKinsta or over SFTP, with duplicates removed
  • New requests arrive every 15 minutes, so Live Mode updates in 15-minute steps
  • Salience reads the access log. The PHP error and cache logs stay in MyKinsta

Someone else manages your Kinsta account? Send them a delegated setup link from the app. It lasts 30 days, is limited to this site, and gives them no access to the rest of your Salience account.

How your request data is collected and controlled

What is collected

  • Timestamp, method, host and path
  • Status code and response size
  • Client address and user agent
  • From the one environment you name

What is not collected

  • Kinsta's PHP error log
  • Kinsta's cache-performance log
  • Request and response bodies
  • Your WordPress database and files

Where it is processed

  • AWS eu-west-2 (London), with encrypted S3, DynamoDB and Aurora storage
  • A GDPR Article 28 DPA applies to every account
  • Never sold, used for advertising or shared between customers

Who controls it

  • The API key is created in your MyKinsta account and used only to read access logs
  • Credentials are checked before they are stored and never saved if the check fails
  • Revoking the key in MyKinsta stops the pull straight away

Kinsta questions

Can I see my server logs on Kinsta?

Yes. MyKinsta's log viewer shows the access, error and cache-performance logs, and Kinsta keeps about 4 days of them. Salience pulls the access log through the official Kinsta API every 15 minutes and keeps it for your plan's history period, with every request classified and every claimed crawler checked.

Do I need a plugin or a developer?

There is no plugin, agent, theme change or DNS change. Setup is pasting a MyKinsta API key and the site's environment ID into Salience, which takes about 10 minutes. If someone else manages your Kinsta account, send them a delegated setup link from the app; they complete the connection without access to your Salience account.

How quickly does request data arrive?

The first entries appear within a couple of minutes of connecting. After that, Salience pulls new access-log entries every 15 minutes, and overlapping pulls are de-duplicated so no request is counted twice. Bot verification, SEO reports and alerts run on each pull as it arrives.

Can I import older Kinsta logs?

Yes. Kinsta keeps about 4 days of logs, so connect soon. For older history, download the log files from MyKinsta or over SFTP and upload them in Import Logs. The importer reads Kinsta's log format and skips any request the live connection has already collected.

What does Salience do with my Kinsta API key?

It uses the key only to read the site's access log. Salience checks the key and environment ID against the Kinsta API before saving them, and saves nothing if the check fails. Revoking the key in MyKinsta stops the pull immediately.

Can I see Googlebot and AI crawlers?

Yes. Every request from Googlebot, Bingbot, GPTBot, ClaudeBot, PerplexityBot and 200+ other crawlers is recorded with the URL and the status code it received, and checked against the operator's published addresses where they publish them. AI crawlers are split into training, AI search and user-triggered fetches. A recorded fetch shows that a page was requested. It does not show whether an answer used it.

I manage several WordPress sites on Kinsta. Does that work?

Yes. Each site connects with its own environment ID and appears as a separate website in one Salience organisation, with its own history and alerts. Each plan includes a number of websites, and more can be added at a per-site price.

What does monitoring cost?

The Free plan covers one website, 500,000 requests a month and 30 days of history, with no card. Paid plans start at $19 a month, each with a 14-day trial.

Salience plans and pricing

Start monitoring your WordPress site on Kinsta for free.

The Free plan needs no card. Setup needs a MyKinsta API key and your site's environment ID.

Explore sample data