Two days in Krakรณw – a trip to WordCamp Europe 2026

I have been working with WordPress since around 2010 and since that time I have almost exclusively used it as the underlying basis for various web projects I’ve developed for myself and clients. From design festival websites, to a skatepark directory, to an online learning toolkit, I’ve used it for various projects both large and small.

Despite working with WordPress for over fifteen years, I had never attended one of the larger WordPress conferences. When I realised WordCamp Europe 2026 was taking place in Krakรณw, it seemed like the perfect opportunity to experience my first WordCamp.

It was a bit of a whirlwind trip, flying in late Thursday, the conference on Friday & Saturday and then flying out early Sunday morning. So not anywhere near enough time to see that much of Krakรณw outside of the conference but, along with my friend Graeme, we did manage a little sight-seeing in the evenings, exploring the general old town area (much of it via Bolt scooters!).

There was a lot to take in over the trip, so here are a few things that stood out at WordCamp Europe 2026.

View from a bridge over a calm river or canal, with several moored houseboats reflected in the water. Across the water is a large grassy park bordered by modern office and conference buildings, including a distinctive curved glass-and-metal structure in the centre. A ferris wheel stands in the distance on the left, while a wide pedestrian walkway and road run alongside the bridge on the right under an overcast sky.
A view of the ICE Krakรณw Congress Centre, the venue for WordCamp Europe 2026.

Accessible and affordable

Many creative industry / web design / development conferences are quite expensive to attend, as someone who has been self-employed for the majority of my working life I have not attended many of these kind of events as I could not justify the high ticket costs.

So part of what I mean by “accessible” is that the cost to attend is accessible. The basic entry cost of โ‚ฌ50 for the two-day event including lunches and snacks meant this was extremely affordable. Additional tiers were available for those who are able to contribute more and pay it forward to help the event stay affordable, but everyone had the same experience regardless of ticket type. This was made possible by the support of some extremely generous sponsors, this helped ensure the cost of entry was as small a barrier as possible (thanks go to all the sponsors who supported WordCamp Europe 2026).

Another aspect of accessibility that was notable was language, translation and captioning. English was the primary language spoken by everyone who was giving a talk, but this was aided by live translated English subtitles shown on screen behind the speakers. Additionally the Wordly AI service was used to provide real-time translation in both audible and text formats. As an English language native I can’t attest exactly as to how effective this was as a tool, but I did try out the live text translation with Ukrainian1 and it seemed to be translating pretty well.

Talks and Panels

Talks and Panels with various speakers were a key component of the conference, there were two different tracks to pick from with a variety of subjects. Ranging from more technical talks about things like the new “Abilities API” or “Block bindings” to broader topics like the “Future of SEO”.

One of the talks that particularly stood out was “Two Worlds Collide: WordPress at CERN”, Joachim Valdemar Yde and Francisco Borges Aurindo Barros gave an overview of a huge project undertaken at CERN to consolidate 800+ websites on various disparate platforms onto WordPress:

Additionally, there were also two Workshop tracks with longer hands-on time exploring things like the “HTML API” and the “Interactivity API”. The workshops looked interesting but I was more interested in checking out the various talks rather than doing extended workshops, I think the workshops were fully booked as there was a lot of interest in them.

All the talks / panels and workshops were streamed / recorded so you can actually go and watch all of them, I will definitely be checking out all of the talks that I missed. Click through to the talks / workshop pages from the main conference schedule page to see the videos.

Conversations

The talks were really interesting, but a big part of WordCamp is the conversations that take place outside of them. Whether it was sitting during a break, queuing to get some coffee or visiting the many exhibitor / sponsor booths in the venue, the conversations with other attendees were really interesting.

There was an incredible variety of backgrounds to the people attending the conference, it’s not just web design / developers attending but a huge array of people that use WordPress for their businesses, charities, personal projects etc. The power and success of WordPress is down to the community of people who care about WordPress, helping people to install, use, develop, translate, support WordPress and the people who use it.

I think there were almost 2500 people attending from about 81 different countries, so it was a really broad and varied group of people in attendance. One thing I missed out on this time but would be keen to attend in future is the Contributor day, this took place the day before the conference and was an opportunity for people to meet together, find out more about opportunities to contribute to WordPress and use their skills to make it even better.

