{"id":49621577,"url":"https://github.com/thisismyurl/random-page-redirect-for-wordpress","last_synced_at":"2026-05-24T01:02:24.175Z","repository":{"id":355304211,"uuid":"1225772509","full_name":"thisismyurl/random-page-redirect-for-wordpress","owner":"thisismyurl","description":"Adds a /random URL to WordPress that redirects to a random published post. Originally by nickadamstv and revaultmedia; co-maintained by Christopher Ross.","archived":false,"fork":false,"pushed_at":"2026-05-05T01:54:42.000Z","size":30,"stargazers_count":0,"open_issues_count":7,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-05T03:38:15.474Z","etag":null,"topics":["discovery","random-content","redirect","wordpress","wordpress-plugin"],"latest_commit_sha":null,"homepage":"https://wordpress.org/plugins/random-page-redirect-for-wordpress/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thisismyurl.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-30T16:13:16.000Z","updated_at":"2026-05-04T02:09:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/thisismyurl/random-page-redirect-for-wordpress","commit_stats":null,"previous_names":["thisismyurl/random-page-redirect-for-wordpress"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/thisismyurl/random-page-redirect-for-wordpress","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thisismyurl%2Frandom-page-redirect-for-wordpress","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thisismyurl%2Frandom-page-redirect-for-wordpress/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thisismyurl%2Frandom-page-redirect-for-wordpress/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thisismyurl%2Frandom-page-redirect-for-wordpress/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thisismyurl","download_url":"https://codeload.github.com/thisismyurl/random-page-redirect-for-wordpress/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thisismyurl%2Frandom-page-redirect-for-wordpress/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33417489,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"ssl_error","status_checked_at":"2026-05-23T22:14:43.778Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["discovery","random-content","redirect","wordpress","wordpress-plugin"],"created_at":"2026-05-05T03:04:57.803Z","updated_at":"2026-05-24T01:02:24.166Z","avatar_url":"https://github.com/thisismyurl.png","language":"PHP","funding_links":["https://github.com/sponsors/thisismyurl"],"categories":[],"sub_categories":[],"readme":"# This Is My URL - Random Page Redirect for WordPress\n\n[![CI](https://github.com/thisismyurl/random-page-redirect-for-wordpress/actions/workflows/ci.yml/badge.svg)](https://github.com/thisismyurl/random-page-redirect-for-wordpress/actions/workflows/ci.yml) [![WordPress Tested](https://img.shields.io/badge/WordPress-4.5%2B-blue)](https://wordpress.org/) [![License](https://img.shields.io/badge/License-GPL--2.0-blue)](LICENSE)\n\nAdds a `/random` URL to WordPress that redirects to a random published post. Drop-in discovery surface — useful on archive-heavy sites where readers want a \"surprise me\" button or to navigate back to older content.\n\n## The Short Story\n\nThis plugin started in the WordPress 4.x era under contributors `nickadamstv` and `revaultmedia` and went quiet after 2016. I picked it up because the underlying behaviour — a single registered URL that 302s to `WP_Query orderby=rand limit=1` — is exactly the kind of small, focused thing WordPress should ship and doesn't.\n\nSame plugin, same redirect approach, just maintained again on modern WordPress. Original contributors retain full credit in the plugin header and `readme.txt`.\n\n## What It Does\n\n- **Registers `/random`** (configurable) as a top-level URL on your site.\n- **Redirects to random posts:** On hit, queries for a random `post_status=publish` post and 302s to its permalink.\n- **Sensible filtering:** Filters out password-protected, sticky, and trashed posts by default.\n- **CDN-friendly headers:** Sends `Cache-Control: no-store` so CDNs don't pin the redirect.\n\n## What It Doesn't Do\n\n- It doesn't randomise within a category or tag — full-site only. Per-archive randomisation is on the roadmap.\n- It doesn't shuffle post order in archive views. This is a redirect endpoint, not an archive sorter.\n- It doesn't cache the redirect target. Each visit queries for a fresh random post.\n\n## Requirements\n\n- WordPress 4.5+\n- PHP 7.2+\n\n## Installation\n\n**WordPress.org plugin directory (recommended):**\n- Install directly from WordPress admin: **Plugins \u003e Add New** → search \"Random Page Redirect\" → **Install Now**\n- Or visit [Random Page Redirect for WordPress on WordPress.org](https://wordpress.org/plugins/random-page-redirect-for-wordpress/)\n\n**Manual installation:**\n1. Download the latest release from [Releases](https://github.com/thisismyurl/random-page-redirect-for-wordpress/releases)\n2. Unzip to `/wp-content/plugins/random-page-redirect-for-wordpress/`\n3. Activate through **Plugins \u003e Installed Plugins**\n\n## Usage\n\nOnce activated:\n- Visit `/random` on your site to see it in action.\n- You can link to `/random` from anywhere to provide a \"surprise me\" button.\n- Each visit generates a fresh random redirect.\n\n### Customising the URL\n\nBy default, the plugin uses `/random`. To change it, add this to your `wp-config.php`:\n\n```php\ndefine( 'RANDOM_PAGE_REDIRECT_URL', '/random-post' );\n```\n\nThen use that custom URL instead (e.g., `/random-post`).\n\n## Standards\n\n- Direct access protection with ABSPATH checks.\n- Nonce and capability checks for all admin actions.\n- Aligned with WordPress coding standards.\n\n---\n\n## Support and Contribute\n\n### Ways to Support\n\nI'm building these tools because WordPress developers and site owners deserve straightforward, practical solutions. There's no tracking, no ads, and you don't need to pay to use these plugins.\n\nIf you find them helpful, here are some genuine ways to support the work:\n\n- **Sponsor if it fits your budget:** You can sponsor the project through [GitHub Sponsors](https://github.com/sponsors/thisismyurl). Sponsorship helps, but it's always optional.\n- **Contribute code or ideas:** Opening a pull request, reporting an issue, or testing edge cases is just as valuable as sponsorship.\n- **Share your experience:** A follow on [WordPress.org](https://profiles.wordpress.org/thisismyurl/), [GitHub](https://github.com/thisismyurl), or [LinkedIn](https://linkedin.com/in/thisismyurl) helps others discover this work.\n\n### Report Issues and Questions\n\nFound a bug? Want to suggest a feature? Questions about how it works?\n\n- **File an issue:** Use the [Issues](../../issues) tab. Include your WordPress and PHP version, and steps to reproduce.\n- **Start a discussion:** Use the [Discussions](../../discussions) tab for questions, ideas, or general conversation.\n\n### Contributing Code\n\nCode contributions are welcome and genuinely valuable:\n\n1. **Fork this repository** and clone it locally.\n2. **Create a feature branch** with a clear name (e.g., `feature/category-random-redirect`).\n3. **Make your changes** and test thoroughly on WordPress 4.5+ and modern versions.\n4. **Follow WordPress coding standards** — run `composer run lint:phpcs` before opening a PR.\n5. **Open a pull request** with a clear description of what changed and why.\n\n---\n\n## Contributors\n\n- **Christopher Ross** ([@thisismyurl](https://github.com/thisismyurl)) — current maintainer\n- **Nick Adams** (`nickadamstv`) — original author\n- **Revault Media** (`revaultmedia`) — original co-author\n- **Contributors:** Thanks to everyone who's reported issues and tested edge cases\n\n## License\n\nGPL-2.0-or-later. Original contributors `nickadamstv` and `revaultmedia` retain full credit in the plugin header and `readme.txt`.\n\n---\n\n**More about This Is My URL:** Christopher Ross is a WordPress developer on the open web since 1996 and on WordPress since 2007. Learn more at [thisismyurl.com](https://thisismyurl.com/).\n\n\n---\n*This project follows the [10 Core Pillars](PILLARS.md). Support quality work [here](https://github.com/sponsors/thisismyurl).*\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthisismyurl%2Frandom-page-redirect-for-wordpress","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthisismyurl%2Frandom-page-redirect-for-wordpress","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthisismyurl%2Frandom-page-redirect-for-wordpress/lists"}