PluginProbe
ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO / 2.14.1
ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO v2.14.1
2.14.2 2.14.1 2.14.0 2.13.0 2.12.0 2.11.0 2.10.0 2.9.0 2.8.0 2.7.0 2.6.0 2.5.0 2.4.0 2.3.0 2.2.0 2.1.1 2.1.0 2.0.2 2.0.1 2.0.0 1.32.0 1.31.0 1.30.0 1.29.0 1.28.0 All 57 releases
← All changes | includes/core/class-seo-plugin-detector.php +38 -4 2.4.0 → 2.14.1 View file →
@@ -63,8 +63,25 @@
63 63 'file' => 'all-in-one-seo-pack/all_in_one_seo_pack.php',
64 64 'extra_files' => ['all-in-one-seo-pack-pro/all_in_one_seo_pack.php'],
65 65 'importable' => true,
66 66 ],
67 + 'squirrly' => [
68 + 'name' => 'Squirrly SEO',
69 + 'class' => 'SQ_Classes_ObjController',
70 + 'function' => 'sq_wpcall',
71 + 'file' => 'squirrly-seo/squirrly.php',
72 + 'extra_files' => ['squirrly-seo-pack/index.php'],
73 + 'importable' => true,
74 + ],
75 + 'slimseo' => [
76 + 'name' => 'Slim SEO',
77 + 'class' => 'SlimSEO\\Activator',
78 + 'function' => '',
79 + 'file' => 'slim-seo/slim-seo.php',
80 + // Slim SEO Pro runs with or without the free plugin (#886).
81 + 'extra_files' => ['slim-seo-pro/slim-seo-pro.php'],
82 + 'importable' => true,
83 + ],
67 84 'theseoframework' => [
68 85 'name' => 'The SEO Framework',
69 86 'class' => 'The_SEO_Framework\\Load',
70 87 'function' => 'the_seo_framework',
@@ -71,8 +88,20 @@
71 88 'file' => 'autodescription/autodescription.php',
72 89 'extra_files' => [],
73 90 'importable' => false,
74 91 ],
92 + // Brainstorm Force's SEO plugin. Missing from this list, a site moving
93 + // from SureRank kept both running: every head tag doubled and no
94 + // conflict notice or deactivate action appeared (#916). The class is
95 + // declared by loader.php, which surerank.php requires directly.
96 + 'surerank' => [
97 + 'name' => 'SureRank',
98 + 'class' => 'SureRank\\Loader',
99 + 'function' => '',
100 + 'file' => 'surerank/surerank.php',
101 + 'extra_files' => [],
102 + 'importable' => false,
103 + ],
75 104 ];
76 105
77 106 /**
78 107 * Detected plugins cache
@@ -148,11 +177,16 @@
148 177 if (!empty($plugin['function']) && function_exists($plugin['function'])) {
149 178 return true;
150 179 }
151 180
152 - // Check by plugin file
153 - if (!empty($plugin['file']) && function_exists('is_plugin_active') && is_plugin_active($plugin['file'])) {
154 - return true;
181 + // Check by plugin file, the add-on's included: Slim SEO Pro runs
182 + // without the free plugin, and is no less a second SEO plugin then.
183 + if (function_exists('is_plugin_active')) {
184 + foreach (array_merge([$plugin['file'] ?? ''], $plugin['extra_files'] ?? []) as $file) {
185 + if ($file !== '' && is_plugin_active($file)) {
186 + return true;
187 + }
188 + }
155 189 }
156 190
157 191 return false;
158 192 }
@@ -166,9 +200,9 @@
166 200 if (!self::has_seo_plugins()) {
167 201 return '';
168 202 }
169 203
170 - return __('Running more than one SEO plugin can create conflicts — duplicate meta tags, sitemaps, and schema markup that may hurt your search rankings. To avoid any SEO-related conflicts, we recommend deactivating third-party SEO plugins.', 'thinkrank');
204 + return __('Running more than one SEO plugin can create conflicts: duplicate meta tags, sitemaps, and schema markup that may hurt your search rankings. To avoid any SEO-related conflicts, we recommend deactivating third-party SEO plugins.', 'thinkrank');
171 205 }
172 206
173 207 /**
174 208 * Whether any detected plugin's SEO data can be imported into ThinkRank.