Jump to content

Extension:Plausible

From mediawiki.org
This page is a translated version of the page Extension:Plausible and the translation is 100% complete.
Příručka k rozšířením MediaWiki
Plausible
Stav rozšíření: stabilní
Implementace Uživatelská aktivita
Popis Přidá analýzu webových stránek v souladu s GDPR
Autoři Octfxdiskuse
Nejnovější verze 1.4.0 (2023-12-14)
MediaWiki >= 1.39
PHP >=8.0
Composer octfx/plausible

  • $wgPlausibleDomain
  • $wgPlausibleDomainKey
  • $wgPlausibleHonorDNT
  • $wgPlausibleTrackOutboundLinks
  • $wgPlausibleTrackLoggedIn
  • $wgPlausibleEnableCustomEvents
  • $wgPlausibleIgnoredTitles
  • $wgPlausibleEnableOptOutTag
  • $wgPlausibleTrack404
  • $wgPlausibleTrackSearchInput
  • $wgPlausibleTrackEditButtonClicks
  • $wgPlausibleTrackCitizenSearchLinks
  • $wgPlausibleTrackCitizenMenuLinks
Licence GNU General Public License 2.0 nebo novější
Stáhnout
https://github.com/octfx/mediawiki-extension-Plausible/blob/master/README.md

Rozšíření Plausible umožňuje používat Plausible Analytics, což je jednoduchá, lehká (< 1 KB), open-source a ochranná alternativa ke Google Analytics. Nepoužívá soubory cookie a je plně v souladu s Obecné nařízení o ochraně osobních údajů (GDPR), Kalifornským zákonem o ochraně soukromí spotřebitelů (CCPA) a Nařízení o ochraně soukromí a elektronických komunikacích (směrnice ES) z roku 2003 (PECR).

Podívejte se na stránku Věrohodná analýza na GitHub.

Instalace

  • Download, extract soubor/y a vložte je do adresáře pojmenovaného Plausible ve vaší složce extensions/.
  • Na konec vašeho souboru LocalSettings.php přidejte následující kód:
    wfLoadExtension( 'Plausible' );
    $wgPlausibleDomain = "https://plausible.io";
    $wgPlausibleDomainKey = "mywiki.example.com"; // změna adresy vašich stránek
    
  • Vyžaduje nastavení v konfiguračním souboru.
  • Yes Dokončeno – Přejděte na stránku Special:Version vaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.

Nastavení

Klíč Popis Povinné? Příklad Výchozí
$wgPlausibleDomain Hosting domény Plausible instance (pravděpodobný příklad) Požadované https://plausible.io null
$wgPlausibleDomainKey Klíč domény (tj. adresa webu) registrovaný u Plausible instance Požadované mywiki.example.com null
$wgPlausibleHonorDNT Respektujte záhlaví Nesledovat a zakažte sledování Volitelné false true
$wgPlausibleTrackOutboundLinks Povolit sledování kliknutí na odchozí odkazy Volitelné true false
$wgPlausibleTrackFileDownloads Povolit sledování kliknutí na odkazy, které vedou k souborům, a odeslat událost Stažení souboru. Viz oficiální dokumentace. Volitelné true false
$wgPlausibleTrackFileDownloadExtensions Seznam dalších přípon souborů, které je třeba sledovat. Viz oficiální dokumentace. Volitelné ['js', 'py'] []
$wgPlausibleTrackLoggedIn Povolit sledování pro přihlášené uživatele Volitelné true false
$wgPlausibleEnableCustomEvents Enable to add the global window.plausible function needed for custom event tracking Volitelné true false
$wgPlausibleIgnoredTitles Seznam názvů stránek, které by neměly být sledovány. Examples Volitelné ['/Page1', '/Special:*', ] []
$wgPlausibleEnableOptOutTag Enables or disables the ‎<plausible-opt-out /> tag that allows users to opt-out from being tracked Volitelné false true
$wgPlausibleApiKey Api key used when Extension:PageViewInfo is active Volitelné

Zahrnuté sledovací skripty

The following tracking modules can be activated by setting the provided configuration key in LocalSettings.php to true.

Key Description EventName
$wgPlausibleTrack404 Sends a '404' event for unknown titles 404
$wgPlausibleTrackSearchInput Send inputs to #searchInput to plausible as a custom event named 'SearchInput' SearchInput
$wgPlausibleTrackEditButtonClicks Track clicks to #ca-edit a as a custom event named 'EditButtonClick' EditButtonClick
$wgPlausibleTrackCitizenSearchLinks Only for skin Citizen. Track clicks to search result links found in #typeahead-suggestions. Event is named 'CitizenSearchLinkClick' CitizenSearchLinkClick
$wgPlausibleTrackCitizenMenuLinks Only for skin Citizen. Track clicks to links in the sidebar menu. Event is named 'CitizenMenuLinkClick' CitizenMenuLinkClick

