---
title: "Who pays when WordPress /random/ becomes the default?"
date: 2026-11-07
author: "Courtney Robertson"
featured_image: "https://courtneyr.dev/wp-content/uploads/2026/11/merge-conflicts-random-defaults-cover-v1.png"
categories:
  - name: "WordPress"
    url: "/category/wptips.md"
  - name: "Open Source"
    url: "/category/open-source.md"
tags:
  - name: "drupal"
    url: "/tag/drupal.md"
  - name: "wordpress"
    url: "/tag/wordpress.md"
  - name: "open source"
    url: "/tag/open-source.md"
  - name: "PHP"
    url: "/tag/php.md"
  - name: "Node.js"
    url: "/tag/node-js.md"
  - name: "open source governance"
    url: "/tag/open-source-governance.md"
  - name: "Merge Conflicts"
    url: "/tag/merge-conflicts.md"
---

# Who pays when WordPress /random/ becomes the default?

WordPress /random/ can make an archive worth another click. Making it a default also gives people who didn’t choose it work to do. This case study follows that trade from proposal to release. Who gets to make the choice, what supports it, and who maintains it afterward?

All week, Merge Conflicts asked what open source lets you do with code. [The licenses post](https://courtneyr.dev/2026/11/06/how-open-source-licenses-work/) ended on what a license leaves out. This case study closes week one with one of those things: who decides what ships turned on.

## Key takeaways

- **The big picture:** WordPress 7.2 plans a /random/ route that’s on by default, and turning it off takes code.
- **Why it matters:** A default hands work to hosts, developers, owners and editors who didn’t choose it.
- **Yes, but:** People who built random links before core did report real uses, and review changed the implementation.
- **What to ask:** Who decides your project’s defaults, and where can someone bring evidence against one?



## 🧭 Would you turn WordPress /random/ on for the pantry?

Back to the hypothetical pantry from [the four freedoms post](https://courtneyr.dev/2026/11/03/four-freedoms-of-open-source/). Suppose its news archive has years of posts: volunteer stories, funding announcements and old pickup instructions. A visitor asks for something random.

![The pantry coordinator points at an old 2019 card on a laptop while the developer, in a wheelchair, explains the shuffle.](https://courtneyr.dev/wp-content/uploads/2026/11/merge-conflicts-random-defaults-v01-pantry-4x5-1-819x1024.png)Fictional scene: which archive post should a random link pick? Illustrations made with ChatGPT at my direction.Which of those posts should be eligible?

Maybe the volunteer stories. Maybe everything, because the pantry keeps its archive current. Or none of it, because the person at the site needs today’s hours. You can make a reasonable case for each answer. You need to know the site first.

[verified](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

The planned WordPress 7.2 feature redirects a request to an eligible published item. It’s enabled by default, and developers can disable it or change eligibility.[1](#09fb5245-1a2e-42e5-b19a-2aceb2a9b908)







[analysis](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

For this fictional pantry, I’d start with a reviewed collection and a link that explains what it offers. The question is who should have to arrange that: the person adding a feature, or the person finding it already enabled after an upgrade?







You don’t need to know PHP to have an answer. You’re allowed to ask what a setting will do to your site before asking how to turn it off.

## 💬 What are people actually disagreeing about?

### Who already wanted random redirects?

[account](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

Start with people who built this before core did. Syed Balkhi describes adding it to WPBeginner years ago and finding caching the hard part. Chris Coyier says he’s run random routes for years too.[2](#ff8f78f6-3f64-48b5-a176-95f9b677f60f)[3](#a4abc1f0-0d4d-47b4-9ebd-adf9d1cddae5)







> Saw that WordPress is going to add the fun /random/ redirect in core.   
>   
> I loved this feature about Stumbleupon so I built it on [@wpbeginner](https://x.com/wpbeginner?ref_src=twsrc%5Etfw) years ago, and it's actually quite tricky to build due to heavy caching and such.   
>   
> So glad that it's coming to WordPress core.   
>   
> Imagine…
> 
> — Syed Balkhi (@syedbalkhi) [November 6, 2026](https://x.com/syedbalkhi/status/2118647266042945820?ref_src=twsrc%5Etfw)



> Well look at that, a built-in /random route will ship in WordPress 7.2.<https://t.co/bL4Xxk87KX>  
>   
> I've had these on sites for years, I think it's fun. And it's trickier than you'd want Because Of Caching™, so maybe this will actually work nicely.
> 
> — Chris Coyier (@chriscoyier) [November 6, 2026](https://x.com/chriscoyier/status/2118534041255522673?ref_src=twsrc%5Etfw)



Marcus Anthony reports a “shuffle” button on his sites. Angie Meeker makes a longer case for putting it in core.[4](#bcf2461a-66c5-49aa-96e8-3d666c35bc8d)[5](#38716ef8-5769-4e38-bc5e-30762b4f8d72)

> I created this myself and have used it for years with a “shuffle” button in the navbar of all my sites.  
>   
> You can give it a try here 👇 <https://t.co/Lne0mBqjjS>
> 
> — Marcus Anthony (@MarcusAnthony) [November 6, 2026](https://x.com/MarcusAnthony/status/2118723558860017990?ref_src=twsrc%5Etfw)



### What do the replies object to?

[account](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

Brad Williams asked his followers whether it’s a good idea.[6](#4ba3fd66-674a-400c-8b2b-2fbaafa4f1eb) The replies split the question in two. Adam W. Warner accepts Syed’s uses and asks what enabled by default adds.[7](#3963ecc1-9f71-410e-a781-3f33d0c971db)







> This is the million dollar question. I do agree with the potential usefulness as [@syedbalkhi](https://x.com/syedbalkhi?ref_src=twsrc%5Etfw) describes, but what is the value of enabled-by-default?  
>   
> Am I missing some innate value? Honest question.
> 
> — Adam W. Warner 👋 Let’s chat. DMs open. (@wpmodder) [November 6, 2026](https://x.com/wpmodder/status/2118819556995264998?ref_src=twsrc%5Etfw)



Anita describes owners who’d need code, or paid help, to turn it off. Alex Standiford’s sarcasm makes the same point for anyone maintaining many sites.[8](#065773e4-2058-4223-bd20-2c2dd5ec8e14)[9](#ef43a2ee-033d-4b00-9064-c01916c1c818)

> I can see why you wanted it on WPBeginner, and you chose to add it. Why not give everyone else that same choice through a plugin, like Hello Dolly?  
>   
> Instead, it’s enabled by default, but turning it off requires code. The average user may not know how to add that safely. Now…
> 
> — Anita (@TheCre8tiveDiva) [November 6, 2026](https://x.com/TheCre8tiveDiva/status/2118714598635241479?ref_src=twsrc%5Etfw)



> Love it! Nothing brings me joy quite like adding more filters to the mu-plugin installed on every site I maintain.
> 
> — Alex Standiford (@AlexStandiford) [November 6, 2026](https://x.com/AlexStandiford/status/2118730759183765505?ref_src=twsrc%5Etfw)



Johnno Read supports it if it can be disabled, since content doesn’t always stand alone. Troy Chaplin worries about posts from 20 years ago resurfacing. Nataliia Zaporozhets flags a testing problem: each check can land on a different page.[10](#6f5a39a1-4565-4dc1-803b-8c49b31576ff)[11](#db427b2e-db1c-4808-bc1d-f92662761faf)[12](#cbcf240d-ae6d-4e72-9ed6-af4d820babb0)

> Great idea, provided it can be disabled – not all content stands alone.
> 
> — Johnno Read (@JohnnoRead) [November 6, 2026](https://x.com/JohnnoRead/status/2118823838620246027?ref_src=twsrc%5Etfw)



> Nice for discovery. From QA side it’s a bit scary tbh. Every check can land on a different post, so a broken old page can hide there for months. And with caching on top, even harder to reproduce.
> 
> — Nataliia Zaporozhets (@nat\_zaporozhets) [November 6, 2026](https://x.com/nat_zaporozhets/status/2118687299416322369?ref_src=twsrc%5Etfw)



### How do the two questions differ?

[analysis](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

Put them side by side:

- **Would you use a random link on a site?** Syed, Chris and Marcus have.
- **Would you enable it on sites you don’t know?** That needs a broader case than the first answer supplies.







These are selected discussions, not a poll. X’s ranking and repeat participants make a sentiment percentage meaningless here. More of the thread, if you want to read it yourself:

- [Brad Williams’s question and its replies](https://x.com/williamsba/status/2118716197633966525)
- [Anita’s second reply, asking to let people opt in](https://x.com/TheCre8tiveDiva/status/2118721331709579287)
- [Ross Morsali on demand and the default](https://x.com/rossmorsali/status/2118651616215646236), with his own estimate of interest
- [Duane Storey’s post and its replies on priorities](https://x.com/DuaneStorey/status/2118684948198523146)
- [Arūnas Liuiza’s prediction about the project](https://x.com/arunaswp/status/2118802399917998364), a forecast, not a finding
- [Enrique Chavez on leadership and site moves](https://x.com/Tmeister/status/2118796736344867152)

[unknown](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

I haven’t established representative demand from these materials. A thread full of objections doesn’t settle it. Neither does a thread full of people who already built the feature.







## 🗂️ How did random redirects go from optional to default?

Matt Mullenweg’s public reason includes making “a little room for serendipity” while exploring writers’ archives.[13](#3a30e6d5-8c02-4919-a24e-05b6070ac1c4) That’s a benefit I can understand. A good archive deserves readers beyond the newest entry.

Now follow the record, as we did in [the history post](https://courtneyr.dev/2026/11/05/history-of-open-source/).

[verified](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

RecordWhat it says or changes[Ticket #64498](https://core.trac.wordpress.org/ticket/64498)‘s opening proposalDescribes a minimal implementation that sites opt into.Comment 12Anne McCarthy attributes core inclusion to Matt’s repeated requests.Changeset r63906Reverts the first implementation for further work.Changeset r64402Reintroduces the feature using the existing rewrite and query systems.[November 5 dev note](https://make.wordpress.org/core/2026/11/05/your-content-is-going-to-get-more-random/)Describes the feature as enabled by default.





The ticket supplies the development history; the dev note supplies the announced default.[14](#0f9e0a5e-806c-494c-8bf1-74b538c8d82e)[15](#f8cfe36f-9e53-44dc-8539-619e630adc91)

[analysis](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

Review changed the implementation. That’s evidence of contributors affecting the result, and it belongs beside the objections.







But the capability’s location and its default are separate choices. The record shows the proposal and the eventual behavior. It doesn’t make every discussion between them visible.

Before you approve a feature, could you point a new contributor to the reason for its default and the evidence needed to reconsider it?

## 🏛️ How does a feature like WordPress /random/ get approved?

[verified](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

WordPress does write down a route for features. Its Core Handbook calls Features as Plugins “the way features are developed for inclusion in WordPress core.”[16](#75f42112-ac30-4470-8e79-87acf1d854a2) A team builds the feature as a plugin, gathers testing, then publishes a merge proposal on the Make WordPress Core blog.







The same page names the decider: “Ultimately, the decision on whether a feature makes it into core rests in the hands of the Core team.” It also leaves room to vary, since “each feature is different and requirements will vary.”[17](#4d7989f4-c000-4924-a93a-23db3f503f6f) The project organization page adds five lead developers who “have final authority on technical decisions.”[18](#5237c5bc-072a-4a67-b432-1c5becc4bb06)

[verified](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

For /random/, comment 12 on the ticket says the feature came to core at Matt’s request and wasn’t pursued as a canonical plugin.[19](#b1df77c4-d205-4cc5-aeb2-be6b24e69afc) I searched Make WordPress Core for “random” on November 7. The search found the November 5 dev note and no earlier proposal post for this feature.[20](#41143e7e-6130-45f6-8089-4937f01ed96c) Other 7.2 work did get one: “Proposal: A Secrets API for WordPress 7.2” went up on August 25.[21](#9f2bebc5-c8e1-48cf-ad2a-e9a517c7c143)







[analysis](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

So WordPress has a proposal route. It works like a custom, not a gate. The written rules don’t say when a feature can skip it, and none of them calls for a vote.







[unknown](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

Why does the route stay optional? I didn’t find a written reason in the documents I checked. Unknown isn’t the same as no reason.







Is your project’s proposal route a rule, or a habit everyone happens to follow?

## 🔀 What would /random/ need in the projects we compare?

Disclosure: I work at Pantheon, which hosts Drupal and WordPress sites.

Same feature, six rulebooks. Each row comes from the project’s own governance page, and WordPress is one row. PHP’s rule covers language changes, so treat it as the strict end.

![A maintainer holding a tabbed proposal and a team rep compare a ballot box, stamps, a bell and a key on a hook.](https://courtneyr.dev/wp-content/uploads/2026/11/merge-conflicts-random-defaults-v02-who-can-stop-4x5-1-819x1024.png)Fictional scene: a ballot box, two stamps, a bell and a key on a hook, for the ways projects approve a feature.[verified](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

ProjectWhat the written rules ask forWho can stop itBackdrop CMSIts Project Management Committee approves “proposed new features for each minor release”[22](#11c0d264-bef4-442d-84f7-a0d1155b88d3)The committee, by consensus or a majority voteClassicPress (extra case)Anyone suggests it in GitHub issues; volunteers build it[23](#8ac6660d-b8dc-4f90-8adf-495c875e8783)Its rule: “No single person within ClassicPress has the power to force through a valid change”DrupalProduct managers approve “a significant new feature”; someone besides the author signs off[24](#1bac9dcb-fd22-4c9b-ae13-dbaa794ae0a6)Product managers; the Project Lead breaks tiesNode.jsTwo collaborators who didn’t write it approve, or one after seven days[25](#cf6efc91-a5d7-4acd-a31d-b4cc710a07c0)Any collaborator: “If a collaborator opposes a proposed change, then the change cannot land”PHPAn RFC (Request for Comments), two weeks of discussion, then a vote of at least two weeks[26](#9f75ebf0-4da7-4372-aaf6-0f18768d53e6)Voters: Yes must be at least twice NoWordPressFeatures as Plugins and a merge proposal, as the usual route[27](#ca5c0838-e350-46b5-9c9a-adc53bbff1b5)“The Core team”; lead developers have “final authority on technical decisions”[28](#ab32be04-502c-4084-b631-ae112530f901)What a new feature needs before it ships, by each project’s written rules





[analysis](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

In four of the six rows, someone besides the proposer can stop a feature in writing. It might be a committee, a product manager, one collaborator or a vote. In WordPress, the written stop is the core team’s judgment. None of these rules says whether /random/ is a good idea. They decide who has to be convinced.







Which row would your project’s next default have to pass?

## 👑 Can one leader decide without an approval process?

[verified](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

Yes, if the project’s own documents say so. As [the licenses post](https://courtneyr.dev/2026/11/06/how-open-source-licenses-work/) showed, a license covers code, not votes.







Python, which isn’t in our comparison set, ran that way for decades. Its governance document says Guido van Rossum served as “Benevolent Dictator for Life (BDFL) from inception until July 2018, when he stepped down.”[29](#11867656-e94b-46b6-9d5e-fe08f7146bff) In a July 12, 2018 email, Guido van Rossum wrote about “giving myself a permanent vacation from being BDFL,” once PEP 572 was done.[30](#7faa2374-b52f-4269-a97d-88d7559b1bb5) Core developers then voted on a new model. Python now elects a steering council of five after each feature release.[31](#f1854a55-c108-4c56-92cd-c04d8eaac811)

Drupal kept its founder and wrote down lanes. Its core governance page sends significant features to product managers and brings in the Project Lead “as needed to act as a tie-breaker.”[32](#95d01364-1d22-4019-b761-11cac21279ee) A governance issue titled “Officially replace the title BDFL with Project Lead” records the change of name.[33](#134ac994-8b8d-48ac-8ab5-40a3756a141e)

[analysis](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

Two projects aren’t a law of nature. Still, both changed how the top role works by writing a new rule down. Python replaced its single decider through a vote. Drupal kept one, with written lanes around the role. Votes have costs too. Under PHP’s rule, just over a third of voters can block a feature.







If your project’s leader stepped back tomorrow, which document would say who decides next?

## 📜 Which WordPress principle answers questions about core defaults?

WordPress’s philosophy supplies more than one principle. Each matters here.

[verified](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

- **Design for the majority.** Its rule of thumb calls for “features that 80% or more of end users will actually appreciate and use.”
- **Decisions, not options.** Developers should avoid making users answer technical questions they don’t need to understand.
- **The vocal minority.** Online commenters don’t represent the full user population.[34](#2f226672-b962-43e4-9a74-51e0800e9288)







[analysis](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

The 80% principle isn’t a survey result for this feature. It tells us what kind of justification to look for. The options principle also cuts both ways. A useful default can spare users work. A poor one can send them looking for help to undo it.







Suppose a person says they can disable the feature with one line. That’s useful implementation information. It doesn’t tell you whether the owner knows where that line belongs or has permission to add it.

What evidence would help you distinguish a default that helps the quieter users from one that makes their next support request?

## 🧪 What are we still testing about WordPress /random/?

I’m coordinating independent WordPress release testing. I work at Pantheon, a WordPress and Drupal host. The hosting observations below come from that testing; this is my analysis, not my employer’s position. Test status here is current to November 7, 2026.

[account](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

\[CR\] Two technical threads remain:

- **Query cost.** Random ordering has a cost that grows in published local benchmarks. I haven’t independently reproduced those measurements. A slow request alone doesn’t establish a new denial of service vulnerability.[35](#26560aae-8a5e-4cb6-b928-2454435b3203)
- **Cache and upgrade behavior.** Successful redirects bypassed cache on our tested fixtures. An empty category’s 404 became cacheable when the platform’s must-use plugin replaced core’s `no-cache` policy. A separate upgrade test found missing rules until an admin request refreshes them, per site on multisite.[36](#186d3b6a-f6bf-4298-8cf1-dacd21459968)[37](#5d2fc6ac-d7e8-40d2-819f-c69f7815286f)







The error declared a cache lifetime of seven days. We saw cache hits, not seven days of persistence. Publishing the first post and purge behavior remain unmeasured. The tests used approved exceptions to omit bot challenges and a sandbox notice, so they don’t describe an ordinary visitor’s first encounter with those protections.

Those limits belong beside the result. They prevent a finding from becoming a larger story than the test supports.

## ⚖️ What would a fair performance comparison look like?

Matt asks whether unintended exposure differs from existing sitemaps and REST responses, and whether repeated random requests cost more than repeated searches.[38](#68885847-1722-4726-9cae-6cf2428858be)

Those comparisons deserve answers. Content becoming easier to find and content becoming readable without authorization are different claims. An existing expensive request also belongs in a performance baseline.

[analysis](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

Here’s what I’d want measured:

- **Same conditions.** Use the same content, database, hardware and cache state.
- **Relevant work.** Compare the new request with existing requests and measure its effect on ordinary site tasks.
- **A stated limit.** Decide what cost is acceptable before deciding whether a result passes.







Then ask what the result answers. It might show an acceptable operating cost. It won’t tell you whether a school wants its archive shuffled. Joe Querin makes that distinction between blogs and institutional CMS sites in Brad’s replies.[39](#5fbf4c2d-9125-451b-b441-10e9cf165505)

> Useful for a pure blog type site, maybe even for e-commerce but for a site that uses WordPress like a CMS like a college or k-12 website nope not useful.   
>   
> Thou backend application uses like grabbing a random post and checking links etc, maybe.
> 
> — Joe Querin (@joequerin) [November 7, 2026](https://x.com/joequerin/status/2118865337063989653?ref_src=twsrc%5Etfw)



Would a good benchmark change your mind about shipping the feature, the default, or both? Those answers don’t have to match.

## 🧾 Who gets the next task after the merge?

One line of code can still need a person who knows where to put it. That person may be a volunteer, an agency developer or the host’s support team. The line doesn’t submit its own support ticket. Someone else does.

![A note of code passes hand to hand: staff engineer, plugin founder, support engineer with service dog, pantry coordinator.](https://courtneyr.dev/wp-content/uploads/2026/11/merge-conflicts-random-defaults-v03-next-task-v2-4x5-1-819x1024.png)Fictional scene: one line of code, and the people it travels to after the merge.[analysis](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

WhoWhat they may need to decide or maintainCore contributorsQuery and routing behavior, compatibility, documentation and regression tests.HostsCache policy, database capacity, protection rules and upgrade procedures.Plugin and theme developersEligibility rules, existing URLs, query changes and understandable controls.Site owners and agenciesWhether the feature fits, which content qualifies and who can disable it.Authors and editorsWhether older material makes sense outside its original sequence, sometimes without access to site settings.VisitorsWhether the link’s label and destination give enough context to use it.





The costs differ. An engineering team can write a fleet policy. A small organization’s volunteer may have to find help. That’s the work the default distributes.

This doesn’t mean ordinary page requests all run a random query. It means somebody has to support the new behavior when people invoke it.

If you have merge rights, which of these people do you hear from before release, and which will you only hear from afterward?

## 🧩 Could the useful part take another form?

Syed’s later reply imagines a network like StumbleUpon for independently hosted sites that choose to participate.[40](#8f944a64-97ce-4951-8678-acce35113470) A network would need decisions about consent, moderation and removal. A useful local archive feature doesn’t need to wait for it.

> I can see your perspective for sure. I don't know the full plan behind it or why [@photomatt](https://x.com/photomatt?ref_src=twsrc%5Etfw) asked for it.   
>   
> I just know that previously this functionality wasn't so easy to build and having core support it is cool.  
>   
> But I think it could be really neat to maybe extend this and…
> 
> — Syed Balkhi (@syedbalkhi) [November 6, 2026](https://x.com/syedbalkhi/status/2118717596551852171?ref_src=twsrc%5Etfw)



[hypothesis](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

These are designs to evaluate, not tested replacements:

- **An optional plugin.** Keep shared implementation work while letting owners choose the behavior and its maintenance.
- **A core helper with explicit activation.** Reuse core support without automatically registering a public route on every site. Core still owns maintenance.
- **A block for a chosen collection.** A museum picks reviewed records. A teacher picks a topic and difficulty. Give readers a clear label and an accessible fallback.
- **A precomputed pool.** Move selection work outside the visitor request. Test rebuild costs, changed permissions, invalidation and sampling bias before promising a speedup.
- **A scheduled archive selection.** Offer one item for an interval so the result can be cached. Tell readers they’re getting a rotating feature instead of a fresh random choice.







Which problem are you trying to solve: helping a visitor explore, standardizing an API or choosing a default? Start there. The same implementation doesn’t have to answer all three.

## 🔎 What would make you change your mind?

I’d prefer explicit activation while the case for broad default enablement remains unresolved. That’s my judgment about who should carry the choice. People who want the feature have supplied real examples of why.

[analysis](https://courtneyr.dev/merge-conflicts-methods/#h-which-six-evidence-labels-do-the-merge-conflicts-methods-use)

Before endorsing the default, I’d want four things in the record:

- **Benefit.** Which sites and visitors use it, and why extend it to the others?
- **Operating criteria.** What costs are acceptable, under which conditions?
- **Maintenance.** Who owns regressions, hosting guidance and compatibility work?
- **Revision.** What result would change the implementation, default or core inclusion, and who can act on it?







A leader can propose something unpopular that turns out well. A contributor can raise an objection that testing disproves. Both need a route from evidence to a changed decision.

Would you ask for the same evidence if Matt’s name disappeared from the ticket, or if the feature were your own idea?

That’s where I’d like this conversation to go. A person’s enthusiasm can start a proposal. The release still needs reasons the people maintaining it can use.

## ❓ Which default questions can you ask about your own project?

Pick one feature your project enables automatically. You can like it. That makes this exercise more useful.

Mark each answer **documented**, **unclear**, or **a tradeoff I accept**:

1. **Purpose.** What problem does the default solve, and for whom?
2. **Choice.** Who can decline it, and what knowledge or help does that take?
3. **Work.** Who maintains it without having participated in the decision?
4. **Evidence.** Which observation would change your mind, including evidence against the choice you prefer?
5. **Review.** Where can someone bring that observation, and who can change the result?

If you find a written answer, bring the link. If the answer is unclear, start with that question. You don’t need a fix before you’re allowed to ask who can make one.

### 🗺️ Where this post sits in the series

This case study closes week one of [Merge Conflicts](https://courtneyr.dev/series/merge-conflicts/). It asks the same question as this week’s five posts: who decides, how, and who can review the decision? It isn’t a numbered post, so the reading order stays the same. Next up: which open source projects the series compares, and why these. The [methods page](https://courtneyr.dev/merge-conflicts-methods/) explains the evidence labels.

## 🙋 Quick answers about WordPress /random/

**What does WordPress /random/ do?**The planned WordPress 7.2 feature redirects a request to a randomly selected eligible published item. It’s on by default. Developers can turn it off with a filter or change which post types qualify.

 

**Who approved adding /random/ to WordPress core?**WordPress’s Core Handbook says feature decisions rest with the core team, and its lead developers hold final authority on technical decisions. Comment 12 on Trac ticket #64498 says the feature came to core at Matt Mullenweg’s request.

 

**How would other open source projects approve a feature like this?**Backdrop’s committee approves new features. Drupal’s product managers approve significant ones. In Node.js, one collaborator’s objection blocks a change. PHP needs a two thirds vote on an RFC.

 

**Is /random/ a security problem?**Not as tested here. Content becoming easier to find is different from content becoming readable without authorization. A slow request alone doesn’t establish a denial of service vulnerability.

 

**How can I check my own project’s defaults?**Pick one feature your project turns on automatically. Ask five questions about it: purpose, choice, work, evidence and review.

 

 


Footnotes (40)1. Aaron Jorbin, [“Your Content Is Going To Get More Random!”](https://make.wordpress.org/core/2026/11/05/your-content-is-going-to-get-more-random/), November 5, 2026. Implementation and default described in the dev note. Accessed November 7, 2026. [↩︎](#09fb5245-1a2e-42e5-b19a-2aceb2a9b908-link)
2. Syed Balkhi, [post about random redirects, prior WPBeginner use and possible applications](https://x.com/syedbalkhi/status/2118647266042945820), November 6, 2026. Read with visible replies in Chrome on November 7. [↩︎](#ff8f78f6-3f64-48b5-a176-95f9b677f60f-link)
3. Chris Coyier, [post about prior use and caching](https://x.com/chriscoyier/status/2118534041255522673), November 5, 2026. Read in Chrome on November 7. [↩︎](#a4abc1f0-0d4d-47b4-9ebd-adf9d1cddae5-link)
4. Marcus Anthony, [reply about a shuffle button on his sites](https://x.com/MarcusAnthony/status/2118723558860017990), November 6, 2026. Read in Chrome on November 7. [↩︎](#bcf2461a-66c5-49aa-96e8-3d666c35bc8d-link)
5. Angie Meeker, [post supporting core inclusion](https://x.com/angiemeeker/status/2118721068345004363), November 6, 2026. Read through Brad Williams’s replies; the linked essay wasn’t retrievable, so it isn’t summarized. [↩︎](#38716ef8-5769-4e38-bc5e-30762b4f8d72-link)
6. Brad Williams, [post inviting discussion](https://x.com/williamsba/status/2118716197633966525), November 6, 2026. Visible replies and selected nested exchanges read in Chrome on November 7. [↩︎](#4ba3fd66-674a-400c-8b2b-2fbaafa4f1eb-link)
7. Adam W. Warner, [reply distinguishing usefulness from default enablement](https://x.com/wpmodder/status/2118819556995264998), November 6, 2026. Read in Chrome on November 7. [↩︎](#3963ecc1-9f71-410e-a781-3f33d0c971db-link)
8. Anita, [reply about the work of opting out](https://x.com/TheCre8tiveDiva/status/2118714598635241479), November 6, 2026. Expanded and read in Chrome on November 7. [↩︎](#065773e4-2058-4223-bd20-2c2dd5ec8e14-link)
9. Alex Standiford, [reply about filters across maintained sites](https://x.com/AlexStandiford/status/2118730759183765505), November 6, 2026. Read in Chrome on November 7. [↩︎](#ef43a2ee-033d-4b00-9064-c01916c1c818-link)
10. Johnno Read, [reply about content context and disabling the feature](https://x.com/JohnnoRead/status/2118823838620246027), November 6, 2026. Read in Chrome on November 7. [↩︎](#6f5a39a1-4565-4dc1-803b-8c49b31576ff-link)
11. Troy Chaplin, [reply about outdated posts resurfacing](https://x.com/troychaplin/status/2118728127761252816), November 6, 2026. Read in Chrome on November 7. [↩︎](#db427b2e-db1c-4808-bc1d-f92662761faf-link)
12. Nataliia Zaporozhets, [reply about reproducing problems in testing](https://x.com/nat_zaporozhets/status/2118687299416322369), November 6, 2026. Read in Chrome on November 7. [↩︎](#cbcf240d-ae6d-4e72-9ed6-af4d820babb0-link)
13. Matt Mullenweg, [comments in the dev-note discussion](https://make.wordpress.org/core/2026/11/05/your-content-is-going-to-get-more-random/#comments), November 7, 2026, 06:31 and 06:34 UTC. The comments describe archive exploration and ask for comparisons with sitemap/REST exposure and repeated searches. Accessed November 7. [↩︎](#3a30e6d5-8c02-4919-a24e-05b6070ac1c4-link)
14. WordPress Core Trac, [ticket #64498, comment 12](https://core.trac.wordpress.org/ticket/64498#comment:12), with the revert recorded in comment 21 and replacement in comment 37. Public record read November 7, 2026. [↩︎](#0f9e0a5e-806c-494c-8bf1-74b538c8d82e-link)
15. Aaron Jorbin, [“Your Content Is Going To Get More Random!”](https://make.wordpress.org/core/2026/11/05/your-content-is-going-to-get-more-random/), November 5, 2026. Implementation and default described in the dev note. Accessed November 7, 2026. [↩︎](#f8cfe36f-9e53-44dc-8539-619e630adc91-link)
16. WordPress, [“Features as Plugins”](https://make.wordpress.org/core/handbook/about/release-cycle/features-as-plugins/), Core Handbook, last updated February 7, 2018. Accessed November 7, 2026. [↩︎](#75f42112-ac30-4470-8e79-87acf1d854a2-link)
17. WordPress, [“Features as Plugins”](https://make.wordpress.org/core/handbook/about/release-cycle/features-as-plugins/), Core Handbook, last updated February 7, 2018. Accessed November 7, 2026. [↩︎](#4d7989f4-c000-4924-a93a-23db3f503f6f-link)
18. WordPress, [“Project Organization”](https://make.wordpress.org/core/handbook/about/organization/), Core Handbook, last updated September 7, 2026. Accessed November 7, 2026. [↩︎](#5237c5bc-072a-4a67-b432-1c5becc4bb06-link)
19. WordPress Core Trac, [ticket #64498, comment 12](https://core.trac.wordpress.org/ticket/64498#comment:12), with the revert recorded in comment 21 and replacement in comment 37. Public record read November 7, 2026. [↩︎](#b1df77c4-d205-4cc5-aeb2-be6b24e69afc-link)
20. Make WordPress Core, [post search for “random”](https://make.wordpress.org/core/wp-json/wp/v2/posts?search=random&per_page=50), run November 7, 2026. The 2026 results include the November 5 dev note and no earlier proposal post for this feature. The [Roadmap to 7.2](https://make.wordpress.org/core/2026/09/18/roadmap-to-7-2/) (September 18, 2026) doesn’t mention it. A search shows what it found, not everything that exists. [↩︎](#41143e7e-6130-45f6-8089-4937f01ed96c-link)
21. Make WordPress Core, [“Proposal: A Secrets API for WordPress 7.2”](https://make.wordpress.org/core/2026/08/25/proposal-a-secrets-api-for-wordpress-7-2/), August 25, 2026. Accessed November 7, 2026. [↩︎](#9f2bebc5-c8e1-48cf-ad2a-e9a517c7c143-link)
22. Backdrop CMS, [“Leadership”](https://backdropcms.org/about/leadership). Accessed November 7, 2026. [↩︎](#11c0d264-bef4-442d-84f7-a0d1155b88d3-link)
23. ClassicPress, [“Governance”](https://www.classicpress.net/governance/). Accessed November 7, 2026. [↩︎](#8ac6660d-b8dc-4f90-8adf-495c875e8783-link)
24. Drupal, [“Drupal core”](https://project.pages.drupalcode.org/governance/core/drupal-core/), project governance, section “How are decisions made?” Accessed November 7, 2026. [↩︎](#1bac9dcb-fd22-4c9b-ae13-dbaa794ae0a6-link)
25. Node.js, [“GOVERNANCE.md”](https://github.com/nodejs/node/blob/main/GOVERNANCE.md). Accessed November 7, 2026. [↩︎](#cf6efc91-a5d7-4acd-a31d-b4cc710a07c0-link)
26. PHP, [“Request for Comments: Voting on PHP features”](https://wiki.php.net/rfc/voting), last modified February 10, 2025. Accessed November 7, 2026. [↩︎](#9f75ebf0-4da7-4372-aaf6-0f18768d53e6-link)
27. WordPress, [“Features as Plugins”](https://make.wordpress.org/core/handbook/about/release-cycle/features-as-plugins/), Core Handbook, last updated February 7, 2018. Accessed November 7, 2026. [↩︎](#ca5c0838-e350-46b5-9c9a-adc53bbff1b5-link)
28. WordPress, [“Project Organization”](https://make.wordpress.org/core/handbook/about/organization/), Core Handbook, last updated September 7, 2026. Accessed November 7, 2026. [↩︎](#ab32be04-502c-4084-b631-ae112530f901-link)
29. Python, [“PEP 13: Python Language Governance”](https://peps.python.org/pep-0013/), created December 16, 2018, status Active. Accessed November 7, 2026. [↩︎](#11867656-e94b-46b6-9d5e-fe08f7146bff-link)
30. Guido van Rossum, [“Transfer of power”](https://mail.python.org/pipermail/python-committers/2018-July/005664.html), python-committers mailing list, July 12, 2018. Accessed November 7, 2026. [↩︎](#7faa2374-b52f-4269-a97d-88d7559b1bb5-link)
31. Python, [“PEP 13: Python Language Governance”](https://peps.python.org/pep-0013/), created December 16, 2018, status Active. Accessed November 7, 2026. [↩︎](#f1854a55-c108-4c56-92cd-c04d8eaac811-link)
32. Drupal, [“Drupal core”](https://project.pages.drupalcode.org/governance/core/drupal-core/), project governance, section “How are decisions made?” Accessed November 7, 2026. [↩︎](#95d01364-1d22-4019-b761-11cac21279ee-link)
33. Drupal governance issue 3059388, [“Officially replace the title BDFL with Project Lead”](https://git.drupalcode.org/project/governance/-/work_items/3059388). Accessed November 7, 2026. The migrated page doesn’t show the issue’s status or close date. [↩︎](#134ac994-8b8d-48ac-8ab5-40a3756a141e-link)
34. WordPress.org, [“Philosophy”](https://wordpress.org/about/philosophy/), especially “Design for the majority,” “Decisions, not options,” “Clean, lean, and mean” and “The vocal minority.” Accessed November 7, 2026. These are stated principles, not a user-demand survey. [↩︎](#2f226672-b962-43e4-9a74-51e0800e9288-link)
35. Rene Hermenau, [reported local scaling measurements in the dev-note discussion](https://make.wordpress.org/core/2026/11/05/your-content-is-going-to-get-more-random/#comment-49610), November 6, 2026. The report identifies Beta 4, PHP 8.3, MariaDB 11.8, Docker, short synthetic posts and no object cache. Measurements haven’t been independently reproduced for this article. [↩︎](#26560aae-8a5e-4cb6-b928-2454435b3203-link)
36. Courtney Robertson’s independent WordPress 7.2 release-QA records, November 7, 2026. The second CDN report records the successful-redirect controls and empty-category response. Detailed records are retained privately. The empty-result caching observation is also described in [Core Trac comment 73](https://core.trac.wordpress.org/ticket/64498#comment:73). Tests used authorized platform exceptions, not an ordinary visitor session. [↩︎](#186d3b6a-f6bf-4298-8cf1-dacd21459968-link)
37. Courtney Robertson, [Core Trac #64498, comment 73](https://core.trac.wordpress.org/ticket/64498#comment:73), November 7, 2026. Narrows the upgrade finding, including the per-site multisite behavior and the admin request that refreshes rules. [↩︎](#5d2fc6ac-d7e8-40d2-819f-c69f7815286f-link)
38. Matt Mullenweg, [comments in the dev-note discussion](https://make.wordpress.org/core/2026/11/05/your-content-is-going-to-get-more-random/#comments), November 7, 2026, 06:31 and 06:34 UTC. The comments describe archive exploration and ask for comparisons with sitemap/REST exposure and repeated searches. Accessed November 7. [↩︎](#68885847-1722-4726-9cae-6cf2428858be-link)
39. Joe Querin, [reply distinguishing site purposes](https://x.com/joequerin/status/2118865337063989653), November 6, 2026. Read in Chrome on November 7. [↩︎](#5fbf4c2d-9125-451b-b441-10e9cf165505-link)
40. Syed Balkhi, [expanded reply proposing an optional discovery network](https://x.com/syedbalkhi/status/2118717596551852171), November 6, 2026. Read in Chrome on November 7. A personal proposal, not a core announcement. [↩︎](#8f944a64-97ce-4951-8678-acce35113470-link)

Also on:- [ website](https://fed.brid.gy)
- [ Mastodon](https://m.courtneyr.co/@courtneyr/117577101900691417)





[](https://courtneyr.dev/2026/11/07/wordpress-random-default-costs/)Courtney RobertsonWho pays when WordPress /random/ becomes the default?