The after-party on the Saturday night at Forty Kleparz – aka Krakรณw Fortress2 – continued the incredibly high standard of the rest of the event, and a chance for the attendees, speakers and at least some of the organisers to relax after a job well done. A time for more conversation, great food, music, karaoke etc. I didn’t stay too long at this as it was an early start to catch a flight back to Scotland the next morning, but everyone seemed to be enjoying themselves.

I don’t drink much beer but I did enjoy this white beer, not sure what it was. My Friend Graeme also enjoyed it.

WordPress and AI

Not unexpectedly, AI was a very common topic of both the talks and panels and conversations. The majority of exhibitors at the conference seemed to be advertising some form of AI or agentic integration, and whilst not every talk or panel had AI in the title, most of them mentioned AI one way or another. Co-incidentally WordPress 7.0 has recently launched which adds some key features enabling AI connections to allow deeper access to AI tools like Codex, Claude, Gemini etc.

There definitely was a lot of discussion about where WordPress stands in this highly dynamic and, yes, disruptive3 era that we are in. Overall it was positive with people excited about the opportunities that AI has for WordPress and how WordPress 7.0’s new AI connectors set a good foundation. I did have at least one conversation where someone expressed concern about how AI is affecting WordPress usage and whether this is contributing to a decline in its growth.

Overall there was a lot of energy being directed in how best to integrate AI into WordPress and related workflows. Definitely some food for thought in regard to my own usage of WordPress and AI. As someone who has increasingly used tools like ChatGPT and Codex in my own work, it was interesting to see how quickly AI has become part of the wider WordPress conversation.

A high bar

So some final thoughts, I heard some amazing talks from great speakers, had some excellent conversations with people, learned about some interesting services, companies, new features and initiatives relating to WordPress.

It really was an incredibly well run event, as a first time attendee I was blown away by the standard of the event and how well it was organised and the level of care and attention given. An incredible venue, in an incredible city, organised by an incredible team. Well done to all the organisers, volunteers and sponsors who made it happen!

After more than fifteen years of using WordPress, attending my first WordCamp Europe was long overdue. Iโ€™m glad I finally made the trip and Iโ€™ll definitely be looking at attending future WordCamps when I can. Next year’s WordCamp Europe city has been announced, so if this event sounds like something you’d be interested in I’d strongly recommend booking a ticket for WordCamp Europe 2027 in Malaga, Spain as soon as they are available.

Quick video of my trip

It’s always fun to document trips, and Krakรณw was a beautiful city so there was a lot to try and capture. Here’s a wee video with some of what I saw over the two days or so:

WordCamp Europe 2026 took place on June 4-6th, here’s a little video of my trip there!

  1. I have been slowly learning Ukrainian for a couple of years, I’m definitely far from fluent! My wife on the other hand (she is definitely a language geek!) is pretty fluent and is now learning Romanian. โ†ฉ๏ธŽ
  2. Forty Kleparz is in the “Krakรณw Fortress”, a 19th century Austro-Hungarian fortification. Wawel Castle was also an amazing looking, centuries old building, but one I saw only from the outside, I definitely need a return trip to check this out more. โ†ฉ๏ธŽ
  3. “Disruptive” is a word thrown out about various kinds of technology, but I think it is definitely appropriate to use it to describe the impact of AI in our lives. โ†ฉ๏ธŽ

Replacing an obsolete Brivo door access system: Ubiquiti’s UniFi Access Retrofit Hub 2

Whilst web design / development is my main day-to-day source of income, I have installed and managed a fair bit of WiFi and networking equipment over the years, both at home and in some of the co-working spaces1 that I’ve worked out of. I don’t consider myself in any way a networking expert but I do enjoy tinkering with this kind of stuff and I especially like having decent WiFi so it’s good to know how to troubleshoot problems.

Recently, the facilities technician at my workspace mentioned that the door access system for accessing the building was becoming obsolete. More specifically the existing “Brivo” based system which was using old “ACS5000” control units was becoming obsolete as of 30 April 2026. In practice, this means that whilst the door control units would still operate, they would no longer be available to be configured via the Brivo Access cloud-based control system. Therefore it would no longer be possible to add or remove access fobs from the system.

