Difference between revisions of "Help:Page name"

(Maximum page name length)
(Case-sensitivity)
Line 45: Line 45:
 
==Case-sensitivity==
 
==Case-sensitivity==
  
If for the first letter of a page name two [[w:letter case|cases]] exist, as in the case of letters of the [[w:Latin alphabet|Latin]], [[w:Greek alphabet|Greek]], [[w:Cyrillic alphabet|Cyrillic]], and [[w:Armenian alphabet|Armenian]] [[w:alphabet|alphabet]]s, the following applies.
+
If for the first letter of a page name two cases exist, as in the case of letters of the Latin, Greek, Cyrillic, and Armenian alphabets, the following applies.
  
All characters of namespace prefixes are case-insensitive. The [[w:canonical|canonical]] form, shown in large font as page header, and in URLs generated by the system, is with on most projects with one capital; Klingon is an exception, see [[w:tlh:Chen'ay':h:h]], where the c is converted to lower-case, and [[w:tlh:Qah:Page name]], where the h is converted to upper-case. Below "page name" refers to the name without the possible namespace prefix.  
+
All characters of namespace prefixes are case-insensitive. The canonical form, shown in large font as page header, and in URLs generated by the system, is with on most projects with one capital; Klingon is an exception, see [[w:tlh:Chen'ay':h:h]], where the c is converted to lower-case, and [[w:tlh:Qah:Page name]], where the h is converted to upper-case. Below "page name" refers to the name without the possible namespace prefix.  
  
 
===Case-sensitivity of the first character===
 
===Case-sensitivity of the first character===

Revision as of 08:46, 30 September 2005

Restrictions

Special characters

The following characters are not allowed in page titles:

" # $ * + < > = @ [ ] \ ^ ` { } | ~

The reasons include:

  • + is used in web addresses to represent a space (e.g. when you type more than one word into some search engines). Using it in page names would potentially make parts of the system see their name wrong. Each + will be substituted by a space (in displayed titles) or an underscore (in URLs) -- see below.
  • @ also has a special meaning in URLs, as a way of adding a username and password, and would have even more drastic consequences.
  • [, ], {, }, |, and probably some of the others have special meaning within Wikipedia's syntax, which are processed before the pagename is determined. (e.g. [[{{CURRENTYEAR}}]] points at 2024, not a page called {{CURRENTYEAR}}.
  • $, \, ", ` (and some others) have special meaning in other bits of the software, and allowing them could create security flaws which would be difficult to track down.

There are some pages that don't obey these restrictions, for example w:$. These may cause problems.

Some very special characters, like two dots (¨) over the n are not allowed either. They can only be represented using Unicode, but the English Wikipedia uses w:ISO 8859-1.

Forward slash (/)

Depending on the namespace and the settings a forward slash in the pagename provides special functionality.

Namespace prefixes

Also, the first part of a page name may not coincide with a project-independent namespace prefix that is automatically converted to another one, e.g. the name Project: A-Kon on Wikipedia is not possible.

