Extension:Description2
Description2 Release status: stable |
|
---|---|
Implementation | Data extraction, Parser extension |
Description | Provides a meta description tag and adds data to parser output for other extensions to use. |
Author(s) | Daniel Friesen (Dantmantalk) |
Latest version | 0.4.1 |
Compatibility policy | Master maintains backward compatibility. |
MediaWiki | >= 1.38.0 |
Database changes | No |
License | GNU General Public License 2.0 or later |
Download | |
|
|
Quarterly downloads | 46 (Ranked 90th) |
Translate the Description2 extension if it is available at translatewiki.net | |
The Description2 extension adds a description meta tag for articles automatically based on the content. This functionality appears to have been removed from MediaWiki at some point. There are some situations where description extraction (by entities less sophisticated than Google, like Facebook) will extract the wrong description information from the wiki and use something like the sitenotice as the description for a page instead of its content. This extension also adds the description to the parser output in a way that other extensions can make use of (to say provide description in a different format like Extension:OpenGraphMeta does, or perhaps to use it in article lists on the wiki).
Installation
- Download and move the extracted
Description2
folder to yourextensions/
directory.
Developers and code contributors should install the extension from Git instead, using:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Description2 - Add the following code at the bottom of your LocalSettings.php file:
wfLoadExtension( 'Description2' ); $wgEnableMetaDescriptionFunctions = true;
- Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
Extra options
If you set $wgEnableMetaDescriptionFunctions = true;
in your LocalSettings.php a {{#description2:}}
parser function can be used to control the description outputted for the page and override it with a custom one.
You can use these parser extensions like so:
{{#description2:This is a description}}
You can use the description2 parser function instead to provide a description tag you can control with a template's variables.
Algorithm
Description is extracted from the HTML representation of a page:
- Remove all
<table>
elements (and its contents). - Find all
<p>
elements. - Iterate over those paragraphs, stripping out all HTML tags (see strip_tags()) and trimming whitespace around it.
- The first non-empty paragraph (after all previous transformation) is picked as the description.
Things to consider:
- When using templates at the top of the articles, if you use
<div>
instead of tables for the template, be sure it doesn't render paragraphs, which otherwise will be used as the description. This may happen if you have several<div>
inside the template with newlines.
See also
- Extension:OpenGraphMeta – uses Description2's description information when installed.
- Extension:MetaDescriptionTag
- Extension:Semantic Meta Tags
This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |