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
Log Explorer
www.example · latest 15-minute pull
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
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.
Verified Googlebot by section
www.example · last 7 days
| Section | Requests | URLs | Unfetched |
|---|---|---|---|
| Posts/blog/* | 3,284 | URLs fetched612 | Sitemap URLs not fetched27 |
| Products/product/* | 1,146 | URLs fetched388 | Sitemap URLs not fetched0 |
| Tag archives/tag/* | 2,207 | URLs fetched940 | Sitemap URLs not fetchedNot in sitemap |
| Search and feeds/?s=, /feed/ | 1,593 | URLs fetched1,071 | Sitemap URLs not fetchedNot in sitemap |
Sources requesting login and content URLs
www.example · last 24 hours
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.
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.
AI crawlers by purpose
www.example · last 7 days · verified requests
GPTBot1,862
ClaudeBot1,247
Most requested /blog/chain-wear-guide/
OAI-SearchBot534
PerplexityBot421
Most requested /blog/tubeless-tyre-setup/
ChatGPT-User187
Perplexity-User52
Most requested /product/gravel-tyre-40mm/
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.
Requests refused (401, 403, 429) by client
www.example · daily share · 14 days
- Verified search crawlers
- 24.9% 25.7%
- Verified AI crawlers
- 46.8% 48.5%
- Human visitors
- 0.2%
- Verified search crawlers
- Verified AI crawlers
- Human visitors
- Site event · security plugin rate limit enabled
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
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
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
The affected URLs
71 requests across 9 product URLs. Posts and category pages kept returning 200 throughout.
- 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
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.
Crawler Error Spike
www.example · opened 11:45 · Googlebot · 500
- /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
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
/blog/tubeless-tyre-setup/
- 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
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
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
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.
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.