Sledování vlastních událostí

https://github.com/plausible/docs/blob/master/docs/custom-event-goals.md

If you want to track custom event goals like button clicks or form completions, you have to trigger these custom events from your website using JavaScript.

Scripts need to be placed in MediaWiki:<Your Skin>.js e.g. MediaWiki:Citizen.js.

Example: Tracking edit button clicks on SkinCitizen.

if (typeof window.plausible === 'undefined') {
    return;
}

document.querySelector('#ca-edit a').addEventListener('click', function (event) {
    plausible('Editbtn Clicked');
});

Ignorování stránek

https://github.com/plausible/docs/blob/master/docs/excluding-pages.md#common-use-cases-and-examples

By default, Plausible Analytics tracks every page you install the snippet on. If you don't want Plausible to track specific pages, do not include the snippet on those pages.

Běžné případy použití a příklady

$wgPlausibleIgnoredTitles input Prevents tracking on pages with a URL path of:
/blog4 /blog4 and exactly /blog4 with nothing before or after it, so not /blog45 nor /blog4/new nor /blog
/rule/* /rule/<anything>, with <anything> being any set of characters (length >=0), but not a forward slash - for example, both /rule/1 as well as /rule/general-rule-14, but not /rule/4/details nor /rules
/how-to-* /how-to-<anything> - for example, /how-to-play or /how-to-succeed, but not how-to-/blog
/*/admin /<anything>/admin - for example, /sites/admin, but not /sites/admin/page-2 nor /sites/2/admin nor /admin
/*/priv/* /<anything>/priv/<anything> - for example, /admin/priv/sites, but not /priv nor /priv/page nor /admin/priv
/rule/*/* /rule/<anything>/<anything> - for example, /rule/4/new/ or /rule/10/edit, but not /rule nor /rule/10/new/save
/wp/** /wp<anything, even slashes> - for example, /wp/assets/subdirectory/another/image.png or /wp/admin, and everything in between, but not /page/wp

Sledování na straně serveru

Některé události lze odesílat na straně serveru, aniž by bylo nutné spoléhat se na přiložený věrohodný klientský skript.

Lze aktivovat následující vlastní události:

$wgPlausibleServerSideTracking = [
    'pageview' => false,
    'page404' => false,
    'pageedit' => true,
    'pagedelete' => true,
    'pageundelete' => true,
    'pagemove' => true,
    'userregister' => true,
    'userlogin' => true,
    'userlogout' =>  true,
    'fileupload' => true,
    'filedelete' => true,
    'fileundelete' => true,
];

Integrace Lua

With Extension:PageViewInfo active, plausible exposes the following functions:

mw.ext.plausible.topPages()

Vrátí nejčastější stránky a zobrazení za poslední den. The table is ordered by the number of page views, and can be iterated by using ipairs.  

Příklad:

local result = mw.ext.plausible.topPages()

> {
  {
    page = "Foo",
    views = 100
  },
  {
    page = "Bar",
    views = 80
  },
  { [...] }
}

Alternatively this function can be called with the number of days to calculate the views over, e.g. mw.ext.plausible.topPages( 30 )

This is expensive as no caching is employed.

mw.ext.plausible.pageData( titles, days )

Returns the page views for the given titles over the last N days.  

Example:

local result = mw.ext.plausible.pageData( { "Foo", "Bar" }, 5 )

> {
  ["Foo"] = {
    ["2023-08-04"] = 10,
    ["2023-08-05"] = 1,
    ["2023-08-06"] = 4,
    ["2023-08-07"] = 7,
    ["2023-08-08"] = 1,
    ["2023-08-09"] = 4,
  },
  ["Bar"] = {
    ["2023-08-04"] = 100,
    ["2023-08-05"] = 14,
    ["2023-08-06"] = 54,
    ["2023-08-07"] = 7,
    ["2023-08-08"] = 31,
    ["2023-08-09"] = 1,
  },
}

mw.ext.plausible.siteData( days )

Returns the site views for the given last N days.  

Example:

local result = mw.ext.plausible.siteData( 5 )

> {
  ["2023-08-04"] = 10,
  ["2023-08-05"] = 1,
  ["2023-08-06"] = 4,
  ["2023-08-07"] = 7,
  ["2023-08-08"] = 1,
  ["2023-08-09"] = 4,
}

Související odkazy