I didn’t really know anything about Brivo systems so the first step was to look and see if you could buy replacement units to fit them. Whilst I found a few units here and there on eBay it seems that Brivo really want you to use an authorised installer for any replacements. Meanwhile the company that did the original installation was contacted to give a quote for replacement and they came back with an estimate for supply and installation of at least ยฃ2,800 (excluding VAT) for each replacement control unit. Given that there are three units to replace this meant at least ยฃ9,000 to have the original installers do the replacement.

On top of the supply and installation cost there is also an ongoing subscription for Brivo Access which is somewhere in the region of ยฃ600 per year for this particular configuration. Additionally, it is strongly encouraged to have a hardware-specific maintenance contract with the existing supplier too, which meant that potentially even more cost would be involved. Given the not-insignificant outlay potentially involved it seemed worthwhile to have a look for alternative options.

UniFi Access Retrofit Hub 2

After a bit of research online I came across a product from Ubiquiti, specifically their “UniFi Access Retrofit Hub 2” product which is intended as a drop-in replacement for this type of legacy system. Again, I am not very familiar with door entry systems in general, but after a bit more research it seemed like this product should be perfect for the type of system in use here which is Brivo door controllers using “Wiegand” door readers.

So replacing the ACS5000 units with Retrofit Hubs would mean we could re-use the existing Wiegand door readers, lock hardware, door contacts, exit request devices and most of the existing wiring, avoiding the need for a full system replacement. Also, each Retrofit Hub, like the ACS5000 units they were replacing, can support and control two doors which again is perfect for this setup as there are four doors controlled by three control units.

Another reason the Retrofit Hub seemed like a good solution here is that the existing on-site WiFi network uses a Ubiquiti Dream Machine Pro (UDM-Pro) controller and WiFi access points. So the UDM-Pro controller would be able to run the UniFi Access software which would manage door access, configuring fobs for access, etc.

Whilst I was quietly confident this solution would work, I was a bit unsure about the process of disconnecting the old units and wiring up the new units. I have done a fair bit of networking but in this case there are various bits of wiring involved, linking into 12-volt power, 12-volt batteries and also 24-volt power for the door mechanism operation, so I was very wary of bricking something accidentally if I tried to do it myself. Fortunately the electrician who regularly works in this location is always up for tackling unusual tasks, so after taking a look at the wiring diagrams he was happy to help with the actual wiring up of the devices.

A drop-in hardware replacement

The actual hardware replacement work involved disconnecting and removing the ACS5000 controllers, identifying and remapping all existing wiring for both doors, and terminating these connections into the Retrofit Hub 2.

Just to be really cautious we first ordered one Retrofit Hub device and also one “Ubiquiti Retrofit PSU 12V” power supply, this way we could try one replacement first of all and if all went well then replace the remaining Brivo controllers.

There was a bit of trial and error by the electrician to get the wiring configuration correct, but once it was all wired up and connected to the network cable, the Retrofit Hub appeared as a new “UA Retrofit Hub 2” device in the UniFi Access software running on the UDM-Pro. I could then adopt it into the system and enable the Door 1 and Door 2 readers as required. The Retrofit Hub can work with Ubiquiti’s own “Retrofit Reader” device as well as “Wiegand Readers” so you can set which type of reader was in use as well as things like “Card Format” for the NFC access devices.

I exported all of the existing user accounts from Brivo Access including the existing UIDs for the fobs on that system, after massaging the data format a bit I was able to import it into UniFi Access. However, when I tried an existing fob I found that it wouldn’t work with the imported UIDs so I did have to re-add the NFC fobs back for each user. So not a huge issue, but it did mean that I had to get all fob-users to come on site so they could be added to the new system as it involves tapping a fob on a reader in order to add the NFC to their account.

After successfully replacing the first Brivo controller and getting door access working we then ordered Retrofit Hubs to replace the remaining two controllers. This time the electrician was able to re-use the existing 12-volt power supplies so we did not need to use Retrofit PSUs for these two, which saved a little bit more money.

Once the hubs were all replaced and configured, door access was then managed entirely through UniFi Site Manager / cloud access. This allows secure remote administration of the locally hosted UniFi controller so we can open and close doors remotely if needed as well as manage access schedules etc.

Cost comparison

In this case I think it has been a pretty successful and cost-effective solution. Hardware purchased for this replacement was:

On top of the hardware costs were 1-2 days labour for an electrician, my own time was voluntary but with a reasonable estimate of the cost of labour on our part of about ยฃ2,000 then this is likely less than 1/3rd of the cost of continuing with Brivo for this system. Additionally, there are no ongoing fees for the UniFi system for managing access, so there will be an annual saving of about ยฃ600 as the Brivo Access subscription is no longer required.

There was the advantage in this case that I am very familiar with Ubiquiti from a networking / WiFi management perspective and that there was already a Ubiquiti UDM-Pro controller on site. But the UDM-Pro costs less than ยฃ400 and there are cheaper options like Ubiquiti’s Cloud Gateway Max (UCG-Max) which is less than ยฃ200, so even if you didn’t have an existing Ubiquiti controller it’s a lot less outlay than sticking with Brivo for door access.

  1. RIP Fleet Collective โ†ฉ๏ธŽ

ChatGPT Wrapped

Spotify started the yearly “wrapped” trend back in 2016 giving you a roundup / overview of your music listening habits over the year, but now many other services are doing a “wrapped” style roundup with Apple Music, YouTube and even Lidl supermarket did one for your 2025 annual shopping habits in their Lidl plus app!

ChatGPT also added a specific “Your Year with ChatGPT” option where you could see your activity over the year which highlights the number of conversations, messages, topics explored etc (tip: type “Your Year with ChatGPT” into a prompt and it will generate this for you).

Whilst it’s interesting to see the various activity within ChatGPT one thing they don’t highlight are the resources that were used in the process, e.g. things like energy, water, CO2 emissions.

The resource usage of AI / AI data centres is a huge topic and it is difficult to get clear details of exactly how much energy is being consumed when you enter a prompt into ChatGPT, there have definitely been some extremely exaggerated figures of water usage thrown around but equally there is a lack of clear transparency from companies like OpenAI, Anthropic, Microsoft etc.

Despite this challenge I thought it would be good to have an alternative ChatGPT “wrapped” tool and at least attempt to help us see how our usage of ChatGPT measures up. The figures I’ve used are based on general data about AI usage / data centres so not strictly what ChatGPT uses so you could swap out “ChatGPT and insert the name of whichever AI company you might be using.

(Note I’ve included some specific info below the tool in “How are these calculated?“, if you disagree or have any better statistics then please do leave a comment, I’m trying to base this on real data which as I’ve said is a little hard to ascertain exact numbers).

So, finally, I present my version of “ChatGPT Wrapped”:

Your ChatGPT Wrapped

How are these calculated?

Estimates in this tool are based on publicly available research into large language model inference, data centre electricity use, cooling infrastructure, and agricultural water footprints.

Independent investigations have shown that the environmental footprint of an individual AI query can vary significantly depending on the model used, data centre location, cooling method, and electricity grid. As a result, no single โ€œper-queryโ€ value can be considered definitive.

To make these comparisons concrete, this tool uses the following per-query assumptions:

  • Energy: ~0.0005 kWh per ChatGPT query (0.5 watt-hours)
  • Water: ~0.005 litres per ChatGPT query (5 millilitres)
  • COโ‚‚: ~0.0003 kg per ChatGPT query (0.3 grams)

Values shown are mid-range averages intended for awareness and comparison, not precise accounting.

You may see much lower water-use figures quoted elsewhere, including estimates from OpenAI that focus on direct, on-site cooling water at highly optimised data centres. This tool uses broader, system-level estimates that also account for indirect water use associated with electricity generation and supporting infrastructure.

In addition, real-world AI usage varies widely. Simple text prompts typically require less compute than image generation, longer conversations, or multi-step analysis. The values shown here are intended to reflect an average across a mix of common usage patterns rather than a best-case scenario.

Why do these numbers vary?

AI systems donโ€™t operate in a single, fixed environment. The resources required to generate a response depend on where and how that response is produced, and on the wider systems that support it. For this reason, estimates of energy, water, and emissions are best understood as ranges rather than exact values. The figures shown here are mid-range estimates intended to provide context, not precise measurement.

