Template:URL

Documentation icon Template documentation[view] [edit] [history] [purge]

This template can be used to create a formatted external link. It formats the appearance of displayed URLs, while making them machine-readable as part of emitted microformat meta-data, inside templates such as infoboxes.

If you wish to display text instead of the URL (e.g. "website" instead of example.com), please do not use this template. Instead, consider using normal wiki markup or Template:Official website. Displaying text instead of the url will render the microformat data invalid.

For web-based references, please see Wikipedia:Citation templates.

Usage

  • {{URL|example.com}}
    • The first parameter is parsed to see if it takes the form of a complete URL. If it doesn't start with a URI scheme (such as "http:", "https:", or "ftp:"), an "http://" prefix will be prepended to the specified generated target URL of the link.
    • Parameter 2 ({{URL|url name|optional display text}}) is deprecated. See note above for more information and alternative templates.

URL with = character requires numbered parameters

If the URL contains an equals sign, as is common in a query string, the parameter |1= must be used for the URL ({{URL|1=example.com}}). This applies when the value of the URL is unknown, for example when this template is used in another template specifying the effective URL as a variable value. The deprecated second parameter for the displayed text, if present in legacy uses, must also be explicitly numbered if the first parameter is explicitly numbered ({{URL|1=url name|2=optional display text}}); otherwise it will override the value of the first parameter.

Code Result
{{ URL | 1=https://example.com/?id=42 }} example.com?id=42
{{ URL | 1=https://example.com/?id=42 | 2=Title }} Title

Examples

The template displays an instructional message if there is no input: Lua error in package.lua at line 80: module 'Module:Template test case/data' not found.

The template wraps the output in <span></span> (see § Microformat) and adds <wbr/> before displayed periods: Lua error in package.lua at line 80: module 'Module:Template test case/data' not found.

The use of http://, https://, a protocol-relative URL, or a different protocol is preserved in the URL but is not shown in the link text: Lua error in package.lua at line 80: module 'Module:Template test case/data' not found. Lua error in package.lua at line 80: module 'Module:Template test case/data' not found. Lua error in package.lua at line 80: module 'Module:Template test case/data' not found. Lua error in package.lua at line 80: module 'Module:Template test case/data' not found. Lua error in package.lua at line 80: module 'Module:Template test case/data' not found. Lua error in package.lua at line 80: module 'Module:Template test case/data' not found.

If the path is only a slash (/) it is not displayed in the link text: Lua error in package.lua at line 80: module 'Module:Template test case/data' not found.

The template also adds <wbr/> before any displayed slashes (/) in the path: Lua error in package.lua at line 80: module 'Module:Template test case/data' not found. Lua error in package.lua at line 80: module 'Module:Template test case/data' not found. Lua error in package.lua at line 80: module 'Module:Template test case/data' not found. Lua error in package.lua at line 80: module 'Module:Template test case/data' not found.

Upper case in the domain name is preserved in the URL, but not in the link text (upper case in the path is not changed): Lua error in package.lua at line 80: module 'Module:Template test case/data' not found. Lua error in package.lua at line 80: module 'Module:Template test case/data' not found. Lua error in package.lua at line 80: module 'Module:Template test case/data' not found.

For a URL containing an equal sign (=), use |1=: Lua error in package.lua at line 80: module 'Module:Template test case/data' not found. Lua error in package.lua at line 80: module 'Module:Template test case/data' not found.

The template supports a optional second parameter which is used as the link text: Lua error in package.lua at line 80: module 'Module:Template test case/data' not found. Lua error in package.lua at line 80: module 'Module:Template test case/data' not found. Lua error in package.lua at line 80: module 'Module:Template test case/data' not found.

The URL may be obtained from Wikidata as shown in this example for Script error: The function "label" does not exist. (Q23317), where the property (P856) contains : Lua error in package.lua at line 80: module 'Module:Template test case/data' not found.

Microformat

The template wraps the displayed URL with a class="url" so that it is included in any parent microformat which takes a URL parameter - see our microformats project.

TemplateData

This is the TemplateData documentation for the template used by the new VisualEditor.

URL

<templatedata> { "description": "A template to display and format a URL, inside other tempates", "params": { "1": { "label": "URL", "description": "The URL to be linked", "type": "string", "required": true }, "2": { "label": "Display text", "description": "The text to be displayed instead of the URL. Deprecated", "type": "string", "required": false, "deprecated": true } } } </templatedata>

See also