From mediawiki.org
This extension is professionally maintained by the WikiTeq team.
WikiTeq provides official support for MediaWiki LTS releases only. It may work with other MediaWiki releases.
MediaWiki extensions manual
Release status: stable
Implementation User interface
Description Allows a per-namespace skin
Author(s) Alexandre Emsenhuber (IAlextalk)
Maintainer(s) WikiTeq team
Latest version 2023-01-10
Compatibility policy For every MediaWiki release that is a Long Term Support release there is a corresponding branch in the extension.
MediaWiki 1.35+
Database changes No
License GNU General Public License 2.0 or later
  • $wgSkinPerNamespaceOverrideLoggedIn
  • $wgSkinPerSpecialPage
  • $wgSkinPerNamespace
Quarterly downloads 1 (Ranked 164th)
Translate the SkinPerNamespace extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

The SkinPerNamespace extension allows to specify a per-namespace skin that can be configured in $wgSkinPerNamespace, but this will also override users preferences, to avoid this you can set $wgSkinPerNamespaceOverrideLoggedIn to false.


  • Download and place the file(s) in a directory called SkinPerNamespace in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'SkinPerNamespace' );
  • Configure as required.
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.


You can configure this extension with the following variables:

array mapping namespaces index (i.e. namespaces numbers and not names) to a skin name. Use all lower case name for skin, like monobook, modern, ... otherwise it simply won't work. Example:
$wgSkinPerNamespace[NS_TALK] = 'timeless';
$wgSkinPerNamespace[NS_PROJECT] = 'monobook';
Note Note: You can find the constants in includes/Defines.php.
skins for special pages, mapping canonical name (see SpecialPage::$mList in SpecialPage.php) to skin. This overrides $wgSkinPerNamespace[NS_SPECIAL]. Example:
$wgSkinPerSpecialPage['Search'] = 'vector';
$wgSkinPerSpecialPage['Recentchanges'] = 'modern';
if set to true (default value), it will also override the the skin for logged in users, to avoid this you can set it to false and $wgSkinPerNamespace will only apply to anonymous users.

See also[edit]