Linux 软件免费装
Banner图

Softglaze AI Crawler Monitor

开发者 softglaze
更新时间 2026年8月18日 21:04
捐献地址: 去捐款
PHP版本: 7.4 及以上
WordPress版本: 7.0
版权: GPL-2.0-or-later
版权网址: 版权信息

标签

robots.txt ai crawlers block ai ai bots crawler stats

下载

0.7.0

详情介绍:

Softglaze AI Crawler Monitor records every request from a known AI crawler that reaches WordPress. It shows you which crawlers came, what they asked for, and what your site told them at the time. Most plugins in this area stop at writing a rule. This one is built around the gap between writing a rule and the rule working, because on the open web those are not the same thing. You can find out: What it can and cannot do There are three ways to tell a crawler to stay away. Only one of them is enforced, and the plugin repeats that on every screen where you make the choice.
  1. A robots.txt rule. This is a request, not a barrier. Well behaved crawlers honour it. One that ignores it can still fetch your pages, and nothing on your server stops it.
  2. An X-Robots-Tag: noai, noimageai header, sent only on requests from that crawler. Also a request, and a weaker one, because noai is not an agreed standard and most crawlers ignore it.
  3. Refusing the request with a 403. This is the only setting that is actually enforced. A matching request gets an empty "403 Forbidden" and the page is never sent.
The header never contains noindex, nofollow or none under any setting. Those would take your pages out of ordinary Google and Bing results, which is not what anyone means when they say they want to block AI. Three crawlers in the list are documented by their own operators as fetching pages when a person asks a question, with robots.txt rules that may not apply to them: ChatGPT-User, Perplexity-User and Meta-ExternalFetcher. All three are marked on the crawler screen, right next to the setting, so you find out before you rely on it rather than afterwards. Your robots.txt is always served, even to a crawler you are refusing. Blocking a crawler from reading robots.txt would leave it no way to learn that you want it to stay away. Per-content control The site-wide setting is the default. Any single post, page or product can override it from the edit screen, from quick edit, or from bulk edit. A column in the posts list shows which content has its own setting, and you can filter by it. A per-post setting sends the X-Robots-Tag header and does nothing else. It adds no lines to robots.txt, it cannot refuse a request, and it cannot lift a refusal you set site-wide. The edit screen says so in those words. What it cannot see The plugin records requests that reach WordPress. Plenty of requests never get that far, and rather than quietly under-report, it tells you so: There is a banner above every figure in the plugin saying this. You cannot dismiss it, because it changes what the numbers mean. Crawler identity checking A user agent is self declared, so anything can claim to be GPTBot. The plugin can check whether a crawler really is what it says. Both checks are switched off until you turn them on, because both mean contacting a server outside your site. Left off, the plugin still does everything else, and crawlers are recorded as "not checked", which is what they honestly are. A crawler is only ever recorded as having failed a check when a check actually ran and gave a negative answer. A check that could not run is never treated as a failure. Checking only works where the operator publishes something to check against. Eleven of the crawlers in the list can be checked. The rest stay "not checked" however you set these options, because their operators publish nothing to check them with, and the crawler screen tells you which is which. Crawlers included in this version GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, Claude-SearchBot, Google-Extended, PerplexityBot, Perplexity-User, meta-externalagent, Meta-WebIndexer, Meta-ExternalFetcher, Applebot, Applebot-Extended, Bytespider, CCBot, Amazonbot, Amzn-SearchBot, Amzn-User, cohere-ai, Diffbot, Diffbot-User, Timpibot, YouBot. Every one of these was checked against the operator's own published documentation, and each entry records the page it came from. The crawler screen links to that page for each one. Three of them have no published documentation at all: Bytespider, cohere-ai and Timpibot. They are in the list because the requests are real and you are entitled to see them, and each is labelled on screen as undocumented, since nobody has stated whether they read robots.txt. Crawler names and robots.txt tokens change over time. The list ships with the plugin, it is versioned, and it is never fetched from a remote server. Other plugins by SoftGlaze

