User:公的驱逐舰/Manual of Style/Technical Restrictions
Some page names are not possible because of limitations imposed by the MediaWiki software. In some cases (such as names which should begin with a lowercase letter, like eBay), a template can be added to the article to cause the title header to be displayed as desired. In other cases (such as names containing restricted characters) it is necessary to adopt and display a different title. This page describes appropriate ways to handle these situations.
Contents
Restrictions and workarounds
Restrictions on page titles are listed at Template:Section link. The most commonly encountered problems are that:
- titles cannot begin with a lowercase letter;
- titles cannot contain certain restricted characters.
There are two basic ways of handling a situation where the desired title of a page is technically impossible:
- Use the magic word DISPLAYTITLE to change the way the title header is displayed on the page (although the stored page name is not affected). This is often done through a template, the most common one being {{lowercase}}, which causes the title to be displayed with an initial lowercase letter, as in iPod.
- If this is not possible (due to restrictions on DISPLAYTITLE), choose a different title for the page, and use a template such as {{correct title}} to place a hatnote stating what the correct title should be. This is normally necessary in the case of restricted characters.
These templates should never be substituted (subst). To see which articles have these naming problems you can click on "What links here" in the toolbox for each template. If the template is substituted, it will no longer be linked.
Before declaring the current title to be "wrong" with the "correct title" template or one of the more specific templates, please consider whether the title you are proposing as "correct" would really comply with Wikipedia conventions, particularly Wikipedia:Naming conventions (use English), Wikipedia:Manual of Style (capital letters) and Wikipedia:Manual of Style (trademarks).
Lowercase first letter
Template:Shortcut The MediaWiki software is configured so that a page title on the English Wikipedia (as stored in the database) cannot begin with a lower-case letter, and links that begin with a lower-case letter are treated as if capitalized, i.e. [[foo]] is treated the same as [[Foo]].
Examples of articles affected by this problem are:
- eBay (located at EBay)
- iPod (located at IPod)
- Template:Mvar (mathematical constant) located at E (mathematical constant)
- pH (located at PH)
This also means that the page Long s, on the character ſ, cannot be moved to (or redirected from) ſ, as ſ is a lowercase letter whose uppercase form is S.
To fix this problem, place the {{lowercase title}}
tag at the top of the article page (and optionally at the top of its discussion page). This will cause the article title to be displayed with the initial letter in lowercase, as at eBay. Note that it does not fix every occurrence, like the history, edit, log pages, or the browser address bar (it only affects the page title on the rendered HTML page and tab/window title bars).
Forbidden characters
Template:Shortcut Due to clashes with wiki markup and HTML syntax, the following characters are not allowed to be part of page titles (nor are they supported by DISPLAYTITLE):
# < > [ ] { } |
For articles about these characters, see number sign, less-than sign, greater-than sign, bracket (covers several characters), and vertical bar.
If the desired title of an article contains any of these characters, then an alternative title must be used instead. Often, you can simply remove the characters (e.g. MARRS instead of M|A|R|R|S). However, it may be necessary to spell out the character (e.g. C-sharp instead of C#) or use another substitute. Note that the sharp sign ♯ (different from the keyboard # character) can be used, as in C♯ (musical note).
In any of these cases, a hatnote should be placed at the top of the article informing readers what the correct title is. This is done using one of the following templates:
{{Correct title|Correct title|reason=#}}
for titles containing #{{Correct title|Correct title|reason=bracket}}
for titles containing < > [ ] { }{{Correct title|Correct title}}
for cases not covered by any one of the above. Use Template:Tn to represent the | character within the correct title.
Examples:
- Song #3 is located at Song 3
- #willpower is located at willpower (will.i.am album)
- Point #1 is located at Point No. 1
- C# (programming language) is located at C Sharp (programming language)
- Cygnus OB2 #12 is located at Cygnus OB2-12
- [A→B] Life is located at (A→B) Life
- <|°_°|> is located at Robot Face
- While(1<2) is located at While(1 Is Less Than 2)
- [title of show] is located at title of show
Other problematic characters
Forward slashes and periods
Template:ShortcutIn namespaces where the subpage feature is enabled, the forward slash (/) separates a subpage name from its main page name. However subpages are disabled in the main namespace, so article names can contain slashes if appropriate, as in Providence/Stoughton Line – there is no need for such titles to be fixed. Be aware of the following side effects, however:
- Subpages are still enabled in the talk namespace as they are widely used for archiving old discussions. Therefore, if an article has a forward slash in its name, its corresponding talk page may display a redundant subpage level-up link at the top (for example, Talk:Providence/Stoughton Line has a link to Talk:Providence at the top).
- If / is the first character of the title, then links to it from outside the main namespace will not work as expected (they will prepend the title of the current page); a workaround is to prepend a colon, or to use an HTML entity as the beginning of the link, e.g. [[:/dev/null]], [[/dev/null]] or [[/dev/null]] to get to /dev/null.
Page names consisting of exactly one or two periods (full stops), or beginning with ./ or ../, or containing /./ or /../, or ending with /. or /.., are not allowed. In most such cases DISPLAYTITLE will not work, so {{correct title}} should be used. As a result of this, the abbreviation of Slashdot, /., does not redirect to the page.
Spaces and underscores
In links, spaces (" ") and underscores ("_") are treated equivalently. Underscores are used in URLs, spaces in displayed titles. Leading and trailing spaces/underscores are stripped, consecutive spaces/underscores are reduced to a single one, and page names consisting of only spaces and underscores are not allowed at all.
Titles affected by this behavior can generally be made to display correctly using the DISPLAYTITLE magic word. However, this does not work for titles consisting of only spaces and underscores, which should use a parenthetical disambiguator e.g. _ (album) is located at (album). Articles with underscores in titles are tracked in Category:Articles with underscores in the title.
Colons
Template:Shortcut In general, article titles containing colons are fine, subject to the following exceptions:
- Page names cannot begin with a colon. However, if the initial colon can be dropped to produce a satisfactory title, then this should be done, and the problem fixed with DISPLAYTITLE. (This will not work with more than one initial colon.)
- Article titles should not begin with a standard namespace prefix (Talk:, Help: etc.), as this will place them in the wrong namespace, which (among other problems) will exclude them from standard search results. In this case, another title must be found (it won't help to change the capitalization of the prefix or put spaces before or after the colon). For example, Help: A Day in the Life is located at Help!: A Day in the Life. A redirect is created at the original title (in this case at Help:A Day in the Life, which is what the above title resolves to).
- Article titles cannot begin with an interwiki or interlanguage prefix, or namespace alias. Again, these are case-insensitive, and putting spaces before or after the colon will not help. Examples:
- DK: Jungle Climber is located at DK Jungle Climber (dk: is one of the prefixes for the Danish Wikipedia, the other is da:)
- Portal: No Escape is located at Portal – No Escape (Portal: is a prefix for Wikipedia Portal Pages)
- Project: Mersh is located at Project Mersh (Project: is an alias for the Wikipedia namespace)
- V: The New Mythology Suite is located at V – The New Mythology Suite (v: is a prefix for Wikiversity)
- In the case of aliases a redirect can be created. In the third example above this will be at Wikipedia:Mersh, which is what "Project: Mersh" resolves to.
Except in the case of initial colons, DISPLAYTITLE will not work in the above situations. Use Template:Tlp.
Percent and encoded characters
A title can normally contain the character %. However it cannot contain % followed by two hexadecimal digits (which would cause it to be converted to a single character, by percent-encoding). Similarly a title cannot contain HTML character entities such as /
and –
, even if the character they represent is allowed. In the unlikely event of such sequences appearing in a desired title, an alternative title must be constructed (for example by inserting a space after the %, or omitting a semicolon).
Question marks and plus signs
There is no reason why titles should not include ? or +. However, with such titles, attention is required when typing URLs into the address bar of a browser. Here ? is interpreted as beginning a query string, and a + in a query string is interpreted as a space. When typing in URLs, ? and + should be replaced by their corresponding escape codes, %3F and %2B. (The same technique is necessary for many other special characters, depending on browser.)
Three consecutive tildes
Titles cannot contain 3 or more consecutive tildes (~~~), as strings of tildes are used to create editors' signatures on talk pages.
Title length
Template:Shortcut Titles must be fewer than 256 bytes long when encoded in UTF-8. Therefore, the full titles of The Boy Bands Have Won and When the Pawn... cannot be displayed properly, so they must be located under their common shorthand names.
Italics and formatting
It is not possible for a title as stored in the database to contain formatting, such as italics or bolding. The double or triple apostrophes normally used to produce these effects in wiki markup are treated just as groups of apostrophes if they appear in titles. Other wiki markup or HTML-based formatting would require characters that are not permissible in titles (see Forbidden characters above).
It is technically possible to display formatting in titles using DISPLAYTITLE. A template, {{italic title}}, exists to display the title in italics. For guidance on when this technique should be used, see WP:ITALICTITLE.
Pictorial names
Titles cannot contain images (which would require forbidden characters in order to be displayed), only Unicode characters. For example, the recycling symbol ♲ is encoded in Unicode as U+2672, so it can be included, but some proprietary emojis are not Unicode characters and so cannot appear in a page title.
Browser support limitations
Use precomposed characters when possible.
Use the text normalization NFC [1].
Restrictions on usernames
Usernames are subject to the same technical restrictions as page titles (see Forbidden characters above), in particular that the symbols # < > [ ] | { } are not allowed. There are also additional restrictions:
- The username must not already exist, including in the single unified login system.
- It may not contain the symbols / @ :.
- It may not contain various control characters, unusual whitespace, or UTF-8 private use characters: U+0080–U+009F, U+00A0, U+2000–U+200F, U+2028–U+202F, U+3000, or U+E000–U+F8FF.
- It may not be an IP address (including IPv6 such as 2606:4700:4700::1111), nor may it look like an IP address (for example, "564.348.992.800" is not a valid IP address, but since it looks like one, it is an invalid username).
- It may not be one of a list of configured reserved usernames (e.g. "MediaWiki default").
- It may not have a namespace or interwiki prefix.
- It may not be more than 85 bytes long.
Additionally there are the restrictions tested by the AntiSpoof extension, which includes more blacklisted characters (various '/'-lookalikes and characters from unusual scripts such as Runic, Ugaritic, and so on) and checks against mixed scripts. There are also limitations placed by meta:Title blacklist, both the normal blacklisting rules and those tagged by <newaccountonly>
. Among the more notable of these are that accounts containing strings implying advanced permissions (e.g. "admin") or impersonating high-profile users are blocked.