Wikipedia:Substitution
  (Redirected from Wikipedia:SUBST)
For a technical description of substitution functions, see Help:Substitution.
This page documents an English Wikipedia editing guideline.
It is a generally accepted standard that editors should attempt to follow, though it is best treated with common sense, and occasional exceptions may apply. Any substantive edit to this page should reflect consensus. When in doubt, discuss first on the talk page.
This page in a nutshell: Substitution is the one-time, permanent copying of any content on Wikipedia. It differs from transclusion, which continually updates as the linked-to content changes.
Substitution is a different way of handling templates than normally done on Wikipedia. Usually, templates are transcluded, which means that if the template changes, every page that uses it will update to comply with the change-in-question. This is the procedure used for most templates. However, some templates are instead substituted. This means that if the template changes, the page that uses it will not, and will continue to show the old version of the template. Some templates should always be substituted, while most should always be transcluded.
To substitute, add subst: after the opening braces, as in {{subst:page name}}. For example: substitution {{subst:Medicine}} in contrast to transclusion {{Medicine}}. The contents of Template:Medicine will be expanded (for any templates) and stored at each point where "{{subst:Medicine}}" is placed in a page. Note that ref-tags refuse to run "subst:" unless temporarily renamed as "<xref name=xx>" or similar.
This page also lists templates that should either always or never be substituted except in the Wikipedia namespace. Automated tools (a.k.a. bots) that do such replacements will never be used on the original template. If you are going to use a bot to substitute templates, please read through the talk page first, as many are under dispute or change status over time, and substitution is permanent.
About subst:
Definition
The subst: keyword (short for "substitution") is used inside template code, placed as a prefix before the name of the template but within the curly braces ({{}}). It changes the way the software expands the template.
Ordinarily, a template will be expanded "on the fly"; that is, the template code on a page calls a separate page every time it is rendered. Although most page views are served from the cache, pages need to be rendered for previews and rendered again when the page changes. When someone is editing a page with a normal template call, they see the template call.
Placing "subst:" inside the curly braces tells the software to permanently replace the template with the text of the template (i.e., the text that is on the template's article page when the template is added to the page). Therefore, {{template}} becomes {{subst:template}}, until you save the page. The next editor sees not the template call, but instead the text of the template when you saved; it does not change even if the original template is edited.
Usage
You can substitute a template tag by adding "subst:" to it. For example, use {{subst:test5}} instead of {{test5}}.
When this is a major component of an edit, it is strongly suggested that the template be mentioned in the edit summary (for instance, put "{{subst:test}}", "subst:test" or "test1 applied" in your edit summary) so other editors can easily see what you have done.
Additionally, when creating or editing templates that are commonly substituted, adding a hidden comment to the template page helps article editors to see how templates are being used (e.g.
<!-- Substituted from Template:Documentation -->
).
Benefits
Neutral
Drawbacks
Templates that should always be substituted
This is a list of templates that should always be substituted, organized by namespace. Each list is ordered alphabetically with grouped series. This is not a comprehensive list; other less-used templates may also need to be substituted, see the template's documentation for details.
Article namespace
Article talk
{{tmfrom}}, {{tmto}}
User talk namespace
All of the templates listed in Category:User warning templates and Category:Welcome templates should be substituted. This does not apply to templates on the user page.
File namespace
Misc. templates
User signature templates, if transcluded, cause undue server strain as changes to a minor user template must then be widely propagated. If used, user signature templates should be substituted. (It should be noted, however, that user signature templates are discouraged.)
Uncategorized suggestions
Templates that must be substituted
These templates have a purpose and/or syntax that require them to be substituted.
  • {{afd}}, or else the link to "this article's entry" does not work.
  • {{cfd}}, {{cfr}}, {{cfm}}, which insert comments which serve as queues for Cydebot, which is used to rename or merge categories.
  • {{copyvio}}, for articles to be listed at copyright problems, will result in an error message if transcluded.
  • {{nld}}, for images with no info on copyright status, adds {{no license}} with today's date automatically filled in.
  • {{nrd}}, for images with no fair use rationale, adds {{no rationale}} with today's date automatically filled in.
  • {{nsd}}, for images with no source info, adds {{di-no source}} with today's date automatically filled in.
  • {{orfud}}, for "generic" orphaned fair use images, adds {{di-orphaned fair use}} with today's date automatically filled in.
  • {{or-fu-re}}, for fair use images that have been orphaned in favour of another image, adds {{di-orphaned fair use}} with today's date automatically filled in (takes the name of the replacement image as parameter).
  • {{proposed deletion}}, for proposed deletion, adds {{proposed deletion/dated}} with today's date automatically filled in.
  • {{rfd}}, redirects for discussion
  • {{rfu}}, for fair use images that it should be possible to replace with a free licensed image, adds {{replaceable fair use}}, with today's date automatically filled in.
  • {{refu-c}}, used in captions of images flagged as replaceable fair use, adds {{rfu-c}} with the "due date" (today + 7 days) automatically calculated and filled in.
  • {{OnProd}}, which inserts today's-date-dependent name of the category page to which the article was added when nominated for deletion.
Templates that should not be substituted
Technically, templates should not be substituted that:
  1. contain calls to ParserFunctions (#if, #switch, etc.), unless, where possible, these are substituted too (see mw:Manual:Substitution#Multilevel substitution)
  2. leave some parameters to their defaults by not specifying them, unless the alternative default mechanism is used
  3. contain external links as the formatting of the URL to perform queries or look-ups may change
This is because these constructs are not replaced in the generated wiki-code (single level substituting of case (A) leaves the #if or #switch constructs verbatim at the subst location and (B) leaves constructs like {{{1|default value}}}).
If specific consensus is to eliminate a particular call of such a template, Special:ExpandTemplates can be used to expand that call to plain wiki-syntax.
List
This is a list of templates that should not be substituted. This is because they contain formatting standard code, contain complex code, or contain code that breaks if substituted.
  • {{!}}, escapes a vertical bar for Wiki table syntax from the default parameter and ParserFunctions mechanisms.
  • {{Citation needed}}, contains complex code.
  • Various citation/reference templates which contain very complex conditional code (see: WP:CITET).
  • {{cleanup}}, {{merge}}, {{trivia}} and other cleanup templates. Bots rely on them, substitution makes a mess of the article text and breaks the cleanup by month date categorization.
  • {{Curlie}}, URL queries external web directories (former DMOZ).
  • Infobox templates, various ones for the sake of bot-identification and consistency.
  • {{Javadoc:EE}}, {{Javadoc:SE}}, {{Javadoc:SE-guide}}, conditional templates whose purpose is to update the links when the master template is updated.
  • {{ISP}}, {{Openproxy}}, {{repeat vandal}}, {{SharedIP}}, {{SharedIPEDU}}, {{s/wnote}}, not messages to the users (so it is no problem if they change from their original form), so no reason to subst, but the standard reasons not to subst apply.
  • {{ln}}, {{lnt}}, complex code
  • {{Main}}, maintains formatting standard.
  • {{switch}}, also conditional templates; substituting breaks usage
  • {{See also}}, standard formatting for see also list
  • {{selfref}}, does not work when substed, as it is meant to contain different code in mirrors.
  • {{​Signpost-subscription​}}, must be updated weekly.
  • {{stub}} templates, various ones for simplified usage and removal
  • {{talkarchive}}, {{archive}}
  • {{tl}}, {{tlp}}, {{ttl}}, {{ti}}, {{tic}}, {{tls}}, {{cl}}, {{ccl}}, many very widely used, {{tl}} with over 4,300,000 transclusions at last count. Quicker to type than their substitutions, and non-substing them allows new Wikipedians to learn about them and be able to use them.
  • {{sockpuppet}} and similar templates intended to be placed on the top level page in user space. (Note: warnings and notices in the user talk space should be substituted.)
Wrong title templates
These templates, used in the main-space, add a comment about why an article is misnamed. They may be removed as the MediaWiki titling facilities improve, and the wording/layout may change.
Chemical abbreviations
See Category:Chemical element symbol templates. These are used to simplify the entry of chemical formulae.
Deletion-related
Most templates related to renaming or deleting pages are used temporarily, and thus do not need to be substituted (it just makes more work to delete them).
Exceptions
The following templates must be substituted in order to work correctly:
In addition, those templates which document a finished deletion process ({{afd top}}, etc.) should be substituted.
Under debate
See also
This page is referenced in the Wikipedia Glossary.
Last edited on 28 April 2021, at 15:44
Content is available under CC BY-SA 3.0 unless otherwise noted.
Privacy policy
Terms of Use
Desktop
HomeRandomNearbyLog inSettingsDonateAbout WikipediaDisclaimers
LanguageWatchEdit