Help:Bad title
Appearance
| Note: When you edit this page, you agree to release your contribution under the CC0. See Public Domain Help Pages for more info. |
Some page titles are defined as bad for various reasons. You can't create pages with these titles.
For details of what constitutes a bad title, see Manual:Page title, the regex section, or Title.php.
For reference here is an example of a horrible, but valid title:
- Some¬`!"£$^&*()_+-=~?/.,;:'@
Things you can't use in titles:
- The following standard CGI chars are not good:
- https://www.mediawiki.org/wiki/Some%s — Very bad!
- The following standard wiki syntax seems to work:
- https://www.mediawiki.org/wiki/Some%sSome[s — gets trimmed
- https://www.mediawiki.org/wiki/Some%sSome]s — gets trimmed
- https://www.mediawiki.org/wiki/Some%sSome{s — bad
- https://www.mediawiki.org/wiki/Some%sSome}s — bad
- and some just don't work:
- https://www.mediawiki.org/wiki/Some%sSome#s — gets trimmed
- and some HTML like constructs are very bad, and can't be shown here because they break page formatting:
HTTP Codes
[edit]These vary according to the version number of the software:
- 400 (Bad Request) for v1.19.1 and above
- 200 (OK) for v1.16.4 and earlier
Regex
[edit]Relatively simple PCRE2 regex for many invalid characters and sequences in titles. Note that this does not pick up everything that could be wrong with titles.
# Matching titles will be held as illegal.
$rxTc = '/' .
# Any character not allowed is forbidden.
'[^ %!"$&\'()*,\-.\/0-9:;=?@A-Z\\\\^_`a-z~\x80-\x{10FFFF}+]' .
# Non-ASCII whitespace, Unicode bidi override characters, the replacement character and noncharacters.
'|[\xA0\x{1680}\x{180E}\x{2000}-\x{200A}\x{200E}\x{200F}\x{2028}-\x{202F}\x{205F}\x{3000}\x{FFFD}\p{Noncharacter Code Point}]' .
# Starting whitespace/colon or an empty title.
'|\A(?:[ :]|\Z)' .
# Double/closing whitespace.
'| (?: |\Z)' .
# URL percent encoding sequences interfere with the ability to round-trip titles, you can't link to them consistently.
'|%[0-9A-Fa-f]{2}' .
# XML/HTML character references produce similar issues.
'|&[A-Za-z0-9\x80-\x{10FFFF}]+;' .
# Pages with "/./" or "/../" appearing in the URLs will often be unreachable due to the way web browsers deal with 'relative' URLs. Also, they conflict with subpage syntax. Forbid them explicitly.
'|(?:\A|\/)\.\.?(?:\/|\Z)' .
# Magic tilde sequences.
'|~{3}' .
'/u';