PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.10.1
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.10.1
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / classes / WpMatomo / Admin / PluginSuggestions / Suggestions / SearchEngineKeywordsPerformance.php
matomo / classes / WpMatomo / Admin / PluginSuggestions / Suggestions Last commit date
AdvertisingConversionExport.php 3 months ago Funnels.php 3 months ago HeatmapSessionRecording.php 3 months ago SearchEngineKeywordsPerformance.php 3 months ago UsersFlow.php 3 months ago WpPremiumBundle.php 3 months ago
SearchEngineKeywordsPerformance.php
70 lines
1 <?php
2 /**
3 * Matomo - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 * @package matomo
8 */
9
10 namespace WpMatomo\Admin\PluginSuggestions\Suggestions;
11
12 if ( ! defined( 'ABSPATH' ) ) {
13 exit; // if accessed directly
14 }
15
16 use Piwik\Common;
17 use Piwik\DataTable;
18 use WpMatomo\Admin\PluginSuggestions\Suggestion;
19 use WpMatomo\Bootstrap;
20
21 class SearchEngineKeywordsPerformance extends Suggestion {
22
23 private $visits_threshold;
24
25 public function __construct( $visits_threshold = 100 ) {
26 $this->visits_threshold = $visits_threshold;
27 }
28
29 public function should_trigger() {
30 Bootstrap::do_bootstrap();
31
32 /** @var DataTable $data */
33 $data = $this->get_last_month_data(
34 'Referrers.getReferrerType',
35 500,
36 'label',
37 [ '_setReferrerTypeLabel' => 0 ]
38 );
39 $search_engines = $data->getRowFromLabel( Common::REFERRER_TYPE_SEARCH_ENGINE );
40
41 if ( empty( $search_engines ) ) {
42 return false;
43 }
44
45 $visits_from_search_engines = $search_engines->getColumn( 'nb_visits' );
46 if ( empty( $visits_from_search_engines ) ) {
47 return false;
48 }
49
50 $total = array_sum( $data->getColumn( 'nb_visits' ) );
51 if ( empty( $total ) ) {
52 return false;
53 }
54
55 $percent_from_search_engines = (float) $visits_from_search_engines / (float) $total;
56
57 return $total >= $this->visits_threshold && $percent_from_search_engines > 0.40;
58 }
59
60 public function init() {
61 $this->plugin_slug = 'SearchEngineKeywordsPerformance';
62 $this->plugin_name = __( 'Search Engine Keywords Performance', 'matomo' );
63 $this->plugin_desc_long = __( 'A large share of your traffic comes from search engines. Discover which keywords bring visitors to your site.', 'matomo' );
64 $this->plugin_desc_short = __( 'Uncover the keywords people use to find your site', 'matomo' );
65 $this->trigger_desc_short = __( 'Search engine traffic', 'matomo' );
66 $this->trigger_desc_long = __( 'High traffic from search engines', 'matomo' );
67 $this->image_file = 'search-engine-keywords-performance.webp';
68 }
69 }
70