The first part of a page name can coincide with a namespace prefix that is not converted. For example, there might be articles in the English Wikipedia about books called Wikipedia: The Big Adventure and Talk: Secrets are Bad (but only without the space after the colon). However, in that case the pages are in the wrong namespace. This may be inconvenient in searching or displaying a list of pages. Also, in the second case there is no link to a Talk page about the book. (As explained above, the second page name is not possible on e.g. the German Wikipedia.

Prefixes referring to other projects or pseudo-namespaces

A page name cannot start with a prefix that is in use to refer to another project, including language codes, e.g. "en:" (list), or one of the pseudo-namespaces "Media:" and "Special:".

Thus e.g. an article about the album "Q: Are We Not Men? A: We Are Devo!" can not have that exact name. An attempt to create the article, whether by a link Q: Are We Not Men? A: We Are Devo! or a URL http://en.wikipedia.org/wiki/Q:Are_We_Not_Men%3F_A:_We_Are_Devo%21 leads to Wikiquote.

With regard to using the prefix of the project itself there is no consistency: a name like en:a cannot be used on en: (try w:en:a and w:en:en:a), while "Q: Are We Not Men? A: We Are Devo!" can exist on Wikiquote: q:Q: Are We Not Men? A: We Are Devo!.

Maximum page name length

The maximum page name length is 255 bytes (excluding the namespace prefix). Be aware that non-ASCII characters may take up to four bytes in UTF-8 encoding, so the total number of characters you can fit into a title may be less than 255 depending on the language it's in.

Spaces vs. underscores

In page names, a blank space is equivalent with an underscore. A blank space is displayed in the large font title at the top of the page, the URLs show an underscore. See also below.

Case-sensitivity

If for the first letter of a page name two cases exist, as in the case of letters of the Latin, Greek, Cyrillic, and Armenian alphabets, the following applies.

All characters of namespace prefixes are case-insensitive. The canonical form, shown in large font as page header, and in URLs generated by the system, is with on most projects with one capital; Klingon is an exception, see w:tlh:Chen'ay':h:h, where the c is converted to lower-case, and w:tlh:Qah:Page name, where the h is converted to upper-case. Below "page name" refers to the name without the possible namespace prefix.

Case-sensitivity of the first character

The first character of the page name (outside the main namespace: after the namespace prefix) may or may not be case-sensitive, depending on the project. [[Help:page name]] gives on this project: Help:page name. If the first character of the page name is case-sensitive this is a link (to a different page), otherwise it is bold (a self link to this page).

Currently the first character of the page name is case-insensitive, except in the following Wiktionaries:

  • cs
  • de
  • eo
  • es
  • fa
  • fr
  • gu
  • hi
  • hr
  • hu
  • ka
  • kn
  • ku
  • is
  • it
  • ja
  • ml
  • nl
  • pl
  • sa
  • sv
  • sw
  • tr
  • vi

Compare e.g. wikt:de:A and wikt:de:a, and wikt:nl:Sjabloon:H:f and wikt:nl:Sjabloon:h:f.

The same applies for the Klingon Wikipedia, compare e.g. w:tlh:jo and w:tlh:Jo.

Case where the first character is case-insensitive

The canonical form is with a capital.

Note that in the case of a prefix that is not a namespace for the software, and in the case of a second prefix, the case-insensitivity does not apply to the first character after this prefix, e.g. Template:H:Interwiki linking and Template:H:interwiki linking are distinguished.

Case-sensitivity of the file name extension of an image

Note that even the file name extension of an image is case-sensitive: compare image:Stop_sign_us.jpg and image:Stop_sign_us.JPG

Ignored spaces/underscores

Spaces/underscores which are ignored:

  • those at the start and end of a full page name
  • those at the end of a namespace prefix, before the colon
  • those after the colon of the namespace prefix
  • duplicate consecutive spaces

Some show up in the link label, e.g. [[___help__ :_ _template_ _]] becomes ___help__ :_ _template_ _, linking to Help:Template.

However, a space before or after a "normal" colon makes a difference, e.g. MediaWiki User's Guide: Editing overview and MediaWiki User's Guide : Editing overview, and MediaWiki User's Guide:Editing overview are all distinguished, because "MediaWiki User's Guide:" is a pseudo-namespace, not a real one.

Coding of characters

A page name can not contain e.g. %41, because that is automatically converted to the character A, for which %41 is the code. [[%41]] is rendered as A. Similarly %C3%80 is automatically converted to the character À. [[%C3%80]] is rendered as À. The URL of the page is http://meta.wikipedia.org/wiki/%C3%80. One can argue what is the real name of the page, %C3%80 or À (a user will say the latter), but anyway there can not be distinct pages with these names.

Canonical form

The inclusion tag for a non-existing page shows a link with the canonical form of the page name: {{qwsazx}}, {{:qwsazx}}, {{project:qws azx}} give Template:Qwsazx, Qwsazx, FAIR:Qws azx; compare with ordinary links Template:qwsazx, qwsazx, project:qws azx; these work like piped links, e.g. [[Qwsazx|qwsazx]]; in this case the conversion shows up on the referring page only when pointing at it: in the pop-up and in the status bar (if applicable for the browser); whether the target is a redirect, and what the final target is, is not shown at all.

An attempt to include a page from another project results in just displaying the wikitext, e.g. 301 Moved Permanently

301 Moved Permanently


nginx/1.24.0

ordinary interwiki links do not show existence and do not show a canonical form in the hover box or status bar
. The same applies if interwiki link style is used for a link to a page in the same project: m:project:qwsazx.

A saved redirect page shows the canonical form of the target, even though the preview renders the link in the usual way, compare [1] with the preview of [2].

Help:Alphabetic order

Conversion of spaces to underscores and of special characters to escape codes

There is no feature for just conversion of spaces to underscores and of special characters to escape codes, but there are two features for doing this in combination with something else: localurl (see Help:Variable) and PAGENAMEE.

Most needs for conversion are covered by these, but e.g. in a template one cannot link to a page with a given name {{{1}}} on a project with a different $wgScript.

Variables PAGENAME and PAGENAMEE

Variable {{PAGENAME}} gives for this page Page name, Variable {{PAGENAMEE}} gives Page_name.

Thus in the first case a space is used, in the second case an underscore, like in URLs. Similarly À becomes the escape code %C3%80 (see above), etc.

{{NAMESPACE}}:{{PAGENAME}} and {{NAMESPACE}}:{{PAGENAMEE}} give for this page Help:Page name and Help:Page_name, respectively. For a page in the main namespace the page name is prefixed with a colon.

Example:

http://meta.wikimedia.org/w/wiki.phtml?title=Special:Whatlinkshere&target={{NAMESPACE}}:{{PAGENAMEE}}

gives

http://meta.wikimedia.org/w/wiki.phtml?title=Special:Whatlinkshere&target=Help:Page_name

Within localurl, {{PAGENAME}} should be used in the first part (because it is converted by localurl), or {{PAGENAMEE}} in the second part:

  • {{SERVER}}{{localurl:Special:Allpages|namespace=12&from={{PAGENAMEE}}}} gives here:

https://www.fairlatterdaysaints.org/answers/index.php?title=Special:Allpages&namespace=12&from=Page_name

  • {{SERVER}}{{localurl:Special:Allpages/{{PAGENAME}}|namespace=12}} gives here:

https://www.fairlatterdaysaints.org/answers/index.php?title=Special:Allpages/Page_name&namespace=12

Wrong:

  • {{SERVER}}{{localurl:Special:Allpages|namespace=12&from={{PAGENAME}}}} gives here:

https://www.fairlatterdaysaints.org/answers/index.php?title=Special:Allpages&namespace=12&from=Page name (wrong link)

  • {{SERVER}}{{localurl:Special:Allpages/{{PAGENAMEE}}|namespace=12}} gives here:

https://www.fairlatterdaysaints.org/answers/index.php?title=Special:Allpages/Page_name&namespace=12 (works here, the underscore, converted from a space, is not affected by the second conversion, but it does not work with special characters).

See Help:ĀāĆćĎďĒēĜĝĤĥĨĩĴĵĹĺŃń and PAGENAMEE.

With a Google search there is the problem that for Google the space and the underscore are different, see w:Template talk:Google.

See also

Template:H:f