Crawler Record shows when Google, ChatGPT, Claude, and other top bots last visited pages on your website, so you can be confident your pages are being crawled. This is the first step in ensuring these platforms index your website so they can serve it to visitors. The data covers several top user-age
PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 6.4 and PHP 8.2.
SourceWordPress plugins · Oct 17, 2026
01 / Source details
About this tool.
Crawler Record shows when Google, ChatGPT, Claude, and other top bots last visited pages on your website, so you can be confident your pages are being crawled. This is the first step in ensuring these platforms index your website so they can serve it to visitors. The data covers several top user-agents, including:
Google
Bing
ChatGPT (OpenAI)
Claude (Anthropic)
Perplexity
Meta
Apple
Amazon
DuckDuckGo
Common Crawl
Site users with manage_options can view this information:
Admin page : a grouped list of all crawlers, with last seen time, last page, and robots.txt status for the crawler.
Recent Pages : From the admin page, you can select a crawler and see its latest visited pages, the response status WordPress observed, and a destination when WordPress exposes one for a retained 3xx response.
Crawler Activity Overview : Review 28-day visit totals, response-code health, crawler mix, a daily activity timeline, and crawler staleness. URL reports use up to the 50 most recent recorded visits per crawler.
Crawler Status Overview : Filter the main dashboard and crawler table by crawlers that visited within 28 days, have become stale, or have never visited. The unfiltered dashboard includes the stale-crawler age distribution alongside current activity; the Stale view focuses on that distribution, latest-visit details, and Recent Pages links instead of empty or potentially misleading historical metrics.
CSV Reports : Download all retained visits from each 2xx, 3xx, or 4xx report, across pagination. Retained history is limited to up to 50 recent visits per crawler and may include visits older than 28 days. Downloaded reports may contain sensitive URL paths; share them carefully.
Header Codes for User-Agents : Did a user-agent successfully visit a page (2xx), receive a 3xx response, or land on a page that was missing or inaccessible (4xx)? Crawler Record will show you. The 3xx report includes every retained 3xx status, including 304 Not Modified; only responses with an observable redirect destination show where the request was sent.
Admin Bar (front-end) : quick-glance status for all user-agent visits.
Per Page/Post : From the edit screen on any page or post, you can see the last time each crawler visited that page. Users with Crawler Record access can also open the main dashboard or an individual crawler’s Recent Pages report from this box.
Monthly Report by Email : Designate which admin users recieve a monthly email update.
Robots-aware: The plugin checks your robots.txt and evaluates Allow/Disallow rules for a given path. WordPress’s “Discourage search engines” preference is reported separately because it asks compliant search engines to avoid indexing.
Response-aware: Recent visits include the final HTTP status WordPress can observe, including ordinary WordPress 404 pages and 3xx responses that occur after tracking begins. The 3xx report groups all retained 3xx statuses together; 304 Not Modified does not redirect and therefore has no destination. Other 3xx rows show a destination only when WordPress/PHP exposes one. Responses served by a CDN, web server, static cache, or security layer before WordPress runs cannot be recorded.
Identification note: Crawler identification is based on the supplied user-agent string. User-agent strings can be spoofed, and this plugin does not verify IPs.
Learn how to use this plugin .
Highlights
Supports common user-agent variants for Google, Bing, OpenAI (ChatGPT), Anthropic (Claude), Perplexity, Meta, Apple, Amazon, DuckDuckGo, and Common Crawl.
robots.txt status computed from a local physical or WordPress virtual source without outbound requests.
Known limitations
Can only track crawlers from the time the plugin is installed—it cannot reconstruct earlier visits.
Per-post “last seen” timestamp and user-agent metadata update at most once every 10 minutes by default. Separately, rapid same-crawler, same-URL, same-status visits are suppressed for 30 seconds, and a high emergency ceiling retains up to 50 visits per crawler per minute.
Concurrent requests matching the same crawler are not coordinated. One database write may replace another, causing a visit to be absent from recent history or daily totals, or causing the latest-visit fields to reflect whichever write finished last. Dashboard totals are therefore approximate retained activity rather than an exact raw access log because of throttling, retention limits, and possible concurrent writes.
Response codes are available only for requests that reach WordPress. Responses served earlier by a CDN, web server, static cache, or security layer are outside the plugin’s visibility.
The 3xx report includes all retained 3xx statuses, including 304 Not Modified. Redirect destinations are available only when WordPress/PHP exposes a Location header. Redirects issued before WordPress runs cannot be recorded, and a followed destination is retained as a separate visit if it reaches WordPress.
Stored source and redirect URLs include scheme, validated host, optional port, and path. Safe numeric WordPress routing parameters ( p , page_id , and attachment_id ) are retained; all other query parameters are omitted to avoid storing sensitive tokens, personal data, and high-cardinality tracking values. A “Parameters omitted” badge identifies affected URLs without changing their link targets. Reverse-proxy configuration can affect the scheme WordPress observes.
Reports treat the configured site host and its www or non- www counterpart as the same site for safe linking. The originally requested address and observed response remain unchanged, so redirects between those hosts still appear in the 3xx report. Other hosts remain unlinked.
URLs up to 114 characters are stored normally. URLs from 115 through 1,028 characters retain the visit with a 100-character prefix and an excessive-length marker; they are displayed with an ellipsis and are not linked. URLs longer than 1,028 characters are omitted from URL-level reports. Sitewide tracking for such requests is subject to the 30-second suppression window, while applicable per-post metadata uses its separate 10-minute throttle.
Privacy
This plugin stores: – Timestamps of crawler visits – Exact matched crawler user-agent strings – Last URL and a bounded 50-visit recent history per crawler – Final HTTP response status observable by WordPress for recent crawler visits – Observable redirect destination , when PHP exposes one for a retained 3xx response other than 304 Not Modified – Last post ID per crawler (for admin performance)
Stored source and redirect URLs retain only the safe numeric WordPress routing parameters p , page_id , and attachment_id . All other query parameters and all fragments are omitted. Newly recorded URLs with omitted parameters are identified by a “Parameters omitted” badge; the badge is not part of the stored or linked URL. Incoming hosts are validated and used only for reporting; they are never used for redirects, filesystem access, or outbound requests. Existing URL length limits apply independently to redirect sources and destinations.
Optional monthly email reporting additionally stores selected WordPress user IDs and their account email addresses for consent validation, hashed confirmation tokens, short-lived per-user invitation cooldowns, and bounded delivery state. These options are non-autoloaded and isolated per site on multisite. Reports calculate current values from the same bounded data used by the dashboard and retain no month-to-month report history. A failed delivery temporarily stores its bounded report payload for one retry.
Only explicitly selected users receive confirmation invitations; reports require their confirmation. Emails leave the site through its configured WordPress email transport and provider, not an analytics service. Confirmation and unsubscribe endpoints are public bearer-link pages exposing no report data. The email provider and recipients can access or forward email contents.
The plugin stores requests matching configured crawler patterns, but user-agent strings can be spoofed. It performs no IP verification and transmits no data to third parties.
Crawler reports, the front-end admin-bar menu, and the post/page meta box require manage_options . Source URLs with hosts outside the configured WordPress home/site hosts are displayed as non-clickable diagnostic text. Uninstall removes all current and legacy Crawler Record options, transients, and post metadata from each site in a multisite network; WordPress removes the plugin files themselves.
License
GPLv2 or later. See LICENSE file.
02 / Source details
Getting started.
01Upload the plugin folder to /wp-content/plugins/ , or install via the admin Plugins screen.
02Activate the plugin.
03Visit Crawler Record under Admin → Crawler Record to review crawler activity.
03 / Source details
Frequently asked questions.
Why are there no crawler visits recorded?
This plugin can only begin tracking crawler/bot visits from the time you install it—not before. It may take several days or weeks, depending on your website’s popularity, before a crawler visits.
Why do I see the indexing warning?
If Settings → Reading → Discourage search engines is enabled, the plugin explains that WordPress asks compliant search engines not to index the site. This does not prevent access, so robots.txt status is evaluated separately.
Why doesn’t this data align with my website visitors?
You’re comparing two different things: user-agents and human visitors. This plugin measures requests from crawler user-agents, not visits from people.
How can I get a user-agent to visit my website?
Several factors contribute, including your website’s authority, popularity, internal linking, and links from other trusted websites. A crawler visit does not guarantee that a platform will add the page to its index.