Skip to content

Instantly share code, notes, and snippets.

Created Apr 16, 2020
What would you like to do?
YOURLS: Old Pages (backward compatibility plugin for pages directory in root)

Plugin for YOURLS 1.7.7+: Old Pages

What for

Display pages that are located in <root>/pages/ instead of <root>/user/pages/

How to

  • In /user/plugins, create a new folder named old-pages
  • Drop these files in that directory
  • Go to the Plugins administration page and activate the plugin
  • Have fun
Plugin Name: Old Pages
Plugin URI:
Description: Backward compatibility for pages directory located at YOURLS root
Version: 1.0
Author: Ozh
Author URI:
// No direct call
if( !defined( 'YOURLS_ABSPATH' ) ) die();
// Detect pages existing in the old pages dir
yourls_add_filter( 'keyword_is_reserved', 'ozh_oldpages_reserved' );
function ozh_oldpages_reserved($reserved, $keyword) {
if (file_exists(YOURLS_ABSPATH . "/pages/$keyword")) {
$reserved = true;
return $reserved;
// Redirect to existing pages in the old directory
yourls_add_filter( 'redirect_keyword_not_found', 'ozh_oldpages_redirect' );
function ozh_oldpages_redirect($keyword) {
$keyword = $keyword[0];
if (file_exists(YOURLS_ABSPATH . "/pages/$keyword.php")) {
yourls_do_action( 'pre_page', $keyword );
include_once( YOURLS_ABSPATH . "/pages/$keyword.php" );
yourls_do_action( 'post_page', $keyword );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment