AI Bots: Disallow

I wrote a post recently “Should WordPress block AI bots by default?” with some thoughts about whether WordPress should be blocking AI bots via the robots.txt file by default.

Since writing that I decided that rather than just talking about it I should go ahead and submit some updated code to the WordPress project that does exactly that. I’ve done WordPress development for 14+ years, whilst I’ve created my own plugins and added them to the WordPress plugin repository I’ve never submitted anything to the core codebase before, so it was an interesting process to go through to get a bit of experience of that.

I’m not going through the various steps in detail to do this, but basically it involves forking the WordPress codebase on Github, making the changes in a local development environment, pushing some code to Github and making a Pull Request for those changes.

Whilst the code change is pushed to Github you also need to make a ticket in WordPress Trac ticketing system that is used to track code issues like bugs, updates and feature requests. I created a new Trac ticket for the PR but as it turns out a similar idea had been previously suggested in this Trac ticket so mine has been marked as duplicate to this original one.

This original ticket has some good ideas in it, although no code has been written so I’m glad to have submitted a PR along with it. I do also think my argument for this are a bit more forceful in my ticket compared to the original, I really do think this should be added. However, I am approaching this from the perspective of trying to create some discussion around this, so I don’t at all expect that the code in my PR is exactly the way this feature should work. In the original Trac ticket the suggestion is to have another checkbox in the “Reading” options in WordPress, “Discourage Al services from indexing this site” which I think makes perfect sense.

I did wonder whether there should be any specific way to manage the list of AI Bots though, whilst the “discourage search engines…” option is similar there is a difference. In the ‘robots.txt’ file it only takes a couple of lines to block all search engine user agents:

User-agent: *
Disallow: /

So if you wanted to block all search engines and AI bots you could use just those couple of lines, but presuming you still want search engines to index your site1 you need to specifically list all of the AI bot user agents to be blocked, something like this should block most known AI bots (at the time of writing in October 2024 anyway):

User-agent: AI2Bot
User-agent: Ai2Bot-Dolma
User-agent: Amazonbot
User-agent: anthropic-ai
User-agent: AlphaAI
User-agent: Applebot
User-agent: Applebot-Extended
User-agent: Bytespider
User-agent: CCBot
User-agent: ChatGPT-User
User-agent: Claude-Web
User-agent: ClaudeBot
User-agent: cohere-ai
User-agent: Diffbot
User-agent: FacebookBot
User-agent: facebookexternalhit
User-agent: FriendlyCrawler
User-agent: GPTBot
User-agent: Google-Extended
User-agent: GoogleOther
User-agent: GoogleOther-Image
User-agent: GoogleOther-Video
User-agent: iaskspider/2.0
User-agent: ICC-Crawler
User-agent: ISSCyberRiskCrawler
User-agent: ImagesiftBot
User-agent: img2dataset
User-agent: Kangaroo Bot
User-agent: Meta-ExternalAgent
User-agent: Meta-ExternalFetcher
User-agent: OAI-SearchBot
User-agent: omgili
User-agent: omgilibot
User-agent: PerplexityBot
User-agent: PetalBot
User-agent: Scrapy
User-agent: Sidetrade indexer bot
User-agent: Timpibot
User-agent: VelenPublicWebCrawler
User-agent: Webzio-Extended
User-agent: YouBot
Disallow: /
2

It’s possible users might want to allow certain ones, and disallow others so the original Trac ticket also suggests that this list could be filterable so that plugins etc could modify this list.

I don’t think adding any kind of UI beyond the checkbox to core would be desirable as it’s exactly the kind of extension of functionality that plugins are intended for. The basic feature of blocking AI bots will work and if users need more they can find a plugin or write their own code to do what they need. One consideration is whether this list of default AI bots should get updated outwith the regular core WordPress development cycle, but the amount of new AI bots appearing probably(?) isn’t that frequent and there are fairly common interim point updates in the WordPress development cycle that would allow this block list to be updated.

If you’re reading this and think it’s an enhancement worth supporting then please do leave a comment on the original Trac ticket if you can, or reshare this post anywhere you think might help draw attention to it.


  1. I acknowledge there is a lot of discussion about whether blocking AI bots will one day have the same impact that blocking search engines from your site does now in that you basically won’t show in any search engine results. The intention of blocking AI bots by default is so that users can make an informed choice about how their content is used. ↩︎
  2. These are the droids we are looking for? ↩︎

RC Post Rating WordPress plugin

For a site I was working on recently I needed a function to let users give feedback on each page in the form of upvote / downvotes. I had used a plugin that did this in the past but it was quite old and its codebase was out of date, other plugins I found seemed to be focused more on star ratings e.g. 1-5 stars.