安装:

  1. Install through Plugins, Add New, Upload Plugin, or copy the folder to /wp-content/plugins/.
  2. Activate it on the Plugins screen.
  3. Open "AI Crawlers" in the admin menu.
Nothing is blocked and nothing is disallowed when you activate it. The plugin starts by recording what happens and changes nothing about your site until you pick a setting, so you can look before you decide anything. On activation it writes a small helper file into wp-content/mu-plugins/ so it can identify a crawler at the earliest point WordPress allows. It removes that file again when you deactivate the plugin. If the folder cannot be written to, the plugin detects slightly later in the page load instead and tells you which mode is running. Nothing is lost either way.

屏幕截图:

  • Crawlers you told to stay away. The left panel counts requests that arrived after you had already disallowed that crawler; the right panel counts requests your server refused with a 403. Both count only from the day you set the rule.
  • Most requested URLs, filterable by crawler. The notice explains why this ranking is approximate and points at the URL checker for exact figures.
  • Crawler access. One setting per crawler, each with the operator's own documentation linked and the date it was checked. ChatGPT-User carries a warning because OpenAI documents that robots.txt may not apply to it.
  • What each setting actually does, and what it cannot do. Only "Refuse the request" is enforced; the other two are requests a crawler is free to ignore.
  • The URL checker. Exact per-address figures counted from individual records, the crawlers that requested the address after being asked not to, and what that address currently tells each crawler.
  • Settings. Retention is 90 days by default. Both identity checks contact a server outside your site, so both are off until you switch them on.
  • The posts list gains an "AI access" column and a filter, so you can see which content has its own setting.
  • Per-content control from quick edit. A per-post setting sends the advisory header only — it adds nothing to robots.txt and cannot refuse a request.

升级注意事项:

0.7.0 First release under this name. Every identifier moved with the rename, including the database tables, so this installs as a new plugin rather than upgrading an earlier one. Settings and recorded history from a previous name are not carried over. 0.6.0 Adds per-content control and the URL checker's conflicts report. A per-post setting sends the advisory header only. It adds nothing to robots.txt and cannot refuse a request. 0.5.0 The crawler list has been checked against each company's own documentation. FacebookBot is removed because Meta no longer documents it, and two crawlers are now marked as ignoring robots.txt on their operators' own statements. 0.4.0 Adds violation reporting and optional crawler identity checking. Identity checking contacts servers outside your site and is switched off until you enable it.

常见问题:

Does this stop AI companies using my content?

No, and no plugin can honestly promise that. Two of the three mechanisms are requests a crawler is free to ignore. The third refuses matching requests at your server and is enforced, but it matches on the user agent the request claims, and a user agent can be faked. A scraper that does not announce itself is unaffected. This is not a firewall. What you get instead is evidence. If a crawler kept coming after you told it not to, you will see it.

Why do my numbers look low?

Almost certainly page caching. When a page comes from a cache, WordPress never runs, so the request is not recorded. The plugin has no way to know how much it is missing, so it says that plainly instead of guessing.

Why does the top pages list say it is approximate?

Because it is. Daily totals keep the 100 most requested addresses per crawler per day, so a page that never reaches a daily top 100 stays invisible in a longer list no matter how many requests it collects. Every row links to the URL checker, which counts individual records and is exact.

Can I submit my site to ChatGPT or Claude?

No. Neither company offers a submission form, an endpoint or an API, and any plugin that says otherwise is describing something that does not exist. What OpenAI documents is that any public website can appear in ChatGPT search, and that the way to be eligible is simply not to block their search crawler. Claude's web search runs on a third party search index rather than one Anthropic takes submissions to. So the only lever you have is the one this plugin already gives you, which is whether a crawler is allowed. That is why the crawler screen warns you before you disallow a crawler that feeds a product which links back to its sources.

What happens to my data if I delete the plugin?

Nothing is deleted unless you tick the box on the settings screen first. Deactivating the plugin never deletes anything.

Does it work on multisite?

Per site. Activate it on each site individually. Network activation is refused with a message explaining why, because everything the plugin stores belongs to one site.

更新日志:

0.7.0 0.6.0 0.5.0 0.4.0 0.3.0 0.2.0 0.1.0