Extension:WikiSEO
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 | 112 (Ranked 47th) |
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) |
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.
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.
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.
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
- ↑ 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. |