A random page can be viewed via Special:Random. This uses the wfRandom function, which is capable of avoiding duplicate values for up to approximately 4,611,686,014,132,420,609 (i.e., ≈ (231 - 1)(231 - 1)) articles, and the page_random values from the page table. The SpecialRandomGetRandomTitle hook can be used to modify the selection criteria. The $wgExtraRandompageSQL configuration setting was used as a filter, but has been deprecated in v1.16. $wgContentNamespaces also affects random page selection. The user can choose which namespace to look in. For example, if they wanted to view a random file they could go to Special:Random/file.
The file that implements this feature is SpecialRandompage.php. SpecialRandomredirect.php (Special:Randomredirect) directs the user to a random redirect page (minus the second redirect). There is an array,
$extra, that allows for adding extra SQL statements to the query for selecting a random page from the database.
See also