Version Description
Download this release
Release Info
Developer | cifi |
Plugin | SEO SQUIRRLY™ |
Version | 11.1.12 |
Comparing to | |
See all releases |
Code changes from version 11.1.11 to 11.1.12
- classes/BlockController.php +10 -0
- classes/FrontController.php +10 -0
- classes/helpers/DevKit.php +18 -26
- classes/helpers/Tools.php +21 -2
- controllers/Audits.php +6 -11
- controllers/Cron.php +21 -0
- controllers/Frontend.php +14 -13
- controllers/Help.php +13 -0
- controllers/Menu.php +0 -7
- controllers/Research.php +1 -1
- controllers/Sitemaps.php +172 -41
- controllers/Snippet.php +16 -16
- languages/squirrly-seo-cs_CZ.po +0 -1883
- languages/squirrly-seo-de_DE.po +0 -14095
- languages/squirrly-seo-fr_FR.mo +0 -0
- languages/squirrly-seo-ro_RO.po +0 -12932
classes/BlockController.php
CHANGED
@@ -80,6 +80,16 @@ class SQ_Classes_BlockController
|
|
80 |
return SQ_Classes_ObjController::getClass('SQ_Classes_DisplayController')->get_view($view, $this);
|
81 |
}
|
82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
/**
|
84 |
* Show the view block
|
85 |
*
|
80 |
return SQ_Classes_ObjController::getClass('SQ_Classes_DisplayController')->get_view($view, $this);
|
81 |
}
|
82 |
|
83 |
+
/**
|
84 |
+
* Deprecated since version 11.1.11
|
85 |
+
*
|
86 |
+
* @param $view
|
87 |
+
* @return mixed
|
88 |
+
*/
|
89 |
+
public function getView($view) {
|
90 |
+
return $this->get_view($view);
|
91 |
+
}
|
92 |
+
|
93 |
/**
|
94 |
* Show the view block
|
95 |
*
|
classes/FrontController.php
CHANGED
@@ -92,6 +92,16 @@ class SQ_Classes_FrontController
|
|
92 |
return SQ_Classes_ObjController::getClass('SQ_Classes_DisplayController')->get_view($view, $this);
|
93 |
}
|
94 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
/**
|
96 |
* Show the view block
|
97 |
*
|
92 |
return SQ_Classes_ObjController::getClass('SQ_Classes_DisplayController')->get_view($view, $this);
|
93 |
}
|
94 |
|
95 |
+
/**
|
96 |
+
* Deprecated since version 11.1.11
|
97 |
+
*
|
98 |
+
* @param $view
|
99 |
+
* @return mixed
|
100 |
+
*/
|
101 |
+
public function getView($view) {
|
102 |
+
return $this->get_view($view);
|
103 |
+
}
|
104 |
+
|
105 |
/**
|
106 |
* Show the view block
|
107 |
*
|
classes/helpers/DevKit.php
CHANGED
@@ -8,7 +8,7 @@ class SQ_Classes_Helpers_DevKit
|
|
8 |
public static $options;
|
9 |
public static $package;
|
10 |
|
11 |
-
public function __construct()
|
12 |
{
|
13 |
|
14 |
if(SQ_Classes_Helpers_DevKit::getOption('sq_auto_devkit')) {
|
@@ -48,7 +48,7 @@ class SQ_Classes_Helpers_DevKit
|
|
48 |
* @param $key
|
49 |
* @return bool
|
50 |
*/
|
51 |
-
public function getDevKitMenuVisible($value, $key)
|
52 |
{
|
53 |
|
54 |
if (isset(self::$options['menu'][$key])) {
|
@@ -59,7 +59,7 @@ class SQ_Classes_Helpers_DevKit
|
|
59 |
}
|
60 |
|
61 |
//Check if Next SEO Goals are active
|
62 |
-
public function getSEOErrors($errors)
|
63 |
{
|
64 |
if (SQ_Classes_Helpers_Tools::getMenuVisible('show_seogoals')) {
|
65 |
return $errors;
|
@@ -68,7 +68,7 @@ class SQ_Classes_Helpers_DevKit
|
|
68 |
return 0;
|
69 |
}
|
70 |
|
71 |
-
public static function getOptions()
|
72 |
{
|
73 |
if (is_multisite()) {
|
74 |
self::$options = json_decode(get_blog_option(get_main_site_id(), SQ_OPTION), true);
|
@@ -85,7 +85,7 @@ class SQ_Classes_Helpers_DevKit
|
|
85 |
* @param $key
|
86 |
* @return mixed
|
87 |
*/
|
88 |
-
public static function getOption($key)
|
89 |
{
|
90 |
if (!isset(self::$options[$key])) {
|
91 |
self::$options = self::getOptions();
|
@@ -104,7 +104,7 @@ class SQ_Classes_Helpers_DevKit
|
|
104 |
* @param $task
|
105 |
* @return mixed
|
106 |
*/
|
107 |
-
public function getCustomAuditSuccessTask($task)
|
108 |
{
|
109 |
|
110 |
if (SQ_Classes_Helpers_DevKit::getOption('sq_devkit_audit_success')) {
|
@@ -126,7 +126,7 @@ class SQ_Classes_Helpers_DevKit
|
|
126 |
* @param $task
|
127 |
* @return mixed
|
128 |
*/
|
129 |
-
public function getCustomAuditFailTask($task)
|
130 |
{
|
131 |
|
132 |
if (SQ_Classes_Helpers_DevKit::getOption('sq_devkit_audit_fail')) {
|
@@ -145,7 +145,7 @@ class SQ_Classes_Helpers_DevKit
|
|
145 |
/**
|
146 |
* Hook the head
|
147 |
*/
|
148 |
-
public function hookHead()
|
149 |
{
|
150 |
//Hide the ads
|
151 |
if (!SQ_Classes_Helpers_Tools::getMenuVisible('show_ads')) {
|
@@ -164,7 +164,7 @@ class SQ_Classes_Helpers_DevKit
|
|
164 |
* @param $logo
|
165 |
* @return mixed
|
166 |
*/
|
167 |
-
public function getCustomLogo($logo)
|
168 |
{
|
169 |
|
170 |
if (SQ_Classes_Helpers_DevKit::getOption('sq_devkit_logo')) {
|
@@ -180,7 +180,7 @@ class SQ_Classes_Helpers_DevKit
|
|
180 |
* @param $name
|
181 |
* @return string
|
182 |
*/
|
183 |
-
public function getCustomName($name)
|
184 |
{
|
185 |
|
186 |
if (SQ_Classes_Helpers_DevKit::getOption('sq_devkit_name')) {
|
@@ -196,7 +196,7 @@ class SQ_Classes_Helpers_DevKit
|
|
196 |
* @param $name
|
197 |
* @return string
|
198 |
*/
|
199 |
-
public function getCustomMenuName($name)
|
200 |
{
|
201 |
|
202 |
if (SQ_Classes_Helpers_DevKit::getOption('sq_devkit_menu_name')) {
|
@@ -207,7 +207,7 @@ class SQ_Classes_Helpers_DevKit
|
|
207 |
}
|
208 |
|
209 |
//Change the features
|
210 |
-
public function manageFeatures($features)
|
211 |
{
|
212 |
if (!SQ_Classes_Helpers_Tools::getMenuVisible('show_panel')) {
|
213 |
unset($features[0]); //remove the Cloud App features
|
@@ -219,7 +219,7 @@ class SQ_Classes_Helpers_DevKit
|
|
219 |
/**
|
220 |
* Manage the menu visibility
|
221 |
*/
|
222 |
-
public function manageMenu($menu)
|
223 |
{
|
224 |
if (!SQ_Classes_Helpers_Tools::getMenuVisible('show_tutorial')) {
|
225 |
$menu['sq_onboarding']['leftmenu'] = false;
|
@@ -262,7 +262,7 @@ class SQ_Classes_Helpers_DevKit
|
|
262 |
*
|
263 |
* @return bool
|
264 |
*/
|
265 |
-
public function updatePluginData()
|
266 |
{
|
267 |
|
268 |
$wp_filesystem = SQ_Classes_Helpers_Tools::initFilesystem();
|
@@ -281,21 +281,13 @@ class SQ_Classes_Helpers_DevKit
|
|
281 |
SQ_Classes_Helpers_Tools::$options = array_replace_recursive((array)SQ_Classes_Helpers_Tools::$options, (array)self::$package['settings']);
|
282 |
|
283 |
SQ_Classes_Helpers_Tools::saveOptions();
|
284 |
-
|
285 |
-
|
286 |
-
if (SQ_Classes_Helpers_Tools::getMenuVisible('show_tutorial')) {
|
287 |
-
wp_redirect(SQ_Classes_Helpers_Tools::getAdminUrl('sq_onboarding'));
|
288 |
-
die();
|
289 |
-
} else {
|
290 |
-
wp_redirect(SQ_Classes_Helpers_Tools::getAdminUrl('sq_dashboard'));
|
291 |
-
die();
|
292 |
-
}
|
293 |
}
|
294 |
}
|
295 |
|
296 |
|
297 |
//remove the package after activation
|
298 |
-
unlink($package_file);
|
299 |
|
300 |
return true;
|
301 |
}
|
@@ -306,7 +298,7 @@ class SQ_Classes_Helpers_DevKit
|
|
306 |
* @param $string
|
307 |
* @return mixed
|
308 |
*/
|
309 |
-
public function changeString($string)
|
310 |
{
|
311 |
if (isset(self::$plugin['name'])) {
|
312 |
return str_replace(self::$plugin['name'], apply_filters('sq_name', self::$plugin['name']), $string);
|
@@ -315,7 +307,7 @@ class SQ_Classes_Helpers_DevKit
|
|
315 |
}
|
316 |
|
317 |
//Get the package info in case of custom details
|
318 |
-
public function getPackageInfo($key)
|
319 |
{
|
320 |
if (isset(self::$package[$key])) {
|
321 |
return self::$package[$key];
|
8 |
public static $options;
|
9 |
public static $package;
|
10 |
|
11 |
+
public function __construct()
|
12 |
{
|
13 |
|
14 |
if(SQ_Classes_Helpers_DevKit::getOption('sq_auto_devkit')) {
|
48 |
* @param $key
|
49 |
* @return bool
|
50 |
*/
|
51 |
+
public function getDevKitMenuVisible($value, $key)
|
52 |
{
|
53 |
|
54 |
if (isset(self::$options['menu'][$key])) {
|
59 |
}
|
60 |
|
61 |
//Check if Next SEO Goals are active
|
62 |
+
public function getSEOErrors($errors)
|
63 |
{
|
64 |
if (SQ_Classes_Helpers_Tools::getMenuVisible('show_seogoals')) {
|
65 |
return $errors;
|
68 |
return 0;
|
69 |
}
|
70 |
|
71 |
+
public static function getOptions()
|
72 |
{
|
73 |
if (is_multisite()) {
|
74 |
self::$options = json_decode(get_blog_option(get_main_site_id(), SQ_OPTION), true);
|
85 |
* @param $key
|
86 |
* @return mixed
|
87 |
*/
|
88 |
+
public static function getOption($key)
|
89 |
{
|
90 |
if (!isset(self::$options[$key])) {
|
91 |
self::$options = self::getOptions();
|
104 |
* @param $task
|
105 |
* @return mixed
|
106 |
*/
|
107 |
+
public function getCustomAuditSuccessTask($task)
|
108 |
{
|
109 |
|
110 |
if (SQ_Classes_Helpers_DevKit::getOption('sq_devkit_audit_success')) {
|
126 |
* @param $task
|
127 |
* @return mixed
|
128 |
*/
|
129 |
+
public function getCustomAuditFailTask($task)
|
130 |
{
|
131 |
|
132 |
if (SQ_Classes_Helpers_DevKit::getOption('sq_devkit_audit_fail')) {
|
145 |
/**
|
146 |
* Hook the head
|
147 |
*/
|
148 |
+
public function hookHead()
|
149 |
{
|
150 |
//Hide the ads
|
151 |
if (!SQ_Classes_Helpers_Tools::getMenuVisible('show_ads')) {
|
164 |
* @param $logo
|
165 |
* @return mixed
|
166 |
*/
|
167 |
+
public function getCustomLogo($logo)
|
168 |
{
|
169 |
|
170 |
if (SQ_Classes_Helpers_DevKit::getOption('sq_devkit_logo')) {
|
180 |
* @param $name
|
181 |
* @return string
|
182 |
*/
|
183 |
+
public function getCustomName($name)
|
184 |
{
|
185 |
|
186 |
if (SQ_Classes_Helpers_DevKit::getOption('sq_devkit_name')) {
|
196 |
* @param $name
|
197 |
* @return string
|
198 |
*/
|
199 |
+
public function getCustomMenuName($name)
|
200 |
{
|
201 |
|
202 |
if (SQ_Classes_Helpers_DevKit::getOption('sq_devkit_menu_name')) {
|
207 |
}
|
208 |
|
209 |
//Change the features
|
210 |
+
public function manageFeatures($features)
|
211 |
{
|
212 |
if (!SQ_Classes_Helpers_Tools::getMenuVisible('show_panel')) {
|
213 |
unset($features[0]); //remove the Cloud App features
|
219 |
/**
|
220 |
* Manage the menu visibility
|
221 |
*/
|
222 |
+
public function manageMenu($menu)
|
223 |
{
|
224 |
if (!SQ_Classes_Helpers_Tools::getMenuVisible('show_tutorial')) {
|
225 |
$menu['sq_onboarding']['leftmenu'] = false;
|
262 |
*
|
263 |
* @return bool
|
264 |
*/
|
265 |
+
public function updatePluginData()
|
266 |
{
|
267 |
|
268 |
$wp_filesystem = SQ_Classes_Helpers_Tools::initFilesystem();
|
281 |
SQ_Classes_Helpers_Tools::$options = array_replace_recursive((array)SQ_Classes_Helpers_Tools::$options, (array)self::$package['settings']);
|
282 |
|
283 |
SQ_Classes_Helpers_Tools::saveOptions();
|
284 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
285 |
}
|
286 |
}
|
287 |
|
288 |
|
289 |
//remove the package after activation
|
290 |
+
@unlink($package_file);
|
291 |
|
292 |
return true;
|
293 |
}
|
298 |
* @param $string
|
299 |
* @return mixed
|
300 |
*/
|
301 |
+
public function changeString($string)
|
302 |
{
|
303 |
if (isset(self::$plugin['name'])) {
|
304 |
return str_replace(self::$plugin['name'], apply_filters('sq_name', self::$plugin['name']), $string);
|
307 |
}
|
308 |
|
309 |
//Get the package info in case of custom details
|
310 |
+
public function getPackageInfo($key)
|
311 |
{
|
312 |
if (isset(self::$package[$key])) {
|
313 |
return self::$package[$key];
|
classes/helpers/Tools.php
CHANGED
@@ -1134,7 +1134,17 @@ class SQ_Classes_Helpers_Tools
|
|
1134 |
{
|
1135 |
set_transient('sq_activate', true);
|
1136 |
set_transient('sq_import', true);
|
|
|
|
|
1137 |
SQ_Classes_ObjController::getClass('SQ_Models_RoleManager')->addSQRoles();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1138 |
}
|
1139 |
|
1140 |
/**
|
@@ -1401,8 +1411,17 @@ class SQ_Classes_Helpers_Tools
|
|
1401 |
// The WordPress filesystem.
|
1402 |
global $wp_filesystem;
|
1403 |
|
1404 |
-
if (
|
1405 |
-
include_once
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1406 |
WP_Filesystem();
|
1407 |
}
|
1408 |
|
1134 |
{
|
1135 |
set_transient('sq_activate', true);
|
1136 |
set_transient('sq_import', true);
|
1137 |
+
|
1138 |
+
//Add the Squirrly User Role
|
1139 |
SQ_Classes_ObjController::getClass('SQ_Models_RoleManager')->addSQRoles();
|
1140 |
+
|
1141 |
+
//Create Qss table if not exists
|
1142 |
+
SQ_Classes_ObjController::getClass('SQ_Models_Qss')->checkTableExists();
|
1143 |
+
|
1144 |
+
//This option is use for custom Package installs
|
1145 |
+
//update text in case of devkit
|
1146 |
+
SQ_Classes_ObjController::getClass('SQ_Classes_Helpers_DevKit')->updatePluginData();
|
1147 |
+
|
1148 |
}
|
1149 |
|
1150 |
/**
|
1411 |
// The WordPress filesystem.
|
1412 |
global $wp_filesystem;
|
1413 |
|
1414 |
+
if (! function_exists('WP_Filesystem') ) {
|
1415 |
+
include_once ABSPATH . 'wp-admin/includes/file.php';
|
1416 |
+
}
|
1417 |
+
|
1418 |
+
WP_Filesystem();
|
1419 |
+
|
1420 |
+
if (!$wp_filesystem->connect()) {
|
1421 |
+
add_filter( 'filesystem_method', function ($method) {
|
1422 |
+
return 'direct';
|
1423 |
+
}, 1
|
1424 |
+
);
|
1425 |
WP_Filesystem();
|
1426 |
}
|
1427 |
|
controllers/Audits.php
CHANGED
@@ -136,11 +136,7 @@ class SQ_Controllers_Audits extends SQ_Classes_FrontController
|
|
136 |
if (!empty($auditpages)) {
|
137 |
foreach ($auditpages as $auditpage) {
|
138 |
|
139 |
-
/**
|
140 |
-
*
|
141 |
-
*
|
142 |
-
* @var SQ_Models_Domain_FocusPage $auditpage
|
143 |
-
*/
|
144 |
$auditpage = SQ_Classes_ObjController::getDomain('SQ_Models_Domain_AuditPage', $auditpage);
|
145 |
|
146 |
//If there is a local page, then show focus
|
@@ -187,6 +183,10 @@ class SQ_Controllers_Audits extends SQ_Classes_FrontController
|
|
187 |
*/
|
188 |
public function setAuditPages()
|
189 |
{
|
|
|
|
|
|
|
|
|
190 |
$days_back = (int)SQ_Classes_Helpers_Tools::getValue('days_back', 30);
|
191 |
$this->audit = SQ_Classes_RemoteController::getAudit(array('days_back' => $days_back));
|
192 |
|
@@ -201,11 +201,7 @@ class SQ_Controllers_Audits extends SQ_Classes_FrontController
|
|
201 |
if (!empty($auditpages)) {
|
202 |
foreach ($auditpages as $auditpage) {
|
203 |
|
204 |
-
/**
|
205 |
-
*
|
206 |
-
*
|
207 |
-
* @var SQ_Models_Domain_FocusPage $auditpage
|
208 |
-
*/
|
209 |
$auditpage = SQ_Classes_ObjController::getDomain('SQ_Models_Domain_AuditPage', $auditpage);
|
210 |
|
211 |
//If there is a local page, then show focus
|
@@ -214,7 +210,6 @@ class SQ_Controllers_Audits extends SQ_Classes_FrontController
|
|
214 |
}
|
215 |
}
|
216 |
}
|
217 |
-
|
218 |
return $this->auditpages;
|
219 |
}
|
220 |
|
136 |
if (!empty($auditpages)) {
|
137 |
foreach ($auditpages as $auditpage) {
|
138 |
|
139 |
+
/** @var SQ_Models_Domain_FocusPage $auditpage */
|
|
|
|
|
|
|
|
|
140 |
$auditpage = SQ_Classes_ObjController::getDomain('SQ_Models_Domain_AuditPage', $auditpage);
|
141 |
|
142 |
//If there is a local page, then show focus
|
183 |
*/
|
184 |
public function setAuditPages()
|
185 |
{
|
186 |
+
if(is_array($this->auditpages) && !empty($this->auditpages)){
|
187 |
+
return $this->auditpages;
|
188 |
+
}
|
189 |
+
|
190 |
$days_back = (int)SQ_Classes_Helpers_Tools::getValue('days_back', 30);
|
191 |
$this->audit = SQ_Classes_RemoteController::getAudit(array('days_back' => $days_back));
|
192 |
|
201 |
if (!empty($auditpages)) {
|
202 |
foreach ($auditpages as $auditpage) {
|
203 |
|
204 |
+
/** @var SQ_Models_Domain_FocusPage $auditpage */
|
|
|
|
|
|
|
|
|
205 |
$auditpage = SQ_Classes_ObjController::getDomain('SQ_Models_Domain_AuditPage', $auditpage);
|
206 |
|
207 |
//If there is a local page, then show focus
|
210 |
}
|
211 |
}
|
212 |
}
|
|
|
213 |
return $this->auditpages;
|
214 |
}
|
215 |
|
controllers/Cron.php
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined('ABSPATH') || die('Cheatin\' uh?');
|
3 |
+
|
4 |
+
class SQ_Controllers_Cron extends SQ_Classes_FrontController {
|
5 |
+
|
6 |
+
public function processSEOCheckCron() {
|
7 |
+
//make sure the classes are loaded
|
8 |
+
SQ_Classes_ObjController::getClass('SQ_Classes_Helpers_Tools');
|
9 |
+
|
10 |
+
//Check the SEO and save the Report
|
11 |
+
if ($report_time = SQ_Classes_Helpers_Tools::getOption('seoreport_time')) {
|
12 |
+
if ((time() - (int)$report_time) < (3600 * 12)) {
|
13 |
+
return false;
|
14 |
+
}
|
15 |
+
}
|
16 |
+
|
17 |
+
SQ_Classes_ObjController::getClass('SQ_Models_CheckSeo')->checkSEO();
|
18 |
+
}
|
19 |
+
|
20 |
+
|
21 |
+
}
|
controllers/Frontend.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
defined('ABSPATH') || die('Cheatin\' uh?');
|
3 |
|
4 |
-
class
|
5 |
{
|
6 |
|
7 |
/**
|
@@ -33,17 +33,16 @@ class SQ_Controllers_Frontend extends SQ_Classes_FrontController
|
|
33 |
SQ_Classes_ObjController::getClass('SQ_Models_Compatibility')->checkCompatibility();
|
34 |
|
35 |
//Check if late loading is on
|
36 |
-
if (
|
37 |
//Hook the buffer on both actions in case one fails
|
38 |
-
add_action('
|
|
|
|
|
|
|
|
|
|
|
39 |
}
|
40 |
|
41 |
-
//In case plugins_loaded hook is disabled
|
42 |
-
add_action('template_redirect', array($this, 'hookBuffer'), 1);
|
43 |
-
|
44 |
-
//Set the post so that Squirrly will know which one to process
|
45 |
-
add_action('template_redirect', array($this->model, 'setPost'), 9);
|
46 |
-
|
47 |
if(SQ_Classes_Helpers_Tools::getOption('sq_auto_links')) {
|
48 |
|
49 |
//Check if attachment to image redirect is needed
|
@@ -59,10 +58,12 @@ class SQ_Controllers_Frontend extends SQ_Classes_FrontController
|
|
59 |
*/
|
60 |
public function hookBuffer()
|
61 |
{
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
|
|
|
|
66 |
|
67 |
//Check if there is an editor loading
|
68 |
//Don't load Squirrly METAs while in frontend editors
|
1 |
<?php
|
2 |
defined('ABSPATH') || die('Cheatin\' uh?');
|
3 |
|
4 |
+
class SQ_Controllers_Frontend extends SQ_Classes_FrontController
|
5 |
{
|
6 |
|
7 |
/**
|
33 |
SQ_Classes_ObjController::getClass('SQ_Models_Compatibility')->checkCompatibility();
|
34 |
|
35 |
//Check if late loading is on
|
36 |
+
if (apply_filters('sq_lateloading', SQ_Classes_Helpers_Tools::getOption('sq_laterload'))) {
|
37 |
//Hook the buffer on both actions in case one fails
|
38 |
+
add_action('template_redirect', array($this->model, 'setPost'), PHP_INT_MAX);
|
39 |
+
add_action('template_redirect', array($this, 'hookBuffer'), PHP_INT_MAX);
|
40 |
+
}else{
|
41 |
+
//Set the post so that Squirrly will know which one to process
|
42 |
+
add_action('template_redirect', array($this->model, 'setPost'), 9);
|
43 |
+
add_action('template_redirect', array($this, 'hookBuffer'), 1);
|
44 |
}
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
if(SQ_Classes_Helpers_Tools::getOption('sq_auto_links')) {
|
47 |
|
48 |
//Check if attachment to image redirect is needed
|
58 |
*/
|
59 |
public function hookBuffer()
|
60 |
{
|
61 |
+
add_filter('sq_buffer', function ($buffer){
|
62 |
+
if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] == 'https://www.squirrly.co') {
|
63 |
+
return '.' . $buffer;
|
64 |
+
}
|
65 |
+
return $buffer;
|
66 |
+
});
|
67 |
|
68 |
//Check if there is an editor loading
|
69 |
//Don't load Squirrly METAs while in frontend editors
|
controllers/Help.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined('ABSPATH') || die('Cheatin\' uh?');
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Help & Support
|
6 |
+
*/
|
7 |
+
class SQ_Controllers_Help extends SQ_Classes_FrontController {
|
8 |
+
|
9 |
+
public function init() {
|
10 |
+
}
|
11 |
+
|
12 |
+
|
13 |
+
}
|
controllers/Menu.php
CHANGED
@@ -83,13 +83,6 @@ class SQ_Controllers_Menu extends SQ_Classes_FrontController
|
|
83 |
// Delete the redirect transient
|
84 |
delete_transient('sq_activate');
|
85 |
|
86 |
-
//Create Qss table if not exists
|
87 |
-
SQ_Classes_ObjController::getClass('SQ_Models_Qss')->checkTableExists();
|
88 |
-
|
89 |
-
//This option is use for custom Package installs
|
90 |
-
//update text in case of devkit
|
91 |
-
SQ_Classes_ObjController::getClass('SQ_Classes_Helpers_DevKit')->updatePluginData();
|
92 |
-
|
93 |
if (SQ_Classes_Helpers_Tools::getOption('sq_api') == '') {
|
94 |
wp_redirect(SQ_Classes_Helpers_Tools::getAdminUrl('sq_dashboard'));
|
95 |
die();
|
83 |
// Delete the redirect transient
|
84 |
delete_transient('sq_activate');
|
85 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
if (SQ_Classes_Helpers_Tools::getOption('sq_api') == '') {
|
87 |
wp_redirect(SQ_Classes_Helpers_Tools::getAdminUrl('sq_dashboard'));
|
88 |
die();
|
controllers/Research.php
CHANGED
@@ -496,7 +496,7 @@ class SQ_Controllers_Research extends SQ_Classes_FrontController
|
|
496 |
}
|
497 |
|
498 |
if (!empty($keywords)) {
|
499 |
-
$keywords = array_chunk($keywords,
|
500 |
|
501 |
foreach ($keywords as $chunk) {
|
502 |
SQ_Classes_RemoteController::importBriefcaseKeywords(array('keywords' => json_encode($chunk)));
|
496 |
}
|
497 |
|
498 |
if (!empty($keywords)) {
|
499 |
+
$keywords = array_chunk($keywords, 10);
|
500 |
|
501 |
foreach ($keywords as $chunk) {
|
502 |
SQ_Classes_RemoteController::importBriefcaseKeywords(array('keywords' => json_encode($chunk)));
|
controllers/Sitemaps.php
CHANGED
@@ -25,7 +25,6 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController
|
|
25 |
|
26 |
//Process the cron if created
|
27 |
add_action('sq_processPing', array($this, 'processCron'));
|
28 |
-
|
29 |
}
|
30 |
|
31 |
public function hookPreventRedirect()
|
@@ -36,24 +35,26 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController
|
|
36 |
if (isset($_SERVER['QUERY_STRING']) && strpos($_SERVER['QUERY_STRING'], 'sq_feed') !== false) {
|
37 |
parse_str($_SERVER['QUERY_STRING'], $query);
|
38 |
$sitemap = 'sitemap';
|
39 |
-
$page = 0;
|
40 |
|
41 |
if (isset($query['sq_feed'])) {
|
42 |
$sitemap = $query['sq_feed'];
|
43 |
$page = (isset($query['page']) ? $query['page'] : 0);
|
|
|
|
|
44 |
}
|
45 |
|
46 |
$wp_query->is_404 = false;
|
47 |
$wp_query->is_feed = true;
|
48 |
|
49 |
-
$this->feedRequest($sitemap, $page);
|
50 |
apply_filters('sq_sitemapxml', $this->showSitemap());
|
51 |
die();
|
52 |
|
53 |
} elseif (strpos($_SERVER['REQUEST_URI'], '.xml') !== false) {
|
54 |
$parseurl = parse_url($_SERVER['REQUEST_URI']);
|
55 |
$stemaplist = SQ_Classes_Helpers_Tools::getOption('sq_sitemap');
|
56 |
-
$page = 0;
|
57 |
|
58 |
foreach ($stemaplist as $request => $sitemap) {
|
59 |
if (isset($sitemap[0]) && $sitemap[1] && substr($parseurl['path'], (strrpos($parseurl['path'], '/') + 1)) == $sitemap[0]) {
|
@@ -64,9 +65,11 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController
|
|
64 |
if (isset($parseurl['query'])) {
|
65 |
parse_str($parseurl['query'], $query);
|
66 |
$page = (isset($query['page']) ? $query['page'] : 0);
|
|
|
|
|
67 |
}
|
68 |
|
69 |
-
$this->feedRequest($request, $page);
|
70 |
apply_filters('sq_sitemapxml', $this->showSitemap());
|
71 |
die();
|
72 |
}
|
@@ -105,7 +108,7 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController
|
|
105 |
* @param string $request
|
106 |
* @param integer $page
|
107 |
*/
|
108 |
-
public function feedRequest($request = null, $page =
|
109 |
{
|
110 |
global $sq_query;
|
111 |
$sq_query = array();
|
@@ -142,7 +145,7 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController
|
|
142 |
'post_type' => array('post'),
|
143 |
'tax_query' => array(),
|
144 |
'post_status' => 'publish',
|
145 |
-
'posts_per_page' =>
|
146 |
'paged' => $page,
|
147 |
'orderby' => 'date',
|
148 |
'order' => 'DESC',
|
@@ -176,6 +179,16 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController
|
|
176 |
case 'sitemap-custom-tax':
|
177 |
remove_all_filters('terms_clauses'); //prevent language filters
|
178 |
add_filter('get_terms_fields', array($this, 'customTaxFilter'), 5, 2);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
break;
|
180 |
case 'sitemap-page':
|
181 |
$sq_query['post_type'] = array('page');
|
@@ -189,26 +202,35 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController
|
|
189 |
add_filter('sq-sitemap-authors', array($this, 'authorFilter'), 5);
|
190 |
break;
|
191 |
case 'sitemap-custom-post':
|
192 |
-
$
|
193 |
-
|
194 |
-
|
195 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
}
|
197 |
-
}
|
198 |
|
199 |
-
|
200 |
-
|
201 |
-
if ((isset($type_data->rewrite['publicly_queryable']) && $type_data->rewrite['publicly_queryable'] == 1) || (isset($type_data->publicly_queryable) && $type_data->publicly_queryable == 1)) {
|
202 |
-
continue;
|
203 |
}
|
204 |
-
unset($types[$type]);
|
205 |
-
}
|
206 |
|
207 |
-
|
208 |
-
|
|
|
209 |
}
|
210 |
|
211 |
-
$sq_query['post_type'] = $types;
|
212 |
break;
|
213 |
case 'sitemap-product':
|
214 |
if (SQ_Classes_Helpers_Tools::isEcommerce()) {
|
@@ -330,6 +352,8 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController
|
|
330 |
*/
|
331 |
public function showSitemap()
|
332 |
{
|
|
|
|
|
333 |
switch ($this->model->type) {
|
334 |
case 'sitemap':
|
335 |
$this->showSitemapHeader();
|
@@ -351,11 +375,13 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController
|
|
351 |
}
|
352 |
|
353 |
if ($name !== 'sitemap' && ($value[1] == 1 || $value[1] == 2)) {
|
354 |
-
echo "\t" . '<sitemap>' . "\n";
|
355 |
-
echo "\t" . '<loc>' . esc_url($this->getXmlUrl($name)) . '</loc>' . "\n";
|
356 |
-
echo "\t" . '<lastmod>' . mysql2date('Y-m-d\TH:i:s+00:00', get_lastpostmodified('gmt'), false) . '</lastmod>' . "\n";
|
357 |
-
echo "\t" . '</sitemap>' . "\n";
|
358 |
|
|
|
|
|
|
|
|
|
|
|
|
|
359 |
|
360 |
if ($name == 'sitemap-post' && $count_posts = wp_count_posts()) {
|
361 |
if (isset($count_posts->publish) && (int)$count_posts->publish > 0 && (int)$count_posts->publish > (int)$this->posts_limit) {
|
@@ -390,10 +416,96 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController
|
|
390 |
}
|
391 |
}
|
392 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
393 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
394 |
}
|
395 |
}
|
396 |
-
|
|
|
397 |
break;
|
398 |
case 'sitemap-home':
|
399 |
$this->showPackXml($this->model->getHomeLink());
|
@@ -404,7 +516,7 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController
|
|
404 |
case 'sitemap-category':
|
405 |
case 'sitemap-post_tag':
|
406 |
case 'sitemap-custom-tax':
|
407 |
-
$this->showPackXml($this->model->getListTerms());
|
408 |
break;
|
409 |
case 'sitemap-author':
|
410 |
$this->showPackXml($this->model->getListAuthors());
|
@@ -534,19 +646,26 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController
|
|
534 |
/**
|
535 |
* Get the url for each sitemap
|
536 |
*
|
537 |
-
* @param
|
538 |
-
* @param
|
|
|
539 |
* @return string
|
540 |
*/
|
541 |
-
public function getXmlUrl($sitemap, $page =
|
542 |
{
|
543 |
$sq_sitemap = SQ_Classes_Helpers_Tools::getOption('sq_sitemap');
|
544 |
|
545 |
if (!get_option('permalink_structure')) {
|
546 |
-
$sitemap = '?sq_feed=' . str_replace('.xml', '', $sitemap)
|
|
|
|
|
|
|
547 |
} else {
|
548 |
if (isset($sq_sitemap[$sitemap])) {
|
549 |
-
$sitemap = $sq_sitemap[$sitemap][0]
|
|
|
|
|
|
|
550 |
}
|
551 |
|
552 |
if (strpos($sitemap, '.xml') === false) {
|
@@ -684,8 +803,7 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController
|
|
684 |
{
|
685 |
global $wpdb;
|
686 |
$query[] = $wpdb->prepare(
|
687 |
-
"(SELECT
|
688 |
-
UNIX_TIMESTAMP(MAX(p.post_date_gmt)) as _mod_date
|
689 |
FROM `$wpdb->posts` p, `$wpdb->term_relationships` r
|
690 |
WHERE p.ID = r.object_id
|
691 |
AND p.post_status = %s
|
@@ -765,16 +883,29 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController
|
|
765 |
global $wpdb;
|
766 |
$archives = $wpdb->get_results(
|
767 |
$wpdb->prepare(
|
768 |
-
"
|
769 |
-
|
770 |
-
|
771 |
-
|
772 |
-
|
773 |
-
|
774 |
-
", 'publish', 'post'
|
775 |
)
|
776 |
);
|
777 |
return $archives;
|
778 |
}
|
779 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
780 |
}
|
25 |
|
26 |
//Process the cron if created
|
27 |
add_action('sq_processPing', array($this, 'processCron'));
|
|
|
28 |
}
|
29 |
|
30 |
public function hookPreventRedirect()
|
35 |
if (isset($_SERVER['QUERY_STRING']) && strpos($_SERVER['QUERY_STRING'], 'sq_feed') !== false) {
|
36 |
parse_str($_SERVER['QUERY_STRING'], $query);
|
37 |
$sitemap = 'sitemap';
|
38 |
+
$page = 0; $type= false; $taxonomy = false;
|
39 |
|
40 |
if (isset($query['sq_feed'])) {
|
41 |
$sitemap = $query['sq_feed'];
|
42 |
$page = (isset($query['page']) ? $query['page'] : 0);
|
43 |
+
$type = (isset($query['type']) ? $query['type'] : false);
|
44 |
+
$taxonomy = (isset($query['taxonomy']) ? $query['taxonomy'] : false);
|
45 |
}
|
46 |
|
47 |
$wp_query->is_404 = false;
|
48 |
$wp_query->is_feed = true;
|
49 |
|
50 |
+
$this->feedRequest($sitemap, $page, $type, $taxonomy);
|
51 |
apply_filters('sq_sitemapxml', $this->showSitemap());
|
52 |
die();
|
53 |
|
54 |
} elseif (strpos($_SERVER['REQUEST_URI'], '.xml') !== false) {
|
55 |
$parseurl = parse_url($_SERVER['REQUEST_URI']);
|
56 |
$stemaplist = SQ_Classes_Helpers_Tools::getOption('sq_sitemap');
|
57 |
+
$page = 0; $type= false; $taxonomy = false;
|
58 |
|
59 |
foreach ($stemaplist as $request => $sitemap) {
|
60 |
if (isset($sitemap[0]) && $sitemap[1] && substr($parseurl['path'], (strrpos($parseurl['path'], '/') + 1)) == $sitemap[0]) {
|
65 |
if (isset($parseurl['query'])) {
|
66 |
parse_str($parseurl['query'], $query);
|
67 |
$page = (isset($query['page']) ? $query['page'] : 0);
|
68 |
+
$type = (isset($query['type']) ? $query['type'] : false);
|
69 |
+
$taxonomy = (isset($query['taxonomy']) ? $query['taxonomy'] : false);
|
70 |
}
|
71 |
|
72 |
+
$this->feedRequest($request, $page, $type, $taxonomy);
|
73 |
apply_filters('sq_sitemapxml', $this->showSitemap());
|
74 |
die();
|
75 |
}
|
108 |
* @param string $request
|
109 |
* @param integer $page
|
110 |
*/
|
111 |
+
public function feedRequest($request = null, $page = 0, $type = false, $taxonomy = false)
|
112 |
{
|
113 |
global $sq_query;
|
114 |
$sq_query = array();
|
145 |
'post_type' => array('post'),
|
146 |
'tax_query' => array(),
|
147 |
'post_status' => 'publish',
|
148 |
+
'posts_per_page' => 500,
|
149 |
'paged' => $page,
|
150 |
'orderby' => 'date',
|
151 |
'order' => 'DESC',
|
179 |
case 'sitemap-custom-tax':
|
180 |
remove_all_filters('terms_clauses'); //prevent language filters
|
181 |
add_filter('get_terms_fields', array($this, 'customTaxFilter'), 5, 2);
|
182 |
+
if($taxonomy) {
|
183 |
+
$sq_query['hide_empty'] = true;
|
184 |
+
$sq_query['number'] = $this->posts_limit;
|
185 |
+
$sq_query['offset'] = ( $page * $this->posts_limit );
|
186 |
+
$sq_query['taxonomy'] = $taxonomy;
|
187 |
+
}else{
|
188 |
+
$sq_query['hide_empty'] = true;
|
189 |
+
$sq_query['taxonomy'] = str_replace('sitemap-', '', $this->model->type);
|
190 |
+
}
|
191 |
+
|
192 |
break;
|
193 |
case 'sitemap-page':
|
194 |
$sq_query['post_type'] = array('page');
|
202 |
add_filter('sq-sitemap-authors', array($this, 'authorFilter'), 5);
|
203 |
break;
|
204 |
case 'sitemap-custom-post':
|
205 |
+
if($type) {
|
206 |
+
$sq_query['post_type'] = array($type);
|
207 |
+
$sq_query['posts_per_page'] = $this->posts_limit;
|
208 |
+
$sq_query['offset'] = ( $page * $this->posts_limit );
|
209 |
+
}else {
|
210 |
+
$types = get_post_types(array('public' => true));
|
211 |
+
foreach (array('post', 'page', 'attachment', 'revision', 'nav_menu_item', 'product', 'wpsc-product', 'ngg_tag', 'elementor_library','ct_template','oxy_user_library','fusion_template') as $exclude) {
|
212 |
+
if (in_array($exclude, $types)) {
|
213 |
+
unset($types[$exclude]);
|
214 |
+
}
|
215 |
+
}
|
216 |
+
|
217 |
+
foreach ($types as $type) {
|
218 |
+
$type_data = get_post_type_object($type);
|
219 |
+
if ((isset($type_data->rewrite['publicly_queryable']) && $type_data->rewrite['publicly_queryable'] == 1) || (isset($type_data->publicly_queryable) && $type_data->publicly_queryable == 1)) {
|
220 |
+
continue;
|
221 |
+
}
|
222 |
+
unset($types[$type]);
|
223 |
}
|
|
|
224 |
|
225 |
+
if (empty($types)) {
|
226 |
+
array_push($types, 'custom-post');
|
|
|
|
|
227 |
}
|
|
|
|
|
228 |
|
229 |
+
$sq_query['post_type'] = $types;
|
230 |
+
$sq_query['posts_per_page'] = $this->posts_limit;
|
231 |
+
$sq_query['offset'] = ( $page * $this->posts_limit );
|
232 |
}
|
233 |
|
|
|
234 |
break;
|
235 |
case 'sitemap-product':
|
236 |
if (SQ_Classes_Helpers_Tools::isEcommerce()) {
|
352 |
*/
|
353 |
public function showSitemap()
|
354 |
{
|
355 |
+
global $sq_query;
|
356 |
+
|
357 |
switch ($this->model->type) {
|
358 |
case 'sitemap':
|
359 |
$this->showSitemapHeader();
|
375 |
}
|
376 |
|
377 |
if ($name !== 'sitemap' && ($value[1] == 1 || $value[1] == 2)) {
|
|
|
|
|
|
|
|
|
378 |
|
379 |
+
if($name <> 'sitemap-custom-post' && $name <> 'sitemap-custom-tax') {
|
380 |
+
echo "\t" . '<sitemap>' . "\n";
|
381 |
+
echo "\t" . '<loc>' . esc_url($this->getXmlUrl($name)) . '</loc>' . "\n";
|
382 |
+
echo "\t" . '<lastmod>' . mysql2date('Y-m-d\TH:i:s+00:00', get_lastpostmodified('gmt'), false) . '</lastmod>' . "\n";
|
383 |
+
echo "\t" . '</sitemap>' . "\n";
|
384 |
+
}
|
385 |
|
386 |
if ($name == 'sitemap-post' && $count_posts = wp_count_posts()) {
|
387 |
if (isset($count_posts->publish) && (int)$count_posts->publish > 0 && (int)$count_posts->publish > (int)$this->posts_limit) {
|
416 |
}
|
417 |
}
|
418 |
}
|
419 |
+
if($name =='sitemap-custom-tax'){
|
420 |
+
$taxonomies = get_taxonomies(array('public' => true, '_builtin' => false));
|
421 |
+
foreach (array('nav_menu', 'link_category', 'post_format', 'ngg_tag') as $exclude) {
|
422 |
+
if (in_array($exclude, $taxonomies)) {
|
423 |
+
unset($taxonomies[$exclude]);
|
424 |
+
}
|
425 |
+
}
|
426 |
+
|
427 |
+
foreach ($taxonomies as $taxonomy) {
|
428 |
+
$patterns = SQ_Classes_Helpers_Tools::getOption('patterns');
|
429 |
+
if(isset($patterns['tax-' . $taxonomy]['do_sitemap']) && !$patterns['tax-' . $taxonomy]['do_sitemap']){
|
430 |
+
continue;
|
431 |
+
}elseif(isset($patterns['custom']['do_sitemap']) && !$patterns['custom']['do_sitemap']){
|
432 |
+
continue;
|
433 |
+
}
|
434 |
+
|
435 |
+
$count = wp_count_terms( $taxonomy, array('hide_empty'=> true) );
|
436 |
+
if(!is_wp_error($count) && !empty($count)) {
|
437 |
+
if ((int)$count > (int)$this->posts_limit) {
|
438 |
+
$pages = ceil((int)$count / (int)$this->posts_limit);
|
439 |
+
for ($page = 0; $page < $pages; $page++) {
|
440 |
+
echo "\t" . '<sitemap>' . "\n";
|
441 |
+
echo "\t" . '<loc>' . esc_url($this->getXmlUrl($name, $page, false, $taxonomy)) . '</loc>' . "\n";
|
442 |
+
echo "\t" . '<lastmod>' . mysql2date('Y-m-d\TH:i:s+00:00', get_lastpostmodified('gmt'), false) . '</lastmod>' . "\n";
|
443 |
+
echo "\t" . '</sitemap>' . "\n";
|
444 |
+
}
|
445 |
+
}else {
|
446 |
+
echo "\t" . '<sitemap>' . "\n";
|
447 |
+
echo "\t" . '<loc>' . esc_url($this->getXmlUrl($name, 0, false, $taxonomy)) . '</loc>' . "\n";
|
448 |
+
echo "\t" . '<lastmod>' . mysql2date('Y-m-d\TH:i:s+00:00', get_lastpostmodified('gmt'), false) . '</lastmod>' . "\n";
|
449 |
+
echo "\t" . '</sitemap>' . "\n";
|
450 |
+
}
|
451 |
+
}
|
452 |
+
|
453 |
+
}
|
454 |
+
}
|
455 |
+
if($name == 'sitemap-custom-post' ) {
|
456 |
|
457 |
+
$types = get_post_types(array('public' => true));
|
458 |
+
foreach (array('post', 'page', 'attachment', 'revision', 'nav_menu_item', 'product', 'wpsc-product', 'ngg_tag', 'elementor_library','ct_template','oxy_user_library','fusion_template') as $exclude) {
|
459 |
+
if (in_array($exclude, $types)) {
|
460 |
+
unset($types[$exclude]);
|
461 |
+
}
|
462 |
+
}
|
463 |
+
|
464 |
+
foreach ($types as $type) {
|
465 |
+
$type_data = get_post_type_object($type);
|
466 |
+
if ((isset($type_data->rewrite['publicly_queryable']) && $type_data->rewrite['publicly_queryable'] == 1) || (isset($type_data->publicly_queryable) && $type_data->publicly_queryable == 1)) {
|
467 |
+
continue;
|
468 |
+
}
|
469 |
+
unset($types[$type]);
|
470 |
+
}
|
471 |
+
|
472 |
+
if (empty($types)) {
|
473 |
+
array_push($types, 'custom-post');
|
474 |
+
}
|
475 |
+
|
476 |
+
foreach ($types as $type) {
|
477 |
+
$patterns = SQ_Classes_Helpers_Tools::getOption('patterns');
|
478 |
+
if(isset($patterns[$type]['do_sitemap']) && !$patterns[$type]['do_sitemap']){
|
479 |
+
continue;
|
480 |
+
}
|
481 |
+
|
482 |
+
if ($count_posts = wp_count_posts($type)) {
|
483 |
+
|
484 |
+
if (isset($count_posts->publish) && (int)$count_posts->publish > 0) {
|
485 |
+
if ((int)$count_posts->publish > (int)$this->posts_limit) {
|
486 |
+
$pages = ceil((int)$count_posts->publish / (int)$this->posts_limit);
|
487 |
+
for ($page = 0; $page < $pages; $page++) {
|
488 |
+
echo "\t" . '<sitemap>' . "\n";
|
489 |
+
echo "\t" . '<loc>' . esc_url($this->getXmlUrl($name, $page, $type)) . '</loc>' . "\n";
|
490 |
+
echo "\t" . '<lastmod>' . mysql2date('Y-m-d\TH:i:s+00:00', get_lastpostmodified('gmt'), false) . '</lastmod>' . "\n";
|
491 |
+
echo "\t" . '</sitemap>' . "\n";
|
492 |
+
}
|
493 |
+
|
494 |
+
} else {
|
495 |
+
echo "\t" . '<sitemap>' . "\n";
|
496 |
+
echo "\t" . '<loc>' . esc_url($this->getXmlUrl($name, 0, $type)) . '</loc>' . "\n";
|
497 |
+
echo "\t" . '<lastmod>' . mysql2date('Y-m-d\TH:i:s+00:00', get_lastpostmodified('gmt'), false) . '</lastmod>' . "\n";
|
498 |
+
echo "\t" . '</sitemap>' . "\n";
|
499 |
+
}
|
500 |
+
}
|
501 |
+
}
|
502 |
+
}
|
503 |
+
|
504 |
+
}
|
505 |
}
|
506 |
}
|
507 |
+
|
508 |
+
$this->showSitemapFooter();
|
509 |
break;
|
510 |
case 'sitemap-home':
|
511 |
$this->showPackXml($this->model->getHomeLink());
|
516 |
case 'sitemap-category':
|
517 |
case 'sitemap-post_tag':
|
518 |
case 'sitemap-custom-tax':
|
519 |
+
$this->showPackXml($this->model->getListTerms($this->queryTerms()));
|
520 |
break;
|
521 |
case 'sitemap-author':
|
522 |
$this->showPackXml($this->model->getListAuthors());
|
646 |
/**
|
647 |
* Get the url for each sitemap
|
648 |
*
|
649 |
+
* @param string $sitemap
|
650 |
+
* @param integer|false $page
|
651 |
+
* @param string|false $type
|
652 |
* @return string
|
653 |
*/
|
654 |
+
public function getXmlUrl($sitemap, $page = false, $type = false, $taxonomy = false)
|
655 |
{
|
656 |
$sq_sitemap = SQ_Classes_Helpers_Tools::getOption('sq_sitemap');
|
657 |
|
658 |
if (!get_option('permalink_structure')) {
|
659 |
+
$sitemap = '?sq_feed=' . str_replace('.xml', '', $sitemap);
|
660 |
+
$sitemap .= (($page && (int)$page > 0) ? '&page=' . $page : '');
|
661 |
+
$sitemap .= (($type && $type <> '') ? '&type=' . $type : '');
|
662 |
+
$sitemap .= (($taxonomy && $taxonomy <> '') ? '&taxonomy=' . $taxonomy : '');
|
663 |
} else {
|
664 |
if (isset($sq_sitemap[$sitemap])) {
|
665 |
+
$sitemap = $sq_sitemap[$sitemap][0];
|
666 |
+
$sitemap .= (($page && (int)$page > 0) ? '?page=' . (int)$page : '');
|
667 |
+
$sitemap .= (($type && $type <> '') ? (strpos($sitemap,'?') !== false ? '&' : '?') . 'type=' . $type : '');
|
668 |
+
$sitemap .= (($taxonomy && $taxonomy <> '') ? (strpos($sitemap,'?') !== false ? '&' : '?') . 'taxonomy=' . $taxonomy : '');
|
669 |
}
|
670 |
|
671 |
if (strpos($sitemap, '.xml') === false) {
|
803 |
{
|
804 |
global $wpdb;
|
805 |
$query[] = $wpdb->prepare(
|
806 |
+
"(SELECT UNIX_TIMESTAMP(MAX(p.post_date_gmt)) as _mod_date
|
|
|
807 |
FROM `$wpdb->posts` p, `$wpdb->term_relationships` r
|
808 |
WHERE p.ID = r.object_id
|
809 |
AND p.post_status = %s
|
883 |
global $wpdb;
|
884 |
$archives = $wpdb->get_results(
|
885 |
$wpdb->prepare(
|
886 |
+
"SELECT DISTINCT YEAR(post_date_gmt) as `year`, MONTH(post_date_gmt) as `month`, max(post_date_gmt) as lastmod, count(ID) as posts
|
887 |
+
FROM `$wpdb->posts`
|
888 |
+
WHERE post_date_gmt < NOW() AND post_status = %s AND post_type = %s
|
889 |
+
GROUP BY YEAR(post_date_gmt), MONTH(post_date_gmt)
|
890 |
+
ORDER BY post_date_gmt DESC
|
891 |
+
", 'publish', 'post'
|
|
|
892 |
)
|
893 |
);
|
894 |
return $archives;
|
895 |
}
|
896 |
|
897 |
+
/**
|
898 |
+
*
|
899 |
+
* @return array of terms
|
900 |
+
*/
|
901 |
+
public function queryTerms(){
|
902 |
+
global $sq_query;
|
903 |
+
|
904 |
+
if(isset($sq_query['taxonomy']) && !empty($sq_query['taxonomy'])) {
|
905 |
+
return get_terms($sq_query['taxonomy'], $sq_query);
|
906 |
+
}
|
907 |
+
|
908 |
+
return array();
|
909 |
+
}
|
910 |
+
|
911 |
}
|
controllers/Snippet.php
CHANGED
@@ -5,14 +5,14 @@ class SQ_Controllers_Snippet extends SQ_Classes_FrontController
|
|
5 |
{
|
6 |
|
7 |
/**
|
8 |
-
*
|
9 |
*
|
10 |
-
* @var array Post Type in
|
11 |
*/
|
12 |
private $_types = array();
|
13 |
public $post;
|
14 |
|
15 |
-
public function __construct()
|
16 |
{
|
17 |
parent::__construct();
|
18 |
add_action('admin_bar_menu', array($this, 'hookTopmenuFrontend'), 11);
|
@@ -36,7 +36,7 @@ class SQ_Controllers_Snippet extends SQ_Classes_FrontController
|
|
36 |
*
|
37 |
* @return mixed
|
38 |
*/
|
39 |
-
public function init()
|
40 |
{
|
41 |
if (is_rtl()) {
|
42 |
SQ_Classes_ObjController::getClass('SQ_Classes_DisplayController')->loadMedia('sqbootstrap.rtl', array('trigger' => true, 'media' => 'all'));
|
@@ -65,7 +65,7 @@ class SQ_Controllers_Snippet extends SQ_Classes_FrontController
|
|
65 |
/**
|
66 |
* Hook the Head sequence in frontend when user is logged in
|
67 |
*/
|
68 |
-
public function hookFronthead()
|
69 |
{
|
70 |
if (SQ_Classes_Helpers_Tools::userCan('sq_manage_snippet')) {
|
71 |
//prevent some compatibility errors with other plugins
|
@@ -86,7 +86,7 @@ class SQ_Controllers_Snippet extends SQ_Classes_FrontController
|
|
86 |
* @param $post
|
87 |
* @return $this
|
88 |
*/
|
89 |
-
public function setPost($post)
|
90 |
{
|
91 |
$this->post = $post;
|
92 |
|
@@ -96,7 +96,7 @@ class SQ_Controllers_Snippet extends SQ_Classes_FrontController
|
|
96 |
/**
|
97 |
* Hook pages like Terms and Categories
|
98 |
*/
|
99 |
-
public function hookTermsPage()
|
100 |
{
|
101 |
echo $this->getSnippetDiv(SQ_Classes_ObjController::getClass('SQ_Controllers_Snippet')->init());
|
102 |
}
|
@@ -108,7 +108,7 @@ class SQ_Controllers_Snippet extends SQ_Classes_FrontController
|
|
108 |
* @param string $attributes
|
109 |
* @return string
|
110 |
*/
|
111 |
-
public function getSnippetDiv($content, $attributes = '')
|
112 |
{
|
113 |
|
114 |
if (!apply_filters('sq_load_snippet', true) || !SQ_Classes_Helpers_Tools::userCan('sq_manage_snippet')) {
|
@@ -124,7 +124,7 @@ class SQ_Controllers_Snippet extends SQ_Classes_FrontController
|
|
124 |
*
|
125 |
* @param WP_Admin_Bar $wp_admin_bar
|
126 |
*/
|
127 |
-
public function hookTopmenuFrontend($wp_admin_bar)
|
128 |
{
|
129 |
global $wp_the_query;
|
130 |
|
@@ -155,12 +155,12 @@ class SQ_Controllers_Snippet extends SQ_Classes_FrontController
|
|
155 |
&& ($post_type_object = get_post_type_object($current_object->post_type))
|
156 |
&& SQ_Classes_Helpers_Tools::userCan('edit_post', $current_object->ID)
|
157 |
&& $post_type_object->show_in_admin_bar
|
158 |
-
&& $edit_post_link = get_edit_post_link($current_object->ID)
|
159 |
) {
|
160 |
} elseif (!empty($current_object->taxonomy)
|
161 |
&& ($tax = get_taxonomy($current_object->taxonomy))
|
162 |
&& SQ_Classes_Helpers_Tools::userCan('edit_term', $current_object->term_id)
|
163 |
-
&& $edit_term_link = get_edit_term_link($current_object->term_id, $current_object->taxonomy)
|
164 |
) {
|
165 |
} else {
|
166 |
return;
|
@@ -175,16 +175,16 @@ class SQ_Controllers_Snippet extends SQ_Classes_FrontController
|
|
175 |
$style = '<style>.sq_logo{background-image:url("' . SQ_Classes_Helpers_Tools::getOption('sq_devkit_logo') . '") !important;background-size: 100%; background-repeat: no-repeat; background-position: center;}</style>';
|
176 |
}
|
177 |
|
178 |
-
$wp_admin_bar->add_node(
|
179 |
array(
|
180 |
'id' => 'sq_bar_menu',
|
181 |
'title' => $style . '<span class="sq_logo"></span> ' . esc_html__("Custom SEO", 'squirrly-seo'),
|
182 |
'parent' => 'top-secondary',
|
183 |
-
)
|
184 |
);
|
185 |
|
186 |
|
187 |
-
$wp_admin_bar->add_menu(
|
188 |
array(
|
189 |
'id' => 'sq_bar_submenu',
|
190 |
'parent' => 'sq_bar_menu',
|
@@ -192,7 +192,7 @@ class SQ_Controllers_Snippet extends SQ_Classes_FrontController
|
|
192 |
'html' => $this->getSnippetDiv(SQ_Classes_ObjController::getClass('SQ_Controllers_Snippet')->init(), 'data-snippet="topmenu"'),
|
193 |
'tabindex' => PHP_INT_MAX,
|
194 |
),
|
195 |
-
)
|
196 |
);
|
197 |
} catch (Exception $e) {
|
198 |
|
@@ -205,7 +205,7 @@ class SQ_Controllers_Snippet extends SQ_Classes_FrontController
|
|
205 |
*
|
206 |
* @return void
|
207 |
*/
|
208 |
-
public function action()
|
209 |
{
|
210 |
parent::action();
|
211 |
|
5 |
{
|
6 |
|
7 |
/**
|
8 |
+
*
|
9 |
*
|
10 |
+
* @var array Post Type in
|
11 |
*/
|
12 |
private $_types = array();
|
13 |
public $post;
|
14 |
|
15 |
+
public function __construct()
|
16 |
{
|
17 |
parent::__construct();
|
18 |
add_action('admin_bar_menu', array($this, 'hookTopmenuFrontend'), 11);
|
36 |
*
|
37 |
* @return mixed
|
38 |
*/
|
39 |
+
public function init()
|
40 |
{
|
41 |
if (is_rtl()) {
|
42 |
SQ_Classes_ObjController::getClass('SQ_Classes_DisplayController')->loadMedia('sqbootstrap.rtl', array('trigger' => true, 'media' => 'all'));
|
65 |
/**
|
66 |
* Hook the Head sequence in frontend when user is logged in
|
67 |
*/
|
68 |
+
public function hookFronthead()
|
69 |
{
|
70 |
if (SQ_Classes_Helpers_Tools::userCan('sq_manage_snippet')) {
|
71 |
//prevent some compatibility errors with other plugins
|
86 |
* @param $post
|
87 |
* @return $this
|
88 |
*/
|
89 |
+
public function setPost($post)
|
90 |
{
|
91 |
$this->post = $post;
|
92 |
|
96 |
/**
|
97 |
* Hook pages like Terms and Categories
|
98 |
*/
|
99 |
+
public function hookTermsPage()
|
100 |
{
|
101 |
echo $this->getSnippetDiv(SQ_Classes_ObjController::getClass('SQ_Controllers_Snippet')->init());
|
102 |
}
|
108 |
* @param string $attributes
|
109 |
* @return string
|
110 |
*/
|
111 |
+
public function getSnippetDiv($content, $attributes = '')
|
112 |
{
|
113 |
|
114 |
if (!apply_filters('sq_load_snippet', true) || !SQ_Classes_Helpers_Tools::userCan('sq_manage_snippet')) {
|
124 |
*
|
125 |
* @param WP_Admin_Bar $wp_admin_bar
|
126 |
*/
|
127 |
+
public function hookTopmenuFrontend($wp_admin_bar)
|
128 |
{
|
129 |
global $wp_the_query;
|
130 |
|
155 |
&& ($post_type_object = get_post_type_object($current_object->post_type))
|
156 |
&& SQ_Classes_Helpers_Tools::userCan('edit_post', $current_object->ID)
|
157 |
&& $post_type_object->show_in_admin_bar
|
158 |
+
&& $edit_post_link = get_edit_post_link($current_object->ID)
|
159 |
) {
|
160 |
} elseif (!empty($current_object->taxonomy)
|
161 |
&& ($tax = get_taxonomy($current_object->taxonomy))
|
162 |
&& SQ_Classes_Helpers_Tools::userCan('edit_term', $current_object->term_id)
|
163 |
+
&& $edit_term_link = get_edit_term_link($current_object->term_id, $current_object->taxonomy)
|
164 |
) {
|
165 |
} else {
|
166 |
return;
|
175 |
$style = '<style>.sq_logo{background-image:url("' . SQ_Classes_Helpers_Tools::getOption('sq_devkit_logo') . '") !important;background-size: 100%; background-repeat: no-repeat; background-position: center;}</style>';
|
176 |
}
|
177 |
|
178 |
+
$wp_admin_bar->add_node(
|
179 |
array(
|
180 |
'id' => 'sq_bar_menu',
|
181 |
'title' => $style . '<span class="sq_logo"></span> ' . esc_html__("Custom SEO", 'squirrly-seo'),
|
182 |
'parent' => 'top-secondary',
|
183 |
+
)
|
184 |
);
|
185 |
|
186 |
|
187 |
+
$wp_admin_bar->add_menu(
|
188 |
array(
|
189 |
'id' => 'sq_bar_submenu',
|
190 |
'parent' => 'sq_bar_menu',
|
192 |
'html' => $this->getSnippetDiv(SQ_Classes_ObjController::getClass('SQ_Controllers_Snippet')->init(), 'data-snippet="topmenu"'),
|
193 |
'tabindex' => PHP_INT_MAX,
|
194 |
),
|
195 |
+
)
|
196 |
);
|
197 |
} catch (Exception $e) {
|
198 |
|
205 |
*
|
206 |
* @return void
|
207 |
*/
|
208 |
+
public function action()
|
209 |
{
|
210 |
parent::action();
|
211 |
|
languages/squirrly-seo-cs_CZ.po
DELETED
@@ -1,1883 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Squirrly SEO Plugin\n"
|
4 |
-
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2021-03-22 08:03+0200\n"
|
6 |
-
"PO-Revision-Date: 2021-03-22 08:03+0200\n"
|
7 |
-
"Last-Translator: Squirrly <contact@squirrly.co>\n"
|
8 |
-
"Language-Team: \n"
|
9 |
-
"Language: cs_CZ\n"
|
10 |
-
"MIME-Version: 1.0\n"
|
11 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
-
"Content-Transfer-Encoding: 8bit\n"
|
13 |
-
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
14 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
15 |
-
"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;"
|
16 |
-
"_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2\n"
|
17 |
-
"X-Poedit-Basepath: ..\n"
|
18 |
-
"X-Textdomain-Support: yes\n"
|
19 |
-
"X-Generator: Poedit 2.4.2\n"
|
20 |
-
"X-Poedit-SearchPath-0: .\n"
|
21 |
-
|
22 |
-
# @ squirrly-seo
|
23 |
-
#, fuzzy
|
24 |
-
#~| msgid "Do the research"
|
25 |
-
#~ msgid "Keyword Researches"
|
26 |
-
#~ msgstr "Recherchieren"
|
27 |
-
|
28 |
-
# @ squirrly-seo
|
29 |
-
#, fuzzy
|
30 |
-
#~| msgid "Do the research"
|
31 |
-
#~ msgid "do research"
|
32 |
-
#~ msgstr "Recherchieren"
|
33 |
-
|
34 |
-
# @ squirrly-seo
|
35 |
-
#, fuzzy
|
36 |
-
#~| msgid "Tips: 2-4 keywords"
|
37 |
-
#~ msgid "add keyword"
|
38 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
39 |
-
|
40 |
-
# @ squirrly-seo
|
41 |
-
#, fuzzy
|
42 |
-
#~| msgid "Tips: 2-4 keywords"
|
43 |
-
#~ msgid "Keyword:"
|
44 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
45 |
-
|
46 |
-
# @ squirrly-seo
|
47 |
-
#, fuzzy, php-format
|
48 |
-
#~| msgid "Use more words in one keyword"
|
49 |
-
#~ msgid "Write more words after the %s keyword"
|
50 |
-
#~ msgstr "Verwenden Sie mehrere Wörter in einem Schlüsselwort"
|
51 |
-
|
52 |
-
# @ squirrly-seo
|
53 |
-
#, fuzzy, php-format
|
54 |
-
#~| msgid "Enter even more keywords."
|
55 |
-
#~ msgid "add %s more keyword(s)"
|
56 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
57 |
-
|
58 |
-
# @ squirrly-seo
|
59 |
-
#, fuzzy
|
60 |
-
#~| msgid "automatically"
|
61 |
-
#~ msgid "Auto Draft"
|
62 |
-
#~ msgstr "automatisch"
|
63 |
-
|
64 |
-
# @ squirrly-seo
|
65 |
-
#, fuzzy
|
66 |
-
#~| msgid "Bing META code (for %sWebmaster Tool%s )`:"
|
67 |
-
#~ msgid "The code for Google Webmaster Tool is incorrect."
|
68 |
-
#~ msgstr "Bing META Code (für %sWebmaster Tool%s )`:"
|
69 |
-
|
70 |
-
# @ squirrly-seo
|
71 |
-
#, fuzzy
|
72 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
73 |
-
#~ msgid "The code for Google Analytics is incorrect."
|
74 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
75 |
-
|
76 |
-
# @ squirrly-seo
|
77 |
-
#, fuzzy
|
78 |
-
#~| msgid "automatically"
|
79 |
-
#~ msgid "Documentation"
|
80 |
-
#~ msgstr "automatisch"
|
81 |
-
|
82 |
-
# @ squirrly-seo
|
83 |
-
#, fuzzy
|
84 |
-
#~| msgid "Tips: 2-4 keywords"
|
85 |
-
#~ msgid "No keyword found."
|
86 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
87 |
-
|
88 |
-
# @ squirrly-seo
|
89 |
-
#, fuzzy
|
90 |
-
#~| msgid "Could not send the email..."
|
91 |
-
#~ msgid "Error: Could not save the data."
|
92 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
93 |
-
|
94 |
-
# @ squirrly-seo
|
95 |
-
#, fuzzy
|
96 |
-
#~| msgid "Could not send the email..."
|
97 |
-
#~ msgid "Could not load the Audit Page."
|
98 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
99 |
-
|
100 |
-
# @ squirrly-seo
|
101 |
-
#, fuzzy
|
102 |
-
#~| msgid "Could not send the email..."
|
103 |
-
#~ msgid "Error! Could not add the audit page."
|
104 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
105 |
-
|
106 |
-
# @ squirrly-seo
|
107 |
-
#, fuzzy
|
108 |
-
#~| msgid "Could not send the email..."
|
109 |
-
#~ msgid "Error! Could not find the audit page in your website."
|
110 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
111 |
-
|
112 |
-
# @ squirrly-seo
|
113 |
-
#, fuzzy
|
114 |
-
#~| msgid "Could not send the email..."
|
115 |
-
#~ msgid "Error! Could not add the focus page."
|
116 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
117 |
-
|
118 |
-
# @ squirrly-seo
|
119 |
-
#, fuzzy
|
120 |
-
#~| msgid "Could not send the email..."
|
121 |
-
#~ msgid "Error! Could not find the focus page in your website."
|
122 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
123 |
-
|
124 |
-
# @ squirrly-seo
|
125 |
-
#, fuzzy
|
126 |
-
#~| msgid "Squirrly settings"
|
127 |
-
#~ msgid "Squirrly SEO"
|
128 |
-
#~ msgstr "Squirrly Einstellungen"
|
129 |
-
|
130 |
-
# @ squirrly-seo
|
131 |
-
#, fuzzy
|
132 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
133 |
-
#~ msgid "SEO Snippet"
|
134 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
135 |
-
|
136 |
-
# @ squirrly-seo
|
137 |
-
#, fuzzy
|
138 |
-
#~| msgid "Squirrly settings"
|
139 |
-
#~ msgid "Squirrly Onboarding"
|
140 |
-
#~ msgstr "Squirrly Einstellungen"
|
141 |
-
|
142 |
-
# @ squirrly-seo
|
143 |
-
#, fuzzy
|
144 |
-
#~| msgid "Squirrly settings"
|
145 |
-
#~ msgid "Onboarding"
|
146 |
-
#~ msgstr "Squirrly Einstellungen"
|
147 |
-
|
148 |
-
# @ squirrly-seo
|
149 |
-
#, fuzzy
|
150 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
151 |
-
#~ msgid "Squirrly How To & Support"
|
152 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
153 |
-
|
154 |
-
# @ squirrly-seo
|
155 |
-
#, fuzzy
|
156 |
-
#~| msgid "Could not send the email..."
|
157 |
-
#~ msgid "Could not add the demo post."
|
158 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
159 |
-
|
160 |
-
# @ squirrly-seo
|
161 |
-
#, fuzzy
|
162 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
163 |
-
#~ msgid "SQ Snippet"
|
164 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
165 |
-
|
166 |
-
# @ squirrly-seo
|
167 |
-
#, fuzzy
|
168 |
-
#~| msgid "Could not send the email..."
|
169 |
-
#~ msgid "Could not process"
|
170 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
171 |
-
|
172 |
-
# @ squirrly-seo
|
173 |
-
#, fuzzy
|
174 |
-
#~| msgid "Could not send the email..."
|
175 |
-
#~ msgid "Could not load the Rankings."
|
176 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
177 |
-
|
178 |
-
# @ squirrly-seo
|
179 |
-
#, fuzzy
|
180 |
-
#~| msgid "Could not send the email..."
|
181 |
-
#~ msgid "Could not load data."
|
182 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
183 |
-
|
184 |
-
# @ squirrly-seo
|
185 |
-
#, fuzzy
|
186 |
-
#~| msgid "Could not send the email..."
|
187 |
-
#~ msgid "Could not delete the keyword!"
|
188 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
189 |
-
|
190 |
-
# @ squirrly-seo
|
191 |
-
#, fuzzy
|
192 |
-
#~| msgid "Do the research"
|
193 |
-
#~ msgid "Keyword Saved!"
|
194 |
-
#~ msgstr "Recherchieren"
|
195 |
-
|
196 |
-
# @ squirrly-seo
|
197 |
-
#, fuzzy
|
198 |
-
#~| msgid "Tips: 2-4 keywords"
|
199 |
-
#~ msgid "Invalid Keyword!"
|
200 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
201 |
-
|
202 |
-
# @ squirrly-seo
|
203 |
-
#, fuzzy
|
204 |
-
#~| msgid "Do the research"
|
205 |
-
#~ msgid "Keyword Research limit exceeded"
|
206 |
-
#~ msgstr "Recherchieren"
|
207 |
-
|
208 |
-
# @ squirrly-seo
|
209 |
-
#, fuzzy
|
210 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
211 |
-
#~ msgid "Google Analytics account is disconnected."
|
212 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
213 |
-
|
214 |
-
# @ squirrly-seo
|
215 |
-
#, fuzzy
|
216 |
-
#~| msgid "Could not send the email..."
|
217 |
-
#~ msgid "Error! Could not disconnect the account."
|
218 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
219 |
-
|
220 |
-
# @ squirrly-seo
|
221 |
-
#, fuzzy
|
222 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
223 |
-
#~ msgid "Google Search Console account is disconnected."
|
224 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
225 |
-
|
226 |
-
# @ squirrly-seo
|
227 |
-
#, fuzzy
|
228 |
-
#~| msgid "Could not send the email..."
|
229 |
-
#~ msgid "Could not save the changes"
|
230 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
231 |
-
|
232 |
-
# @ squirrly-seo
|
233 |
-
#, fuzzy
|
234 |
-
#~| msgid "Could not send the email..."
|
235 |
-
#~ msgid "Could not add the post type."
|
236 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
237 |
-
|
238 |
-
# @ squirrly-seo
|
239 |
-
#, fuzzy
|
240 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
241 |
-
#~ msgid "Squirrly SEO Snippet"
|
242 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
243 |
-
|
244 |
-
# @ squirrly-seo
|
245 |
-
#, fuzzy
|
246 |
-
#~| msgid "Your E-mail:"
|
247 |
-
#~ msgid "Task Details"
|
248 |
-
#~ msgstr "Ihre E-Mail Adresse:"
|
249 |
-
|
250 |
-
# @ squirrly-seo
|
251 |
-
#, fuzzy
|
252 |
-
#~| msgid "Do the research"
|
253 |
-
#~ msgid "Do Keyword Research"
|
254 |
-
#~ msgstr "Recherchieren"
|
255 |
-
|
256 |
-
# @ squirrly-seo
|
257 |
-
#, fuzzy
|
258 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
259 |
-
#~ msgid "Activate Meta Automation"
|
260 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
261 |
-
|
262 |
-
# @ squirrly-seo
|
263 |
-
#, fuzzy
|
264 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
265 |
-
#~ msgid "Activate Google Analytics"
|
266 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
267 |
-
|
268 |
-
# @ squirrly-seo
|
269 |
-
#, fuzzy
|
270 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
271 |
-
#~ msgid "Connect Google Analytics"
|
272 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
273 |
-
|
274 |
-
# @ squirrly-seo
|
275 |
-
#, fuzzy
|
276 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
277 |
-
#~ msgid "Connect Google Search Console"
|
278 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
279 |
-
|
280 |
-
# @ squirrly-seo
|
281 |
-
#, fuzzy
|
282 |
-
#~| msgid "Your E-mail:"
|
283 |
-
#~ msgid "Set the Audit Email"
|
284 |
-
#~ msgstr "Ihre E-Mail Adresse:"
|
285 |
-
|
286 |
-
# @ squirrly-seo
|
287 |
-
#, fuzzy
|
288 |
-
#~| msgid "adds the correct <strong>title</strong> in the home page"
|
289 |
-
#~ msgid "Add the meta DcPublisher tag in the page's header"
|
290 |
-
#~ msgstr "fügt den richtigen <strong>Titel</strong> in die Startseite ein"
|
291 |
-
|
292 |
-
# @ squirrly-seo
|
293 |
-
#, fuzzy
|
294 |
-
#~| msgid "Tool for Search Engines"
|
295 |
-
#~ msgid "Visible for search engines?"
|
296 |
-
#~ msgstr "Tool für Suchmaschinen"
|
297 |
-
|
298 |
-
# @ squirrly-seo
|
299 |
-
#, fuzzy
|
300 |
-
#~| msgid "adds the correct <strong>title</strong> in the home page"
|
301 |
-
#~ msgid "Add the correct meta robots tag in the pages"
|
302 |
-
#~ msgstr "fügt den richtigen <strong>Titel</strong> in die Startseite ein"
|
303 |
-
|
304 |
-
# @ squirrly-seo
|
305 |
-
#, fuzzy
|
306 |
-
#~| msgid "Tool for Search Engines"
|
307 |
-
#~ msgid "Followed by search engines?"
|
308 |
-
#~ msgstr "Tool für Suchmaschinen"
|
309 |
-
|
310 |
-
# @ squirrly-seo
|
311 |
-
#, fuzzy
|
312 |
-
#~| msgid "Enter even more keywords."
|
313 |
-
#~ msgid "Meta Keyword"
|
314 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
315 |
-
|
316 |
-
# @ squirrly-seo
|
317 |
-
#, fuzzy
|
318 |
-
#~| msgid "Tips: 2-4 keywords"
|
319 |
-
#~ msgid "Your keywords are"
|
320 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
321 |
-
|
322 |
-
# @ squirrly-seo
|
323 |
-
#, fuzzy
|
324 |
-
#~| msgid "Tips: 2-4 keywords"
|
325 |
-
#~ msgid "No keywords."
|
326 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
327 |
-
|
328 |
-
# @ squirrly-seo
|
329 |
-
#, fuzzy
|
330 |
-
#~| msgid "adds <strong>canonical</strong> link in home page"
|
331 |
-
#~ msgid "Add canonical meta link in the page header"
|
332 |
-
#~ msgstr "fügt den richtigen <strong>canonical</strong> in die Startseite ein"
|
333 |
-
|
334 |
-
# @ squirrly-seo
|
335 |
-
#, fuzzy
|
336 |
-
#~| msgid "adds <strong>canonical</strong> link in home page"
|
337 |
-
#~ msgid "Add the meta encoding tag in the page's header"
|
338 |
-
#~ msgstr "fügt den richtigen <strong>canonical</strong> in die Startseite ein"
|
339 |
-
|
340 |
-
# @ squirrly-seo
|
341 |
-
#, fuzzy
|
342 |
-
#~| msgid "adds the correct <strong>title</strong> in the home page"
|
343 |
-
#~ msgid "Add the meta viewport tag in the page's header"
|
344 |
-
#~ msgstr "fügt den richtigen <strong>Titel</strong> in die Startseite ein"
|
345 |
-
|
346 |
-
# @ squirrly-seo
|
347 |
-
#, fuzzy
|
348 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
349 |
-
#~ msgid "Activate Squirrly SEO Title now"
|
350 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
351 |
-
|
352 |
-
# @ squirrly-seo
|
353 |
-
#, fuzzy
|
354 |
-
#~| msgid "Enter even more keywords."
|
355 |
-
#~ msgid "Choose less competitive keywords"
|
356 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
357 |
-
|
358 |
-
# @ squirrly-seo
|
359 |
-
#, fuzzy
|
360 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
361 |
-
#~ msgid "Prepare Full Google Search Console Connection"
|
362 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
363 |
-
|
364 |
-
# @ squirrly-seo
|
365 |
-
#, fuzzy
|
366 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
367 |
-
#~ msgid "Connect Google Analytics Data to Squirrly"
|
368 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
369 |
-
|
370 |
-
# @ squirrly-seo
|
371 |
-
#, fuzzy
|
372 |
-
#~| msgid "Squirrly settings"
|
373 |
-
#~ msgid "Audit Score is Over 50%"
|
374 |
-
#~ msgstr "Squirrly Einstellungen"
|
375 |
-
|
376 |
-
# @ squirrly-seo
|
377 |
-
#, fuzzy
|
378 |
-
#~| msgid "Squirrly settings"
|
379 |
-
#~ msgid "Audit Score is Over 70%"
|
380 |
-
#~ msgstr "Squirrly Einstellungen"
|
381 |
-
|
382 |
-
# @ squirrly-seo
|
383 |
-
#, fuzzy
|
384 |
-
#~| msgid "Could not send the email..."
|
385 |
-
#~ msgid "Could not verify the frontend."
|
386 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
387 |
-
|
388 |
-
# @ squirrly-seo
|
389 |
-
#, fuzzy
|
390 |
-
#~| msgid "Tips: 2-4 keywords"
|
391 |
-
#~ msgid "Keyword"
|
392 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
393 |
-
|
394 |
-
# @ squirrly-seo
|
395 |
-
#, fuzzy
|
396 |
-
#~| msgid "SEO Software"
|
397 |
-
#~ msgid "SEO Content"
|
398 |
-
#~ msgstr "SEO Software"
|
399 |
-
|
400 |
-
# @ squirrly-seo
|
401 |
-
#, fuzzy
|
402 |
-
#~| msgid "File type error: Only JPEG, JPG, GIF or PNG files are allowed."
|
403 |
-
#~ msgid "File type error: Only ICO, JPEG, JPG, GIF or PNG files are allowed."
|
404 |
-
#~ msgstr "Dateityp Fehler: Nur JPEG, JPG, GIF oder PNG-Dateien sind erlaubt."
|
405 |
-
|
406 |
-
# @ squirrly-seo
|
407 |
-
#, fuzzy
|
408 |
-
#~| msgid "Could not send the email..."
|
409 |
-
#~ msgid "Delete error: Could not delete the old favicon."
|
410 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
411 |
-
|
412 |
-
# @ squirrly-seo
|
413 |
-
#, fuzzy
|
414 |
-
#~| msgid "Could not send the email..."
|
415 |
-
#~ msgid "Upload error: Could not upload the favicon."
|
416 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
417 |
-
|
418 |
-
# @ squirrly-seo
|
419 |
-
#, fuzzy
|
420 |
-
#~| msgid "Do the research"
|
421 |
-
#~ msgid "Research"
|
422 |
-
#~ msgstr "Recherchieren"
|
423 |
-
|
424 |
-
# @ squirrly-seo
|
425 |
-
#, fuzzy
|
426 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
427 |
-
#~ msgid "All Snippets"
|
428 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
429 |
-
|
430 |
-
# @ squirrly-seo
|
431 |
-
#, fuzzy
|
432 |
-
#~| msgid "Squirrly settings"
|
433 |
-
#~ msgid "SEO Settings"
|
434 |
-
#~ msgstr "Squirrly Einstellungen"
|
435 |
-
|
436 |
-
# @ squirrly-seo
|
437 |
-
#, fuzzy
|
438 |
-
#~| msgid "Squirrly settings"
|
439 |
-
#~ msgid "Focus Pages"
|
440 |
-
#~ msgstr "Squirrly Einstellungen"
|
441 |
-
|
442 |
-
# @ squirrly-seo
|
443 |
-
#, fuzzy
|
444 |
-
#~| msgid "automatically"
|
445 |
-
#~ msgid "SEO Audit"
|
446 |
-
#~ msgstr "automatisch"
|
447 |
-
|
448 |
-
# @ squirrly-seo
|
449 |
-
#, fuzzy
|
450 |
-
#~| msgid "Squirrly settings"
|
451 |
-
#~ msgid "Rankings"
|
452 |
-
#~ msgstr "Squirrly Einstellungen"
|
453 |
-
|
454 |
-
# @ squirrly-seo
|
455 |
-
#, fuzzy
|
456 |
-
#~| msgid "Tips: 2-4 keywords"
|
457 |
-
#~ msgid "Find Keywords"
|
458 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
459 |
-
|
460 |
-
# @ squirrly-seo
|
461 |
-
#, fuzzy
|
462 |
-
#~| msgid "Do the research"
|
463 |
-
#~ msgid "do a keyword research"
|
464 |
-
#~ msgstr "Recherchieren"
|
465 |
-
|
466 |
-
# @ squirrly-seo
|
467 |
-
#, fuzzy
|
468 |
-
#~| msgid "Enter even more keywords."
|
469 |
-
#~ msgid "save the best Keywords"
|
470 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
471 |
-
|
472 |
-
# @ squirrly-seo
|
473 |
-
#, fuzzy
|
474 |
-
#~| msgid "Tips: 2-4 keywords"
|
475 |
-
#~ msgid "group keywords"
|
476 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
477 |
-
|
478 |
-
# @ squirrly-seo
|
479 |
-
#, fuzzy
|
480 |
-
#~| msgid "Enter even more keywords."
|
481 |
-
#~ msgid "better keywords found"
|
482 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
483 |
-
|
484 |
-
# @ squirrly-seo
|
485 |
-
#, fuzzy
|
486 |
-
#~| msgid "Do the research"
|
487 |
-
#~ msgid "keyword research history"
|
488 |
-
#~ msgstr "Recherchieren"
|
489 |
-
|
490 |
-
# @ squirrly-seo
|
491 |
-
#, fuzzy
|
492 |
-
#~| msgid "Squirrly settings"
|
493 |
-
#~ msgid "Settings"
|
494 |
-
#~ msgstr "Squirrly Einstellungen"
|
495 |
-
|
496 |
-
# @ squirrly-seo
|
497 |
-
#, fuzzy
|
498 |
-
#~| msgid "Squirrly settings"
|
499 |
-
#~ msgid "Add New Page"
|
500 |
-
#~ msgstr "Squirrly Einstellungen"
|
501 |
-
|
502 |
-
# @ squirrly-seo
|
503 |
-
#, fuzzy
|
504 |
-
#~| msgid "Squirrly settings"
|
505 |
-
#~ msgid "Audit settings"
|
506 |
-
#~ msgstr "Squirrly Einstellungen"
|
507 |
-
|
508 |
-
# @ squirrly-seo
|
509 |
-
#, fuzzy
|
510 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
511 |
-
#~ msgid "See Google ranking"
|
512 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
513 |
-
|
514 |
-
# @ squirrly-seo
|
515 |
-
#, fuzzy
|
516 |
-
#~| msgid "Tips: 2-4 keywords"
|
517 |
-
#~ msgid "Add Keywords"
|
518 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
519 |
-
|
520 |
-
# @ squirrly-seo
|
521 |
-
#, fuzzy
|
522 |
-
#~| msgid "Enter even more keywords."
|
523 |
-
#~ msgid "Add briefcase keywords"
|
524 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
525 |
-
|
526 |
-
# @ squirrly-seo
|
527 |
-
#, fuzzy
|
528 |
-
#~| msgid "Squirrly settings"
|
529 |
-
#~ msgid "Ranking settings"
|
530 |
-
#~ msgstr "Squirrly Einstellungen"
|
531 |
-
|
532 |
-
# @ squirrly-seo
|
533 |
-
#, fuzzy
|
534 |
-
#~| msgid "Squirrly settings"
|
535 |
-
#~ msgid "Bulk SEO"
|
536 |
-
#~ msgstr "Squirrly Einstellungen"
|
537 |
-
|
538 |
-
# @ squirrly-seo
|
539 |
-
#, fuzzy
|
540 |
-
#~| msgid "automatically"
|
541 |
-
#~ msgid "Automation"
|
542 |
-
#~ msgstr "automatisch"
|
543 |
-
|
544 |
-
# @ squirrly-seo
|
545 |
-
#, fuzzy
|
546 |
-
#~| msgid "SEO Software"
|
547 |
-
#~ msgid "SEO Metas"
|
548 |
-
#~ msgstr "SEO Software"
|
549 |
-
|
550 |
-
# @ squirrly-seo
|
551 |
-
#, fuzzy
|
552 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
553 |
-
#~ msgid "google analytics, pixel, etc."
|
554 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
555 |
-
|
556 |
-
# @ squirrly-seo
|
557 |
-
#, fuzzy
|
558 |
-
#~| msgid "Squirrly settings"
|
559 |
-
#~ msgid "Advanced"
|
560 |
-
#~ msgstr "Squirrly Einstellungen"
|
561 |
-
|
562 |
-
# @ squirrly-seo
|
563 |
-
#, fuzzy
|
564 |
-
#~| msgid "Squirrly settings"
|
565 |
-
#~ msgid "Advanced SEO Settings"
|
566 |
-
#~ msgstr "Squirrly Einstellungen"
|
567 |
-
|
568 |
-
# @ squirrly-seo
|
569 |
-
#, fuzzy
|
570 |
-
#~| msgid "Squirrly settings"
|
571 |
-
#~ msgid "start using Squirrly SEO"
|
572 |
-
#~ msgstr "Squirrly Einstellungen"
|
573 |
-
|
574 |
-
# @ squirrly-seo
|
575 |
-
#, fuzzy
|
576 |
-
#~| msgid "Tips: Length 70-255 chars"
|
577 |
-
#~ msgid "Title length is between 10-75 chars"
|
578 |
-
#~ msgstr "Tipp: Länge 70-255 Charaktere"
|
579 |
-
|
580 |
-
# @ squirrly-seo
|
581 |
-
#, fuzzy
|
582 |
-
#~| msgid "SEO Software"
|
583 |
-
#~ msgid "Content"
|
584 |
-
#~ msgstr "SEO Software"
|
585 |
-
|
586 |
-
# @ squirrly-seo
|
587 |
-
#, fuzzy, php-format
|
588 |
-
#~| msgid "Could not send the email..."
|
589 |
-
#~ msgid "Bold one of the keywords %s"
|
590 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
591 |
-
|
592 |
-
# @ squirrly-seo
|
593 |
-
#, fuzzy
|
594 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
595 |
-
#~ msgid "Squirrly SEO Editor"
|
596 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
597 |
-
|
598 |
-
# @ squirrly-seo
|
599 |
-
#, fuzzy
|
600 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
601 |
-
#~ msgid "Squirrly SEO Admin"
|
602 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
603 |
-
|
604 |
-
# @ squirrly-seo
|
605 |
-
#, fuzzy
|
606 |
-
#~| msgid "Could not send the email..."
|
607 |
-
#~ msgid "Error! Could not save the data."
|
608 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
609 |
-
|
610 |
-
# @ squirrly-seo
|
611 |
-
#, fuzzy
|
612 |
-
#~| msgid "Could not send the email..."
|
613 |
-
#~ msgid "Couldn't find the page"
|
614 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
615 |
-
|
616 |
-
# @ squirrly-seo
|
617 |
-
#, fuzzy, php-format
|
618 |
-
#~| msgid "Tips: Length 10-70 chars"
|
619 |
-
#~ msgid "Title up to %s chars"
|
620 |
-
#~ msgstr "Tipp: Länge 10-70 Charaktere"
|
621 |
-
|
622 |
-
# @ squirrly-seo
|
623 |
-
#, fuzzy
|
624 |
-
#~| msgid "Do the research"
|
625 |
-
#~ msgid "Keyword in title"
|
626 |
-
#~ msgstr "Recherchieren"
|
627 |
-
|
628 |
-
# @ squirrly-seo
|
629 |
-
#, fuzzy
|
630 |
-
#~| msgid "Tips: 2-4 keywords"
|
631 |
-
#~ msgid "Snippet Keyword"
|
632 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
633 |
-
|
634 |
-
# @ squirrly-seo
|
635 |
-
#, fuzzy
|
636 |
-
#~| msgid "Tips: 2-4 keywords"
|
637 |
-
#~ msgid "no keywords"
|
638 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
639 |
-
|
640 |
-
# @ squirrly-seo
|
641 |
-
#, fuzzy
|
642 |
-
#~| msgid "Enter even more keywords."
|
643 |
-
#~ msgid "Meta Keywords (2-4 Words)"
|
644 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
645 |
-
|
646 |
-
# @ squirrly-seo
|
647 |
-
#, fuzzy
|
648 |
-
#~| msgid "Enter even more keywords."
|
649 |
-
#~ msgid "no meta keywords"
|
650 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
651 |
-
|
652 |
-
# @ squirrly-seo
|
653 |
-
#, fuzzy
|
654 |
-
#~| msgid "<< Leave it automatically"
|
655 |
-
#~ msgid "Some Squirrly Metas are generated automatically."
|
656 |
-
#~ msgstr "<< Lass es automatisch"
|
657 |
-
|
658 |
-
# @ squirrly-seo
|
659 |
-
#, fuzzy
|
660 |
-
#~| msgid "Enter even more keywords."
|
661 |
-
#~ msgid "No Meta Keyword Found"
|
662 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
663 |
-
|
664 |
-
# @ squirrly-seo
|
665 |
-
#, fuzzy
|
666 |
-
#~| msgid "<< Leave it automatically"
|
667 |
-
#~ msgid "Title is generated automatically."
|
668 |
-
#~ msgstr "<< Lass es automatisch"
|
669 |
-
|
670 |
-
# @ squirrly-seo
|
671 |
-
#, fuzzy
|
672 |
-
#~| msgid "<< Leave it automatically"
|
673 |
-
#~ msgid "Description is generated automatically."
|
674 |
-
#~ msgstr "<< Lass es automatisch"
|
675 |
-
|
676 |
-
# @ squirrly-seo
|
677 |
-
#, fuzzy
|
678 |
-
#~| msgid "<< Leave it automatically"
|
679 |
-
#~ msgid "Open Graph is deactivated."
|
680 |
-
#~ msgstr "<< Lass es automatisch"
|
681 |
-
|
682 |
-
# @ squirrly-seo
|
683 |
-
#, fuzzy
|
684 |
-
#~| msgid "<< Leave it automatically"
|
685 |
-
#~ msgid "Open Graph is generated automatically."
|
686 |
-
#~ msgstr "<< Lass es automatisch"
|
687 |
-
|
688 |
-
# @ squirrly-seo
|
689 |
-
#, fuzzy
|
690 |
-
#~| msgid "<< Leave it automatically"
|
691 |
-
#~ msgid "Open Graph is customized and set correctly."
|
692 |
-
#~ msgstr "<< Lass es automatisch"
|
693 |
-
|
694 |
-
# @ squirrly-seo
|
695 |
-
#, fuzzy
|
696 |
-
#~| msgid "<< Leave it automatically"
|
697 |
-
#~ msgid "Twitter Card is generated automatically."
|
698 |
-
#~ msgstr "<< Lass es automatisch"
|
699 |
-
|
700 |
-
# @ squirrly-seo
|
701 |
-
#, fuzzy
|
702 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
703 |
-
#~ msgid "Connect Google Search"
|
704 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
705 |
-
|
706 |
-
# @ squirrly-seo
|
707 |
-
#, fuzzy, php-format
|
708 |
-
#~| msgid "Squirrly settings"
|
709 |
-
#~ msgid "Audit score is over %s"
|
710 |
-
#~ msgstr "Squirrly Einstellungen"
|
711 |
-
|
712 |
-
# @ squirrly-seo
|
713 |
-
#, fuzzy
|
714 |
-
#~| msgid "Tool for Search Engines"
|
715 |
-
#~ msgid "Clicks from Search Engine in the last 3 months"
|
716 |
-
#~ msgstr "Tool für Suchmaschinen"
|
717 |
-
|
718 |
-
# @ squirrly-seo
|
719 |
-
#, fuzzy
|
720 |
-
#~| msgid "Do the research"
|
721 |
-
#~ msgid "Do a research"
|
722 |
-
#~ msgstr "Recherchieren"
|
723 |
-
|
724 |
-
# @ squirrly-seo
|
725 |
-
#, fuzzy
|
726 |
-
#~| msgid "Enter even more keywords."
|
727 |
-
#~ msgid "No Keyword Found"
|
728 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
729 |
-
|
730 |
-
# @ squirrly-seo
|
731 |
-
#, fuzzy
|
732 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
733 |
-
#~ msgid "Connect to Google Search Console."
|
734 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
735 |
-
|
736 |
-
# @ squirrly-seo
|
737 |
-
#, fuzzy
|
738 |
-
#~| msgid "Do the research"
|
739 |
-
#~ msgid "Keyword in filename"
|
740 |
-
#~ msgstr "Recherchieren"
|
741 |
-
|
742 |
-
# @ squirrly-seo
|
743 |
-
#, fuzzy
|
744 |
-
#~| msgid "Tool for Search Engines"
|
745 |
-
#~ msgid "Search Results Impressions in the last 3 months"
|
746 |
-
#~ msgstr "Tool für Suchmaschinen"
|
747 |
-
|
748 |
-
# @ squirrly-seo
|
749 |
-
#, fuzzy
|
750 |
-
#~| msgid "Tips: 2-4 keywords"
|
751 |
-
#~ msgid "Find Better Keywords"
|
752 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
753 |
-
|
754 |
-
# @ squirrly-seo
|
755 |
-
#, fuzzy
|
756 |
-
#~| msgid "Tips: 2-4 keywords"
|
757 |
-
#~ msgid "words"
|
758 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
759 |
-
|
760 |
-
# @ squirrly-seo
|
761 |
-
#, fuzzy
|
762 |
-
#~| msgid "Squirrly settings"
|
763 |
-
#~ msgid "Edit Page"
|
764 |
-
#~ msgstr "Squirrly Einstellungen"
|
765 |
-
|
766 |
-
# @ squirrly-seo
|
767 |
-
#, fuzzy
|
768 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
769 |
-
#~ msgid "Connect to Google Analytics first."
|
770 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
771 |
-
|
772 |
-
# @ squirrly-seo
|
773 |
-
#, fuzzy
|
774 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
775 |
-
#~ msgid "Connect Google Analytics first."
|
776 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
777 |
-
|
778 |
-
# @ squirrly-seo
|
779 |
-
#, fuzzy
|
780 |
-
#~| msgid "Squirrly settings"
|
781 |
-
#~ msgid "Go to SEO Settings"
|
782 |
-
#~ msgstr "Squirrly Einstellungen"
|
783 |
-
|
784 |
-
# @ squirrly-seo
|
785 |
-
#, fuzzy
|
786 |
-
#~| msgid "Squirrly settings"
|
787 |
-
#~ msgid "Go to Social Media Settings"
|
788 |
-
#~ msgstr "Squirrly Einstellungen"
|
789 |
-
|
790 |
-
# @ squirrly-seo
|
791 |
-
#, fuzzy
|
792 |
-
#~| msgid "Do the research"
|
793 |
-
#~ msgid "Add keyword to Briefcase"
|
794 |
-
#~ msgstr "Recherchieren"
|
795 |
-
|
796 |
-
# @ squirrly-seo
|
797 |
-
#, fuzzy
|
798 |
-
#~| msgid "SEO Software"
|
799 |
-
#~ msgid "Add SEO Context"
|
800 |
-
#~ msgstr "SEO Software"
|
801 |
-
|
802 |
-
# @ squirrly-seo
|
803 |
-
#, fuzzy
|
804 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
805 |
-
#~ msgid "Just one Google Analytics tracking code"
|
806 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
807 |
-
|
808 |
-
# @ squirrly-seo
|
809 |
-
#, fuzzy
|
810 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
811 |
-
#~ msgid "Connect Google Analytics first"
|
812 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
813 |
-
|
814 |
-
# @ squirrly-seo
|
815 |
-
#, fuzzy
|
816 |
-
#~| msgid "Squirrly settings"
|
817 |
-
#~ msgid "Squirrly SEO Robots"
|
818 |
-
#~ msgstr "Squirrly Einstellungen"
|
819 |
-
|
820 |
-
# @ squirrly-seo
|
821 |
-
#, fuzzy
|
822 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
823 |
-
#~ msgid "No Squirrly SEO Robots found."
|
824 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
825 |
-
|
826 |
-
# @ squirrly-seo
|
827 |
-
#, fuzzy
|
828 |
-
#~| msgid "Squirrly settings"
|
829 |
-
#~ msgid "Live Assistant Settings"
|
830 |
-
#~ msgstr "Squirrly Einstellungen"
|
831 |
-
|
832 |
-
# @ squirrly-seo
|
833 |
-
#, fuzzy
|
834 |
-
#~| msgid "Squirrly settings"
|
835 |
-
#~ msgid "Squirrly Tooltips"
|
836 |
-
#~ msgstr "Squirrly Einstellungen"
|
837 |
-
|
838 |
-
# @ squirrly-seo
|
839 |
-
#, fuzzy
|
840 |
-
#~| msgid "Tips: 2-4 keywords"
|
841 |
-
#~ msgid "Download Remote Images"
|
842 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
843 |
-
|
844 |
-
# @ squirrly-seo
|
845 |
-
#, fuzzy
|
846 |
-
#~| msgid "Squirrly settings"
|
847 |
-
#~ msgid "Show Advanced Options"
|
848 |
-
#~ msgstr "Squirrly Einstellungen"
|
849 |
-
|
850 |
-
# @ squirrly-seo
|
851 |
-
#, fuzzy
|
852 |
-
#~| msgid "Squirrly settings"
|
853 |
-
#~ msgid "Hide Advanced Options"
|
854 |
-
#~ msgstr "Squirrly Einstellungen"
|
855 |
-
|
856 |
-
# @ squirrly-seo
|
857 |
-
#, fuzzy
|
858 |
-
#~| msgid "Squirrly settings"
|
859 |
-
#~ msgid "Save Settings"
|
860 |
-
#~ msgstr "Squirrly Einstellungen"
|
861 |
-
|
862 |
-
# @ squirrly-seo
|
863 |
-
#, fuzzy
|
864 |
-
#~| msgid "Do the research"
|
865 |
-
#~ msgid "Search"
|
866 |
-
#~ msgstr "Recherchieren"
|
867 |
-
|
868 |
-
# @ squirrly-seo
|
869 |
-
#, fuzzy
|
870 |
-
#~| msgid "Tips: 2-4 keywords"
|
871 |
-
#~ msgid "Show All"
|
872 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
873 |
-
|
874 |
-
# @ squirrly-seo
|
875 |
-
#, fuzzy
|
876 |
-
#~| msgid "Squirrly settings"
|
877 |
-
#~ msgid "Next Page"
|
878 |
-
#~ msgstr "Squirrly Einstellungen"
|
879 |
-
|
880 |
-
# @ squirrly-seo
|
881 |
-
#, fuzzy
|
882 |
-
#~| msgid "Your E-mail:"
|
883 |
-
#~ msgid "Audit Details"
|
884 |
-
#~ msgstr "Ihre E-Mail Adresse:"
|
885 |
-
|
886 |
-
# @ squirrly-seo
|
887 |
-
#, fuzzy
|
888 |
-
#~| msgid "Squirrly settings"
|
889 |
-
#~ msgid "Audit Pages"
|
890 |
-
#~ msgstr "Squirrly Einstellungen"
|
891 |
-
|
892 |
-
# @ squirrly-seo
|
893 |
-
#, fuzzy
|
894 |
-
#~| msgid "Could not send the email..."
|
895 |
-
#~ msgid "Could not create the audit for this URL"
|
896 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
897 |
-
|
898 |
-
# @ squirrly-seo
|
899 |
-
#, fuzzy
|
900 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
901 |
-
#~ msgid "Inspect URL"
|
902 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
903 |
-
|
904 |
-
# @ squirrly-seo
|
905 |
-
#, fuzzy
|
906 |
-
#~| msgid "Could not send the email..."
|
907 |
-
#~ msgid "Do you want to delete the Audit Page?"
|
908 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
909 |
-
|
910 |
-
# @ squirrly-seo
|
911 |
-
#, fuzzy
|
912 |
-
#~| msgid "Squirrly settings"
|
913 |
-
#~ msgid "Audited pages"
|
914 |
-
#~ msgstr "Squirrly Einstellungen"
|
915 |
-
|
916 |
-
# @ squirrly-seo
|
917 |
-
#, fuzzy
|
918 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
919 |
-
#~ msgid "Welcome to Squirrly SEO Audits"
|
920 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
921 |
-
|
922 |
-
# @ squirrly-seo
|
923 |
-
#, fuzzy
|
924 |
-
#~| msgid "Squirrly settings"
|
925 |
-
#~ msgid "Audit Score"
|
926 |
-
#~ msgstr "Squirrly Einstellungen"
|
927 |
-
|
928 |
-
# @ squirrly-seo
|
929 |
-
#, fuzzy
|
930 |
-
#~| msgid "Squirrly settings"
|
931 |
-
#~ msgid "Your audit score is"
|
932 |
-
#~ msgstr "Squirrly Einstellungen"
|
933 |
-
|
934 |
-
# @ squirrly-seo
|
935 |
-
#, fuzzy
|
936 |
-
#~| msgid "Your E-mail:"
|
937 |
-
#~ msgid "Audit Date"
|
938 |
-
#~ msgstr "Ihre E-Mail Adresse:"
|
939 |
-
|
940 |
-
# @ squirrly-seo
|
941 |
-
#, fuzzy
|
942 |
-
#~| msgid "Squirrly settings"
|
943 |
-
#~ msgid "Audit in progress"
|
944 |
-
#~ msgstr "Squirrly Einstellungen"
|
945 |
-
|
946 |
-
# @ squirrly-seo
|
947 |
-
#, fuzzy
|
948 |
-
#~| msgid "Squirrly settings"
|
949 |
-
#~ msgid "Audit not ready yet"
|
950 |
-
#~ msgstr "Squirrly Einstellungen"
|
951 |
-
|
952 |
-
# @ squirrly-seo
|
953 |
-
#, fuzzy
|
954 |
-
#~| msgid "Squirrly settings"
|
955 |
-
#~ msgid "Audit History"
|
956 |
-
#~ msgstr "Squirrly Einstellungen"
|
957 |
-
|
958 |
-
# @ squirrly-seo
|
959 |
-
#, fuzzy
|
960 |
-
#~| msgid "Squirrly settings"
|
961 |
-
#~ msgid "Audits"
|
962 |
-
#~ msgstr "Squirrly Einstellungen"
|
963 |
-
|
964 |
-
# @ squirrly-seo
|
965 |
-
#, fuzzy
|
966 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
967 |
-
#~ msgid "Squirrly Inspect URL"
|
968 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
969 |
-
|
970 |
-
# @ squirrly-seo
|
971 |
-
#, fuzzy
|
972 |
-
#~| msgid "Squirrly settings"
|
973 |
-
#~ msgid "Audit Settings"
|
974 |
-
#~ msgstr "Squirrly Einstellungen"
|
975 |
-
|
976 |
-
# @ squirrly-seo
|
977 |
-
#, fuzzy
|
978 |
-
#~| msgid "Your E-mail:"
|
979 |
-
#~ msgid "Audit Email"
|
980 |
-
#~ msgstr "Ihre E-Mail Adresse:"
|
981 |
-
|
982 |
-
# @ squirrly-seo
|
983 |
-
#, fuzzy
|
984 |
-
#~| msgid "Your E-mail:"
|
985 |
-
#~ msgid "Email"
|
986 |
-
#~ msgstr "Ihre E-Mail Adresse:"
|
987 |
-
|
988 |
-
# @ squirrly-seo
|
989 |
-
#, fuzzy
|
990 |
-
#~| msgid "Do the research"
|
991 |
-
#~ msgid "Keyword Research"
|
992 |
-
#~ msgstr "Recherchieren"
|
993 |
-
|
994 |
-
# @ squirrly-seo
|
995 |
-
#, fuzzy
|
996 |
-
#~| msgid "automatically"
|
997 |
-
#~ msgid "SEO Automation"
|
998 |
-
#~ msgstr "automatisch"
|
999 |
-
|
1000 |
-
# @ squirrly-seo
|
1001 |
-
#, fuzzy
|
1002 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
1003 |
-
#~ msgid "Bulk SEO & Snippets"
|
1004 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
1005 |
-
|
1006 |
-
# @ squirrly-seo
|
1007 |
-
#, fuzzy
|
1008 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1009 |
-
#~ msgid "Google Analytics Tracking"
|
1010 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1011 |
-
|
1012 |
-
# @ squirrly-seo
|
1013 |
-
#, fuzzy
|
1014 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1015 |
-
#~ msgid "Google Search Console"
|
1016 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1017 |
-
|
1018 |
-
# @ squirrly-seo
|
1019 |
-
#, fuzzy
|
1020 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
1021 |
-
#~ msgid "Squirrly SEO Feature Categories"
|
1022 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
1023 |
-
|
1024 |
-
# @ squirrly-seo
|
1025 |
-
#, fuzzy
|
1026 |
-
#~| msgid "Squirrly settings"
|
1027 |
-
#~ msgid "Squirrly Briefcase"
|
1028 |
-
#~ msgstr "Squirrly Einstellungen"
|
1029 |
-
|
1030 |
-
# @ squirrly-seo
|
1031 |
-
#, fuzzy
|
1032 |
-
#~| msgid "Enter even more keywords."
|
1033 |
-
#~ msgid "Enter a keyword"
|
1034 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
1035 |
-
|
1036 |
-
# @ squirrly-seo
|
1037 |
-
#, fuzzy
|
1038 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
1039 |
-
#~ msgid "for Squirrly Live SEO optimization"
|
1040 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
1041 |
-
|
1042 |
-
# @ squirrly-seo
|
1043 |
-
#, fuzzy
|
1044 |
-
#~| msgid "Enter even more keywords."
|
1045 |
-
#~ msgid "Type in your keyword..."
|
1046 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
1047 |
-
|
1048 |
-
# @ squirrly-seo
|
1049 |
-
#, fuzzy
|
1050 |
-
#~| msgid "Enter even more keywords."
|
1051 |
-
#~ msgid "Use this keyword"
|
1052 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
1053 |
-
|
1054 |
-
# @ squirrly-seo
|
1055 |
-
#, fuzzy
|
1056 |
-
#~| msgid "Do the research"
|
1057 |
-
#~ msgid "Do keyword research!"
|
1058 |
-
#~ msgstr "Recherchieren"
|
1059 |
-
|
1060 |
-
# @ squirrly-seo
|
1061 |
-
#, fuzzy
|
1062 |
-
#~| msgid "Squirrly settings"
|
1063 |
-
#~ msgid "Squirrly Live Assistant"
|
1064 |
-
#~ msgstr "Squirrly Einstellungen"
|
1065 |
-
|
1066 |
-
# @ squirrly-seo
|
1067 |
-
#, fuzzy
|
1068 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1069 |
-
#~ msgid "Activate Metas"
|
1070 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1071 |
-
|
1072 |
-
# @ squirrly-seo
|
1073 |
-
#, fuzzy
|
1074 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
1075 |
-
#~ msgid "Activate Title"
|
1076 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
1077 |
-
|
1078 |
-
# @ squirrly-seo
|
1079 |
-
#, fuzzy, php-format
|
1080 |
-
#~| msgid "Tips: Length 10-70 chars"
|
1081 |
-
#~ msgid "Tips: Length %s-%s chars"
|
1082 |
-
#~ msgstr "Tipp: Länge 10-70 Charaktere"
|
1083 |
-
|
1084 |
-
# @ squirrly-seo
|
1085 |
-
#, fuzzy
|
1086 |
-
#~| msgid "Tips: 2-4 keywords"
|
1087 |
-
#~ msgid "Activate Keywords"
|
1088 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
1089 |
-
|
1090 |
-
# @ squirrly-seo
|
1091 |
-
#, fuzzy
|
1092 |
-
#~| msgid "Enter even more keywords."
|
1093 |
-
#~ msgid "Meta Keywords"
|
1094 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
1095 |
-
|
1096 |
-
# @ squirrly-seo
|
1097 |
-
#, fuzzy
|
1098 |
-
#~| msgid "Tips: 2-4 keywords"
|
1099 |
-
#~ msgid "+ Add keyword"
|
1100 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
1101 |
-
|
1102 |
-
# @ squirrly-seo
|
1103 |
-
#, fuzzy
|
1104 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1105 |
-
#~ msgid "Activate Canonical"
|
1106 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1107 |
-
|
1108 |
-
# @ squirrly-seo
|
1109 |
-
#, fuzzy
|
1110 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
1111 |
-
#~ msgid "Activate Squirrly Snippet for this page"
|
1112 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
1113 |
-
|
1114 |
-
# @ squirrly-seo
|
1115 |
-
#, fuzzy
|
1116 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
1117 |
-
#~ msgid "Loading Squirrly Snippet ..."
|
1118 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
1119 |
-
|
1120 |
-
# @ squirrly-seo
|
1121 |
-
#, fuzzy
|
1122 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
1123 |
-
#~ msgid "Enable Squirrly SEO to load Squirrly Snippet"
|
1124 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
1125 |
-
|
1126 |
-
# @ squirrly-seo
|
1127 |
-
#, fuzzy, php-format
|
1128 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1129 |
-
#~ msgid "%sPlease connect to SquirrlyCloud first%s"
|
1130 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1131 |
-
|
1132 |
-
# @ squirrly-seo
|
1133 |
-
#, fuzzy
|
1134 |
-
#~| msgid "Squirrly settings"
|
1135 |
-
#~ msgid "Handled by Squirrly Genius."
|
1136 |
-
#~ msgstr "Squirrly Einstellungen"
|
1137 |
-
|
1138 |
-
# @ squirrly-seo
|
1139 |
-
#, fuzzy
|
1140 |
-
#~| msgid "support page"
|
1141 |
-
#~ msgid "Support"
|
1142 |
-
#~ msgstr "Support Page"
|
1143 |
-
|
1144 |
-
# @ squirrly-seo
|
1145 |
-
#, fuzzy
|
1146 |
-
#~| msgid "Write a new post with Squirrly"
|
1147 |
-
#~ msgid "Need Help with Squirrly SEO?"
|
1148 |
-
#~ msgstr "Schreiben Sie einen neuen Beitrag mit Squirrly"
|
1149 |
-
|
1150 |
-
# @ squirrly-seo
|
1151 |
-
#, fuzzy
|
1152 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
1153 |
-
#~ msgid "Deactivate Squirrly SEO"
|
1154 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
1155 |
-
|
1156 |
-
# @ squirrly-seo
|
1157 |
-
#, fuzzy
|
1158 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1159 |
-
#~ msgid "Disconnect from Squirrly Cloud"
|
1160 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1161 |
-
|
1162 |
-
# @ squirrly-seo
|
1163 |
-
#, fuzzy
|
1164 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1165 |
-
#~ msgid "Google Analytics"
|
1166 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1167 |
-
|
1168 |
-
# @ squirrly-seo
|
1169 |
-
#, fuzzy
|
1170 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1171 |
-
#~ msgid "You are connected to Google Analytics"
|
1172 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1173 |
-
|
1174 |
-
# @ squirrly-seo
|
1175 |
-
#, fuzzy
|
1176 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1177 |
-
#~ msgid "Connect this site to Google Analytics"
|
1178 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1179 |
-
|
1180 |
-
# @ squirrly-seo
|
1181 |
-
#, fuzzy
|
1182 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1183 |
-
#~ msgid "You are connected to Google Search Console"
|
1184 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1185 |
-
|
1186 |
-
# @ squirrly-seo
|
1187 |
-
#, fuzzy
|
1188 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1189 |
-
#~ msgid "Connect this site to Google Search Console"
|
1190 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1191 |
-
|
1192 |
-
# @ squirrly-seo
|
1193 |
-
#, fuzzy
|
1194 |
-
#~| msgid "Your E-mail:"
|
1195 |
-
#~ msgid "Audited"
|
1196 |
-
#~ msgstr "Ihre E-Mail Adresse:"
|
1197 |
-
|
1198 |
-
# @ squirrly-seo
|
1199 |
-
#, fuzzy
|
1200 |
-
#~| msgid "Your E-mail:"
|
1201 |
-
#~ msgid "Details"
|
1202 |
-
#~ msgstr "Ihre E-Mail Adresse:"
|
1203 |
-
|
1204 |
-
# @ squirrly-seo
|
1205 |
-
#, fuzzy
|
1206 |
-
#~| msgid "Change it >>"
|
1207 |
-
#~ msgid "Chance to Rank"
|
1208 |
-
#~ msgstr "Ändern >>"
|
1209 |
-
|
1210 |
-
# @ squirrly-seo
|
1211 |
-
#, fuzzy
|
1212 |
-
#~| msgid "Could not send the email..."
|
1213 |
-
#~ msgid "Do you want to delete the Focus Page?"
|
1214 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
1215 |
-
|
1216 |
-
# @ squirrly-seo
|
1217 |
-
#, fuzzy
|
1218 |
-
#~| msgid "Change it >>"
|
1219 |
-
#~ msgid "Chances of Ranking"
|
1220 |
-
#~ msgstr "Ändern >>"
|
1221 |
-
|
1222 |
-
# @ squirrly-seo
|
1223 |
-
#, fuzzy
|
1224 |
-
#~| msgid "Do the research"
|
1225 |
-
#~ msgid "Keyword Ranking"
|
1226 |
-
#~ msgstr "Recherchieren"
|
1227 |
-
|
1228 |
-
# @ squirrly-seo
|
1229 |
-
#, fuzzy
|
1230 |
-
#~| msgid "Squirrly settings"
|
1231 |
-
#~ msgid "Focus Pages Settings"
|
1232 |
-
#~ msgstr "Squirrly Einstellungen"
|
1233 |
-
|
1234 |
-
# @ squirrly-seo
|
1235 |
-
#, fuzzy
|
1236 |
-
#~| msgid "SEO Software"
|
1237 |
-
#~ msgid "Continue"
|
1238 |
-
#~ msgstr "SEO Software"
|
1239 |
-
|
1240 |
-
# @ squirrly-seo
|
1241 |
-
#, fuzzy
|
1242 |
-
#~| msgid "Squirrly settings"
|
1243 |
-
#~ msgid "Import SEO & Settings"
|
1244 |
-
#~ msgstr "Squirrly Einstellungen"
|
1245 |
-
|
1246 |
-
# @ squirrly-seo
|
1247 |
-
#, fuzzy
|
1248 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1249 |
-
#~ msgid "Connect Your Site to Squirrly Cloud"
|
1250 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1251 |
-
|
1252 |
-
# @ squirrly-seo
|
1253 |
-
#, fuzzy
|
1254 |
-
#~| msgid "Squirrly settings"
|
1255 |
-
#~ msgid "Show Advanced SEO"
|
1256 |
-
#~ msgstr "Squirrly Einstellungen"
|
1257 |
-
|
1258 |
-
# @ squirrly-seo
|
1259 |
-
#, fuzzy
|
1260 |
-
#~| msgid "Squirrly settings"
|
1261 |
-
#~ msgid "Rate us if you like Squirrly SEO"
|
1262 |
-
#~ msgstr "Squirrly Einstellungen"
|
1263 |
-
|
1264 |
-
# @ squirrly-seo
|
1265 |
-
#, fuzzy
|
1266 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1267 |
-
#~ msgid "Google Search Console Keywords Sync"
|
1268 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1269 |
-
|
1270 |
-
# @ squirrly-seo
|
1271 |
-
#, fuzzy
|
1272 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1273 |
-
#~ msgid "Welcome to Google Search Console Keywords Sync"
|
1274 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1275 |
-
|
1276 |
-
# @ squirrly-seo
|
1277 |
-
#, fuzzy
|
1278 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1279 |
-
#~ msgid "Google Rankings"
|
1280 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1281 |
-
|
1282 |
-
# @ squirrly-seo
|
1283 |
-
#, fuzzy
|
1284 |
-
#~| msgid "Do the research"
|
1285 |
-
#~ msgid "Today Avg. Ranking"
|
1286 |
-
#~ msgstr "Recherchieren"
|
1287 |
-
|
1288 |
-
# @ squirrly-seo
|
1289 |
-
#, fuzzy
|
1290 |
-
#~| msgid "Could not send the email..."
|
1291 |
-
#~ msgid "Ar you sure you want to delete the keyword?"
|
1292 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
1293 |
-
|
1294 |
-
# @ squirrly-seo
|
1295 |
-
#, fuzzy
|
1296 |
-
#~| msgid "Tips: 2-4 keywords"
|
1297 |
-
#~ msgid "Sync Keywords"
|
1298 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
1299 |
-
|
1300 |
-
# @ squirrly-seo
|
1301 |
-
#, fuzzy
|
1302 |
-
#~| msgid "Tips: 2-4 keywords"
|
1303 |
-
#~ msgid "Remove Keyword"
|
1304 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
1305 |
-
|
1306 |
-
# @ squirrly-seo
|
1307 |
-
#, fuzzy
|
1308 |
-
#~| msgid "Do the research"
|
1309 |
-
#~ msgid "Add keywords in Briefcase"
|
1310 |
-
#~ msgstr "Recherchieren"
|
1311 |
-
|
1312 |
-
# @ squirrly-seo
|
1313 |
-
#, fuzzy
|
1314 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1315 |
-
#~ msgid "Synchronize Keywords with Google Search Console"
|
1316 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1317 |
-
|
1318 |
-
# @ squirrly-seo
|
1319 |
-
#, fuzzy
|
1320 |
-
#~| msgid "Squirrly settings"
|
1321 |
-
#~ msgid "Rankings Settings"
|
1322 |
-
#~ msgstr "Squirrly Einstellungen"
|
1323 |
-
|
1324 |
-
# @ squirrly-seo
|
1325 |
-
#, fuzzy
|
1326 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1327 |
-
#~ msgid "Google Country"
|
1328 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1329 |
-
|
1330 |
-
# @ squirrly-seo
|
1331 |
-
#, fuzzy
|
1332 |
-
#~| msgid "Tips: 2-4 keywords"
|
1333 |
-
#~ msgid "Search Keyword"
|
1334 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
1335 |
-
|
1336 |
-
# @ squirrly-seo
|
1337 |
-
#, fuzzy
|
1338 |
-
#~| msgid "Could not send the email..."
|
1339 |
-
#~ msgid "Ar you sure you want to delete the keywords?"
|
1340 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
1341 |
-
|
1342 |
-
# @ squirrly-seo
|
1343 |
-
#, fuzzy
|
1344 |
-
#~| msgid "Enter even more keywords."
|
1345 |
-
#~ msgid "selected keywords"
|
1346 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
1347 |
-
|
1348 |
-
# @ squirrly-seo
|
1349 |
-
#, fuzzy
|
1350 |
-
#~| msgid "Tips: 2-4 keywords"
|
1351 |
-
#~ msgid "keyword info"
|
1352 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
1353 |
-
|
1354 |
-
# @ squirrly-seo
|
1355 |
-
#, fuzzy
|
1356 |
-
#~| msgid "Do the research"
|
1357 |
-
#~ msgid "No research data"
|
1358 |
-
#~ msgstr "Recherchieren"
|
1359 |
-
|
1360 |
-
# @ squirrly-seo
|
1361 |
-
#, fuzzy
|
1362 |
-
#~| msgid "Do the research"
|
1363 |
-
#~ msgid "Refresh Research"
|
1364 |
-
#~ msgstr "Recherchieren"
|
1365 |
-
|
1366 |
-
# @ squirrly-seo
|
1367 |
-
#, fuzzy
|
1368 |
-
#~| msgid "Enter even more keywords."
|
1369 |
-
#~ msgid "Delete Keyword"
|
1370 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
1371 |
-
|
1372 |
-
# @ squirrly-seo
|
1373 |
-
#, fuzzy
|
1374 |
-
#~| msgid "Tips: 2-4 keywords"
|
1375 |
-
#~ msgid "Go Find New Keywords"
|
1376 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
1377 |
-
|
1378 |
-
# @ squirrly-seo
|
1379 |
-
#, fuzzy
|
1380 |
-
#~| msgid "Tips: 2-4 keywords"
|
1381 |
-
#~ msgid "Download Keywords"
|
1382 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
1383 |
-
|
1384 |
-
# @ squirrly-seo
|
1385 |
-
#, fuzzy
|
1386 |
-
#~| msgid "Tips: 2-4 keywords"
|
1387 |
-
#~ msgid "Import Keywords"
|
1388 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
1389 |
-
|
1390 |
-
# @ squirrly-seo
|
1391 |
-
#, fuzzy
|
1392 |
-
#~| msgid "Enter even more keywords."
|
1393 |
-
#~ msgid "Restore Briefcase Keywords"
|
1394 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
1395 |
-
|
1396 |
-
# @ squirrly-seo
|
1397 |
-
#, fuzzy
|
1398 |
-
#~| msgid "Tips: 2-4 keywords"
|
1399 |
-
#~ msgid "Restore Keywords"
|
1400 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
1401 |
-
|
1402 |
-
# @ squirrly-seo
|
1403 |
-
#, fuzzy
|
1404 |
-
#~| msgid "Tips: 2-4 keywords"
|
1405 |
-
#~ msgid "Show All Keywords"
|
1406 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
1407 |
-
|
1408 |
-
# @ squirrly-seo
|
1409 |
-
#, fuzzy
|
1410 |
-
#~| msgid "Do the research"
|
1411 |
-
#~ msgid "Welcome to Keyword Research History"
|
1412 |
-
#~ msgstr "Recherchieren"
|
1413 |
-
|
1414 |
-
# @ squirrly-seo
|
1415 |
-
#, fuzzy
|
1416 |
-
#~| msgid "Your E-mail:"
|
1417 |
-
#~ msgid "Edit Label"
|
1418 |
-
#~ msgstr "Ihre E-Mail Adresse:"
|
1419 |
-
|
1420 |
-
# @ squirrly-seo
|
1421 |
-
#, fuzzy
|
1422 |
-
#~| msgid "Could not send the email..."
|
1423 |
-
#~ msgid "Ar you sure you want to delete the labels?"
|
1424 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
1425 |
-
|
1426 |
-
# @ squirrly-seo
|
1427 |
-
#, fuzzy
|
1428 |
-
#~| msgid "Do the research"
|
1429 |
-
#~ msgid "Add a keyword to Briefcase"
|
1430 |
-
#~ msgstr "Recherchieren"
|
1431 |
-
|
1432 |
-
# @ squirrly-seo
|
1433 |
-
#, fuzzy
|
1434 |
-
#~| msgid "Could not send the email..."
|
1435 |
-
#~ msgid "You need to enter a keyword first"
|
1436 |
-
#~ msgstr "Konnte E-Mail nicht senden ..."
|
1437 |
-
|
1438 |
-
# @ squirrly-seo
|
1439 |
-
#, fuzzy
|
1440 |
-
#~| msgid "Do the research"
|
1441 |
-
#~ msgid "Do a deep research"
|
1442 |
-
#~ msgstr "Recherchieren"
|
1443 |
-
|
1444 |
-
# @ squirrly-seo
|
1445 |
-
#, fuzzy
|
1446 |
-
#~| msgid "Do the research"
|
1447 |
-
#~ msgid "Do research"
|
1448 |
-
#~ msgstr "Recherchieren"
|
1449 |
-
|
1450 |
-
# @ squirrly-seo
|
1451 |
-
#, fuzzy
|
1452 |
-
#~| msgid "Tips: 2-4 keywords"
|
1453 |
-
#~ msgid "Already Have Keywords?"
|
1454 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
1455 |
-
|
1456 |
-
# @ squirrly-seo
|
1457 |
-
#, fuzzy
|
1458 |
-
#~| msgid "Tips: 2-4 keywords"
|
1459 |
-
#~ msgid "Import Keywords From CSV"
|
1460 |
-
#~ msgstr "Tipp: Länge 2-4 Schlüsselwörter"
|
1461 |
-
|
1462 |
-
# @ squirrly-seo
|
1463 |
-
#, fuzzy
|
1464 |
-
#~| msgid "Enter even more keywords."
|
1465 |
-
#~ msgid "Welcome to Suggested Keywords"
|
1466 |
-
#~ msgstr "Geben Sie noch mehrere Schlüsselwörter ein."
|
1467 |
-
|
1468 |
-
# @ squirrly-seo
|
1469 |
-
#, fuzzy
|
1470 |
-
#~| msgid "Squirrly settings"
|
1471 |
-
#~ msgid "Advanced Settings"
|
1472 |
-
#~ msgstr "Squirrly Einstellungen"
|
1473 |
-
|
1474 |
-
# @ squirrly-seo
|
1475 |
-
#, fuzzy
|
1476 |
-
#~| msgid "Squirrly settings"
|
1477 |
-
#~ msgid "Load Squirrly Frontend CSS"
|
1478 |
-
#~ msgstr "Squirrly Einstellungen"
|
1479 |
-
|
1480 |
-
# @ squirrly-seo
|
1481 |
-
#, fuzzy
|
1482 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
1483 |
-
#~ msgid "Minify Squirrly SEO Metas"
|
1484 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
1485 |
-
|
1486 |
-
# @ squirrly-seo
|
1487 |
-
#, fuzzy
|
1488 |
-
#~| msgid "Squirrly LIVE SEO assistant"
|
1489 |
-
#~ msgid "Squirrly SEO Late Buffer"
|
1490 |
-
#~ msgstr "Squirrly LIVE SEO-Assistent"
|
1491 |
-
|
1492 |
-
# @ squirrly-seo
|
1493 |
-
#, fuzzy
|
1494 |
-
#~| msgid "automatically"
|
1495 |
-
#~ msgid "Meta Automation"
|
1496 |
-
#~ msgstr "automatisch"
|
1497 |
-
|
1498 |
-
# @ squirrly-seo
|
1499 |
-
#, fuzzy
|
1500 |
-
#~| msgid "automatically"
|
1501 |
-
#~ msgid "Add Post Type for SEO Automation"
|
1502 |
-
#~ msgstr "automatisch"
|
1503 |
-
|
1504 |
-
# @ squirrly-seo
|
1505 |
-
#, fuzzy
|
1506 |
-
#~| msgid "Tips: Length 10-70 chars"
|
1507 |
-
#~ msgid "Tips: Length 10-75 chars"
|
1508 |
-
#~ msgstr "Tipp: Länge 10-70 Charaktere"
|
1509 |
-
|
1510 |
-
# @ squirrly-seo
|
1511 |
-
#, fuzzy
|
1512 |
-
#~| msgid "Tips: Length 10-70 chars"
|
1513 |
-
#~ msgid "Tips: Length 70-320 chars"
|
1514 |
-
#~ msgstr "Tipp: Länge 10-70 Charaktere"
|
1515 |
-
|
1516 |
-
# @ squirrly-seo
|
1517 |
-
#, fuzzy
|
1518 |
-
#~| msgid "Squirrly settings"
|
1519 |
-
#~ msgid "Load Squirrly SEO METAs"
|
1520 |
-
#~ msgstr "Squirrly Einstellungen"
|
1521 |
-
|
1522 |
-
# @ squirrly-seo
|
1523 |
-
#, fuzzy
|
1524 |
-
#~| msgid "Squirrly settings"
|
1525 |
-
#~ msgid "Load Squirrly Patterns"
|
1526 |
-
#~ msgstr "Squirrly Einstellungen"
|
1527 |
-
|
1528 |
-
# @ squirrly-seo
|
1529 |
-
#, fuzzy
|
1530 |
-
#~| msgid "Squirrly settings"
|
1531 |
-
#~ msgid "Load Squirrly Open Graph"
|
1532 |
-
#~ msgstr "Squirrly Einstellungen"
|
1533 |
-
|
1534 |
-
# @ squirrly-seo
|
1535 |
-
#, fuzzy
|
1536 |
-
#~| msgid "Squirrly settings"
|
1537 |
-
#~ msgid "Load Squirrly Twitter Card"
|
1538 |
-
#~ msgstr "Squirrly Einstellungen"
|
1539 |
-
|
1540 |
-
# @ squirrly-seo
|
1541 |
-
#, fuzzy
|
1542 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1543 |
-
#~ msgid "Load Google Analytics Tracking Script"
|
1544 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1545 |
-
|
1546 |
-
# @ squirrly-seo
|
1547 |
-
#, fuzzy
|
1548 |
-
#~| msgid "Google %sAnalytics ID%s`:"
|
1549 |
-
#~ msgid "Let Google Analytics Tracking to load for this post type."
|
1550 |
-
#~ msgstr "Google %sAnalytics ID%s`:"
|
1551 |