iPhone view of 2025

Here is my annual “iPhone view” video for 2025. All images were either taken directly with my iPhone, screenshot or copied onto it in 2025, these are then compiled together into a video.

The audio track is self-composed in GarageBand, with sound samples from Steve Jobs commencement speech at Stanford in 2005.

This year the video is approximately 2 minutes and 3 seconds long.

There are now 16 years(!) of “iPhone view” videos in my “iPhone view…” playlist.

Open/Close iOS app – now FREE

I recently did a minor update to the Open/Close iOS app that I made a few years ago to give it some visual compatibility with the new iOS 26 interface updates.

With this update I decided to make the app a free download from the App Store as I would prefer more people downloaded it and hopefully were encouraged to use it to go check out the Open/Close street art trails for themselves.

When I first built the app circa 2019 it was an opportunity for me to get some experience developing an iOS app, and I also thought that maybe if it sold enough copies of the app then I could donate a share of profits to the Open/Close project.

However, sales of the app have always been pretty low, so I’d rather people were able to download the app and find out more about the Open/Close trails, so please do download it if you’re interested in checking out the app and the Open/Close trails.

Download on the App Store

If you enjoy the app and more specifically you enjoy the Open/Close street art trails then do please consider donating to them and supporting the work they do.

Projects like Open/Close really do make a big difference to Dundee by “injecting life to the alleyways and forgotten corners of the city“, so follow Open/Close on Instagram, check out their website at openclosedundee.co.uk, and go check out the trails!

iPhone view of 2024

Here is my annual “iPhone view” video for 2024. All images were either taken directly with my iPhone, screenshot or copied onto it in 2024, these are then compiled together into approximately three minutes and 10 seconds.

The audio track is self-composed in GarageBand, with sound samples from a 1953 speech by W.E.B Du Bois.

This year the video is approximately 3 minutes and 10 seconds long.

There are now 15 years(!) of “iPhone view” videos in my “iPhone view…” playlist.

The Nokia Design Archive

The Nokia Design Archive is a digital portal covering over 20 years of Nokia’s digital design history that has been pulled together and launched in January 2025 by Aalto University in Finland.

There is so much stuff there to explore such as sketches, photographs and videos, both publicly seen and behind the scenes work on the many, many devices that Nokia produced (and many that never saw the light of day):

https://nokiadesignarchive.aalto.fi

Screenshot of the interface of the Nokia Design Archive

I’ve written a few posts mentioning Nokia over the years on this site and I owned and enjoyed using quite a few of their mobile devices in the early 2000’s. In 2003, a few years before the iPhone disrupted many of the incumbent mobile device companies, Nokia stood out as being a company willing to try many different formats and ideas.

So much of what Nokia did was ahead of its time, but unfortunately also was ahead of the widespread, cheap mobile data access that we now take for granted. There is a ton of stuff in the archive to look through, but it’s a fantastic resource if you want to find out more about the design processes and thinking that was going at Nokia.

N-Gage

I wrote an article “Dis-N-Gaged” back in 2010(!) where I looked at the rise and fall of the N-Gage “mobile game deck”1, I loved the N-Gage device and still have mine and its original box along with Tony Hawk Pro Skater and Tomb Raider games. Mobile connectivity just wasn’t widespread and cheap enough to make some of the multi-layer or location-aware goals for this device a compelling reality.

This device was really impractical as a phone, but I loved it. It’s now proudly one of my favourite amongst the 12 “Handheld Heroes2 illustrations I made a few years ago:

N95, N80 and Symbian OS

Despite the demise of the N-Gage I still used Nokia phones for a few years before eventually getting an iPhone, the Nokia N80 and the Nokia N95 being a couple of my favourite devices.

The Symbian operating system these phones used was kind of like the linux of mobile phones, there was a lot of software available for them3 and Nokia had some interesting experimental software such as running the Apache webserver directly on your phone so you could make your phone serve up websites โ€“ why? I’m not really sure, but I loved that there was a lot of experimentation going on within Nokia’s world. It also worked well with Apple computers, you could sync calendars and contacts to it and easily copy of photos from the device to your Mac.

