Posted on Leave a comment

    WordPress Jubilee

    As I said, we’re dropping all the human blocks. Community guidelines, directory guidelines, and such will need to be followed going forward, but whatever blocks were in place before are now cleared. It may take a few days, but any pre-existing blocks are considered bugs to be fixed.

    Posted on Leave a comment

    WordPress 6.8 “Cecil”

    Simulated record album featuring a grid of brightly-colored duotone portraits of Cecil Taylor

    Each WordPress release celebrates an artist who has left an indelible mark on music.  WordPress 6.8, code-named “Cecil,” honors the legendary pianist and jazz pioneer Cecil Taylor.

    Classically trained yet relentlessly unconventional, Taylor reimagined the piano as a percussive instrument—layering tone clusters, polyphony, and rhythm into a sound both chaotic and precise. His music defied expectation, finding form in disorder and harmony in dissonance.

    That same spirit drives WordPress 6.8. Embrace its bold new features with the same curiosity and experimentation that defined Cecil’s sound.

    Welcome to WordPress 6.8!

    WordPress 6.8 polishes and refines the tools that you use every day, making your site faster, more secure, and easier to manage.  The Style Book now has a structured layout and works with Classic themes, giving you more control over global styles. Speculative loading speeds up navigation by preloading links before users navigate to them, bcrypt hashing strengthens password security automatically, and database optimizations improve performance.

    Download WordPress 6.8 “Cecil”

    A release polished to a high sheen.

    The Style Book gets a cleaner look—and a few new tricks.

    The Style Book has a new, structured layout and clearer labels, to make it even easier to edit colors, typography—almost all your site styles—in one place.

    Plus, now you can see it in Classic themes that have editor-styles or a theme.json file.  Find the Style Book under Appearance > Design and use it to preview your theme’s evolution, as you edit CSS or make changes in the Customizer.

    Editor improvements

    Easier ways to see your options in Data Views, and you can exclude sticky posts from the Query Loop.  Plus, you’ll find lots of little improvements in the editor that smooth your way through everything you build.

    Near-instant page loads, thanks to Speculative Loading

    In WordPress 6.8, pages load faster than ever.  When you or your user hovers over or clicks a link, WordPress may preload the next page, for a smoother, near-instant experience. The system balances speed and efficiency, and you can control how it works, with a plugin or your own code.  This feature only works in modern browsers—older ones will simply ignore it without any impact.

    Stronger password security with bcrypt

    Now passwords are harder to crack with bcrypt hashing, which takes a lot more computing power to break.  This strengthens overall security, as do other encryption improvements across WordPress.  You don’t need to do anything—everything updates automatically.

    Accessibility improvements

    100+ accessibility fixes and enhancements touch a broad spectrum of the WordPress experience.  This release includes fixes to every bundled theme, improvements to the navigation menu management, the customizer, and simplified labeling.  The Block Editor has over 70 improvements to blocks, DataViews, and to its overall user experience.

    Performance updates

    WordPress 6.8 packs a wide range of performance fixes and enhancements to speed up everything from editing to browsing.  Beyond speculative loading, WordPress 6.8 pays special attention to the block editor, block type registration, and query caching.  Plus, imagine never waiting longer than 50 milliseconds—for any interaction.  In WordPress 6.8, the Interactivity API takes a first step toward that goal.

    And much more

    For a comprehensive overview of all the new features and enhancements in WordPress 6.8, please visit the feature-showcase website.

    Check out what’s new

    Learn more about WordPress 6.8

    Learn WordPress is a free resource for new and experienced WordPress users.  Learn is stocked with how-to videos on using various features in WordPress, interactive workshops for exploring topics in-depth, and lesson plans for diving deep into specific areas of WordPress.

    Read the WordPress 6.8 Release Notes for information on installation, enhancements, fixed issues, release contributors, learning resources, and the list of file changes.

    Explore the WordPress 6.8 Field Guide.  Learn about the changes in this release with detailed developer notes to help you build with WordPress.

    The 6.8 release squad

    Every release comes to you from a dedicated team of enthusiastic contributors who help keep things on track and moving smoothly.  The team that has led 6.8 is a cross-functional group of contributors who are always ready to champion ideas, remove blockers, and resolve issues.

    Thank you, contributors

    The mission of WordPress is to democratize publishing and embody the freedoms that come with open source.  A global and diverse community of people collaborating to strengthen the software supports this effort.

    WordPress 6.8 reflects the tireless efforts and passion of more than 900 contributors in more than 60 countries all over the world. This release also welcomed over 250 first-time contributors! 

    Their collaboration delivered more than 320 enhancements and fixes, ensuring a stable release for all—a testament to the power and capability of the WordPress open source community.

    Aaron Jorbin · Aaron Robertshaw · Aashish Sharma · Abha Thakor · Abhay Kulkarni · Abhishek Sharma · AdaKaleh · Adam Silverstein · Adam Zieli?ski · Adhun Anand · Aditya Bansode · Adrian Jagusch · aduth · Ahir Hemant · Ahmar Zaidi · Ahmed Kabir Chaion · Ahmed Saeed · Ahsan Khan · Aishwarrya Pande · Ajay Ghaghretiya · Ajay Maurya · Ajit Bohra · Akanshu Singh · Aki Hamano · Akira Tachibana · aks30498 · Akshat Kakkad · Akshay Dhere · Albert Juhé Lluveras · Alessio · Alex Concha · Alex Florisca · Alex Lende · Alex Stine · Alexander Bigga · Alexandre Buffet · Alexei Samarschi · alexschmitz · Ali Akbar Reyad · allilevine · alpipego · Alvaro Gómez · Amaan Khan · Amber Hinds · Amimul Ihsan · Amin · Amin Charoliya · Amit Bhosale · Amit Raj · Ammar Mohamed Fath Allah Abd-Elaaty Massoud · amolebonde · Anand Raj · Anders Norén · Andrea Fercia · Andrea Roenning · Andreas Pedersen · Andrei Draganescu · Andrei Lupu · Andrew Nacin · Andrew Ozz · Andrew Serong · Andrew Ssanya · Andrey “Rarst” Savchenko · André Maneiro · Andy Fragen · Anh Tran · Ankit Gade · Ankit K Gupta · Ankit Kumar Shah · Ankit Panchal · Ankit Patel · Anmol Verma · annchichi · Anne-Mieke Bovelett · annezazu · Anthony Burchell · Anthony Hortin · Anton Vlasenko · Anuj Singh · Anveshika Srivastava · Ari Stathopoulos · Ariel Maidana · arnaudbroes · arnoutblueshell · Artemio Morales · Asish Chandra Mohon · Au · autotutorial · Ayesh Karunaratne · Azhar Deraiya · Béryl de La Grandière · back2backdvm · BackuPs · Balu B · Barry · Bayejid Ahmed · Beatriz Fialho · ben · Ben Dwyer · Ben Sutcliffe · Benazeer · Benedikt Ledl · Benjamin Zekavica · Benoit Chantre · bernhard-reiter · Bero · bgermann · Bhavik Kalpesh · Bijit Deb · Birgir Erlendsson (birgire) · Birgit Pauli-Haack · Bishal Shrestha · BjornW · bluantinoo · BogdanUngureanu · Boro Sitnikovski · Brad · Brad Jorsch · Bradley Taylor · Brandon Hubbard · Brandon Payton · brettsmason · brevilo · Brian Alexander · Brian Coords · Brian Haas · Bronson Quick · Bryan Schneidewind · burak · burnuser · Calvin Alkan · Calvin Alkan · Carlos Bravo · Carolina Nymark · cbirdsong · cgastrell · charleslf · chiilog (Chiaki Okamoto) · chintanmachhi207 · ChriCo · chriscct7 · chrisdotdotdot · Christoph Daum · claimableperch · Claudiu Lodromanean · codebymikey · codersantosh · Colin Stewart · ColinD · colinleroy · Corey Worrell · Courtney Robertson · Cris Busquets · Crisoforo Gaspar · ctienshi · cweiske · cybeardjm · Cyrille · Cyrille Sanson · Daedalon · Dakota Chichester · Damien Alleyne · Damon Cook · Dan Knauss · danht · Dani Guardiola · Daniel Bachhuber · Daniel Post · Daniel Richards · Daniele Scasciafratte · danielpataki · danielvann · darerodz · Darin Kotter · Darren Hewer · Dave Loodts · David Aguilera · David Arnado · David Baumwald · David Bi?ovec · David Bowman · David Calhoun · David FARGIER · David Herrera · David Innes · David Levine · David Rozando · David Shanske · David Smith · daymobrew · deadduck169 · Dean Sas · Debabrata Karfa · DEBARGHYA BANERJEE · Deep Patel · Deepak Rohilla · Dennis Ploetner · Dennis Snell · Densi Nakum · designsimply · Devansh Chaudhary · Dhananjay Kuber · Dharmesh Patel · Dhaval Kapadane · Dheeraj Bhosale · Dhrumil Kumbhani · Dhruvang21 · Dhruvi Shah · Dhruvik Malaviya · Digvijay Zite · dilip · Dilip Bheda · Dilip Hingarajiya · Dilip Modhavadiya · DingGuodong · Dion Hulse · Divyesh_kakrecha · dj.cowan · Django · dnnsjsk · Doeke Norg · dogee · domenicdenicola · Dominik Schilling · donalirl · dooperweb · Doug Wollison · dretzlaff · Drew Jaynes · Drivingralle · Dwain Maralack · Earthman Media · eclev91 · Eddy · Edward Caissie · efc · Elena Brescacin · elizaan36 · Ella van Durpe · Emerson Maningo · Emilie LEBRUN · Emmanuel Atsé · Enrico Battocchi · Eric Dye · Erick Hitter · Erik · Erik · Eshaan Dabasiya · Estela Rueda · Evan Herman · Even Tobiesen · Fabian Kägy · Fabian Todt · Faisal Ahammad · Faisal Alvi · Faizan Nabi · Felix Arntz · Felix Renicks · finntown · Firoz Sabaliya · Francesca Marano · Francis Cabusas · Francisco · Frank B. · Frank Klein · Fransisca H · frkly · fushar · FX Bénard · gaellebesson · Gajendra Singh · Galib Hayder · Gan Eng Chin · Garrett Hyder · Gary Jones · Gary Pendergast · Gennady Kovshenin · George Mamadashvili · Gerardo Pacheco · ghinamt · Girish Panchal · giuriani · Glen Davies · Glynn Quelch · Gopal Krishnan · Grant M. Kinney · Greg Zió?kowski · gregbenz · grgarside · GrowwBuddy · Guido · Guillaume TURPIN · Gulamdastgir Momin · Héctor Prieto · Halil Kaya · Halyna Yampolska · Hameem Mahdad Kader · Hannes Leismann · Hans-Gerd Gerhards · Hardip Parmar · Hareesh S · Hari Shanker R · harrym · Harshal Kadu · Haz · hekuranredev · Helen Hou-Sandi · Hemant Kothari · Henrique Iamarino · Henry Wright · Herve THOMAS · hideishi · Hidekazu Ishikawa · Hilay Trivedi · Himani Panchal · Himanshu Pathak · Hit Bhalodia · Hitendra Chopda · Hitesh Dhokai · Hovhannes Hovakimyan · hueitan · humanify · hussain896 · huubl · Huzaifa Al Mesbah · Ian Dunn · ilovecats7 · Imran · Imran Hossain (a11n) · Indira Biswas · indithemes · Isabel Brison · iseulde · Isu · Ivan Kristianto · Jack · Jagir Bahesh · Jainil Shah · Jake Spurlock · James Koster · James Monroe · James Payne · James Robinson · James Sansbury · Jamie Blomerus · jammycakes · Jan Lysý · janak Kaneriya · janusdev · Jarda Snajdr · jarekmorawski · Jason Cosper · Jason LeMahieu (MadtownLems) · Jason Sauerwald · Javier Casares · Jayaram · JD Ahir · jdnd · Jean-Baptiste Audras · Jeff Chi · Jeff Golenski · Jeff Ong · Jeff Paul · jeflopo · Jenny Dupuy · jepperask · Jeremy Felt · jeremy80 · jeremyroman · jeryj · jessedyck · Jessica Lyschik · Jigar Bhanushali · Jigar Panchal · jnweaver · Joan Artes · jodamo5 · Joe Dolson · Joe Hoyle · Joe McGill · joecsmalley · Joen Asmussen · Johannes Jülg · John Blackbourn · John James Jacoby · John Regan · Jomar Jay Corona · Jomon Thomas Lobo · Jon Surrell · Jonathan Bossenger · Jonathan Desrosiers · Jong · Joni Erkkilä · Jonny Harris · jonnyauk · joomskys · Joost de Valk · jordesign · Jorge Costa · Jos Velasco · Jose Varghese · Josef Seidl · Joseph Scott · Joshua Wold · jottevanger · Jouni Kananen · Joy · Juan Aldasoro · juanbuis · JuanMa Garrido · juanwp22 · Jules Colle · julianmar · Julie Moynat · Juliette Reinders Folmer · Julio Potier · Justin Tadlock · Juzar · K. Adam White · KafleG · Kai Hao · Kaito Hanamori · Kamal Hosen · KAP ASIAs · Kapil Paul · karlgroves · Karol Manijak · Karthick Murugan · Karthik Thayyil · Karthikeya Bethu · Kaspars · Kathryn Presner · Kausar Alam · keithdevon · Kel Santiago-Pilarski · Kelly Choyce-Dwan · Kelly Mears · keoshi · Ketan Niruke · Ketan Patel · Kevinleary.net · Kharis Sulistiyono · Kira Schroder · KJ Roelke · kkmuffme · Knut Sparhell · kohheepeace · Konstantinos Galanakis · Konstantinos Xenos · kristastevens · Krupa Nanda · Krupal Lakhia · laurelfulford · Laurent MILLET · Lax Mariappan · Laxman Prajapati · lcarevic · Lee · Lee Willis · leedxw · Lena Morita · lenasterg · leszeks · leup · levskipg · Liam Gladdy · Louis · Lourens · Love Soni · Lovekesh Kumar · lovewpmu · Lovro Hrust · Lox · ltrihan · Luigi Teschio · Luis Felipe Zaguini · luisherranz · Lukasz · Luke Cavanagh · Mário Santos · maciejmackowiak · Madhu Dollu · madpeter · Magda Rogier · Maggie Cabrera · Mahesh Prajapati · Mai · maikelraow · Maja Benke · Makarand G. Mane · mallorydxw-old · manfcarlo · Manoj Maharrshi · Manzoor Wani (a11n) · Marc · Marcelo de Moraes Serpa · marchalyoan · Marchetti Design · Marco Ciampini · Maria Yohana · marian1 · Marianna · Marie · Marin Atanasov · Marine EVAIN · Mario Peshev · Mario Santos · Marius L. J. · Mark Howells-Mead · Mark Uraine · Mark-k · martin.krcho · Mary Baum · Mary Hubbard · Masud Rana · Mathieu Paapst · Matias Benedetto · Matias Ventura · Matt (Thomas) Miklic · Matt Mullenweg · Matt Robinson · Matt West · Matteo Enna · Matthew · Matthew Boynes · mattryanwalker · Mauriac AZOUA · Maxime Meganck · maximebj · Mayank Tripathi · Mayur Prajapati · Md Abdullah Al Arif · Md Abul Bashar · Md Hafijur Rahman · MD Kawsar Chowdhury · Md Mahdi Hasan · Md. Ibrahim Khalil · Md. Najmul Islam · Md.Mehedi Hasan · mdviralsampat · megane9988 · MelissaH · metropolis_john · Michael Adams (mdawaffe) · Michael Burridge · Michael Willman · Michal Czaplinski · Michelle Frechette · micromadness · Miguel Fonseca · Miguel Torres · Mijo T J · Mikael Korpela · Mike Bijon · Mike Ritter · Mikin Chauhan · Milana Cap · Milind More · mimi · miroku · Mitchell Austin · Modi Sahil · modulbuero · Mohamed Aboelfotoh Mohamed · Mohit Dadhich · mojorob · Morais Junior · Moses Cursor Ssebunya · Mosne / Paolo Tesei · mr660 · mreishus · mrunalkulkarni · mrwweb · mt · Muddassir Rahman Nasim · Muhibul Haque · mujuonly · Mukesh Panchal · Mukul Singh · My1 · n8finch · Nadir Seghir · nandow · NANI SAMIREDDY · Narendra Sishodiya · Naresh Bheda · Natalia T · Nathan Johnson · navneet · Navneet Kaur · Nazmul Hasan Robin · Ned Zimmerman · neotrope · NerQuiles · net · Nick Diego · nickgalvez · Nicolas RIVIERE · nicolasleroy · nidhidhandhukiya · Nik Tsekouras · Nikan Radan · Nikita Solanki · Nikunj Hatkar · Nilesh Shiragave · Niraj Giri · Nithin SreeRaj · Noam Eppel · Noruzzaman · nosilver4u · oceantober · Olaf Lederer · Olga Gleckler · Oliver Campion · Omer Korner · Oscar Arzola · Oskari Groenroos · othernoel · Ov3rfly · Paal Joachim Romdahl · pampfelimetten · Parin Panjari · Parth Dodiya · Parth vataliya · Pascal Birchler · Pascal Casier · Patel Jaymin · Patricia BT · Patrick Lumumba · Paul · Paul Bearne · Paul Biron · Paul English · Paul Kevan · paullb · Paulo Pinto · Paulo Trentin · Pavan Patil · Pawan Kumar · Pedro Mendonça · Peter Rubin · Peter Westwood · Peter Wilson · peter8nss · peterdavehello · petitphp · philliproth · philwebs · Pitam Dey · pixlpirate · podpirate · Pooja Bhimani · Pooja Killekar (Muchandikar) · pooja9712 · Praful Patel · Prasad Karmalkar · prashant · Prashant Baldha · Prashant Patil · Prathamesh Shirke · prathameshbhagat1511 · Pratik Bhatt · Pratik Gandhi · Pratik Londhe · Presskopp · Pritam Sonone · Priyank Vadhavana · Pushpender Singh · Q · qhaensler · Rafael Fischmann · Rahul Prajapati · Raj Patel · Rajat Patel · Rajendra Patel · Rajendra Patil · Rajesh Radadiya · Rajesh Rathod · Rajin Sharwar · Ramon Ahnert · Ramon Corrales · Ramon James · Ravi Gadhiya · redkite · Rehan Ali · Rejaul Alom Khan · Remco · Renatho · Renz Jay Sanchez · Riad Benguella · Rich Tabor · Riddhi Dave · Rinkal Pagdar · Rishav Dutta · Rishi Mehta · Rishi Shah · Rishit Gupta · rkyburz · Robert Anderson · Robert Chapin · Robert Ghetau · Robert Seyfriedsberger · robertstaddon · Robin Martijn · Rodrigo Arias · Rodrigo Primo · Rogier Lankhorst · Rohan Jha · rohitmathur7 · rohjay · room34 · Rotem Gelbart · Roy Orbitson · Roy Tanck · roybellingan · Ruchir Goswami · Rudrakshi Gupta · Rupesh Patil · rupw · Ruturaj Raval · rvoigt · Ryan Fredlund · Ryan Hellyer · Ryan McCue · Ryan Welcher · Ryo · S P Pramodh · Sébastien SERRE · Sérgio Gomes · Sören Wünsch · Sabbir Ahmed · sabrineg · Saeed Piri · Sagar Lakhani · Sagar Prajapati · Sagar Tamang · sailpete · Sainath Poojary · Sajjad Hossain Sagor · sally · samiamnot · Sampat Viral · Samsul Islam Rana · Samuel Wood (Otto) · Sanyogg Shelar · Sarah Norris · Sarath AR · Sarthak Nagoshe · Sathiya Venkatesan · Saul Fougnier · saurabh.dhariwal · Saxon Fletcher · Sayan Datta · Sayedul Sayem · sbathompson · Scott Arciszewski · scribu · Sean Fisher · seanlanglands · Sebastian Pisula · Seif Radwane · Sergey Biryukov · sergiogutierrez · Seth Rubenstein · Severine Pozzo · Shadi G ???? ?? · Shail Mehta · Shalin Shah · Shane Muirhead · Shoe · Shraddha Gore · shreyashd21 · Shubham Kumar Bansal · Shubham Patil · shulard · Shyam Kariya · Siddharth Thevaril · siliconforks · Simone Maranzana · SirLouen · sjefen6 · Slava Abakumov · Slavco Mihajloski · smerriman · Sneha Patil · snehal5774 · Soham sham joshi · Sourabh Jain · Sourav Pahwa · soyeb salar · Spencer Finnell · Spenser Hale · spmultidots · spncr · Sridhar Katakam · Stefan Seidner-Britting · Stefano Minoia · stein2nd · Stephen Bernhardt · Stephen Edgar · Steve Dufresne · stimul · strarsis · Stuart McAlpine · Subodh Rajpopat · Subrata Sarkar · SUHAS SUTAR · Sukhendu Sekhar Guria · Sumit Bagthariya · Sumit Singh · Sumon Sarker · SunilPrajapati · Suraj Sutar · swalkinshaw · Sybre Waaijer · Synchro · t.schwarz · Taco Verdonschot · Taegon Kim · Takashi Irie · Takashi Kitajima · Takayuki Miyoshi · takuword · Tammie Lister · Tanbir Ahmod · Tapan Kumer Das · th23 · Thakor Darshil · thelmachido a11n · ThemeBeans · thomaswm · threadi · Thrijith Thankachan · tiago · TigriWeb · Till Krüss · Tim Brathärig · Tim Sheehan · Tim W · Timi Wahalahti · Timothée Brosille · Timothy Jacobs · Timur Kamaev · Tirth Doshi · TJarrett · Tobias Bäthge · tobifjellner (Tor-Bjorn “Tobi” Fjellner) · Tom Gugel · Tom Rhodes · Tomoki Shimomura · Toni Viemerö · Tonya Mork · Toro_Unit (Hiroshi Urabe) · Torsten Landsiedel · tropicalista · Troy Chaplin · Trupti Kanzariya · Trusha · tunetheweb · Tung Du · Tushar Patel · TyB · tysonlmao · Ugyen Dorji · Umesh Singh · Unsal Korkmaz · up1512001 · upadalavipul · utrenkner · Vagelis · Vaibhav Singh Web · Vaibhav Tukaram Nawale · Valérie Galassi · Vania · vee · Vegard S. · vgnavada · Vicente Canales · Victoria – a11n · Vijayan · Vijaysinh Zala · Vikram · Viktor Szépe · Vinit · Vipul Gupta · Vipul Patil · Virgildia · Virginie Garnier · virginienacci · Vishy Moghan · vivekawsm · Vrishabh Jasani · vykesmac · wadowad · Web-Pepper · WebMan Design | Oliver Juhas · Wes Theron · Weston Ruter · whaze · Will Skora · williampatton · wongjn · World Web Technology · wpgerd · wprockstar2 · wwdes · xate · xavilc · xpurichan · Yahil Madakiya · Yani · Yash Kukreja · yellowafterlife · Yogesh Bhutkar · yudhisthirnahar · Yui · Yuliyan Slavchev · yuu · zaoyao · Zargarov · Zebulan Stanphill · zeelthakkar · Zunaid Amin · ??

    More than 60 locales have fully translated WordPress 6.8 into their language making this one of the most translated releases ever on day one.  Community translators are working hard to ensure more translations are on their way.  Thank you to everyone who helps make WordPress available in 200 languages.

    Last but not least, thanks to the volunteers who contribute to the support forums by answering questions from WordPress users worldwide.

    Get involved

    Participation in WordPress goes far beyond coding. And learning more and getting involved is easy.  Discover the teams that come together to Make WordPress and use this interactive tool to help you decide which is right for you.

    Posted on Leave a comment

    WordCamp Europe 2025: Sali, Basel!

    WordCamp Europe 2025 will be held in gorgeous Basel, Switzerland, from June 5 to 7. It will bring together open source enthusiasts, developers, and WordPress professionals from across the region—and the world!

    This year’s event offers fresh perspectives, engaging conversations, and countless opportunities to connect with the WordPress community, agencies, and innovators over three action-packed days of learning, networking, and collaboration.

    ? Tickets are limited—secure yours today!

    Keynotes, panels, and deep dives

    The main conference, which will be held on June 6th and 7th, will feature a lineup of notable keynote sessions, including diverse sessions on business strategy and building innovative modern features, open-source advocacy, accessibility, and more. For those looking to sharpen their skills, presentations will dive deep into topics like SEO for WordPress, performance optimization, speed-builds, and leveraging AI.

    Q&A Fireside Chat

    You can join Mary Hubbard, the WordPress Executive Director, and Matt Mullenweg, co-founder of the WordPress project on June 7th to discuss WordPress and its community, followed by an in-person Q&A session here in Basel.

    Explore Basel

    Basel, the third-largest city in Switzerland, is filled with historical buildings, a cathedral, museums, and hidden gems! You can get around Basel and experience it yourself using your BaselCard, which allows you to hop on and off all public transportation without a worry. A walk down Basel’s river Rhine could be the perfect evening during your visit to WordCamp Europe!

    ? Find accommodations in Basel
    ? Learn about BaselCard benefits
    ? Need a visa? Apply by May 10, 2025

    ? Plan Your WordCamp Europe Experience See the full schedule, plan your sessions, and maximize your time in Basel.

    Get WordCamp-ready

    ? Make sure to secure your WordCamp Europe 2025 tickets (if you haven’t already!)

    Follow WordCamp Europe news on Bluesky, Instagram, Facebook, LinkedIn, Threads, Mastodon, and X/Twitter for real-time updates!

    You can also help us spread the word about WordCamp Europe this year! Post about your attendance using our ready-made texts or we also encourage you to use your own voice – you know your community best.

    And as always, be part of the conversation! Whether you’re attending in-person in Basel or following along online, share your experiences using the tags #WCEU and #WordPress on all social media networks!

    Basel is calling—see you at WordCamp Europe 2025! ??


    Thank you to @dolgelukkig for drafting this copy.

    Posted on Leave a comment

    What I Want in an App

    Simplicity. Focus. Usability. Consistency. Just works. I don’t mind paying for an app that provides these features. They seem like simple enough concepts. But many of the apps out there today seem to be struggling. I know I am just dreaming, but here goes..

    Focused

    I want an app that is focused on one thing. Maybe a few peripheral features if immediately relevant. But one app per task, nice focused and simple.

    Not bloated

    I want an app that is not bloated with needless features. The most current example is AI. Seems every app and their dog is stuffing AI into the mix.

    No ads

    I want an app with ZERO advertisements. I don’t mind a few ads if they are relatively inconspicuous and/or dismissible. I don’t mind an option to upgrade to paid version, if the app is worthwhile I definitely will do so. But keep the ads and upsell nags to a minimum.

    No hoops

    I want an app that doesn’t require giving my email address just to open it. In fact I want an app that doesn’t require any email or personal information whatsoever.

    No strings

    I want an app that doesn’t track, store, or sell my data. I want to remain anonymous. I want my privacy. I want to use the app for its purpose without any strings attached.

    Usable

    I want an app that is usable. I’m not old but my eyesight is not what it used to be. I’m tired of apps that assume everyone can easily read 10-point fonts on dark backgrounds. Etc. Give me text and fonts that are clear and easy to read.

    Relaxed

    I want an app that gives me room to breathe. When using the app, I want at least SOME areas on the UI to NOT be clickable. I want to be able to touch the screen without the app taking some action. Lots of apps these days are almost impossible to use, simply because every pixel on the screen is waiting for you to click, swipe, or touch. Makes it hard to move around and enjoy the app, when everything is so crammed on the screen.

    No constant upgrades

    I want an app that doesn’t upgrade every other day. Unless for important security fixes, apps shouldn’t update so frequently as to give the user headaches. Updates should occur infrequently enough that the user isn’t saying, “I JUST updated this app”, or “Another update for this app”, or even take notice at all.

    Consistent

    I want an app that’s consistent. Not arbitrarily making changes every other update. Like randomly redesigning and rearranging the interface. Moving buttons and features around, hiding things, and just making life difficult for all its users.

    Documented

    I want an app that is well documented. This is where consistency benefits everyone. Apps that don’t randomly change everything for every update tend to have documentation that remains valid and relevant, while apps that constantly change everything tend to have outdated documentation that only adds to the confusion.

    More focused

    I want an app that doesn’t add new features just to lure more customers. Just because Joe Shmoe writes in about adding some obscure functionality doesn’t mean you should. It would just add more bloat without being useful to most users. App makers need to grow a spine and draw hard lines in the sand regarding the app’s purpose, direction and scope.

    Available anywhere

    I want an app that is available on any device. I use Apple, Android, Windows, and Linux. And as much as possible like to streamline and sync everything into a unified workflow. So it sucks when for whatever reason an app is not available on this or that platform. In most cases this is not due to the app itself, but the petty political differences among the various platforms.

    App Support

    Added by Isocat on Mastodon: Well and helpfully supported. Make it easy and effective for me to contact the publisher when something doesn’t work the way the documentation says it should. Respond helpfully and promptly. Do not offload this to the likes of ZenDesk. Do not tell me to seek answers in a ‘community forum’ where questions go to get mocked and die alone of old age.

    ? Also: the same things apply to web pages also, not just apps.

    ? Again: I don’t mind paying for apps that are worth it.

    ? Golden rule: Always think of the user!




    Posted on Leave a comment

    WordPress 6.8 Release Candidate 3

    The third release candidate (“RC3”) for WordPress 6.8 is ready for download and testing!

    This version of the WordPress software is under development.  Please do not install, run, or test this version of WordPress on production or mission-critical websites.  Instead, it’s recommended that you evaluate RC3 on a test server and site.

    Reaching this phase of the release cycle is an important milestone.  While release candidates are considered ready for release, testing remains crucial to ensure that everything in WordPress 6.8 is the best it can be.

    You can test WordPress 6.8 RC3 in four ways:

    PluginInstall and activate the WordPress Beta Tester plugin on a WordPress install.  (Select the “Bleeding edge” channel and “Beta/RC Only” stream).
    Direct DownloadDownload the RC3 version (zip) and install it on a WordPress website.
    Command LineUse the following WP-CLI command: wp core update --version=6.8-RC3
    WordPress PlaygroundUse the 6.8 RC3 WordPress Playground instance (available within 35 minutes after the release is ready) to test the software directly in your browser without the need for a separate site or setup.

    The current target for the WordPress 6.8 release is April 15, 2025. Get an overview of the 6.8 release cycle, and check the Make WordPress Core blog for 6.8-related posts leading up to next week’s release for further details.

    What’s in WordPress 6.8 RC3?

    Get a recap of WordPress 6.8’s highlighted features in the Beta 1 announcement. For more technical information related to issues addressed since RC2, you can browse the following links:

    How you can contribute

    WordPress is open source software made possible by a passionate community that collaborates and contributes to its development. The resources below outline various ways you can help the world’s most popular open source web platform, regardless of your technical expertise.

    Get involved in testing

    Testing for issues is critical to ensuring WordPress is performant and stable. It’s also a meaningful way for anyone to contribute. This detailed guide will walk you through testing features in WordPress 6.8.  For those new to testing, follow this general testing guide for more details on getting set up.

    If you encounter an issue, please report it to the Alpha/Beta area of the support forums or directly to WordPress Trac if you are comfortable writing a reproducible bug report. You can also check your issue against a list of known bugs.

    Curious about testing releases in general?  Follow along with the testing initiatives in Make Core and join the #core-test channel on Making WordPress Slack.

    Search for vulnerabilities

    From now until the final release of WordPress 6.8 (scheduled for April 15, 2025), the monetary reward for reporting new, unreleased security vulnerabilities is doubled.  Please follow responsible disclosure practices as detailed in the project’s security practices and policies outlined on the HackerOne page and in the security white paper.

    Update your theme or plugin

    For plugin and theme authors, your products play an integral role in extending the functionality and value of WordPress for all users.  For more details on developer-related changes in 6.8, please review the WordPress 6.8 Field Guide.

    Thanks for continuing to test your themes and plugins with the WordPress 6.8 beta releases.  With RC3, you’ll want to conclude your testing and update the “Tested up to” version in your plugin’s readme file to 6.8.

    If you find compatibility issues, please post detailed information to the support forum.

    Help translate WordPress

    Do you speak a language other than English?  ¿Español?  Français?  ????????  ???? ??????? ?????? ??????  You can help translate WordPress into more than 100 languages.

    An RC3 haiku

    The launch draws closer,
    Six-eight sings through RC3,
    Almost time to shine.

    Thank you to the following contributors for collaborating on this post: @audrasjb, @mamaduka, @krupajnanda, @benjamin_zekavica, @narenin, @joedolson, @courane01, @joemcgill, @marybaum, @kmgalanakis, @umeshsinghin, @wildworks, @mkrndmane.

    Posted on Leave a comment

    WordPress 6.8 Release Candidate 2

    The second Release Candidate (“RC2”) for WordPress 6.8 is ready for download and testing!

    This version of the WordPress software is under development. Please do not install, run, or test this version of WordPress on production or mission-critical websites. Instead, it’s recommended that you evaluate RC2 on a test server and site.

    Reaching this phase of the release cycle is an important milestone. While release candidates are considered ready for release, testing remains crucial to ensure that everything in WordPress 6.8 is the best it can be.

    You can test WordPress 6.8 RC2 in four ways:

    PluginInstall and activate the WordPress Beta Tester plugin on a WordPress install. (Select the “Bleeding edge” channel and “Beta/RC Only” stream).
    Direct DownloadDownload the RC2 version (zip) and install it on a WordPress website.
    Command LineUse the following WP-CLI command: wp core update –version=6.8-RC2
    WordPress PlaygroundUse the 6.8 RC2 WordPress Playground instance (available within 35 minutes after the release is ready) to test the software directly in your browser without the need for a separate site or setup.

    The current target for the WordPress 6.8 release is April 15, 2025.  Get an overview of the 6.8 release cycle, and check the Make WordPress Core blog for 6.8-related posts in the coming weeks for further details.

    What’s in WordPress 6.8 RC2?

    Get a recap of WordPress 6.8’s highlighted features in the Beta 1 announcement. For more technical information related to issues addressed since RC1, you can browse the following links:

    Want to look deeper into the details and technical notes for this release? These recent posts cover some of the latest updates:

    How you can contribute

    WordPress is open source software made possible by a passionate community of people collaborating on and contributing to its development. The resources below outline various ways you can help the world’s most popular open source web platform, regardless of your technical expertise.

    Get involved in testing

    Testing for issues is critical to ensuring WordPress is performant and stable.  It’s also a meaningful way for anyone to contribute.  This detailed guide will walk you through testing features in WordPress 6.8.  For those new to testing, follow this general testing guide for more details on getting set up.

    If you encounter an issue, please report it to the Alpha/Beta area of the support forums or directly to WordPress Trac if you are comfortable writing a reproducible bug report.  You can also check your issue against a list of known bugs.

    Curious about testing releases in general?  Follow along with the testing initiatives in Make Core and join the #core-test channel on Making WordPress Slack.

    Search for vulnerabilities

    From now until the final release of WordPress 6.8 (scheduled for April 15, 2025), the monetary reward for reporting new, unreleased security vulnerabilities is doubled. Please follow responsible disclosure practices as detailed in the project’s security practices and policies outlined on the HackerOne page and in the security white paper.

    Update your theme or plugin

    For plugin and theme authors, your products play an integral role in extending the functionality and value of WordPress for all users.

    Thanks for continuing to test your themes and plugins with the WordPress 6.8 beta releases. With RC2, you’ll want to conclude your testing and update the “Tested up to” version in your plugin’s readme file to 6.8.

    If you find compatibility issues, please post detailed information to the support forum.

    Help translate WordPress

    Do you speak a language other than English? ¿Español? Français? ???????? ???? ??????? ?????? ?????? ??????  You can help translate WordPress into more than 100 languages. This release milestone (RC2) also marks the hard string freeze point of the 6.8 release cycle.

    An RC2 haiku

    Testing, 1, 2, 3
    It’s almost April fifteenth
    Squashing all the bugs

    Thank you to the following contributors for collaborating on this post: @michelleames, @tacoverdo, @jopdop30, @vgnavada, @jeffpaul.

    Posted on Leave a comment

    My Shortlist for Managed VPS Hosting

    I’ve been online since 1999. So 25+ years of finding and dealing with a wide variety of web hosts. While painful at times, this experience enables me to get out there and find better web hosting at the drop of a hat. It’s been a while since I’ve written about my web-hosting experiences, so this post is to share a recent foray into finding a solid managed-VPS solution in the year 2025.

    Shortcut: Not interested in the diatribe? Jump ahead to the Web host shortlist ?

    Some context..

    This round of “find a new web host” happened after my then-current host raised prices, yet again. I first switched to them in 2018, and was quite happy with the provided level of service and support. But then after some time, there was a price increase, apparently because of changes with Plesk. “Okay” not a big deal. Already paying near top dollar for service, but understand that costs increase. But then just as I was getting used to paying the new rate, they raised prices again. And then a few months later, raised the prices again. Granted, each of these first several price hikes were only a few dollars or so. But still felt a little sting each time.

    Last straw..

    And the price increases continued several more times until I was paying nearly $120 per month for a 4-core, 4-GB VPS server. Check around, that’s definitely on the high end of the scale. And then they hit me.. the last straw was a scheduled “pricing update” scheduled for the end of this month. They sent out an email letting customers know that rates were about to increase by 12%, which would jack up my monthly payment to over $130 per month, or over $1,500 per year. Which is just too expensive for my humble little online operation.

    Here is the main part of the email message they sent out earlier this month:

    Pricing Update Coming Soon

    Thank you for being a valued customer of [redacted]. We’re writing to inform you of a pricing change that will impact your monthly invoice; however, you have an option to keep your current pricing, outlined below.

    We understand and appreciate any pricing changes are impactful. As a loyal customer, we are offering you an opportunity to lock in your current monthly pricing through an annual commitment.

    Lock My Current Price

    You may continue to pay your current monthly rate, with no pricing increases during this one year commitment period. Should you choose not to take this option, a 12% increase will be added to your monthly invoice for account number [redacted] starting March 28, 2025.

    I love how they refer to a 12% price increase as a “Pricing Update”. You know those clever marketers think we’re all a bunch of morons.

    Time to move..

    Needless to say, this umpteenth price hike left me feeling rather disappointed and frankly a bit insulted. So instead of continuing with my work developing WordPress plugins and writing tutorials, I spent the first half of March finding a new web host and transferring all of my sites to a new server. Fortunately, I was highly motivated and actually inspired to find something better and start fresh..

    My requirements..

    So here it is now, the beginning of March and I have set aside the next two weeks to migrate my websites to a new host. One thing that makes the work of finding a new web host a little easier is knowing exactly what you need. Here is my specific list of requirements and/or preferences, some things are more flexible than others:

    • Managed VPS Hosting — Wish I had more time for unmanaged but I don’t
    • US-based Location — Most of my traffic comes from the US and NA
    • Control Panel — Open to any control panel that provides a demo
    • 24/7 Phone Support — Chat-based support is sooo tedious
    • Linux & Apache — Just a personal preference, it’s what I know
    • PHP & phpMyAdmin — Most web hosts provide both of these
    • Apache/.htaccess Enabled — Most web hosts provide this
    • SSL / HTTPS — Preferably free certificates via Let’s Encrypt
    • DNS access — Essential to have control over DNS headers
    • Root Access — Need to be able to customize and fine-tune things
    • Cron Jobs — For automated system reports and other tasks
    • Trial Period — In case of anything unexpected, missing features, etc.

    Everyone has different needs and preferences, these are mine. So when I’m searching for a new web host, these are first-priority features that I look for. Any host that checks all those boxes is added to my short list.

    Interviews..

    After scouring the Web and putting together my shortlist of potential web hosts, it’s time for the interviews. This is where I revisit each web host and ask a series of questions. Before jumping into the questions, I first take the time to dig around the host’s website and gather as much information as possible. Doing this usually shortens the list of questions and thus saves some time. So I find the “VPS Plans” page, examine the details, compare prices, resources (e.g., CPU, disk space, memory), and then ask the following pre-sales questions:

    • Are these *all* of your managed VPS plans?
    • Are the listed prices introductory/deals?
    • Ask about annual pricing vs. month-to-month
    • Any hidden fees, like for SSL or control panel, etc.
    • What if it doesn’t work out, refund policy
    • Options for control panels, e.g., Plesk, cPanel, etc.
    • Is there an extra charge for any specific control panels?
    • Which version of Linux, EOL etc.
    • Running Apache, Apache + Nginx, or something else?
    • Which versions of PHP are provided?
    • Which versions of MariaDB are provided?
    • Is the IP address shared or dedicated?
    • Is IPv6 available?
    • Who owns the company?
    • How long in business?
    • 24/7 phone support?
    • PCI compliance?
    • Trial period?

    Of course, in order to ask these questions, there must be a support or pre-sales person available to take the call or handle the chat. If no phone number, I look for chat. If no chat, I move on to the next potential web host. No point in waiting around for an email response for pre-sales questions lol.

    Even more: 12bytes shared even more smart things to ask when shopping for web hosts, check ’em out in the comments below ?

    Usually the interview questions narrow the list down to just a handful. At this point, it is much easier to compare prices, features, and make a final decision. Also it is wise to further vet the final candidates by searching around for any related reviews about the company/service (written by actual people/customers). Also look for available online documentation, resources, server status page, and so forth.

    ? Web host shortlist

    After going through the motions, I have put together the following web-hosting shortlist. I had asked for help with recommendations on X but didn’t think about sharing the list until prompted by @thisbitoo. So without further ado, here is my personal short list of recommended web hosts for Managed VPS Hosting in 2025:

    There are many other great hosts out there, so I encourage you to spend some time searching and researching the options to find the best possible fit for your specific needs. Note: The web hosts listed above are not a recommendation. I am merely sharing the list of final candidates in hopes that it will give you some ideas 🙂

    Honorable mentions

    There were a few other web hosts and tools that looked great but just didn’t make the cut. So here are a few more hosting ideas for your consideration:

    I hope this post is useful for anyone else looking for Managed VPS Hosting. Feel free to share your experiences and recommendations in the comments below. Thanks 🙂




    Posted on Leave a comment

    Pro Version of Head Meta Data WordPress Plugin

    Head Meta Pro Super pumped to finally launch Head Meta Pro! This is the premium/pro version of the free plugin hosted at WordPress.org, Head Meta Data. While the free version is great and serves many sites, there are more features that I wanted to add, like complete support for all the different page-views generated by WordPress. So with the free version, you can define one set of meta tags for the entire site. With the pro version, you can define unique sets of meta tags for every type of page-view, including the home page, single posts, pages, archives, search results, and more. What’s the difference between free and pro? Check out the comparison chart »

    Head Meta Pro = Perfect meta tags for your WordPress site

    Head Meta Pro

    Head Meta Pro is completely rewritten from the ground up, focused on performance and security with a solid flexible codebase that’s tightly integrated with WordPress core. Head Meta Pro lets you configure the perfect HTML meta tags for your WordPress site. Define tags for each type of page-view, including posts, pages, archives, search, and even 404 pages. Use shortcut variables like %%DATE%%, %%POST_TITLE%%, and %%POST_DESC%% to include dynamic, context-specific information with your meta tags. Head Meta Pro also works with all custom post types, custom taxonomies, and post formats.

    Pro Features

    Just a few of the many features provided with Head Meta Pro:

    • Zero coding skills required! 🙂
    • Add meta tags for all posts, archives, and every type of page view
    • Supports any/all tags, including <meta>, <link>, and <title> tags
    • Define complete meta tags for Facebook (Open Graph) and X (Twitter)
    • Use the Meta Tags box to add post-specific meta, social, and custom tags
    • Preview meta and social tags for each page view on the settings page
    • Choose from many shortcut variables to add dynamic data to your tags
    • Head Meta Pro is developed by Jeff Starr, a 15-year WP/security expert
    • Outputs squeaky clean HTML/markup in your pages’ source code
    • Complete detailed documentation via the settings page Help tab
    • Provides everything in the free version and much more

    Screenshots

    Here are some screenshots showing off Head Meta Pro settings and options (click images for full-size view).

    Check out more screenshots on the Head Meta Pro homepage 🙂

    Learn more..

    Head Meta Pro gives you complete control and flexibility over your site’s meta tags. Check out more features and details:

    Questions about Head Meta Pro? Send ’em via the contact form at Plugin Planet.

    Head Meta Pro = Perfect meta tags with zero code required.

    Go Pro!

    Take control and level up your site’s meta game. Yearly and Lifetime licenses available. Unlimited licenses also available.

    ? Learn more and get Head Meta Pro »




    Posted on Leave a comment

    Ultimate Block List to Stop AI Bots

    More than you might think, AI (Artificial Intelligence) and ML (Machine Learning) bots are crawling your site and scraping your content. They are collecting and using your data to train software like ChatGPT, OpenAI, DeepSeek, and thousands of other AI creations. Whether you or anyone approves of all this is not my concern for this post. The focus of this post is aimed at website owners who want to stop AI bots from crawling their web pages, as much as possible. To help people with this, I’ve been collecting data and researching AI bots for many months now, and have put together a “Mega Block List” to help stop AI bots from devouring your content.

    The ultimate block list for stopping AI bots from crawling your site.

    Contents

    If you can edit a file, you can block a ton of AI bots.

    Thanks: Special Thanks to Kristina Ponting for help with researching AI bots and sharing with the community. Find Kristina at Teskedsgumman and on Github.

    Block AI Bots via robots.txt

    The easiest way for most website owners to block AI bots, is to append the following list to their site’s robots.txt file. There are many resources explaining the robots.txt file, and I encourage anyone not familiar to take a few moments to learn more.

    In a nutshell, the robots.txt file is a file that contains rules for bots to obey. So you can add rules that limit where bots can crawl, whether individual pages or the entire site. Once you have added some rules, simply upload the robots file to the public root directory of your website. For example, here is my robots.txt for Perishable Press.

    Using WordPress? Block bad bots automatically with my free plugin, Blackhole for Bad Bots. Trap bad bots in a virtual black hole 🙂

    To block AI bots via your site’s robots.txt file, append the following rules. Understand that bots are not required to obey robots.txt rules. Robots rules are merely suggestions. Good bots will follow the rules, bad bots will ignore the rules and do whatever they want. To force compliance, you can add blocking rules via Apache/.htaccess. That in mind, here are the robots rules to block AI bots..

    Blocks over 400+ AI bots and user agents.

    Block list for robots.txt

    Before using, read the Notes and Disclaimer.

    # Ultimate AI Block List v1.4 20250417
    # https://perishablepress.com/ultimate-ai-block-list/
    
    User-agent: .ai 
    User-agent: Agentic
    User-agent: AI Article Writer
    User-agent: AI Content Detector
    User-agent: AI Dungeon
    User-agent: AI Search Engine
    User-agent: AI SEO Crawler
    User-agent: AI Writer
    User-agent: AI21 Labs
    User-agent: AI2Bot
    User-agent: AIBot
    User-agent: AIMatrix
    User-agent: AISearchBot
    User-agent: AI Training
    User-agent: AITraining
    User-agent: Alexa
    User-agent: Alpha AI
    User-agent: AlphaAI
    User-agent: Amazon Bedrock
    User-agent: Amazon-Kendra
    User-agent: Amazon Lex
    User-agent: Amazon Comprehend
    User-agent: Amazon Sagemaker
    User-agent: Amazon Silk
    User-agent: Amazon Textract
    User-agent: AmazonBot
    User-agent: Amelia
    User-agent: AndersPinkBot
    User-agent: Anthropic
    User-agent: AnyPicker
    User-agent: Anyword
    User-agent: Aria Browse
    User-agent: Articoolo
    User-agent: Automated Writer
    User-agent: AwarioRssBot
    User-agent: AwarioSmartBot
    User-agent: Azure
    User-agent: BardBot
    User-agent: Brave Leo
    User-agent: ByteDance
    User-agent: Bytespider
    User-agent: CatBoost
    User-agent: CC-Crawler
    User-agent: CCBot
    User-agent: ChatGLM
    User-agent: Chinchilla
    User-agent: Claude
    User-agent: ClearScope
    User-agent: Cohere
    User-agent: Common Crawl
    User-agent: CommonCrawl
    User-agent: Content Harmony
    User-agent: Content King
    User-agent: Content Optimizer
    User-agent: Content Samurai
    User-agent: ContentAtScale
    User-agent: ContentBot
    User-agent: Contentedge
    User-agent: Conversion AI
    User-agent: Copilot
    User-agent: CopyAI
    User-agent: Copymatic
    User-agent: Copyscape
    User-agent: Cotoyogi
    User-agent: CrawlQ AI
    User-agent: Crawlspace
    User-agent: Crew AI
    User-agent: CrewAI
    User-agent: DALL-E
    User-agent: DataForSeoBot
    User-agent: DataProvider
    User-agent: DeepAI
    User-agent: DeepL
    User-agent: DeepMind
    User-agent: DeepSeek
    User-agent: Diffbot
    User-agent: Doubao AI
    User-agent: DuckAssistBot
    User-agent: FacebookBot
    User-agent: FacebookExternalHit
    User-agent: Falcon
    User-agent: Firecrawl
    User-agent: Flyriver
    User-agent: Frase AI
    User-agent: FriendlyCrawler
    User-agent: Gemini
    User-agent: Gemma
    User-agent: GenAI
    User-agent: Genspark
    User-agent: GLM
    User-agent: Goose
    User-agent: GPT
    User-agent: Grammarly
    User-agent: Grendizer
    User-agent: Grok
    User-agent: GT Bot
    User-agent: GTBot
    User-agent: Hemingway Editor
    User-agent: Hugging Face
    User-agent: Hypotenuse AI
    User-agent: iaskspider
    User-agent: ICC-Crawler
    User-agent: ImageGen
    User-agent: ImagesiftBot
    User-agent: img2dataset
    User-agent: INK Editor
    User-agent: INKforall
    User-agent: IntelliSeek
    User-agent: Inferkit
    User-agent: ISSCyberRiskCrawler
    User-agent: JasperAI
    User-agent: Kafkai
    User-agent: Kangaroo
    User-agent: Keyword Density AI
    User-agent: Knowledge
    User-agent: KomoBot
    User-agent: LLaMA
    User-agent: LLMs
    User-agent: magpie-crawler
    User-agent: MarketMuse
    User-agent: Meltwater
    User-agent: Meta AI
    User-agent: Meta-AI
    User-agent: Meta-External
    User-agent: MetaAI
    User-agent: MetaTagBot
    User-agent: Mistral
    User-agent: Narrative
    User-agent: NeevaBot
    User-agent: Neural Text
    User-agent: NeuralSEO
    User-agent: Nova Act
    User-agent: OAI-SearchBot
    User-agent: Omgili
    User-agent: Open AI
    User-agent: OpenAI
    User-agent: OpenBot
    User-agent: OpenText AI
    User-agent: Operator
    User-agent: Outwrite
    User-agent: Page Analyzer AI
    User-agent: PanguBot
    User-agent: Paperlibot
    User-agent: Paraphraser.io
    User-agent: Perplexity
    User-agent: PetalBot
    User-agent: Phindbot
    User-agent: PiplBot
    User-agent: ProWritingAid
    User-agent: QuillBot
    User-agent: RobotSpider
    User-agent: Rytr
    User-agent: SaplingAI
    User-agent: Scalenut
    User-agent: Scraper
    User-agent: Scrapy
    User-agent: ScriptBook
    User-agent: SEO Content Machine
    User-agent: SEO Robot
    User-agent: Sentibot
    User-agent: Sidetrade
    User-agent: Simplified AI
    User-agent: Sitefinity
    User-agent: Skydancer
    User-agent: SlickWrite
    User-agent: Sonic
    User-agent: Spin Rewriter
    User-agent: Spinbot
    User-agent: Stability
    User-agent: StableDiffusionBot
    User-agent: Sudowrite
    User-agent: Super Agent
    User-agent: Surfer AI
    User-agent: Text Blaze
    User-agent: TextCortex
    User-agent: The Knowledge AI
    User-agent: Timpibot
    User-agent: Vidnami AI
    User-agent: Webzio
    User-agent: Whisper
    User-agent: WordAI
    User-agent: Wordtune
    User-agent: WormsGTP
    User-agent: WPBot
    User-agent: Writecream
    User-agent: WriterZen
    User-agent: Writescope
    User-agent: Writesonic
    User-agent: xAI
    User-agent: xBot
    User-agent: YouBot
    User-agent: Zero GTP
    User-agent: Zerochat
    User-agent: Zhipu
    User-agent: Zimm
    Disallow: /
    Important: Whenever making changes to your robots.txt file, take a few moments to validate the rules using a free online robots checker.

    Block AI Bots via Apache/.htaccess

    To actually enforce the “Ultimate AI Block List”, you can add the following rules to your Apache configuration or main .htaccess file. Like many others, I’ve written extensively on Apache and .htaccess. So if you’re unfamiliar, there are plenty of great resources, including my book .htaccess made easy.

    In a nutshell, you can add rules via Apache/.htaccess to customize the functionality of your website. For example, you can add directives that help control traffic, optimize caching, improve performance, and even block bad bots. And these rules operate at the server level. So while bots may ignore rules added via robots.txt, they can’t ignore rules added via Apache/.htaccess (unless they falsify their user agent).

    Using Apache? Check out my free, open-source 8G Firewall. 8G is lightweight, fast, and protects your site against a wide range of threats.

    To block AI bots via Apache/.htaccess, add the following rules to either your server configuration file, or add to the main (public root) .htaccess file. Before making any changes, be on the safe side and make a backup of your files. Just in case something unexpected happens, you can easily roll back. That in mind, here are the Apache rules to block AI bots..

    Blocks over 400+ AI bots and user agents.

    Block list for Apache/.htaccess

    Before using, read the Notes and Disclaimer.

    # Ultimate AI Block List v1.4 20250417
    # https://perishablepress.com/ultimate-ai-block-list/
    
    <IfModule mod_rewrite.c>
    
    	RewriteEngine On
    
    	RewriteCond %{HTTP_USER_AGENT} (.ai |Agentic|AI Article Writer|AI Content Detector|AI Dungeon|AI Search Engine|AI SEO Crawler|AI Writer|AI21 Labs|AI2Bot|AIBot|AIMatrix|AISearchBot|AI Training|AITraining|Alexa|Alpha AI|AlphaAI|Amazon Bedrock|Amazon-Kendra) [NC,OR]
    	RewriteCond %{HTTP_USER_AGENT} (Amazon Lex|Amazon Comprehend|Amazon Sagemaker|Amazon Silk|Amazon Textract|AmazonBot|Amelia|AndersPinkBot|Anthropic|AnyPicker|Anyword|Aria Browse|Articoolo|Automated Writer|AwarioRssBot|AwarioSmartBot|Azure|BardBot|Brave Leo|ByteDance) [NC,OR]
    	RewriteCond %{HTTP_USER_AGENT} (Bytespider|CatBoost|CC-Crawler|CCBot|ChatGLM|Chinchilla|Claude|ClearScope|Cohere|Common Crawl|CommonCrawl|Content Harmony|Content King|Content Optimizer|Content Samurai|ContentAtScale|ContentBot|Contentedge|Conversion AI|Copilot) [NC,OR]
    	RewriteCond %{HTTP_USER_AGENT} (CopyAI|Copymatic|Copyscape|Cotoyogi|CrawlQ AI|Crawlspace|Crew AI|CrewAI|DALL-E|DataForSeoBot|DataProvider|DeepAI|DeepL|DeepMind|DeepSeek|Diffbot|Doubao AI|DuckAssistBot|FacebookBot|FacebookExternalHit) [NC,OR]
    	RewriteCond %{HTTP_USER_AGENT} (Falcon|Firecrawl|Flyriver|Frase AI|FriendlyCrawler|Gemini|Gemma|GenAI|Genspark|GLM|Goose|GPT|Grammarly|Grendizer|Grok|GT Bot|GTBot|Hemingway Editor|Hugging Face|Hypotenuse AI) [NC,OR]
    	RewriteCond %{HTTP_USER_AGENT} (iaskspider|ICC-Crawler|ImageGen|ImagesiftBot|img2dataset|INK Editor|INKforall|IntelliSeek|Inferkit|ISSCyberRiskCrawler|JasperAI|Kafkai|Kangaroo|Keyword Density AI|Knowledge|KomoBot|LLaMA|LLMs|magpie-crawler|MarketMuse) [NC,OR]
    	RewriteCond %{HTTP_USER_AGENT} (Meltwater|Meta AI|Meta-AI|Meta-External|MetaAI|MetaTagBot|Mistral|Narrative|NeevaBot|Neural Text|NeuralSEO|Nova Act|OAI-SearchBot|Omgili|Open AI|OpenAI|OpenBot|OpenText AI|Operator|Outwrite) [NC,OR]
    	RewriteCond %{HTTP_USER_AGENT} (Page Analyzer AI|PanguBot|Paperlibot|Paraphraser.io|Perplexity|PetalBot|Phindbot|PiplBot|ProWritingAid|QuillBot|RobotSpider|Rytr|SaplingAI|Scalenut|Scraper|Scrapy|ScriptBook|SEO Content Machine|SEO Robot|Sentibot) [NC,OR]
    	RewriteCond %{HTTP_USER_AGENT} (Sidetrade|Simplified AI|Sitefinity|Skydancer|SlickWrite|Sonic|Spin Rewriter|Spinbot|Stability|StableDiffusionBot|Sudowrite|Super Agent|Surfer AI|Text Blaze|TextCortex|The Knowledge AI|Timpibot|Vidnami AI|Webzio|Whisper) [NC,OR]
    	RewriteCond %{HTTP_USER_AGENT} (WordAI|Wordtune|WormsGTP|WPBot|Writecream|WriterZen|Writescope|Writesonic|xAI|xBot|YouBot|Zero GTP|Zerochat|Zhipu|Zimm) [NC]
    
    	RewriteRule (.*) - [F,L]
    
    </IfModule>
    Important: Remember to test well before going live. You can use a free user-agent request tool to make requests posing as various AI bots.

    Notes

    Note: The two block lists above (robots.txt and Apache/.htaccess) are synchronized and include/block the same AI bots.

    Note: Numerous user agents are omitted from the block lists because the names are matched in wild-card fashion. Here is a list showing wild-card blocked AI bots.

    Note: The block lists focus on AI-related bots. Some of those bots are used by giant corporations like Amazon and Facebook. So please keep this in mind and feel free to remove any bots that you think should be allowed access to your site. Also be sure to check the list of wild-card blocked AI bots.

    Note: Both block lists are case-insensitive. The robots.txt rules are case-insensitive by default, and the Apache rules are case-insensitive due to the inclusion of the [NC] flag. So don’t worry about mixed-case bot names, their user agents will be blocked, whether uppercase, lowercase, or mIxeD cAsE.

    Learn more: According to Google documentation, the value of the user-agent line (in robots.txt) is case-insensitive.

    Changelog

    v1.4 – 2025/04/17

    • Removes Applebot
    • Removes all 2 Bing agents
    • Removes all 4 Google agents
    • Changes PerplexityBot to Perplexity
    • Adds: Azure, Falcon, Genspark, GLM, ImageGen, Knowledge, LLMs, Nova Act, Operator, Sitefinity, Sonic, Super Agent, Zhipu

    Note: If you don’t care about search results, you can restore the removed blocks for Google, Bing, and Apple:

    User-agent: Applebot
    User-agent: BingAI
    User-agent: Bingbot-chat
    User-agent: Google Bard AI
    User-agent: Google-CloudVertexBot
    User-agent: Google-Extended
    User-agent: GoogleOther

    Previous versions

    • Version 1.3 – 2025/03/10 – Adds more AI bots, refines list to make better use of wild-card pattern matching of user-agent names.
    • Version 1.2 – 2025/02/12 – Adds 73 AI bots (Thanks to Robert DeVore)
    • Version 1.1 – 2025/02/11 – Replaces REQUEST_URI with HTTP_USER_AGENT
    • Version 1.0 – 2025/02/11 – Initial release.

    Disclaimer

    The information shared on this page is provided “as-is”, with the intention of helping people protect their sites against AI bots. The two block lists (robots.txt and Apache/.htaccess) are open-source and free to use and modify without condition. By using either block list, you assume all risk and responsibility for anything that happens. So use wisely, test thoroughly, and enjoy the benefits of my work 🙂

    Support my work

    I spend countless hours digging through server logs, researching user agents, and compiling block lists to stop AI and other unwanted bots. I share my work freely with the hope that it will help make the Web a more secure place for everyone.

    If you benefit from my work and want to show support, please make a donation or buy one of my books, such as .htaccess made easy. You’ll get a complete guide to .htaccess and a ton of awesome techniques for optimizing and securing your site.

    Of course, tweets, likes, links, and shares also are super helpful and very much appreciated. Your generous support enables me to continue developing AI block lists and other awesome resources for the community. Thank you kindly 🙂

    Show support! Donate via PayPal, Stripe, or your favorite digital coin »

    References

    Thanks to the following resources for sharing their work with identifying and blocking AI bots.

    Feedback

    Got more? Leave a comment below with your favorite AI bots to block. Or send privately via my contact form. Cheers! 🙂




    Posted on Leave a comment

    Wutsearch Update v1.8

    Pleased to announce a new update for my pet project, Wutsearch, a search launchpad that puts all of the best search engines on one page. So you can easily search your favorite engines with a few clicks. I use Wutsearch as my personal homepage on my local devices. It is lightweight, fully customizable, with no ads and is free forever. This year celebrates Wutsearch’s 5th year in service.

    Wutsearch is a launchpad with your choice of 19 search engines.

    ?? You can learn more about Wutsearch and check out the latest version (1.8) at https://wutsearch.com/ ?

    Tips! Click the “Choose search engines” link at the top of the Wutsearch page to choose from 19 different search engines. You can also set the order of search boxes via drag & drop, and toggle between light and dark modes with a click.

    Now featuring Luxxle, privacy-focused search fused with AI.

    For a more unbiased look at Wutsearch, check out Nicholas Ferrell’s excellent and in-depth review at The New Leaf Journal.

    Cheers! 🙂