Extension:WikiSEO

This page is a translated version of the page Extension:WikiSEO and the translation is 80% complete.
Manuel des extensions MediaWiki
WikiSEO
État de la version : stable
Implémentation Fonction d'analyseur
Description Permet d'ajouter des méta-éléments communs dans le cadre de l'optimisation des moteurs de recherche (SEO)
Auteur(s) Octfxdiscussion
Maintenance Octfx
Dernière version 2.7.0 (2023-06-29)
MediaWiki 1.39+
PHP 7.4+
Composer octfx/wiki-seo
Licence Licence publique générale GNU v2.0 ou supérieur
Téléchargement
  • $wgWikiSeoSocialImageShowAuthor
  • $wgFacebookAdmins
  • $wgWikiSeoSocialImageShowLogo
  • $wgPinterestSiteVerificationKey
  • $wgMetadataGenerators
  • $wgGoogleSiteVerificationKey
  • $wgFacebookAppId
  • $wgWikiSeoSocialImageHeight
  • $wgBingSiteVerificationKey
  • $wgTwitterCardType
  • $wgYandexSiteVerificationKey
  • $wgWikiSeoEnableSocialImages
  • $wgWikiSeoTryCleanAutoDescription
  • $wgWikiSeoDefaultImage
  • $wgNortonSiteVerificationKey
  • $wgTwitterSiteHandle
  • $wgWikiSeoSocialImageBackgroundColor
  • $wgWikiSeoDefaultLanguage
  • $wgWikiSeoSocialImageWidth
  • $wgWikiSeoOverwritePageImage
  • $wgNaverSiteVerificationKey
  • $wgWikiSeoSocialImageIcon
  • $wgWikiSeoEnableAutoDescription
  • $wgWikiSeoDisableLogoFallbackImage
  • $wgWikiSeoNoindexPageTitles
  • $wgWikiSeoSocialImageTextColor
Téléchargements trimestriels 123 (Ranked 48th)
Traduire l’extension WikiSEO sur translatewiki.net si elle y est disponible
Problèmes Tâches ouvertes · Signaler un bogue

L'extension WikiSEO vous permet de remplacer, d'ajouter ou de préfixer le contenu de la balise de titre HTML. Il vous permet également d'ajouter des méta-éléments communs pour l'optimisation des moteurs de recherche (SEO[1]) tels que les mots clés (keywords) et description.

Une file d'attente des tâches opérationnelle est absolument nécessaire pour que cette extension fonctionne.

Installation

  • Téléchargez et placez le(s) fichier(s) dans un répertoire appelé WikiSEO dans votre dossier extensions/.
    Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/WikiSEO
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php  :
    wfLoadExtension( 'WikiSEO' );
    
  • Configurez si nécessaire.
  •   Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.

Utilisation