So to meet this need I’ve made a new WordPress plugin called “RC Post Rating”, it provides a two-button widget that can be added to pages, posts or other custom post types and allows users to submit positive or negative ratings for that specific content. You can find out more about it and other WordPress plugins on my Projects page.

“RC Post Rating” is available to install or download from the WordPress plugin repository, you can view more details about it, download the source code etc (licenced under GPL V2) from the plugin page in the WordPress plugin directory here:

Disable Login Language Selector on WordPress 5.9

With the release of WordPress 5.9 comes a new dropdown language selector on the Login screen for WordPress that lets users switch to any language that has been installed on the website. As long as there is more than one active language on the site then this dropdown selector will be visible and is a great feature for multi-lingual sites.

If, like me however, you develop a website which already has a language switcher in place, either via your own code or another plugin then you may not want the new language selector to appear. Thankfully WordPress 5.9 also comes with a filter that you can use to disable the selector, so you can use this simple line of code in the ‘functions.php’ file in your theme to do so:

add_filter( 'login_display_language_dropdown', '__return_false' );

Whilst it is fairly simple to add this to your theme for some people it may not be possible to edit your theme files and such it’s much easier to install a plugin, so I’ve made a simple plugin which is now live in the WordPress plugin directory. The “Disable Login Language Selector” plugin provides a quick and easy way to remove the Language selector that appears on the login screen in WordPress 5.9.

(Note that my other WordPress plugins have also been tested in WordPress 5.9 too so will happily work with the new release.)

WordPress Answers StackExchange site out of beta

A quick short and sweet post as I just realised that I never blogged about the fact that WordPress Answers Stack Exchange site is out of beta and has become a fully fledged StackExchange site! It actually came out of Beta back in February so this post is quite overdue!

It’s a really useful site if you are into WordPress theme or plugin development, I posted about the beta a while ago and I’ve found it useful on quite a few occasions when I’ve struggled to figure out how to make something work, especially for the WOS Media Categories Plugin that I was working on a while back as well as quite a few other code issues I’ve had with recent client projects.

Whether it’s for help with your own WordPress issues or if you’ve got skills and a bit of time to share helping others figure out their WordPress issues then I’d definitely recommend getting involved with the site.

Top ten useful Quick Look plugins for Mac OSX 10.5

One of the best new features that OSX 10.5 Leopard introduced was Quick Look. As the name suggests it lets you take a ‘quick look’ at the contents of a file without having to open up the actual software application.

Quick Look supports plugins so third-party developers can create Quick Look plugins of their own to give access to many other file formats. I’ve found Quick Look to be such an intuitive tool to use as well as incredibly time saving due to not having to wait for Microsoft Word open up just to check the contents of a Word document. A great boost for productivity!

Here, in no particular order, are 10 of the most useful Quick Look plugins that I’ve found. Please note, some of these require payment for full use:

BetterZip

Allows you to preview ZIP, TAR, GZip, BZip2, ARJ, LZH, ISO, CHM, CAB, CPIO, RAR, 7-Zip, DEB, RPM, StuffIt’s SIT, DiskDoubler, BinHex, and MacBinary files.

http://macitbetter.com/BetterZipQL-1.0

HD Quick Look

HD Quick Look lets you view the first frame of your AVCHD files. You can also view multiple files as a slide show, as an index sheet or full screen.

This is a really handy plugin for those working with AVCHD video and a perfect companion to Shedworx excellent VoltaicHD application for converting AVCHD footage!

http://www.shedworx.com/

Suspicious Package

It allows you to preview the contents of a standard Apple installer package without launching the Installer. Great for checking for any unwanted additional bits of software that sometimes companies like to add!

http://www.mothersruin.com/software/SuspiciousPackage/download.html

AppleScript

Gives a preview of AppleScript files.

http://www.kainjow.com/?p=77

FLV

Allows you to view Flash video files, please note that it requires installation of the Perian Quicktime plugin to make it work.

http://homepage.mac.com/xdd/software/flv/

EPS

Allows you to view EPS files.

http://www.eternalstorms.at/utilities/epsqlplg/index.html

Folder View

Allows you to see the contents of a folder.

http://homepage.mac.com/xdd/software/folder/

ColorXML

Enables display of XML files with indentation and XML syntax coloring.

http://www.macupdate.com/info.php/id/26194/colorxml-quicklook

SneakPeek Pro

Allows you to preview Illustrator, InDesign and EPS documents in the Finder, dialog boxes and other applications. SneakPeek Pro also allows you to see fonts, images and colors used in many CS3 documents.

It works with Illustrator files even if not saved with PDF compatibility. $19.95 but worth every cent if you’re a frequent Illustrator or InDesign user!

http://www.code-line.com/software/sneakpeekpro.html

GLColorCode

Adds enhanced source code colouring for various programming languages such as PHP, Actionscript, Objective-C etc.

http://code.google.com/p/qlcolorcode/