Extension: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 | |
|
|
Téléchargements trimestriels | 129 (Ranked 46th) |
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 dossierextensions/
.
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)
|
La hauteur de l'image en px. (Défini automatiquement si le nom d'une image est défini en 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)
|
Le paramètre régional dans lequel ces balises sont marquées. 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)
|
Les auteurs de l'article. | {{#seo:|author=Jon Doe}} |
section | (empty)
|
Un nom de section de haut niveau. Par exemple, la technologie | {{#seo:|section=Technology}} |
published_time | (empty)
|
Quand l'article a été publié pour la première fois. Format ISO 8601. | {{#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)
|
Si vous n'avez pas défini de nom de site global via $wgTwitterSiteHandle , vous pouvez définir un identifiant de site par page. Si un identifiant de site global est défini, cette clé sera ignorée.
|
{{#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
|
Utilisé dans @graph @type | {{#seo:|citation_type=MedicalScholarlyArticle}} |
citation_name | (empty)
|
Nom de la publication | {{#seo:|citation_name=Cataloging & Classification Quarterly}} |
citation_headline | (empty)
|
Titre de l'article. | {{#seo:|citation_headline=Works in Cataloging}} |
citation_date_published | (empty)
|
Date de première diffusion/publication. | {{#seo:|citation_date_published=2012-01-01}} |
citation_date_created | (empty)
|
La date à laquelle le CreativeWork a été créé ou l'élément a été ajouté à un DataFeed .
|
{{#seo:|citation_date_created=2012-01-01}} |
citation_page_start | (empty)
|
La page sur laquelle commence le travail; par exemple "135" ou "xiii". | {{#seo:|citation_page_start=135}} |
citation_doi | (empty)
|
L'URL d'une page Web de référence indiquant sans ambiguïté l'identité de l'élément. Par exemple, l'URL de la page Wikipedia de l'élément, l'entrée Wikidata ou le site officiel. | {{#seo:|citation_doi=http://dx.doi.org/10.1038/nphys1170}} |
citation_author | (empty)
|
Un ou plusieurs auteurs séparés par ;
|
{{#seo:|citation_author=Doe, John; Bar, Foo}} |
citation_publisher | (empty)
|
Nom de l'éditeur | {{#seo:|citation_journal_title=Elsevir}} |
citation_license | (empty)
|
Un document de licence qui s'applique à ce contenu, généralement indiqué par URL. | {{#seo:|citation_license=link}} |
citation_volume | (empty)
|
Numéro de volume | {{#seo:|citation_volume=50}} |
keywords | (empty)
|
Mots-clés de l'article(*) | {{#seo:|citation_keywords=Keyword a; Keyword b; ...}} |
description | (empty)
|
Une description de l'article(*) | {{#seo:|description=An article about cataloging}} |
(*) Ces paramètres sont pris en charge par tous les générateurs.
Veuillez noter que le générateur de Citations n'est pas activé par défaut !
Pour activer le générateur, ajoutez l'extrait suivant à 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. Cela vous permet d'utiliser Cargo ou Semantic MediaWiki avec Page Forms pour l'entrée de données, ou pour la création programmatique d'un titre de page à partir de variables ou de contenu existants...
{{#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 fournit un script de maintenance pour générer des descriptions pour les pages spécifiées.
Ce script nécessite Extension:TextExtracts pour être installé et actif.
Le script ne générera des descriptions que pour les pages qui n'ont pas une propriété de description
définie dans la table des propriétés de la page.
Vous pouvez forcer la génération à utiliser le drapeau --force
, ce qui supprimera toute description déjà présente.
Une liste d'id de l'espace de noms doit être donnée pour que le script fonctionne:
# Ne s'exécute uniquement dans l'espace de noms principal php maintenance/run.php ./extensions/WikiSEO/maintenance/GenerateDescription.php 0 # Ne s'exéchute uniquement dans l'espace de noms principal et se substitue aux descriptions existantes php maintenance/run.php ./extensions/WikiSEO/maintenance/GenerateDescription.php --force 0 # S'exécute dans l'espace de noms 1234, se substitue aux descriptions existantes et supprime les phrases en l'air php maintenance/run.php ./extensions/WikiSEO/maintenance/GenerateDescription.php --force --cleanSentence 1234
Configuration
Les variables suivantes sont utilisées par cette extension.
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
Définir une image par défaut à utiliser si aucune image n'est définie sur le site. Si cette variable n'est pas définie, le logo du site sera utilisé.
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"]
Si vous souhaitez simplement modifier le titre de la page et ajouter "description", "mot-clé", "robots" les balises de l'ensemble $wgMetadataGenerators = [];
$wgWikiSeoDisableLogoFallbackImage
Désactiver le paramètre $wgLogo comme image de secours si aucune image n'a été définie pour une page.
$wgTwitterCardType
La valeur par défaut est "summary_large_image" pour le type de carte Twitter.
Utilisation : $wgTwitterCardType = 'summary';
$wgWikiSeoNoindexPageTitles
Un ensemble de titres de page où une balise robot 'noindex' doit être ajoutée. Utilisation : $wgWikiSeoNoindexPageTitles = [ 'Custom_Title', 'Main_Page' ];
$wgWikiSeoDefaultLanguage
Un code de langue par défaut avec une zone pour générer un <link rel="alternate" href="current Url" hreflang="xx-xx">
.
Utilisation : $wgWikiSeoDefaultLanguage = 'de-de';
$wgWikiSeoEnableAutoDescription
Si aucune description n'a été donnée dans la fonction parser, une brève description à partir de Extension:TextExtracts sera demandée.
Une description ne sera définie que si la page est modifiée et enregistrée.
Alternativement, le script de maintenance GenerateDescription
peut être exécuté depuis le dossier d'extension.
$wgWikiSeoTryCleanAutoDescription
Tente de supprimer les phrases pendantes de la description fournie par TextExtracts. Cela supprimera la dernière phrase qui ne se termine pas par un '.' et entraînera des descriptions de moins de 160 caractères.
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
- 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.
Si une autre image a été définie à l'aide de WikiSEO, les deux og:image
seront ajoutés à la page.
Plus d'information :
La définition de $wgPageImagesOpenGraph = false;
désactive les images de page qui définissent les méta-tags de og:image*
.
Vous pouvez également définir $wgWikiSeoOverwritePageImage = true;
pour remplacée l'image définie par PageImages avec celle spécifiée par WikiSEO.
Autres détails
Cette extension n'est pas un remplacement direct de la version précédente de cette extension de tinymighty/wiki-seo.
Si vous souhaitez supprimer uniquement le titre de l'affichage sur les pages (et non ajouter des mots à celle-ci), vous pouvez également consulter la balise DISPLAYTITLE en combinaison avec les paramètres Manuel:$wgAllowDisplayTitle et Manuel:$wgRestrictDisplayTitle .
Notez que cette extension stocke les propriétés pertinentes dans le tableau page_props. Son hook d'analyse conserve les propriétés précédentes lorsqu'il est invoqué depuis le commit 78245b3 (publié dans v2.6.6). This enables administrators to set these properties manually with other tools like Extension:PageProperties . D'autre part, les paramètres supprimés de l'appel de la fonction parser resteront sur la page. Ces propriétés obsolètes peuvent être éliminées en supprimant temporairement les mots magiques ou en désactivant l'extension, puis en réinitialisant la page.
schema.org
The SchemaOrg
generator will set a SearchAction property based on Special:Search.[5]
Les propriétés éditeur et auteur seront fixés à Organization
avec le nom fixé au contenu de $wgSitename
.
dateModified
sera automatiquement réglé en obtenant le dernier timestamp de révision.
Si aucun published_time
n'est défini, datePublished
sera initialisé sur la dernière date de révision.
OpenGraph
article:modified_time
sera automatiquement réglé en obtenant le dernier timestamp de révision.
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
- ↑ Search Engine Optimisation
- ↑ Open Graph type "article"
- ↑ Twitter Cards
- ↑ Schema.org ScholarlyArticle
- ↑ SearchAction
Voir aussi
- Extension:Description2
- Extension:MetaMaster
- Extension:Semantic Meta Tags
- Extension:AdvancedMeta
- Extension:PageProperties
Cette extension est incluse dans les fermes de wikis ou les hôtes suivants et / ou les paquets : Cette liste ne fait pas autorité. Certaines fermes de wikis ou hôtes et / ou paquets peuvent contenir cette extension même s'ils ne sont pas listés ici. Vérifiez toujours cela avec votre ferme de wikis ou votre hôte ou votre paquet avant de confirmer. |