I think Blackberry often gets credited as being the defining mobile device before the iPhone came along, but I think that Nokia deserves much more credit for the massive impact and breaking of ground for mobile computing devices that it did in the early 2000s.

Nokia Push4 is a great example of their experimentation, this involved putting sensors on skateboards and snowboards to track the telemetry such as rotations, flips, height, speed etc. You could share your location, movements, tricks etc and “compete” with other people elsewhere in the world.


  1. “Mobile game deck” is how Nokia referred to the N-Gage devices rather than a mobile phone. โ†ฉ๏ธŽ
  2. I’ve made a few t-shirts and also an iMessage sticker pack for iOS devices โ†ฉ๏ธŽ
  3. Most games on mobile devices at that time were fairly expensive JAVA apps, limited by the lack of affordable mobile data. Also, remember WAP? I haven’t thought about that for a while! โ†ฉ๏ธŽ
  4. I wrote more about Nokia Push in this post: Nokia N-Gage โ€“ another โ€œHandheld Heroโ€. โ†ฉ๏ธŽ

The fourth quarter

When I was at art college one of my classmates, Stuart, did a film project where he got two of us to eat a whole chocolate cake each. He set up two cameras, one on each of us filming continuously as we ate the cake. These cakes were family sized cakes, extremely rich, chocolatey cakes with multiple kinds of chocolate all over the outside.

We started to eat the cakes, they were really delicious cakes, sweet and tasty. We both devoured the first quarter of the cake, no problem, this was an amazing thing to eat, super tasty.

The second quarter of the cake tasted great too, it was still nice to eat, by the end of this piece I was starting to feel quite full of cake.

On to the third quarter it started to feel slower going, chewing the cake was taking longer, the taste was a little too sweet now, my taste buds were no longer excited by the sugary taste. There was now a bit of reluctance when it came to putting mouthfuls of cake into my mouth, I would most definitely have been more than happy to stop eating cake at this point.

The fourth quarter, starting this piece I was definitely forcing myself to eat it, every spoon felt like putting something horrible into my mouth, the rich, sweet, sugar now making me feel sick the more I ate of it. My body reacting with every bite, as I chewed what was once tasty chocolate that now was like the grossest thing I could be putting in my body. Swallowing was slow, fighting the rising urge in my body to throw up. This fourth quarter took a long time to eat, there was no joy in the eating now, compelled to eat it as the aim was to finish the whole cake and get it done.

This experience describes how work projects seem to go sometimes, I enjoy the work I do, but every so often thereโ€™s a โ€œfourth quarterโ€ and it becomes extremely hard going, trying to get through those final mouthfuls of cake.

What if I bought Apple stock instead?

[Update 13 April 2026: I have updated the share price to what to is as of today, approx $259]

This little tool is something I threw together after realising that it was over 20 years since I bought my first iPod, it was a 40GB iPod and cost about ยฃ3001 at the time if I recall correctly. The thought occurred to me, “what if I had invested that ยฃ300 in shares in Apple instead of buying that iPod?” The result2 is this tool:

apple
2004
2026
What if I bought Apple stock instead?

What if instead of buying that Apple product in 2004 you had bought stock in the company instead? Enter the price you paid in 2004 for the product you bought to see how much money the stock would be worth in 2026:

$
$

How is this calculated? Using approximate data from historical stock prices sources such as Yahoo Finance and Digrin.

  • In October 2004 the cost of 1x Apple share was approximately $60
  • As of April 2026 the cost of 1x Apple share is approximately $259
  • The cost of the product entered is divided by the 2004 amount to give us a number of shares, this is rounded down to get a whole number of shares for simplicity
  • The stock split three times between 2004 and 2026, 2:1 in 2005, 7:1 in 2014 and 4:1 in 2020, so the amount of stocks is adjusted based on these splits to get the total amount for today.

  1. This converts to approximately $540USD at the exchange rate of that time, the cost of the 40GB iPod was about $400USD (+ taxes) at that time. โ†ฉ๏ธŽ
  2. The result is this slightly depressing thought exercise! ๐Ÿคฆ๐Ÿปโ€โ™‚๏ธ I’ve used USD at it was easier to get historical share prices in USD, but you get the idea. โ†ฉ๏ธŽ

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? โ†ฉ๏ธŽ