L'extension peut être utilisée via la fonction d'analyse {{#seo}} ou dans les modules Lua en utilisant mw.ext.seo.set(). Elle accepte les paramètres nommés suivants dans n'importe quel ordre.

Paramètres pris en charge par tous les générateurs

Nom Valeur par défaut Description Exemple
title (empty) Titre que vous voulez voir apparaître dans la balise de titre HTML. Il sera également utilisé pour les métadonnées OpenGraph, Schema.org et Twitter.
{{#seo:|title=This is the title of the page}}
title_mode replace Initialiser pour indiquer comment le titre sera suffixé, préfixé, ou remplacé (par défaut). Vous trouverez d'autres exemples ici.
{{#seo:|title=This replaces the Title of the Page|title_mode=replace}}
title_separator - Le séparateur dans le cas title_mode a été configuré pour préfixer ou suffixer.
{{#seo:|title=This gets prepended to the page name separated by the separator|title_mode=prepend|title_separator=<<}}
keywords (empty) Une liste de mots clés séparée par des virgules décrivant le contenu de la page. Elle sera également utilisée pour les métadonnées OpenGraph, Schema.org et Twitter.
{{#seo:|keywords=Apple, Pears, Oranges}}
description (empty) Texte court décrivant le sujet de la page. Il sera également utilisé pour les métadonnées OpenGraph, Schema.org et Twitter.
{{#seo:|description=This page contains information about...}}

Paramètres pris en charge par le générateur Metatag

Nom Valeur par défaut Description Exemple
robots (empty) Contrôle le comportement des moteurs de recherche pour l'exploration et l'indexation
{{#seo:|robots=noindex, nofollow}}
googlebot (empty) Contrôle le comportement de l'explorateur google
{{#seo:|googlebot=noindex, nofollow}}
hreflang_xx-xx (empty) Ajoute <link rel="alternate" href="url" hreflang="xx-xx"> éléments
{{#seo:|hreflang_de-de=https://example.com}}

Paramètres pris en charge par le générateur OpenGraph / Twitter

Nom Valeur par défaut Description Exemple
type (empty) Type de votre objet, par exemple "video.movie". Selon le type que vous spécifiez, d'autres propriétés peuvent également être requises.
{{#seo:|type=website}}
image (empty) Une URL d'image qui dit représenter votre objet dans le graphique.
L'extension ajoutera automatiquement l'URL correcte de l'image avec sa largeur et sa hauteur, si un nom d'image est fourni en paramètre. Exemple image = Local_file_to_use.png.
Vous pouvez aussi utiliser l'URL complète d'une image, il faudra alors que image_width et image_height soient définis manuellement.
Si le paramètre no est initialisé, l'extension se repliera sur $wgLogo ou sur le fichier local défini par $wgWikiSeoDefaultImage.
{{#seo:|image=Local_File.png}}
image_width (empty) Largeur de l'image en pixels (px). (mis automatiquement si le nom d'une image est défini dans image)
{{#seo:|image_width=420}}
image_height (empty) The image height in px. (Automatically set if an image name is set in image)
{{#seo:|image_height=69}}
image_alt (empty) Courte phrase décrivant l'image
{{#seo:|image_alt=A picture showing an orange cat.}}
locale (empty) The locale these tags are marked up in. dans le format: langue_PAYS
{{#seo:|locale=en-US}}
site_name (empty) Si votre objet fait partie d'un site web plus grand, utilisez le nom qui doit être affiché pour le site global. Par exemple, "IMDb".
{{#seo:|site_name=WMF}}

Paramètres avec type=article pris en charge par le générateur OpenGraph

Voir type=article.[2]

Nom Valeur par défaut Description Exemple
author (empty) Writers of the article.
{{#seo:|author=Jon Doe}}
section (empty) A high-level section name. E.g. Technology
{{#seo:|section=Technology}}
published_time (empty) When the article was first published. ISO 8601 Format.
{{#seo:|published_time=2012-01-25}}

Paramètres pris en charge par le générateur Twitter

See OpenGraph Tags.[3]

Nom Valeur par défaut Description Exemple
twitter_site (empty) If you did not set a global site name through $wgTwitterSiteHandle, you can set a site handle per page. If a global site handle is set this key will be ignored.
{{#seo:|twitter_site=MediaWiki}}

Paramètres pris en charge par le générateur de Citations

Voir Schema.org.[4]

Nom Valeur par défaut Description Exemple
citation_type ScholarlyArticle Used in @graph @type
{{#seo:|citation_type=MedicalScholarlyArticle}}
citation_name (empty) Name of the Publication
{{#seo:|citation_name=Cataloging & Classification Quarterly}}
citation_headline (empty) Headline of the article.
{{#seo:|citation_headline=Works in Cataloging}}
citation_date_published (empty) Date of first broadcast/publication.
{{#seo:|citation_date_published=2012-01-01}}
citation_date_created (empty) The date on which the CreativeWork was created or the item was added to a DataFeed.
{{#seo:|citation_date_created=2012-01-01}}
citation_page_start (empty) The page on which the work starts; for example "135" or "xiii".
{{#seo:|citation_page_start=135}}
citation_doi (empty) URL of a reference Web page that unambiguously indicates the item's identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or official website.
{{#seo:|citation_doi=http://dx.doi.org/10.1038/nphys1170}}
citation_author (empty) One or more authors separated by ';'
{{#seo:|citation_author=Doe, John; Bar, Foo}}
citation_publisher (empty) Name of the publisher
{{#seo:|citation_journal_title=Elsevir}}
citation_license (empty) A license document that applies to this content, typically indicated by URL.
{{#seo:|citation_license=link}}
citation_volume (empty) Volume number
{{#seo:|citation_volume=50}}
keywords (empty) Article Keywords (*)
{{#seo:|citation_keywords=Keyword a; Keyword b; ...}}
description (empty) A description of the item (*)
{{#seo:|description=An article about cataloging}}

(*) these parameters are supported by all generators.

Do note that the Citation generator is not activated by default! To activate the generator add the following snippet to LocalSettings.php:

$wgMetadataGenerators[] = "Citation";

Exemples

Ajouter des valeurs statiques

{{#seo:
|title=Your page title
|title_mode=append
|keywords=these,are,your,keywords
|description=Your meta description
|image=Uploaded_file.png
|image_alt=Wiki Logo
}}

Ajouter des valeurs dynamiques

Si vous devez inclure des variables ou des modèles, vous devez utiliser la fonction d'analyse pour vous assurer qu'ils sont correctement analysables. This allows you to use Cargo or Semantic MediaWiki , with Page Forms , for data entry, or for programmatic creation of a page title from existing variables or content...

{{#seo:
 |title={{#if: {{{page_title|}}} | {{{page_title}}} | Welcome to WikiSEO}}
 |title_mode={{{title_mode|}}}
 |keywords={{{keywords|}}}
 |description={{{description|}}}
 |published_time={{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}
}}
{{#seo:
 |title_mode=append
 |title=Example SEO Wiki
 |keywords=WikiSEO, SEO, MediaWiki
 |description=An example description for this wiki
 |image=Wiki_Logo.png
 |image_alt=Wiki Logo
 |site_name=Example SEO Wiki
 |locale=en_EN
 |type=website
 |modified_time={{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}
 |published_time=2020-11-01
}}

Utilisation dans les modules Lua

-- Module:SEO
local seo = {}

--[[
argTable format:
{
  title_mode = 'append',
  title = 'Example Seo Wiki',
  keywords = 'WikiSEO, SEO, MediaWiki',
  -- ...
}
]]--
function seo.set( argTable )
  mw.ext.seo.set( argTable )
end

function seo.setStatic()
  mw.ext.seo.set{
    title_mode = 'append',
    title = 'Example Seo Wiki',
    keywords = 'WikiSEO, SEO, MediaWiki',  
  }
end

return seo

Le module pourrait désormais s'appeler {{#invoke:SEO|set|title=ExampleTitle|keywords=WikiSEO, SEO, MediaWiki}} ou {{#invoke:SEO|setStatic}}.

Attributs Hreflang

{{#seo:
 |hreflang_de-de=https://example.de/page
 |hreflang_nl-nl=https://example.nl/page-nl
 |hreflang_en-us=https://website.com/
}}

Va générer les ‎<link> éléments suivants :

<link rel="alternate" href="https://example.de/page" hreflang="de-de">
<link rel="alternate" href="https://example.nl/page-nl" hreflang="nl-nl">
<link rel="alternate" href="https://website.com/" hreflang="en-us">

Modes des titres

Exemple : page ayant le titre Example Page

Append

{{#seo:
 |title_mode=append
 |title=Appended Title
}}

Résultat du titre HTML : Example Page - Appended Title

Prepend

{{#seo:
 |title_mode=prepend
 |title=Prepended Title
}}

Résultat du titre HTML : Prepended Title - Example Page

Prepend (séparateur modifié)

{{#seo:
 |title_mode=prepend
 |title=Prepended Title
 |title_separator= >> 
}}

Résultat du titre HTML : Prepended Title >> Example Page

Replace (par défaut)

{{#seo:
 |title_mode=replace
 |title=Replaced Title
}}

Résultat du titre HTML : Replaced Title

Script de maintenance

WikiSEO provides a maintenance script to generate descriptions for specified pages. This script requires Extension:TextExtracts to be installed and active. The script will only generate descriptions for pages that don't have a description property set in the page properties table.

You can force the generation using the --force flag, this will overwrite any description already present.

A list of namespace ids needs to be given in order for the script to work:

# Ne s'exécute uniquement dans l'espace de noms principal
php maintenance/GenerateDescription.php 0

# Ne s'exéchute uniquement dans l'espace de noms principal et se substitue aux descriptions existantes
php maintenance/GenerateDescription.php --force 0

# S'exécute dans l'espace de noms 1234, se substitue aux descriptions existantes et et supprime les phrases en l'air
php maintenance/GenerateDescription.php --force --cleanSentence 1234

Configuration

Les variables suivantes sont utilisées par cette extension.

Clés Site / Application
Variable Description Utilisation
$wgGoogleSiteVerificationKey En déclarant cette variable, vous ajouterez une balise <meta name="google-site-verification" content="CODE"> à chaque page. $wgGoogleSiteVerificationKey = 'CODE';
$wgBingSiteVerificationKey En déclarant cette variable vous ajouterez une balise <meta name="msvalidate.01" content="CODE"> à chaque page. $wgBingSiteVerificationKey= 'CODE';
$wgFacebookAppID En déclarant cette variable, vous ajouterez une balise <meta property="fb:app_id" content="ID"> à chaque page. $wgFacebookAppID= 'App_ID';
$wgFacebookAdmins En déclarant cette variable, vous ajouterez une balise <meta property="fb:admins" content="ID1,ID2,..."> à chaque page. $wgFacebookAdmins= 'ID1,ID2,...';
$wgYandexSiteVerificationKey En déclarant cette variable, vous ajouterez une balise <meta name="yandex-verification" content="CODE"> à chaque page. $wgYandexSiteVerificationKey= 'CODE';
$wgAlexaSiteVerificationKey En déclarant cette variable, vous ajouterez une balise <meta name="alexaVerifyID" content="CODE"> à chaque page. $wgAlexaSiteVerificationKey= 'CODE';
$wgPinterestSiteVerificationKey En déclarant cette variable, vous ajouterez une balise <meta name="p:domain_verify" content="CODE"> à chaque page. $wgPinterestSiteVerificationKey= 'CODE';
$wgNortonSiteVerificationKey En déclarant cette variable, vous ajouterez une balise <meta name="norton-safeweb-site-verification" content="CODE"> à chaque page. $wgNortonSiteVerificationKey= 'CODE';
$wgNaverSiteVerificationKey En déclarant cette variable, vous ajouterez une balise <meta name="naver-site-verification" content="CODE"> à chaque page. $wgNaverSiteVerificationKey = 'CODE';

$wgWikiSeoDefaultImage

Set a default image to use if no image is set on the site. If this variable is not set the site's logo will be used.

Utilisation : $wgWikiSeoDefaultImage= 'Localfile.jpg';

$wgMetadataGenerators

Tableau contenant les noms du générateur de métadonnées à charger.

Valeur par défaut : ["OpenGraph", "Twitter", "SchemaOrg"]

If you only want to change the page title and add 'description', 'keywords', 'robots' tags set $wgMetadataGenerators = [];

$wgWikiSeoDisableLogoFallbackImage

Disable setting $wgLogo as a fallback image if no image for a page was set.

$wgTwitterCardType

Defaults to `summary_large_image` for the twitter card type.

Utilisation : $wgTwitterCardType = 'summary';

$wgWikiSeoNoindexPageTitles

An array of page titles where a 'noindex' robot tag should be added. Utilisation : $wgWikiSeoNoindexPageTitles = [ 'Custom_Title', 'Main_Page' ];

$wgWikiSeoDefaultLanguage

A default language code with area to generate a <link rel="alternate" href="current Url" hreflang="xx-xx"> for.

Utilisation : $wgWikiSeoDefaultLanguage = 'de-de';

$wgWikiSeoEnableAutoDescription

If no description was given in the parser function, a short description from Extension:TextExtracts will be requested. A description will only be set, if the page is edited and saved. Alternatively the maintenance script GenerateDescription can be run from the extension folder.

$wgWikiSeoTryCleanAutoDescription

Tries to remove dangling sentences from the description provided by TextExtracts. This will remove the last sentence not ending in a '.', and will result in descriptions shorter than 160 characters.

Images des médias sociaux
Variable Description Utilisation
$wgWikiSeoEnableSocialImages Génére les icônes des médias sociaux dédiés pour les pages $wgWikiSeoEnableSocialImages = true;
$wgWikiSeoSocialImageIcon Icône ou filigrane à ajouter à l'image des médias sociaux. Utilisez un nom de fichier local $wgWikiSeoSocialImageIcon = LocalFile.jpg;
$wgWikiSeoSocialImageWidth Largeur de l'image des médias sociaux $wgWikiSeoSocialImageWidth = 1200;
$wgWikiSeoSocialImageHeight Hauteur de l'image des médias sociaux $wgWikiSeoSocialImageHeight = 620;
$wgWikiSeoSocialImageTextColor Couleur du texte de l'image sociale $wgWikiSeoSocialImageTextColor = '#fff';
$wgWikiSeoSocialImageShowAuthor Afficher l'auteur de la révision de la page courante $wgWikiSeoSocialImageShowAuthor = true;
$wgWikiSeoSocialImageShowLogo Afficher le logo du wiki dans le coin supérieur droit $wgWikiSeoSocialImageShowLogo = true;
$wgWikiSeoSocialImageBackgroundColor Couleur de fond par défaut si aucune image de page n' est trouvée $wgWikiSeoSocialImageBackgroundColor = '#ff00ff';

Migration de la version 1.2.2 vers la version 2.x

Balises supprimées

  • DC.date.created
  • DC.date.issued
  • google
  • name
  • og:title (défini automatiquement)
  • og:url (défini automatiquement)
  • twitter:card (défini automatiquement)
  • twitter:creator
  • twitter:domain
  • article:modified_time / og:updated_time (défini automatiquement)

Alias supprimés

  • metakeywords / metak
use keywords instead
  • metadescription / metad
use description instead
  • titlemode / title mode
use title_mode instead

Noms d'arguments modifiés

  • article:author -> author
  • article:section -> section
  • article:tag -> keywords
  • article:published_time -> published_time
  • og:image / twitter:image:src -> image
  • og:image:width -> image_width
  • og:image:height -> image_height
  • og:locale -> locale
  • og:site_name -> site_name
  • og:title -> title
  • og:type -> type
  • twitter:description -> description

Problèmes connus

Extension:PageImages ajoutera une balise og:image si une image est trouvée sur la page. If another image was set using WikiSEO, both og:image will be added to the page.

Further information:

Setting $wgPageImagesOpenGraph = false; disables PageImages setting any og:image* meta tags.

Additionally you can set $wgWikiSeoOverwritePageImage = true; to overwrite the image set by PageImages with the one specified by WikiSEO.

Autres détails

This extension is not a drop-in replacement for the previous version of this extension from tinymighty/wiki-seo.

If you only want to override the display title on pages (not append words to it), you might also look at the DISPLAYTITLE tag in combination with the Manuel:$wgAllowDisplayTitle and Manuel:$wgRestrictDisplayTitle settings.

Note that this extension stores relevant properties in the page_props table. Its parser hook persists previous properties when invoked since commit 78245b3 (released in v2.6.6). This enables administrators to set these properties manually with other tools like Extension:PageProperties . On the other hand removed parameters from parser function call will persist in the page. These outdated properties can be purged by temporarily removing the magic words or disabling the extension, then reparsing the page.

schema.org

The SchemaOrg generator will set a SearchAction property based on Special:Search.[5]

The properties publisher and author will be set to Organization with the name set to the content of $wgSitename.

dateModified will be automatically set by fetching the latest revision timestamp. If no published_time is set, datePublished will be set to the latest revision timestamp.

OpenGraph

article:modified_time will be automatically set by fetching the latest revision timestamp. Si aucun published_time n'est défini, article:published_time sera initialisé sur la dernière date de révision.

Intégration

WikiSEO utilisera les descriptions fournies par Extension:Description2 .

Notes

Voir aussi