Version Description
- 03/29/2021 = Update - Added SEO Links feature in Squirrly SEO Update - Improved UI for Squirrly SEO Settings Update - Added All Features categories in Squirrly with the option to activate/deactivate features Update - Make Woocommerce Products Categories and Woocommerce Products Tags more evident in SEO Automation Update - Add help sections in all Squirrly SEO setting pages Update - Load Facebook Pixel events for Woocommerce last version Update - Add the option to change the main keyword in Focus Page Update - Load the Dev Kit option in Squirrly SEO Fixed - Improve UX and Support for each Squirrly feature Fixed - Post Type default search for Focus Pages and Audit Pages Fixed - Post Type default search for Bulk SEO to include drafts Fixed - Don't load Assistant columns if the assistant is disabled for a post type Fixed - Improve UX in Audits and Focus Pages Fixed - Visibility status in Focus Pages
Download this release
Release Info
Developer | cifi |
Plugin | SEO SQUIRRLY™ |
Version | 11.1.00 |
Comparing to | |
See all releases |
Code changes from version 11.0.04 to 11.1.00
- classes/Error.php +0 -1
- classes/RemoteController.php +2 -6
- classes/helpers/Tools.php +1 -0
- controllers/Api.php +1 -1
- controllers/Audits.php +4 -1
- controllers/Cron.php +0 -21
- controllers/Help.php +0 -13
- controllers/Menu.php +102 -103
- controllers/Overview.php +1 -1
- controllers/Ranking.php +1 -0
- controllers/Research.php +1 -1
- controllers/Sitemaps.php +81 -15
- controllers/Snippet.php +3 -1
- core/BlockFeatures.php +7 -6
- core/Blocklogin.php +15 -16
- models/Sitemaps.php +55 -5
- models/focuspages/Indexability.php +7 -2
- readme.txt +16 -0
- squirrly.php +2 -2
- view/Audits/AuditStats.php +2 -2
- view/Audits/Audits.php +3 -3
- view/Blocks/Features.php +3 -3
- view/Blocks/KnowledgeBase.php +44 -35
- view/Errors/Connect.php +22 -1
- view/Features.php +2 -2
- view/FocusPages/FocusPageStats.php +1 -1
- view/Onboarding/Step2.1.php +0 -69
- view/Onboarding/Step2.2.php +0 -89
- view/Overview.php +1 -1
- view/Research/Briefcase.php +17 -1
- view/Research/Labels.php +6 -1
- view/Research/Research.php +2 -2
- view/Research/Suggested.php +1 -1
- view/SeoSettings/Jsonld.php +25 -11
- view/SeoSettings/Sitemap.php +10 -0
- view/assets/css/assistant.min.css +1 -1
- view/assets/css/feed.css +798 -0
- view/assets/css/global.min.css +1 -1
- view/assets/css/navbar.min.css +1 -1
- view/assets/css/search.min.css +1 -1
classes/Error.php
CHANGED
@@ -94,7 +94,6 @@ class SQ_Classes_Error extends SQ_Classes_FrontController {
|
|
94 |
break;
|
95 |
|
96 |
default:
|
97 |
-
|
98 |
self::showError($error['text'], $error['id']);
|
99 |
}
|
100 |
}
|
94 |
break;
|
95 |
|
96 |
default:
|
|
|
97 |
self::showError($error['text'], $error['id']);
|
98 |
}
|
99 |
}
|
classes/RemoteController.php
CHANGED
@@ -117,18 +117,14 @@ class SQ_Classes_RemoteController {
|
|
117 |
*/
|
118 |
public static function sq_wpcall($url, $options) {
|
119 |
$method = $options['method'];
|
|
|
|
|
120 |
|
121 |
switch ($method) {
|
122 |
case 'get':
|
123 |
-
//not accepted as option
|
124 |
-
unset($options['method']);
|
125 |
-
|
126 |
$response = wp_remote_get($url, $options);
|
127 |
break;
|
128 |
case 'post':
|
129 |
-
//not accepted as option
|
130 |
-
unset($options['method']);
|
131 |
-
|
132 |
$response = wp_remote_post($url, $options);
|
133 |
break;
|
134 |
default:
|
117 |
*/
|
118 |
public static function sq_wpcall($url, $options) {
|
119 |
$method = $options['method'];
|
120 |
+
//not accepted as option
|
121 |
+
unset($options['method']);
|
122 |
|
123 |
switch ($method) {
|
124 |
case 'get':
|
|
|
|
|
|
|
125 |
$response = wp_remote_get($url, $options);
|
126 |
break;
|
127 |
case 'post':
|
|
|
|
|
|
|
128 |
$response = wp_remote_post($url, $options);
|
129 |
break;
|
130 |
default:
|
classes/helpers/Tools.php
CHANGED
@@ -162,6 +162,7 @@ class SQ_Classes_Helpers_Tools {
|
|
162 |
|
163 |
//JsonLD
|
164 |
'sq_auto_jsonld' => 1,
|
|
|
165 |
'sq_jsonld_type' => 'Organization',
|
166 |
'sq_jsonld_global_person' => 0,
|
167 |
'sq_jsonld_breadcrumbs' => 1,
|
162 |
|
163 |
//JsonLD
|
164 |
'sq_auto_jsonld' => 1,
|
165 |
+
'sq_auto_jsonld_local' => 0,
|
166 |
'sq_jsonld_type' => 'Organization',
|
167 |
'sq_jsonld_global_person' => 0,
|
168 |
'sq_jsonld_breadcrumbs' => 1,
|
controllers/Api.php
CHANGED
@@ -124,7 +124,7 @@ class SQ_Controllers_Api extends SQ_Classes_FrontController {
|
|
124 |
|
125 |
/**
|
126 |
* Get data for the Focus Page Audit
|
127 |
-
* @param $request
|
128 |
*/
|
129 |
public function getData($request) {
|
130 |
|
124 |
|
125 |
/**
|
126 |
* Get data for the Focus Page Audit
|
127 |
+
* @param \WP_REST_Request $request
|
128 |
*/
|
129 |
public function getData($request) {
|
130 |
|
controllers/Audits.php
CHANGED
@@ -9,6 +9,7 @@ class SQ_Controllers_Audits extends SQ_Classes_FrontController {
|
|
9 |
public $blogs;
|
10 |
public $auditpage;
|
11 |
public $audit;
|
|
|
12 |
public $audits;
|
13 |
public $auditpages;
|
14 |
|
@@ -308,7 +309,9 @@ class SQ_Controllers_Audits extends SQ_Classes_FrontController {
|
|
308 |
if ($auditpage = SQ_Classes_RemoteController::updateAudit($args)) {
|
309 |
if (!is_wp_error($auditpage)) {
|
310 |
SQ_Classes_Error::setMessage(esc_html__("Audit page sent for recheck. It may take a while so please be patient.", _SQ_PLUGIN_NAME_) . " <br /> ");
|
311 |
-
}
|
|
|
|
|
312 |
SQ_Classes_Error::setError(esc_html__("The page could not be sent for reaudit.", _SQ_PLUGIN_NAME_) . " <br /> ");
|
313 |
}
|
314 |
} else {
|
9 |
public $blogs;
|
10 |
public $auditpage;
|
11 |
public $audit;
|
12 |
+
public $pages;
|
13 |
public $audits;
|
14 |
public $auditpages;
|
15 |
|
309 |
if ($auditpage = SQ_Classes_RemoteController::updateAudit($args)) {
|
310 |
if (!is_wp_error($auditpage)) {
|
311 |
SQ_Classes_Error::setMessage(esc_html__("Audit page sent for recheck. It may take a while so please be patient.", _SQ_PLUGIN_NAME_) . " <br /> ");
|
312 |
+
} elseif($auditpage->get_error_message() == 'too_many_attempts'){
|
313 |
+
SQ_Classes_Error::setError(esc_html__("You've made too many requests, you can request one page audit per hour.", _SQ_PLUGIN_NAME_) . " <br /> ");
|
314 |
+
}else{
|
315 |
SQ_Classes_Error::setError(esc_html__("The page could not be sent for reaudit.", _SQ_PLUGIN_NAME_) . " <br /> ");
|
316 |
}
|
317 |
} else {
|
controllers/Cron.php
DELETED
@@ -1,21 +0,0 @@
|
|
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/Help.php
DELETED
@@ -1,13 +0,0 @@
|
|
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
@@ -106,23 +106,21 @@ class SQ_Controllers_Menu extends SQ_Classes_FrontController {
|
|
106 |
|
107 |
/**
|
108 |
* Show the Dashboard link when Full Screen
|
109 |
-
* @param $wp_admin_bar
|
110 |
* @return mixed
|
111 |
*/
|
112 |
public function hookTopmenuDashboard($wp_admin_bar) {
|
113 |
global $sq_fullscreen;
|
114 |
|
115 |
-
if (
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
'href' => admin_url(),
|
125 |
-
));
|
126 |
}
|
127 |
|
128 |
return $wp_admin_bar;
|
@@ -130,119 +128,120 @@ class SQ_Controllers_Menu extends SQ_Classes_FrontController {
|
|
130 |
|
131 |
/**
|
132 |
* Show the Squirrly Menu in toolbar
|
133 |
-
* @param $wp_admin_bar
|
|
|
|
|
134 |
*/
|
135 |
public function hookTopmenuSquirrly($wp_admin_bar) {
|
136 |
global $tag;
|
137 |
|
138 |
-
if (
|
139 |
-
return false;
|
140 |
-
}
|
141 |
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
|
|
167 |
}
|
168 |
-
}
|
169 |
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
|
|
189 |
}
|
190 |
}
|
191 |
}
|
192 |
}
|
193 |
}
|
194 |
-
}
|
195 |
|
196 |
-
|
197 |
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
|
236 |
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
|
|
246 |
|
247 |
return $wp_admin_bar;
|
248 |
}
|
@@ -349,7 +348,7 @@ class SQ_Controllers_Menu extends SQ_Classes_FrontController {
|
|
349 |
//Add Live Assistant For Selected Post Types
|
350 |
if (!empty($types)) {
|
351 |
foreach ($types as $type) {
|
352 |
-
if ($metabox = unserialize(SQ_Classes_Helpers_Tools::getUserMeta('meta-box-order_' . $type))) {
|
353 |
extract($metabox);
|
354 |
|
355 |
if (isset($side) && isset($normal)) {
|
106 |
|
107 |
/**
|
108 |
* Show the Dashboard link when Full Screen
|
109 |
+
* @param \WP_Admin_Bar $wp_admin_bar
|
110 |
* @return mixed
|
111 |
*/
|
112 |
public function hookTopmenuDashboard($wp_admin_bar) {
|
113 |
global $sq_fullscreen;
|
114 |
|
115 |
+
if (is_user_logged_in()) {
|
116 |
+
if (isset($sq_fullscreen) && $sq_fullscreen) {
|
117 |
+
$wp_admin_bar->add_node(array(
|
118 |
+
'parent' => 'site-name',
|
119 |
+
'id' => 'dashboard',
|
120 |
+
'title' => esc_html__("Dashboard"),
|
121 |
+
'href' => admin_url(),
|
122 |
+
));
|
123 |
+
}
|
|
|
|
|
124 |
}
|
125 |
|
126 |
return $wp_admin_bar;
|
128 |
|
129 |
/**
|
130 |
* Show the Squirrly Menu in toolbar
|
131 |
+
* @param \WP_Admin_Bar $wp_admin_bar
|
132 |
+
*
|
133 |
+
* @return \WP_Admin_Bar
|
134 |
*/
|
135 |
public function hookTopmenuSquirrly($wp_admin_bar) {
|
136 |
global $tag;
|
137 |
|
138 |
+
if (is_admin()) {
|
|
|
|
|
139 |
|
140 |
+
if (current_user_can('edit_posts')) {
|
141 |
+
//Get count local SEO errors
|
142 |
+
$errors = apply_filters('sq_seo_errors', 0);
|
143 |
|
144 |
+
$wp_admin_bar->add_node(array(
|
145 |
+
'id' => 'sq_toolbar',
|
146 |
+
'title' => '<span class="sq_logo" style="margin-right: 2px"></span>' . esc_html__("Squirrly SEO", _SQ_PLUGIN_NAME_) . (($errors) ? '<span class="sq_errorcount">' . $errors . '</span>' : ''),
|
147 |
+
'href' => SQ_Classes_Helpers_Tools::getAdminUrl('sq_dashboard'),
|
148 |
+
'parent' => false
|
149 |
+
));
|
150 |
|
151 |
+
$mainmenu = $this->model->getMainMenu();
|
152 |
+
if (!empty($mainmenu)) {
|
153 |
+
foreach ($mainmenu as $menuid => $item) {
|
154 |
|
155 |
+
//Check if the menu item is visible on the top
|
156 |
+
if (isset($item['topmenu']) && !$item['topmenu']) {
|
157 |
+
continue;
|
158 |
+
}
|
159 |
|
160 |
+
if ($menuid == 'sq_dashboard' && $errors) {
|
161 |
+
if (is_rtl()) {
|
162 |
+
$item['title'] = '<span class="sq_errorcount" style="margin: 6px 0 0 0 !important; float: left !important;">' . $errors . '</span>' . $item['title'];
|
163 |
+
} else {
|
164 |
+
$item['title'] = $item['title'] . '<span class="sq_errorcount" style="margin: 6px 35px 0 0 !important;">' . $errors . '</span>';
|
165 |
+
}
|
166 |
}
|
|
|
167 |
|
168 |
+
//make sure the user has the capabilities
|
169 |
+
if (current_user_can($item['capability'])) {
|
170 |
+
$wp_admin_bar->add_node(array(
|
171 |
+
'id' => $menuid,
|
172 |
+
'title' => $item['title'],
|
173 |
+
'href' => SQ_Classes_Helpers_Tools::getAdminUrl($menuid),
|
174 |
+
'parent' => 'sq_toolbar'
|
175 |
+
));
|
176 |
+
$tabs = $this->model->getTabs($menuid);
|
177 |
+
if (!empty($tabs)) {
|
178 |
+
foreach ($tabs as $id => $tab) {
|
179 |
+
$array_id = explode('/', $id);
|
180 |
+
if (count((array)$array_id) == 2) {
|
181 |
+
$wp_admin_bar->add_node(array(
|
182 |
+
'id' => $menuid . str_replace('/', '_', $id),
|
183 |
+
'title' => $tab['title'],
|
184 |
+
'href' => SQ_Classes_Helpers_Tools::getAdminUrl($array_id[0], $array_id[1]),
|
185 |
+
'parent' => $menuid
|
186 |
+
));
|
187 |
+
}
|
188 |
}
|
189 |
}
|
190 |
}
|
191 |
}
|
192 |
}
|
|
|
193 |
|
194 |
+
}
|
195 |
|
196 |
+
$current_screen = get_current_screen();
|
197 |
+
$post = get_post();
|
198 |
+
if ('post' == $current_screen->base
|
199 |
+
&& ($post_type_object = get_post_type_object($post->post_type))
|
200 |
+
&& (current_user_can('edit_post', $post->ID) || current_user_can('sq_manage_snippets'))
|
201 |
+
&& ($post_type_object->public)) {
|
202 |
+
} elseif ('edit' == $current_screen->base
|
203 |
+
&& ($post_type_object = get_post_type_object($current_screen->post_type))
|
204 |
+
&& ($post_type_object->show_in_admin_bar)
|
205 |
+
&& !('edit-' . $current_screen->post_type === $current_screen->id)) {
|
206 |
+
} elseif ('term' == $current_screen->base
|
207 |
+
&& isset($tag) && is_object($tag) && !is_wp_error($tag)
|
208 |
+
&& ($tax = get_taxonomy($tag->taxonomy))
|
209 |
+
&& $tax->public) {
|
210 |
+
} else {
|
211 |
+
return $wp_admin_bar;
|
212 |
+
}
|
213 |
|
214 |
+
$this->model->addMeta(array('sq_blocksnippet',
|
215 |
+
ucfirst(_SQ_NAME_) . ' ' . esc_html__("SEO Snippet", _SQ_PLUGIN_NAME_),
|
216 |
+
array(SQ_Classes_ObjController::getClass('SQ_Controllers_Snippet'), 'init'),
|
217 |
+
null,
|
218 |
+
'normal',
|
219 |
+
'high'
|
220 |
+
));
|
221 |
|
222 |
+
//Dev Kit images
|
223 |
+
$style = '';
|
224 |
+
if (SQ_Classes_Helpers_Tools::getOption('sq_devkit_logo')) {
|
225 |
+
$style = '<style>.sq_logo{background-image:url("' . SQ_Classes_Helpers_Tools::getOption('sq_devkit_logo') . '") !important;background-size: 100%;}</style>';
|
226 |
+
}
|
227 |
|
228 |
+
$wp_admin_bar->add_node(array(
|
229 |
+
'id' => 'sq_bar_menu',
|
230 |
+
'title' => $style . '<span class="sq_logo"></span> ' . esc_html__("Custom SEO", _SQ_PLUGIN_NAME_),
|
231 |
+
'parent' => 'top-secondary',
|
232 |
+
));
|
233 |
|
234 |
|
235 |
+
//Add snippet body
|
236 |
+
$wp_admin_bar->add_menu(array(
|
237 |
+
'id' => 'sq_bar_submenu',
|
238 |
+
'parent' => 'sq_bar_menu',
|
239 |
+
'meta' => array(
|
240 |
+
'html' => SQ_Classes_ObjController::getClass('SQ_Controllers_Snippet')->init(),
|
241 |
+
'tabindex' => PHP_INT_MAX,
|
242 |
+
),
|
243 |
+
));
|
244 |
+
}
|
245 |
|
246 |
return $wp_admin_bar;
|
247 |
}
|
348 |
//Add Live Assistant For Selected Post Types
|
349 |
if (!empty($types)) {
|
350 |
foreach ($types as $type) {
|
351 |
+
if (is_string($type) && $type <> '' && $metabox = unserialize(SQ_Classes_Helpers_Tools::getUserMeta('meta-box-order_' . $type))) {
|
352 |
extract($metabox);
|
353 |
|
354 |
if (isset($side) && isset($normal)) {
|
controllers/Overview.php
CHANGED
@@ -59,7 +59,7 @@ class SQ_Controllers_Overview extends SQ_Classes_FrontController {
|
|
59 |
|
60 |
if (!SQ_Classes_Helpers_Tools::getOption('sq_seojourney') && SQ_Classes_Helpers_Tools::getOption('sq_alert_journey')) {
|
61 |
if ((time() - strtotime(SQ_Classes_Helpers_Tools::getOption('sq_installed'))) / (3600 * 24) > 4) { ?>
|
62 |
-
<div class="alert alert-
|
63 |
<form method="post" class="p-0 m-0">
|
64 |
<?php SQ_Classes_Helpers_Tools::setNonce('sq_alerts_close', 'sq_nonce'); ?>
|
65 |
<input type="hidden" name="action" value="sq_alerts_close"/>
|
59 |
|
60 |
if (!SQ_Classes_Helpers_Tools::getOption('sq_seojourney') && SQ_Classes_Helpers_Tools::getOption('sq_alert_journey')) {
|
61 |
if ((time() - strtotime(SQ_Classes_Helpers_Tools::getOption('sq_installed'))) / (3600 * 24) > 4) { ?>
|
62 |
+
<div class="alert alert-warning text-center m-0 mt-2 p-2">
|
63 |
<form method="post" class="p-0 m-0">
|
64 |
<?php SQ_Classes_Helpers_Tools::setNonce('sq_alerts_close', 'sq_nonce'); ?>
|
65 |
<input type="hidden" name="action" value="sq_alerts_close"/>
|
controllers/Ranking.php
CHANGED
@@ -6,6 +6,7 @@ class SQ_Controllers_Ranking extends SQ_Classes_FrontController {
|
|
6 |
public $info;
|
7 |
public $ranks;
|
8 |
public $serps;
|
|
|
9 |
|
10 |
/** @var object Checkin process with Squirrly Cloud */
|
11 |
public $checkin;
|
6 |
public $info;
|
7 |
public $ranks;
|
8 |
public $serps;
|
9 |
+
public $suggested;
|
10 |
|
11 |
/** @var object Checkin process with Squirrly Cloud */
|
12 |
public $checkin;
|
controllers/Research.php
CHANGED
@@ -102,7 +102,7 @@ class SQ_Controllers_Research extends SQ_Classes_FrontController {
|
|
102 |
if (isset($briefcase->keywords) && !empty($briefcase->keywords)) {
|
103 |
$this->keywords = $briefcase->keywords;
|
104 |
} else {
|
105 |
-
$this->error = esc_html__("No keyword found.", _SQ_PLUGIN_NAME_);
|
106 |
}
|
107 |
|
108 |
if (isset($briefcase->labels)) {
|
102 |
if (isset($briefcase->keywords) && !empty($briefcase->keywords)) {
|
103 |
$this->keywords = $briefcase->keywords;
|
104 |
} else {
|
105 |
+
$this->error = sprintf(esc_html__("No keyword found. %s Show all %s keywords from Briefcase.", _SQ_PLUGIN_NAME_),'<a href="'.SQ_Classes_Helpers_Tools::getAdminUrl('sq_research','briefcase').'">','</a>');
|
106 |
}
|
107 |
|
108 |
if (isset($briefcase->labels)) {
|
controllers/Sitemaps.php
CHANGED
@@ -6,8 +6,8 @@ defined('ABSPATH') || die('Cheatin\' uh?');
|
|
6 |
*/
|
7 |
class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController {
|
8 |
/* @var string root name */
|
9 |
-
|
10 |
var $root = 'sitemap';
|
|
|
11 |
/* @var string post limit */
|
12 |
var $posts_limit;
|
13 |
var $news_limit;
|
@@ -16,7 +16,7 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController {
|
|
16 |
parent::__construct();
|
17 |
$this->posts_limit = SQ_Classes_Helpers_Tools::getOption('sq_sitemap_perpage');
|
18 |
$this->news_limit = SQ_Classes_Helpers_Tools::getOption('sq_sitemap_perpage');
|
19 |
-
add_filter('sq_sitemap_style', array($this, '
|
20 |
add_action('wp', array($this, 'hookPreventRedirect'), 9);
|
21 |
|
22 |
add_filter('user_trailingslashit', array($this, 'untrailingslashit'));
|
@@ -69,6 +69,14 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController {
|
|
69 |
die();
|
70 |
}
|
71 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
}
|
73 |
}
|
74 |
}
|
@@ -97,9 +105,15 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController {
|
|
97 |
global $sq_query;
|
98 |
$sq_query = array();
|
99 |
|
100 |
-
if
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
$sq_sitemap = SQ_Classes_Helpers_Tools::getOption('sq_sitemap');
|
102 |
-
|
103 |
//reset the previous query
|
104 |
wp_reset_query();
|
105 |
|
@@ -205,8 +219,16 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController {
|
|
205 |
|
206 |
}
|
207 |
|
208 |
-
public function
|
209 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
210 |
}
|
211 |
|
212 |
/**
|
@@ -221,10 +243,7 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController {
|
|
221 |
//Generate header
|
222 |
echo '<?xml version="1.0" encoding="' . get_bloginfo('charset') . '"?>' . "\n";
|
223 |
echo apply_filters('sq_sitemap_style', false);
|
224 |
-
|
225 |
-
echo '<!-- generator="Squirrly SEO Sitemap" -->' . "\n";
|
226 |
-
echo '<!-- generator-url="https://wordpress.org/plugins/squirrly-seo/" -->' . "\n";
|
227 |
-
echo '<!-- generator-version="' . SQ_VERSION . '" -->' . "\n";
|
228 |
echo '' . "\n";
|
229 |
|
230 |
$schema = array(
|
@@ -238,6 +257,10 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController {
|
|
238 |
$include = array_unique($include);
|
239 |
|
240 |
switch ($this->model->type) {
|
|
|
|
|
|
|
|
|
241 |
case 'sitemap':
|
242 |
echo '<sitemapindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" '
|
243 |
. 'xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd" '
|
@@ -268,6 +291,10 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController {
|
|
268 |
*/
|
269 |
private function showSitemapFooter() {
|
270 |
switch ($this->model->type) {
|
|
|
|
|
|
|
|
|
271 |
case 'sitemap':
|
272 |
echo '</sitemapindex>' . "\n";
|
273 |
break;
|
@@ -292,8 +319,8 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController {
|
|
292 |
foreach ($sq_sitemap as $name => $value) {
|
293 |
|
294 |
//check if available from SEO Automation
|
295 |
-
$pname = str_replace(array('sitemap-', 'post_'),''
|
296 |
-
if(isset($patterns[$pname]['do_sitemap']) && !$patterns[$pname]['do_sitemap']
|
297 |
continue;
|
298 |
}
|
299 |
|
@@ -366,6 +393,9 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController {
|
|
366 |
case 'sitemap-attachment':
|
367 |
$this->showPackXml($this->model->getListAttachments());
|
368 |
break;
|
|
|
|
|
|
|
369 |
default:
|
370 |
$this->showPackXml($this->model->getListPosts());
|
371 |
break;
|
@@ -399,13 +429,30 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController {
|
|
399 |
unset($xml);
|
400 |
}
|
401 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
402 |
public function getRecursiveXml($xml, $pkey = '', $level = 2) {
|
403 |
$str = '';
|
404 |
$tab = str_repeat("\t", $level);
|
405 |
if (is_array($xml)) {
|
406 |
$cnt = 0;
|
407 |
foreach ($xml as $key => $data) {
|
408 |
-
if (
|
|
|
|
|
409 |
$str .= $tab . '<' . $key . ($key == 'video:player_loc' ? ' allow_embed="yes"' : '') . '>' . $data . ((strpos($data, '?') == false && $key == 'video:player_loc') ? '' : '') . '</' . $key . '>' . "\n";
|
410 |
} else {
|
411 |
if ($this->getRecursiveXml($data) <> '') {
|
@@ -476,6 +523,25 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController {
|
|
476 |
return esc_url(trailingslashit(home_url())) . $sitemap;
|
477 |
}
|
478 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
479 |
/**
|
480 |
* Process the on-time cron if called
|
481 |
*/
|
@@ -589,7 +655,7 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController {
|
|
589 |
$query->query_fields .= ',p.lastmod';
|
590 |
$query->query_from .= ' LEFT OUTER JOIN (
|
591 |
SELECT MAX(post_modified) as lastmod, post_author, COUNT(*) as post_count
|
592 |
-
FROM `'
|
593 |
WHERE post_type = "post" AND post_status = "publish"
|
594 |
GROUP BY post_author
|
595 |
) p ON (wp_users.ID = p.post_author)';
|
@@ -637,7 +703,7 @@ class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController {
|
|
637 |
WHERE post_date_gmt < NOW() AND post_status = %s AND post_type = %s
|
638 |
GROUP BY YEAR(post_date_gmt), MONTH(post_date_gmt)
|
639 |
ORDER BY post_date_gmt DESC
|
640 |
-
",'publish','post'));
|
641 |
return $archives;
|
642 |
}
|
643 |
|
6 |
*/
|
7 |
class SQ_Controllers_Sitemaps extends SQ_Classes_FrontController {
|
8 |
/* @var string root name */
|
|
|
9 |
var $root = 'sitemap';
|
10 |
+
|
11 |
/* @var string post limit */
|
12 |
var $posts_limit;
|
13 |
var $news_limit;
|
16 |
parent::__construct();
|
17 |
$this->posts_limit = SQ_Classes_Helpers_Tools::getOption('sq_sitemap_perpage');
|
18 |
$this->news_limit = SQ_Classes_Helpers_Tools::getOption('sq_sitemap_perpage');
|
19 |
+
add_filter('sq_sitemap_style', array($this, 'getSquirrlyHeader'));
|
20 |
add_action('wp', array($this, 'hookPreventRedirect'), 9);
|
21 |
|
22 |
add_filter('user_trailingslashit', array($this, 'untrailingslashit'));
|
69 |
die();
|
70 |
}
|
71 |
}
|
72 |
+
} elseif (strpos($_SERVER['REQUEST_URI'], 'locations.kml') !== false) {
|
73 |
+
if (SQ_Classes_Helpers_Tools::getOption('sq_jsonld_type') == 'Organization') {
|
74 |
+
$wp_query->is_404 = false;
|
75 |
+
$wp_query->is_feed = true;
|
76 |
+
$this->model->type = 'locations';
|
77 |
+
apply_filters('sq_sitemapxml', $this->showSitemap());
|
78 |
+
die();
|
79 |
+
}
|
80 |
}
|
81 |
}
|
82 |
}
|
105 |
global $sq_query;
|
106 |
$sq_query = array();
|
107 |
|
108 |
+
if(!isset($request)){
|
109 |
+
return;
|
110 |
+
}
|
111 |
+
|
112 |
+
$this->model->type = $request;
|
113 |
+
|
114 |
+
if (strpos($request, 'sitemap') !== false) {
|
115 |
$sq_sitemap = SQ_Classes_Helpers_Tools::getOption('sq_sitemap');
|
116 |
+
|
117 |
//reset the previous query
|
118 |
wp_reset_query();
|
119 |
|
219 |
|
220 |
}
|
221 |
|
222 |
+
public function getSquirrlyHeader($header) {
|
223 |
+
if($this->model->type <> 'locations'){
|
224 |
+
$header = '<?xml-stylesheet type="text/xsl" href="/' . _SQ_ASSETS_RELATIVE_URL_ . 'css/sitemap' . ($this->model->type == 'sitemap' ? 'index' : '') . '.xsl"?>' . "\n";
|
225 |
+
$header .= '<!-- generated-on="' . date('Y-m-d\TH:i:s+00:00') . '" -->' . "\n";
|
226 |
+
$header .= '<!-- generator="Squirrly SEO Sitemap" -->' . "\n";
|
227 |
+
$header .= '<!-- generator-url="https://wordpress.org/plugins/squirrly-seo/" -->' . "\n";
|
228 |
+
$header .= '<!-- generator-version="' . SQ_VERSION . '" -->' . "\n";
|
229 |
+
}
|
230 |
+
|
231 |
+
return $header;
|
232 |
}
|
233 |
|
234 |
/**
|
243 |
//Generate header
|
244 |
echo '<?xml version="1.0" encoding="' . get_bloginfo('charset') . '"?>' . "\n";
|
245 |
echo apply_filters('sq_sitemap_style', false);
|
246 |
+
|
|
|
|
|
|
|
247 |
echo '' . "\n";
|
248 |
|
249 |
$schema = array(
|
257 |
$include = array_unique($include);
|
258 |
|
259 |
switch ($this->model->type) {
|
260 |
+
case 'locations':
|
261 |
+
echo '<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">' . "\n";
|
262 |
+
echo '<Document>' . "\n";
|
263 |
+
break;
|
264 |
case 'sitemap':
|
265 |
echo '<sitemapindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" '
|
266 |
. 'xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd" '
|
291 |
*/
|
292 |
private function showSitemapFooter() {
|
293 |
switch ($this->model->type) {
|
294 |
+
case 'locations':
|
295 |
+
echo '</Document>' . "\n";
|
296 |
+
echo '</kml>' . "\n";
|
297 |
+
break;
|
298 |
case 'sitemap':
|
299 |
echo '</sitemapindex>' . "\n";
|
300 |
break;
|
319 |
foreach ($sq_sitemap as $name => $value) {
|
320 |
|
321 |
//check if available from SEO Automation
|
322 |
+
$pname = str_replace(array('sitemap-', 'post_'), '', $name);
|
323 |
+
if (isset($patterns[$pname]['do_sitemap']) && !$patterns[$pname]['do_sitemap']) {
|
324 |
continue;
|
325 |
}
|
326 |
|
393 |
case 'sitemap-attachment':
|
394 |
$this->showPackXml($this->model->getListAttachments());
|
395 |
break;
|
396 |
+
case 'locations':
|
397 |
+
$this->showPackKml($this->model->getKmlXML());
|
398 |
+
break;
|
399 |
default:
|
400 |
$this->showPackXml($this->model->getListPosts());
|
401 |
break;
|
429 |
unset($xml);
|
430 |
}
|
431 |
|
432 |
+
/**
|
433 |
+
* Pach the XML for each sitemap
|
434 |
+
* @param array $kml
|
435 |
+
* @return void
|
436 |
+
*/
|
437 |
+
public function showPackKml($kml = array()) {
|
438 |
+
|
439 |
+
$this->showSitemapHeader();
|
440 |
+
header('Content-Type: application/vnd.google-earth.kml+xml; charset=' . get_bloginfo('charset'), true);
|
441 |
+
echo $this->getRecursiveXml($kml);
|
442 |
+
$this->showSitemapFooter();
|
443 |
+
|
444 |
+
unset($kml);
|
445 |
+
}
|
446 |
+
|
447 |
public function getRecursiveXml($xml, $pkey = '', $level = 2) {
|
448 |
$str = '';
|
449 |
$tab = str_repeat("\t", $level);
|
450 |
if (is_array($xml)) {
|
451 |
$cnt = 0;
|
452 |
foreach ($xml as $key => $data) {
|
453 |
+
if ($data === false) {
|
454 |
+
$str .= $tab . '<' . $key . '>' . "\n";
|
455 |
+
}elseif (!is_array($data) && $data <> '') {
|
456 |
$str .= $tab . '<' . $key . ($key == 'video:player_loc' ? ' allow_embed="yes"' : '') . '>' . $data . ((strpos($data, '?') == false && $key == 'video:player_loc') ? '' : '') . '</' . $key . '>' . "\n";
|
457 |
} else {
|
458 |
if ($this->getRecursiveXml($data) <> '') {
|
523 |
return esc_url(trailingslashit(home_url())) . $sitemap;
|
524 |
}
|
525 |
|
526 |
+
public function getKmlUrl($sitemap, $page = null) {
|
527 |
+
$sq_sitemap = SQ_Classes_Helpers_Tools::getOption('sq_sitemap');
|
528 |
+
|
529 |
+
if (!get_option('permalink_structure')) {
|
530 |
+
$sitemap = '?sq_feed=' . str_replace('.kml', '', $sitemap) . (isset($page) ? '&page=' . $page : '');
|
531 |
+
} else {
|
532 |
+
if (isset($sq_sitemap[$sitemap])) {
|
533 |
+
$sitemap = $sq_sitemap[$sitemap][0] . (isset($page) ? '?page=' . $page : '');
|
534 |
+
}
|
535 |
+
|
536 |
+
if (strpos($sitemap, '.kml') === false) {
|
537 |
+
$sitemap .= '.kml';
|
538 |
+
}
|
539 |
+
}
|
540 |
+
|
541 |
+
return esc_url(trailingslashit(home_url())) . $sitemap;
|
542 |
+
}
|
543 |
+
|
544 |
+
|
545 |
/**
|
546 |
* Process the on-time cron if called
|
547 |
*/
|
655 |
$query->query_fields .= ',p.lastmod';
|
656 |
$query->query_from .= ' LEFT OUTER JOIN (
|
657 |
SELECT MAX(post_modified) as lastmod, post_author, COUNT(*) as post_count
|
658 |
+
FROM `' . $wpdb->posts . '`
|
659 |
WHERE post_type = "post" AND post_status = "publish"
|
660 |
GROUP BY post_author
|
661 |
) p ON (wp_users.ID = p.post_author)';
|
703 |
WHERE post_date_gmt < NOW() AND post_status = %s AND post_type = %s
|
704 |
GROUP BY YEAR(post_date_gmt), MONTH(post_date_gmt)
|
705 |
ORDER BY post_date_gmt DESC
|
706 |
+
", 'publish', 'post'));
|
707 |
return $archives;
|
708 |
}
|
709 |
|
controllers/Snippet.php
CHANGED
@@ -17,7 +17,9 @@ class SQ_Controllers_Snippet extends SQ_Classes_FrontController {
|
|
17 |
$taxonomies = get_taxonomies(array('public' => true));
|
18 |
if (!empty($taxonomies)) {
|
19 |
foreach ($taxonomies as $taxonomy) {
|
20 |
-
|
|
|
|
|
21 |
}
|
22 |
}
|
23 |
}
|
17 |
$taxonomies = get_taxonomies(array('public' => true));
|
18 |
if (!empty($taxonomies)) {
|
19 |
foreach ($taxonomies as $taxonomy) {
|
20 |
+
if(is_string($taxonomy) && $taxonomy <> '') {
|
21 |
+
add_filter($taxonomy . '_edit_form', array($this, 'hookTermsPage'), 10);
|
22 |
+
}
|
23 |
}
|
24 |
}
|
25 |
}
|
core/BlockFeatures.php
CHANGED
@@ -9,6 +9,7 @@ class SQ_Core_BlockFeatures extends SQ_Classes_BlockController {
|
|
9 |
|
10 |
public function getFeatures() {
|
11 |
$connect = SQ_Classes_Helpers_Tools::getOption('connect');
|
|
|
12 |
$features = array(
|
13 |
array(
|
14 |
'title' => "Squirrly Cloud App",
|
@@ -243,12 +244,12 @@ class SQ_Core_BlockFeatures extends SQ_Classes_BlockController {
|
|
243 |
'description' => "For a news website it's really important to have a Google News Sitemap. This way you will have <strong>all your News Posts instantly on Google News</strong>.",
|
244 |
'mode' => "Free",
|
245 |
'option' => false,
|
246 |
-
'active' =>
|
247 |
'optional' => false,
|
248 |
'connection' => false,
|
249 |
'logo' => 'news_92.png',
|
250 |
'link' => SQ_Classes_Helpers_Tools::getAdminUrl('sq_seosettings', 'sitemap'),
|
251 |
-
'details' => 'https://howto.squirrly.co/kb/sitemap-xml-settings
|
252 |
), //Sitemap Instant Indexing
|
253 |
array(
|
254 |
'title' => "JSON-LD Structured Data",
|
@@ -530,12 +531,12 @@ class SQ_Core_BlockFeatures extends SQ_Classes_BlockController {
|
|
530 |
'title' => "Local SEO",
|
531 |
'description' => "Optimize the website for <strong>local audience</strong> to have a huge advantage in front of your competitors.",
|
532 |
'mode' => "Free",
|
533 |
-
'option' =>
|
534 |
-
'active' =>
|
535 |
-
'optional' =>
|
536 |
'connection' => false,
|
537 |
'logo' => 'local_92.png',
|
538 |
-
'link' => SQ_Classes_Helpers_Tools::getAdminUrl('sq_seosettings', 'jsonld'),
|
539 |
'details' => 'https://howto.squirrly.co/kb/json-ld-structured-data/#local_seo',
|
540 |
), //
|
541 |
array(
|
9 |
|
10 |
public function getFeatures() {
|
11 |
$connect = SQ_Classes_Helpers_Tools::getOption('connect');
|
12 |
+
$sitemap = SQ_Classes_Helpers_Tools::getOption('sq_sitemap');
|
13 |
$features = array(
|
14 |
array(
|
15 |
'title' => "Squirrly Cloud App",
|
244 |
'description' => "For a news website it's really important to have a Google News Sitemap. This way you will have <strong>all your News Posts instantly on Google News</strong>.",
|
245 |
'mode' => "Free",
|
246 |
'option' => false,
|
247 |
+
'active' => ($sitemap['sitemap-news'][1] == 1),
|
248 |
'optional' => false,
|
249 |
'connection' => false,
|
250 |
'logo' => 'news_92.png',
|
251 |
'link' => SQ_Classes_Helpers_Tools::getAdminUrl('sq_seosettings', 'sitemap'),
|
252 |
+
'details' => 'https://howto.squirrly.co/kb/sitemap-xml-settings/#news_sitemap',
|
253 |
), //Sitemap Instant Indexing
|
254 |
array(
|
255 |
'title' => "JSON-LD Structured Data",
|
531 |
'title' => "Local SEO",
|
532 |
'description' => "Optimize the website for <strong>local audience</strong> to have a huge advantage in front of your competitors.",
|
533 |
'mode' => "Free",
|
534 |
+
'option' => 'sq_auto_jsonld_local',
|
535 |
+
'active' => SQ_Classes_Helpers_Tools::getOption('sq_auto_jsonld_local'),
|
536 |
+
'optional' => true,
|
537 |
'connection' => false,
|
538 |
'logo' => 'local_92.png',
|
539 |
+
'link' => SQ_Classes_Helpers_Tools::getAdminUrl('sq_seosettings', 'jsonld', array('#localseo')),
|
540 |
'details' => 'https://howto.squirrly.co/kb/json-ld-structured-data/#local_seo',
|
541 |
), //
|
542 |
array(
|
core/Blocklogin.php
CHANGED
@@ -50,13 +50,15 @@ class SQ_Core_Blocklogin extends SQ_Classes_BlockController {
|
|
50 |
if (is_wp_error($responce)) {
|
51 |
switch ($responce->get_error_message()) {
|
52 |
case 'alreadyregistered':
|
53 |
-
SQ_Classes_Error::setError(sprintf(esc_html__("We found your email, so it means you already have a Squirrly.co account. %sClick %sI already have an account%s and login. If you forgot your password, click %shere%s", _SQ_PLUGIN_NAME_), '<br />', '<a href="' . SQ_Classes_Helpers_Tools::getAdminUrl('sq_dashboard','login') . '" style="color:yellow">', '</a>','<a href="' . _SQ_DASH_URL_ . '/login?action=lostpassword" target="_blank" style="color:yellow">', '</a>'));
|
54 |
break;
|
55 |
case 'invalidemail':
|
56 |
SQ_Classes_Error::setError(esc_html__("Your email is not valid. Please enter a valid email.", _SQ_PLUGIN_NAME_));
|
57 |
break;
|
58 |
default:
|
59 |
-
SQ_Classes_Error::
|
|
|
|
|
60 |
break;
|
61 |
}
|
62 |
|
@@ -70,19 +72,17 @@ class SQ_Core_Blocklogin extends SQ_Classes_BlockController {
|
|
70 |
if (!$onboarding = SQ_Classes_Helpers_Tools::getOption('sq_onboarding')) {
|
71 |
wp_redirect(SQ_Classes_Helpers_Tools::getAdminUrl('sq_onboarding'));
|
72 |
die();
|
73 |
-
}else{
|
74 |
wp_redirect(SQ_Classes_Helpers_Tools::getAdminUrl('sq_dashboard'));
|
75 |
die();
|
76 |
}
|
77 |
|
78 |
-
}
|
79 |
-
if
|
80 |
-
|
81 |
-
SQ_Classes_Error::setError(sprintf(esc_html__("Error: Couldn't connect to host :( . Please contact your site's webhost (or webmaster) and request them to add %s to their IP whitelist.", _SQ_PLUGIN_NAME_), _SQ_APIV2_URL_));
|
82 |
-
}
|
83 |
}
|
84 |
} else {
|
85 |
-
SQ_Classes_Error::setError(esc_html__("
|
86 |
}
|
87 |
}
|
88 |
|
@@ -113,7 +113,9 @@ class SQ_Core_Blocklogin extends SQ_Classes_BlockController {
|
|
113 |
SQ_Classes_Error::setError(esc_html__("You disconnected your website from", _SQ_PLUGIN_NAME_) . ' ' . _SQ_DASH_URL_);
|
114 |
break;
|
115 |
default:
|
116 |
-
SQ_Classes_Error::
|
|
|
|
|
117 |
break;
|
118 |
}
|
119 |
|
@@ -127,17 +129,14 @@ class SQ_Core_Blocklogin extends SQ_Classes_BlockController {
|
|
127 |
if (!$onboarding = SQ_Classes_Helpers_Tools::getOption('sq_onboarding')) {
|
128 |
wp_redirect(SQ_Classes_Helpers_Tools::getAdminUrl('sq_onboarding'));
|
129 |
die();
|
130 |
-
}else{
|
131 |
wp_redirect(SQ_Classes_Helpers_Tools::getAdminUrl('sq_dashboard'));
|
132 |
die();
|
133 |
}
|
134 |
|
135 |
-
}
|
136 |
//if unknown error
|
137 |
-
|
138 |
-
//if unknown error
|
139 |
-
SQ_Classes_Error::setError(sprintf(esc_html__("Error: Couldn't connect to host :( . Please contact your site's webhost (or webmaster) and request them to add %s to their IP whitelist.", _SQ_PLUGIN_NAME_), _SQ_APIV2_URL_));
|
140 |
-
}
|
141 |
}
|
142 |
|
143 |
} else {
|
50 |
if (is_wp_error($responce)) {
|
51 |
switch ($responce->get_error_message()) {
|
52 |
case 'alreadyregistered':
|
53 |
+
SQ_Classes_Error::setError(sprintf(esc_html__("We found your email, so it means you already have a Squirrly.co account. %sClick %sI already have an account%s and login. If you forgot your password, click %shere%s", _SQ_PLUGIN_NAME_), '<br />', '<a href="' . SQ_Classes_Helpers_Tools::getAdminUrl('sq_dashboard', 'login') . '" style="color:yellow">', '</a>', '<a href="' . _SQ_DASH_URL_ . '/login?action=lostpassword" target="_blank" style="color:yellow">', '</a>'));
|
54 |
break;
|
55 |
case 'invalidemail':
|
56 |
SQ_Classes_Error::setError(esc_html__("Your email is not valid. Please enter a valid email.", _SQ_PLUGIN_NAME_));
|
57 |
break;
|
58 |
default:
|
59 |
+
if (!SQ_Classes_Error::isError()) {
|
60 |
+
SQ_Classes_Error::setError(esc_html__("We could not create your account. Please enter a valid email.", _SQ_PLUGIN_NAME_));
|
61 |
+
}
|
62 |
break;
|
63 |
}
|
64 |
|
72 |
if (!$onboarding = SQ_Classes_Helpers_Tools::getOption('sq_onboarding')) {
|
73 |
wp_redirect(SQ_Classes_Helpers_Tools::getAdminUrl('sq_onboarding'));
|
74 |
die();
|
75 |
+
} else {
|
76 |
wp_redirect(SQ_Classes_Helpers_Tools::getAdminUrl('sq_dashboard'));
|
77 |
die();
|
78 |
}
|
79 |
|
80 |
+
} elseif (!SQ_Classes_Error::isError()) {
|
81 |
+
//if unknown error
|
82 |
+
SQ_Classes_Error::setError(sprintf(esc_html__("Error: Couldn't connect to host :( . Please contact your site's webhost (or webmaster) and request them to add %s to their IP whitelist.", _SQ_PLUGIN_NAME_), _SQ_APIV2_URL_));
|
|
|
|
|
83 |
}
|
84 |
} else {
|
85 |
+
SQ_Classes_Error::setError(esc_html__("Your email is not set. Please enter a valid email.", _SQ_PLUGIN_NAME_));
|
86 |
}
|
87 |
}
|
88 |
|
113 |
SQ_Classes_Error::setError(esc_html__("You disconnected your website from", _SQ_PLUGIN_NAME_) . ' ' . _SQ_DASH_URL_);
|
114 |
break;
|
115 |
default:
|
116 |
+
if (!SQ_Classes_Error::isError()) {
|
117 |
+
SQ_Classes_Error::setError(esc_html__("An error occured.", _SQ_PLUGIN_NAME_) . ':' . $responce->get_error_message());
|
118 |
+
}
|
119 |
break;
|
120 |
}
|
121 |
|
129 |
if (!$onboarding = SQ_Classes_Helpers_Tools::getOption('sq_onboarding')) {
|
130 |
wp_redirect(SQ_Classes_Helpers_Tools::getAdminUrl('sq_onboarding'));
|
131 |
die();
|
132 |
+
} else {
|
133 |
wp_redirect(SQ_Classes_Helpers_Tools::getAdminUrl('sq_dashboard'));
|
134 |
die();
|
135 |
}
|
136 |
|
137 |
+
} elseif (!SQ_Classes_Error::isError()) {
|
138 |
//if unknown error
|
139 |
+
SQ_Classes_Error::setError(sprintf(esc_html__("Error: Couldn't connect to host :( . Please contact your site's webhost (or webmaster) and request them to add %s to their IP whitelist.", _SQ_PLUGIN_NAME_), _SQ_APIV2_URL_));
|
|
|
|
|
|
|
140 |
}
|
141 |
|
142 |
} else {
|
models/Sitemaps.php
CHANGED
@@ -50,7 +50,7 @@ class SQ_Models_Sitemaps extends SQ_Models_Abstract_Seo {
|
|
50 |
$homes = array();
|
51 |
$homes['contains'] = array();
|
52 |
|
53 |
-
if (function_exists('pll_languages_list')) {
|
54 |
if (SQ_Classes_Helpers_Tools::getOption('sq_sitemap_combinelangs')) {
|
55 |
// print_R(PLL()->model->get_languages_list());
|
56 |
foreach (pll_languages_list() as $term) {
|
@@ -80,13 +80,10 @@ class SQ_Models_Sitemaps extends SQ_Models_Abstract_Seo {
|
|
80 |
|
81 |
$xml = array();
|
82 |
$xml['loc'] = $post->url;
|
83 |
-
|
84 |
$xml['lastmod'] = trim(mysql2date('Y-m-d\TH:i:s+00:00', $this->lastModified($post), false));
|
85 |
$xml['changefreq'] = $this->frequency[SQ_Classes_Helpers_Tools::getOption('sq_sitemap_frequency')][$this->type][1];
|
86 |
$xml['priority'] = $this->frequency[SQ_Classes_Helpers_Tools::getOption('sq_sitemap_frequency')][$this->type][0];
|
87 |
}
|
88 |
-
|
89 |
-
|
90 |
$homes[] = $xml;
|
91 |
unset($xml);
|
92 |
}
|
@@ -253,7 +250,7 @@ class SQ_Models_Sitemaps extends SQ_Models_Abstract_Seo {
|
|
253 |
$xml['loc'] = esc_url($post->url);
|
254 |
|
255 |
$language = convert_chars(strip_tags(get_bloginfo('language')));
|
256 |
-
if(strpos($language, '-')) {
|
257 |
$language = substr($language, 0, strpos($language, '-'));
|
258 |
}
|
259 |
if ($language == '') {
|
@@ -446,6 +443,59 @@ class SQ_Models_Sitemaps extends SQ_Models_Abstract_Seo {
|
|
446 |
return $array;
|
447 |
}
|
448 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
449 |
/**
|
450 |
* Get the XML of the URL
|
451 |
* @param $post
|
50 |
$homes = array();
|
51 |
$homes['contains'] = array();
|
52 |
|
53 |
+
if (function_exists('pll_languages_list') && function_exists('pll_home_url')) {
|
54 |
if (SQ_Classes_Helpers_Tools::getOption('sq_sitemap_combinelangs')) {
|
55 |
// print_R(PLL()->model->get_languages_list());
|
56 |
foreach (pll_languages_list() as $term) {
|
80 |
|
81 |
$xml = array();
|
82 |
$xml['loc'] = $post->url;
|
|
|
83 |
$xml['lastmod'] = trim(mysql2date('Y-m-d\TH:i:s+00:00', $this->lastModified($post), false));
|
84 |
$xml['changefreq'] = $this->frequency[SQ_Classes_Helpers_Tools::getOption('sq_sitemap_frequency')][$this->type][1];
|
85 |
$xml['priority'] = $this->frequency[SQ_Classes_Helpers_Tools::getOption('sq_sitemap_frequency')][$this->type][0];
|
86 |
}
|
|
|
|
|
87 |
$homes[] = $xml;
|
88 |
unset($xml);
|
89 |
}
|
250 |
$xml['loc'] = esc_url($post->url);
|
251 |
|
252 |
$language = convert_chars(strip_tags(get_bloginfo('language')));
|
253 |
+
if (strpos($language, '-')) {
|
254 |
$language = substr($language, 0, strpos($language, '-'));
|
255 |
}
|
256 |
if ($language == '') {
|
443 |
return $array;
|
444 |
}
|
445 |
|
446 |
+
/**
|
447 |
+
* Generate the KML file contents.
|
448 |
+
*
|
449 |
+
* @return array $kml KML file content.
|
450 |
+
*/
|
451 |
+
public function getKmlXML() {
|
452 |
+
$xml = array();
|
453 |
+
$jsonld = SQ_Classes_Helpers_Tools::getOption('sq_jsonld');
|
454 |
+
|
455 |
+
if (SQ_Classes_Helpers_Tools::getOption('sq_jsonld_type') == 'Organization') {
|
456 |
+
if ($jsonld['Organization']['place']['geo']['latitude'] <> '' && $jsonld['Organization']['place']['geo']['longitude'] <> '') {
|
457 |
+
|
458 |
+
$xml['name'] = 'Locations for ' . $jsonld['Organization']['name'];
|
459 |
+
$xml['description'] = $jsonld['Organization']['description'];
|
460 |
+
$xml['open'] = 1;
|
461 |
+
|
462 |
+
$xml['Folder']['Placemark']['name'] = $jsonld['Organization']['name'];
|
463 |
+
$xml['Folder']['Placemark']['description'] = $jsonld['Organization']['description'];
|
464 |
+
|
465 |
+
//Add business address
|
466 |
+
$xml['Folder']['Placemark']['address'] = '';
|
467 |
+
if ($jsonld['Organization']['address']['streetAddress'] <> '') {
|
468 |
+
$xml['Folder']['Placemark']['address'] .= $jsonld['Organization']['address']['streetAddress'];
|
469 |
+
}
|
470 |
+
if ($jsonld['Organization']['address']['addressLocality'] <> '') {
|
471 |
+
$xml['Folder']['Placemark']['address'] .= ',' . $jsonld['Organization']['address']['addressLocality'];
|
472 |
+
}
|
473 |
+
if ($jsonld['Organization']['address']['postalCode'] <> '') {
|
474 |
+
$xml['Folder']['Placemark']['address'] .= ',' . $jsonld['Organization']['address']['postalCode'];
|
475 |
+
}
|
476 |
+
if ($jsonld['Organization']['address']['addressCountry'] <> '') {
|
477 |
+
$xml['Folder']['Placemark']['address'] .= ',' . $jsonld['Organization']['address']['addressCountry'];
|
478 |
+
}
|
479 |
+
|
480 |
+
|
481 |
+
$xml['Folder']['Placemark']['phoneNumber'] = $jsonld['Organization']['contactPoint']['telephone'];
|
482 |
+
//$xml['Folder']['Placemark']['atom:link href="' . get_bloginfo('url') . '"'] = false;
|
483 |
+
$xml['Folder']['Placemark']['LookAt']['latitude'] = $jsonld['Organization']['place']['geo']['latitude'];
|
484 |
+
$xml['Folder']['Placemark']['LookAt']['longitude'] = $jsonld['Organization']['place']['geo']['longitude'];
|
485 |
+
$xml['Folder']['Placemark']['LookAt']['altitude'] = 0;
|
486 |
+
$xml['Folder']['Placemark']['LookAt']['range'] = 0;
|
487 |
+
$xml['Folder']['Placemark']['LookAt']['tilt'] = 0;
|
488 |
+
$xml['Folder']['Placemark']['LookAt']['altitudeMode'] = 'relativeToGround';
|
489 |
+
$xml['Folder']['Placemark']['Point']['altitudeMode'] = 'relativeToGround';
|
490 |
+
$xml['Folder']['Placemark']['Point']['coordinates'] = $jsonld['Organization']['place']['geo']['longitude'];
|
491 |
+
$xml['Folder']['Placemark']['Point']['coordinates'] .= ',' . $jsonld['Organization']['place']['geo']['latitude'];
|
492 |
+
$xml['Folder']['Placemark']['Point']['coordinates'] .= ',0';
|
493 |
+
}
|
494 |
+
}
|
495 |
+
|
496 |
+
return $xml;
|
497 |
+
}
|
498 |
+
|
499 |
/**
|
500 |
* Get the XML of the URL
|
501 |
* @param $post
|
models/focuspages/Indexability.php
CHANGED
@@ -66,7 +66,7 @@ class SQ_Models_Focuspages_Indexability extends SQ_Models_Abstract_Assistant {
|
|
66 |
),
|
67 |
'gscindex' => array(
|
68 |
'title' => esc_html__("Manual index request", _SQ_PLUGIN_NAME_),
|
69 |
-
'description' => sprintf(esc_html__("Click the button to
|
70 |
),
|
71 |
'canonical' => array(
|
72 |
'title' => esc_html__("Canonical link", _SQ_PLUGIN_NAME_),
|
@@ -90,7 +90,7 @@ class SQ_Models_Focuspages_Indexability extends SQ_Models_Abstract_Assistant {
|
|
90 |
$header .= '<a href="' . $this->_post->url . '" target="_blank" style="word-break: break-word;">' . urldecode($this->_post->url) . '</a>';
|
91 |
$header .= '</li>';
|
92 |
|
93 |
-
if (!$this->_audit->sq_analytics_gsc_connected
|
94 |
$header .= '<li class="completed" style="background-color:#f7f7f7">
|
95 |
<a href="' . SQ_Classes_RemoteController::getApiLink('gscoauth') . '" target="_blank" class="btn btn-success text-white col-sm-10 offset-1 mt-3">' . esc_html__("Connect Google Search", _SQ_PLUGIN_NAME_) . '</a>
|
96 |
</li>';
|
@@ -173,6 +173,11 @@ class SQ_Models_Focuspages_Indexability extends SQ_Models_Abstract_Assistant {
|
|
173 |
return $task;
|
174 |
}
|
175 |
|
|
|
|
|
|
|
|
|
|
|
176 |
$task['error'] = true;
|
177 |
return $task;
|
178 |
}
|
66 |
),
|
67 |
'gscindex' => array(
|
68 |
'title' => esc_html__("Manual index request", _SQ_PLUGIN_NAME_),
|
69 |
+
'description' => sprintf(esc_html__("Click the button to %s Ask Google to re-index %s this page. %s Disclaimer: This task will automatically turn to green once you click on the button and it takes you to Google Search Console. It's up to you to make 100%% sure that you do tell Google to either index or re-index this page. %s Perform a manual request for Google to re-index this page. %s This is super important to do whenever you make important changes to your pages. Otherwise, Google will still have the old version of your page. %s If Google keeps having the older version, then it doesn't matter if you've improved the page. %s When you click the Ask Google to Re-Index button, Squirrly will use the Google Search Console API to send Google the request on your behalf.", _SQ_PLUGIN_NAME_), '<strong>','</strong>','<br /><br /><em>', '</em><br /><br />', '<br /><br />', '<br /><br />', '<br /><br />'),
|
70 |
),
|
71 |
'canonical' => array(
|
72 |
'title' => esc_html__("Canonical link", _SQ_PLUGIN_NAME_),
|
90 |
$header .= '<a href="' . $this->_post->url . '" target="_blank" style="word-break: break-word;">' . urldecode($this->_post->url) . '</a>';
|
91 |
$header .= '</li>';
|
92 |
|
93 |
+
if (!$this->_audit->sq_analytics_gsc_connected ) {
|
94 |
$header .= '<li class="completed" style="background-color:#f7f7f7">
|
95 |
<a href="' . SQ_Classes_RemoteController::getApiLink('gscoauth') . '" target="_blank" class="btn btn-success text-white col-sm-10 offset-1 mt-3">' . esc_html__("Connect Google Search", _SQ_PLUGIN_NAME_) . '</a>
|
96 |
</li>';
|
173 |
return $task;
|
174 |
}
|
175 |
|
176 |
+
if ($this->_audit->sq_analytics_gsc_connected ) {
|
177 |
+
$task['completed'] = true;
|
178 |
+
return $task;
|
179 |
+
}
|
180 |
+
|
181 |
$task['error'] = true;
|
182 |
return $task;
|
183 |
}
|
readme.txt
CHANGED
@@ -400,6 +400,22 @@ Type a keyword to the right of the screen and start using Squirrly Seo. Enjoy!
|
|
400 |
9. Squirrly SEO - Progress & Achievements
|
401 |
|
402 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
403 |
= 11.0.04 - 03/08/2021 =
|
404 |
Update - Add Json-LD types for Automation and Snippet
|
405 |
Update - Add new data in Json-LD Organizaztion like: Geo Location, Address, Country
|
400 |
9. Squirrly SEO - Progress & Achievements
|
401 |
|
402 |
== Changelog ==
|
403 |
+
= 11.1.00 - 03/29/2021 =
|
404 |
+
Update - Added SEO Links feature in Squirrly SEO
|
405 |
+
Update - Improved UI for Squirrly SEO Settings
|
406 |
+
Update - Added All Features categories in Squirrly with the option to activate/deactivate features
|
407 |
+
Update - Make Woocommerce Products Categories and Woocommerce Products Tags more evident in SEO Automation
|
408 |
+
Update - Add help sections in all Squirrly SEO setting pages
|
409 |
+
Update - Load Facebook Pixel events for Woocommerce last version
|
410 |
+
Update - Add the option to change the main keyword in Focus Page
|
411 |
+
Update - Load the Dev Kit option in Squirrly SEO
|
412 |
+
Fixed - Improve UX and Support for each Squirrly feature
|
413 |
+
Fixed - Post Type default search for Focus Pages and Audit Pages
|
414 |
+
Fixed - Post Type default search for Bulk SEO to include drafts
|
415 |
+
Fixed - Don't load Assistant columns if the assistant is disabled for a post type
|
416 |
+
Fixed - Improve UX in Audits and Focus Pages
|
417 |
+
Fixed - Visibility status in Focus Pages
|
418 |
+
|
419 |
= 11.0.04 - 03/08/2021 =
|
420 |
Update - Add Json-LD types for Automation and Snippet
|
421 |
Update - Add new data in Json-LD Organizaztion like: Geo Location, Address, Country
|
squirrly.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
* Description: A.I.-based Private SEO Consultant. In a Plugin. Powered by Machine Learning and Cloud Services. Over 300 functionalities for SEO available when you need them.
|
9 |
* Author: Squirrly SEO
|
10 |
* Author URI: https://plugin.squirrly.co
|
11 |
-
* Version: 11.
|
12 |
* License: GPLv2 or later
|
13 |
* License URI: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
14 |
* Text Domain: squirrly-seo
|
@@ -17,7 +17,7 @@
|
|
17 |
|
18 |
if (!defined('SQ_VERSION')) {
|
19 |
/* SET THE CURRENT VERSION ABOVE AND BELOW */
|
20 |
-
define('SQ_VERSION', '11.
|
21 |
//The last stable version
|
22 |
define('SQ_STABLE_VERSION', '11.0.03');
|
23 |
// Call config files
|
8 |
* Description: A.I.-based Private SEO Consultant. In a Plugin. Powered by Machine Learning and Cloud Services. Over 300 functionalities for SEO available when you need them.
|
9 |
* Author: Squirrly SEO
|
10 |
* Author URI: https://plugin.squirrly.co
|
11 |
+
* Version: 11.1.00
|
12 |
* License: GPLv2 or later
|
13 |
* License URI: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
14 |
* Text Domain: squirrly-seo
|
17 |
|
18 |
if (!defined('SQ_VERSION')) {
|
19 |
/* SET THE CURRENT VERSION ABOVE AND BELOW */
|
20 |
+
define('SQ_VERSION', '11.1.00');
|
21 |
//The last stable version
|
22 |
define('SQ_STABLE_VERSION', '11.0.03');
|
23 |
// Call config files
|
view/Audits/AuditStats.php
CHANGED
@@ -59,7 +59,7 @@
|
|
59 |
</div>
|
60 |
<?php } else { ?>
|
61 |
<div class="col sq_audit_header">
|
62 |
-
<a href="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_audits', 'addpage') ?>" class="btn btn-lg btn-
|
63 |
<i class="fa fa-plus-square-o"></i> <?php echo esc_html__("Add a new page for Audit", _SQ_PLUGIN_NAME_); ?>
|
64 |
</a>
|
65 |
</div>
|
@@ -202,7 +202,7 @@
|
|
202 |
echo '<h6 class="col-12 px-0 text-success" style="line-height: 25px;font-size: 14px;"><i class="fa fa-arrow-up" style="font-size: 9px !important;margin: 0 5px;vertical-align: middle;"></i> ' . $value . '</h6>';
|
203 |
}
|
204 |
?>
|
205 |
-
<a class="btn btn-sm btn-
|
206 |
} else {
|
207 |
echo '<h4 class="col-12 px-0 text-info">' . esc_html__("No progress found yet", _SQ_PLUGIN_NAME_) . '</h4>';
|
208 |
} ?>
|
59 |
</div>
|
60 |
<?php } else { ?>
|
61 |
<div class="col sq_audit_header">
|
62 |
+
<a href="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_audits', 'addpage') ?>" class="btn btn-lg btn-primary text-white mx-1">
|
63 |
<i class="fa fa-plus-square-o"></i> <?php echo esc_html__("Add a new page for Audit", _SQ_PLUGIN_NAME_); ?>
|
64 |
</a>
|
65 |
</div>
|
202 |
echo '<h6 class="col-12 px-0 text-success" style="line-height: 25px;font-size: 14px;"><i class="fa fa-arrow-up" style="font-size: 9px !important;margin: 0 5px;vertical-align: middle;"></i> ' . $value . '</h6>';
|
203 |
}
|
204 |
?>
|
205 |
+
<a class="mt-2 btn btn-sm btn-light border" href="https://twitter.com/intent/tweet?text=<?php echo urlencode('I love the results I get with Squirrly SEO Audit for my website. @SquirrlyHQ #SEO') ?>">Share Your Success</a><?php
|
206 |
} else {
|
207 |
echo '<h4 class="col-12 px-0 text-info">' . esc_html__("No progress found yet", _SQ_PLUGIN_NAME_) . '</h4>';
|
208 |
} ?>
|
view/Audits/Audits.php
CHANGED
@@ -72,10 +72,10 @@
|
|
72 |
</div>
|
73 |
</div>
|
74 |
|
75 |
-
<div class="card col-12 bg-
|
76 |
<div class="card-body">
|
77 |
-
<h4 class="text-center text-
|
78 |
-
<?php echo sprintf(esc_html__("Learn how to improve your SEO Audit score over time %sClick Here%s", _SQ_PLUGIN_NAME_), '<a href="https://plugin.squirrly.co/wordpress-seo/what-is-the-site-visibility-score/" target="_blank"
|
79 |
</h4>
|
80 |
</div>
|
81 |
</div>
|
72 |
</div>
|
73 |
</div>
|
74 |
|
75 |
+
<div class="card col-12 bg-light rounded-0 py-0">
|
76 |
<div class="card-body">
|
77 |
+
<h4 class="text-center text-dark">
|
78 |
+
<?php echo sprintf(esc_html__("Learn how to improve your SEO Audit score over time %sClick Here%s", _SQ_PLUGIN_NAME_), '<a href="https://plugin.squirrly.co/wordpress-seo/what-is-the-site-visibility-score/" target="_blank">', '</a>') ?>
|
79 |
</h4>
|
80 |
</div>
|
81 |
</div>
|
view/Blocks/Features.php
CHANGED
@@ -56,11 +56,11 @@
|
|
56 |
<?php if ($feature['link']) { ?>
|
57 |
<div class="col-12 p-0 pt-2">
|
58 |
<?php if ($feature['optional']) { ?>
|
59 |
-
<a href="<?php echo $feature['link'] ?>" class="small"
|
60 |
<?php echo esc_html__("start feature setup", _SQ_PLUGIN_NAME_) ?> >>
|
61 |
</a>
|
62 |
<?php } else { ?>
|
63 |
-
<a href="<?php echo $feature['link'] ?>" class="small">
|
64 |
<?php echo esc_html__("see feature", _SQ_PLUGIN_NAME_) ?> >>
|
65 |
</a>
|
66 |
<?php } ?>
|
@@ -76,7 +76,7 @@
|
|
76 |
<?php if ($feature['optional']) { ?>
|
77 |
<div class="checker col-sm-3 row m-0 p-0 sq_save_ajax">
|
78 |
<div class="col-sm-12 p-0 sq-switch sq-switch-sm text-right">
|
79 |
-
<input type="checkbox" id="activate_<?php echo $index ?>" <?php echo($feature['active'] ? 'checked="checked"' : '') ?> data-name="<?php echo $feature['option'] ?>" data-action="sq_ajax_seosettings_save" data-javascript="if($value){$this.closest('div.sq_feature').addClass('active');}else{ $this.closest('div.sq_feature').removeClass('active');}" class="switch" value="1"/>
|
80 |
<label for="activate_<?php echo $index ?>" class="m-0"></label>
|
81 |
</div>
|
82 |
</div>
|
56 |
<?php if ($feature['link']) { ?>
|
57 |
<div class="col-12 p-0 pt-2">
|
58 |
<?php if ($feature['optional']) { ?>
|
59 |
+
<a href="<?php echo $feature['link'] ?>" class="small see_feature" <?php echo ($feature['active'] ? '' :'style="display:none;"')?>>
|
60 |
<?php echo esc_html__("start feature setup", _SQ_PLUGIN_NAME_) ?> >>
|
61 |
</a>
|
62 |
<?php } else { ?>
|
63 |
+
<a href="<?php echo $feature['link'] ?>" class="small see_feature">
|
64 |
<?php echo esc_html__("see feature", _SQ_PLUGIN_NAME_) ?> >>
|
65 |
</a>
|
66 |
<?php } ?>
|
76 |
<?php if ($feature['optional']) { ?>
|
77 |
<div class="checker col-sm-3 row m-0 p-0 sq_save_ajax">
|
78 |
<div class="col-sm-12 p-0 sq-switch sq-switch-sm text-right">
|
79 |
+
<input type="checkbox" id="activate_<?php echo $index ?>" <?php echo($feature['active'] ? 'checked="checked"' : '') ?> data-name="<?php echo $feature['option'] ?>" data-action="sq_ajax_seosettings_save" data-javascript="if($value){$this.closest('div.sq_feature').addClass('active');$('#sq_feature_<?php echo $index ?>').find('a.see_feature').show();}else{ $this.closest('div.sq_feature').removeClass('active');$('#sq_feature_<?php echo $index ?>').find('a.see_feature').hide();}" class="switch" value="1"/>
|
80 |
<label for="activate_<?php echo $index ?>" class="m-0"></label>
|
81 |
</div>
|
82 |
</div>
|
view/Blocks/KnowledgeBase.php
CHANGED
@@ -14,132 +14,141 @@
|
|
14 |
<?php if (SQ_Classes_Helpers_Tools::getOption('sq_api') == '') { ?>
|
15 |
<ul class="list-group list-group-flush">
|
16 |
<li class="list-group-item text-left">
|
17 |
-
<a href="https://howto.squirrly.co/kb/install-squirrly-seo-plugin/#connect_to_cloud" target="_blank">Why
|
18 |
</li>
|
19 |
<li class="list-group-item text-left">
|
20 |
-
<a href="https://howto.squirrly.co/
|
21 |
</li>
|
22 |
</ul>
|
23 |
<?php } elseif ($page == 'sq_dashboard') { ?>
|
24 |
<ul class="list-group list-group-flush">
|
25 |
|
26 |
<li class="list-group-item text-left">
|
27 |
-
<a href="https://howto.squirrly.co/kb/
|
28 |
</li>
|
29 |
<li class="list-group-item text-left">
|
30 |
-
<a href="https://howto.squirrly.co/kb/install-squirrly-seo-plugin/#top_10_race" target="_blank">How to get on TOP 10 Google
|
|
|
|
|
|
|
31 |
</li>
|
32 |
</ul>
|
33 |
<div class="text-center m-2">
|
34 |
-
<a href="https://howto.squirrly.co/kb/" target="_blank">[ go to knowledge base ]</a></div>
|
35 |
<?php } elseif ($page == 'sq_research') { ?>
|
36 |
<ul class="list-group list-group-flush">
|
37 |
<li class="list-group-item text-left">
|
38 |
<a href="https://howto.squirrly.co/kb/keyword-research-and-seo-strategy/#find_new_keywords" target="_blank">How to do a Keyword Research.</a>
|
39 |
</li>
|
40 |
<li class="list-group-item text-left">
|
41 |
-
<a href="https://howto.squirrly.co/kb/keyword-research-and-seo-strategy/#
|
42 |
-
</li>
|
43 |
-
<li class="list-group-item text-left">
|
44 |
-
<a href="https://howto.squirrly.co/kb/keyword-research-and-seo-strategy/#briefcase_add_keyword" target="_blank">How to add Keywords into Briefcase.</a>
|
45 |
</li>
|
46 |
<li class="list-group-item text-left">
|
47 |
-
<a href="https://howto.squirrly.co/kb/keyword-research-and-seo-strategy/#briefcase_label" target="_blank">How to
|
48 |
</li>
|
49 |
<li class="list-group-item text-left">
|
50 |
-
<a href="https://howto.squirrly.co/kb/keyword-research-and-seo-strategy/#briefcase_optimize_sla" target="_blank">How to optimize a post with Briefcase.</a>
|
51 |
</li>
|
52 |
<li class="list-group-item text-left">
|
53 |
-
<a href="https://howto.squirrly.co/kb/keyword-research-and-seo-strategy/#briefcase_backup_keywords" target="_blank">How to backup/restore
|
54 |
</li>
|
55 |
</ul>
|
56 |
<div class="text-center m-2">
|
57 |
-
<a href="https://howto.squirrly.co/kb/" target="_blank">[ go to knowledge base ]</a></div>
|
58 |
<?php } elseif ($page == 'sq_assistant') { ?>
|
59 |
<ul class="list-group list-group-flush">
|
60 |
<li class="list-group-item text-left">
|
61 |
-
<a href="https://howto.squirrly.co/kb/squirrly-live-assistant/#all_tasks_green" target="_blank">How to 100% optimize a post, page or product with Squirrly Live Assistant.</a>
|
62 |
</li>
|
63 |
<li class="list-group-item text-left">
|
64 |
-
<a href="https://howto.squirrly.co/kb/squirrly-live-assistant/#
|
65 |
</li>
|
66 |
<li class="list-group-item text-left">
|
67 |
<a href="https://howto.squirrly.co/faq/why-is-the-squirrly-live-assistant-not-loading-in-the-post-editor/" target="_blank">Squirrly Live Assistant not showing.</a>
|
68 |
</li>
|
69 |
<li class="list-group-item text-left">
|
70 |
-
<a href="https://howto.squirrly.co/kb/squirrly-live-assistant/#after_optimization" target="_blank">What to do after I optimize a post
|
71 |
</li>
|
72 |
</ul>
|
73 |
<div class="text-center m-2">
|
74 |
-
<a href="https://howto.squirrly.co/kb/" target="_blank">[ go to knowledge base ]</a></div>
|
75 |
<?php } elseif ($page == 'sq_seosettings') { ?>
|
76 |
<ul class="list-group list-group-flush">
|
77 |
<li class="list-group-item text-left">
|
78 |
-
<a href="https://howto.squirrly.co/kb/seo-automation/" target="_blank">How to set the SEO in just 2 minutes
|
79 |
</li>
|
80 |
<li class="list-group-item text-left">
|
81 |
-
<a href="https://howto.squirrly.co/kb/bulk-seo/#bulk_seo_snippet_og" target="_blank">How to optimize Social Media for each post.</a>
|
82 |
</li>
|
83 |
<li class="list-group-item text-left">
|
84 |
-
<a href="https://howto.squirrly.co/kb/bulk-seo/#bulk_seo_snippet_jsonld" target="_blank">How to activate Rich Snippets for Google.</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
</li>
|
86 |
</ul>
|
87 |
<div class="text-center m-2">
|
88 |
-
<a href="https://howto.squirrly.co/kb/" target="_blank">[ go to knowledge base ]</a></div>
|
89 |
<?php } elseif ($page == 'sq_focuspages') { ?>
|
90 |
<ul class="list-group list-group-flush">
|
91 |
<li class="list-group-item text-left">
|
92 |
-
<a href="https://howto.squirrly.co/kb/focus-pages-page-audits/#add_new_focus_page" target="_blank">How to add a
|
93 |
</li>
|
94 |
<li class="list-group-item text-left">
|
95 |
-
<a href="https://howto.squirrly.co/kb/focus-pages-page-audits/#remove_focus_page" target="_blank">How to remove a Focus Page.</a>
|
96 |
</li>
|
97 |
<li class="list-group-item text-left">
|
98 |
-
<a href="https://howto.squirrly.co/kb/focus-pages-page-audits/#chance_to_rank" target="_blank">What is Chance to Rank
|
99 |
</li>
|
100 |
<li class="list-group-item text-left">
|
101 |
-
<a href="https://howto.squirrly.co/kb/focus-pages-page-audits/#keyword" target="_blank">How to add a keyword in a Focus Page.</a>
|
102 |
</li>
|
103 |
</ul>
|
104 |
<div class="text-center m-2">
|
105 |
-
<a href="https://howto.squirrly.co/kb/" target="_blank">[ go to knowledge base ]</a></div>
|
106 |
<?php } elseif ($page == 'sq_audits') { ?>
|
107 |
<ul class="list-group list-group-flush">
|
108 |
<li class="list-group-item text-left">
|
109 |
<a href="https://howto.squirrly.co/kb/seo-audit/#how_seo_audit_works" target="_blank">How does the Audit work?</a>
|
110 |
</li>
|
111 |
<li class="list-group-item text-left">
|
112 |
-
<a href="https://howto.squirrly.co/kb/seo-audit
|
113 |
</li>
|
114 |
<li class="list-group-item text-left">
|
115 |
-
<a href="https://howto.squirrly.co/kb/seo-audit
|
116 |
</li>
|
117 |
<li class="list-group-item text-left">
|
118 |
-
<a href="https://howto.squirrly.co/kb/seo-audit/#google_search_console" target="_blank">Connect to Google Search Console
|
119 |
</li>
|
120 |
<li class="list-group-item text-left">
|
121 |
-
<a href="https://howto.squirrly.co/kb/seo-audit/#google_analytics" target="_blank">Connect to Google Analytics
|
122 |
</li>
|
123 |
</ul>
|
124 |
<div class="text-center m-2">
|
125 |
-
<a href="https://howto.squirrly.co/kb/" target="_blank">[ go to knowledge base ]</a></div>
|
126 |
<?php } elseif ($page == 'sq_rankings') { ?>
|
127 |
<ul class="list-group list-group-flush">
|
128 |
<li class="list-group-item text-left">
|
129 |
-
<a href="https://howto.squirrly.co/kb/ranking-serp-checker/#add_keyword_ranking" target="_blank">How to add a Keyword in Rankings.</a>
|
|
|
|
|
|
|
130 |
</li>
|
131 |
<li class="list-group-item text-left">
|
132 |
-
<a href="https://howto.squirrly.co/kb/ranking-serp-checker/#remove_keyword_ranking" target="_blank">How to remove a keyword from Rankings.</a>
|
133 |
</li>
|
134 |
<li class="list-group-item text-left">
|
135 |
-
<a href="https://howto.squirrly.co/kb/ranking-serp-checker/#check_keyword_information" target="_blank">Check the Keyword Impressions, Clicks and Optimization
|
136 |
</li>
|
137 |
<li class="list-group-item text-left">
|
138 |
<a href="https://fourhourseo.com/why-does-neil-patel-use-squirrly-seo-for-every-blog-post-that-he-publishes/" target="_blank">Why Does Neil Patel Use Squirrly SEO For Every Blog Post that He Publishes?</a>
|
139 |
</li>
|
140 |
</ul>
|
141 |
<div class="text-center m-2">
|
142 |
-
<a href="https://howto.squirrly.co/kb/" target="_blank">[ go to knowledge base ]</a></div>
|
143 |
<?php } ?>
|
144 |
</div>
|
145 |
</div>
|
14 |
<?php if (SQ_Classes_Helpers_Tools::getOption('sq_api') == '') { ?>
|
15 |
<ul class="list-group list-group-flush">
|
16 |
<li class="list-group-item text-left">
|
17 |
+
<a href="https://howto.squirrly.co/kb/install-squirrly-seo-plugin/#connect_to_cloud" target="_blank">Why connect to Squirrly Cloud?</a>
|
18 |
</li>
|
19 |
<li class="list-group-item text-left">
|
20 |
+
<a href="https://howto.squirrly.co/wordpress-seo/squirrly-seo-error-messages/" target="_blank">I <strong>receive an error</strong> while login.</a>
|
21 |
</li>
|
22 |
</ul>
|
23 |
<?php } elseif ($page == 'sq_dashboard') { ?>
|
24 |
<ul class="list-group list-group-flush">
|
25 |
|
26 |
<li class="list-group-item text-left">
|
27 |
+
<a href="https://howto.squirrly.co/kb/import-export-seo-settings/#import_seo" target="_blank">How to <strong>Import SEO</strong> from other SEO plugins.</a>
|
28 |
</li>
|
29 |
<li class="list-group-item text-left">
|
30 |
+
<a href="https://howto.squirrly.co/kb/install-squirrly-seo-plugin/#top_10_race" target="_blank">How to get on <strong>TOP 10 Google</strong>?</a>
|
31 |
+
</li>
|
32 |
+
<li class="list-group-item text-left">
|
33 |
+
<a href="https://howto.squirrly.co/kb/next-seo-goals/" target="_blank">How to use <strong>Next SEO Goals</strong>?</a>
|
34 |
</li>
|
35 |
</ul>
|
36 |
<div class="text-center m-2">
|
37 |
+
<a href="https://howto.squirrly.co/kb/install-squirrly-seo-plugin/" target="_blank">[ go to knowledge base ]</a></div>
|
38 |
<?php } elseif ($page == 'sq_research') { ?>
|
39 |
<ul class="list-group list-group-flush">
|
40 |
<li class="list-group-item text-left">
|
41 |
<a href="https://howto.squirrly.co/kb/keyword-research-and-seo-strategy/#find_new_keywords" target="_blank">How to do a Keyword Research.</a>
|
42 |
</li>
|
43 |
<li class="list-group-item text-left">
|
44 |
+
<a href="https://howto.squirrly.co/kb/keyword-research-and-seo-strategy/#briefcase_add_keyword" target="_blank">How to <strong>add Keywords</strong> into Briefcase.</a>
|
|
|
|
|
|
|
45 |
</li>
|
46 |
<li class="list-group-item text-left">
|
47 |
+
<a href="https://howto.squirrly.co/kb/keyword-research-and-seo-strategy/#briefcase_label" target="_blank">How to categorize Keywords.</a>
|
48 |
</li>
|
49 |
<li class="list-group-item text-left">
|
50 |
+
<a href="https://howto.squirrly.co/kb/keyword-research-and-seo-strategy/#briefcase_optimize_sla" target="_blank">How to <strong>optimize a post</strong> with Briefcase.</a>
|
51 |
</li>
|
52 |
<li class="list-group-item text-left">
|
53 |
+
<a href="https://howto.squirrly.co/kb/keyword-research-and-seo-strategy/#briefcase_backup_keywords" target="_blank">How to <strong>backup/restore</strong> Keywords.</a>
|
54 |
</li>
|
55 |
</ul>
|
56 |
<div class="text-center m-2">
|
57 |
+
<a href="https://howto.squirrly.co/kb/keyword-research-and-seo-strategy/" target="_blank">[ go to knowledge base ]</a></div>
|
58 |
<?php } elseif ($page == 'sq_assistant') { ?>
|
59 |
<ul class="list-group list-group-flush">
|
60 |
<li class="list-group-item text-left">
|
61 |
+
<a href="https://howto.squirrly.co/kb/squirrly-live-assistant/#all_tasks_green" target="_blank">How to <strong>100% optimize</strong> a post, page or product with Squirrly Live Assistant.</a>
|
62 |
</li>
|
63 |
<li class="list-group-item text-left">
|
64 |
+
<a href="https://howto.squirrly.co/kb/squirrly-live-assistant/#copyright_free_images" target="_blank">How to add <strong>Copyright Free Images</strong>.</a>
|
65 |
</li>
|
66 |
<li class="list-group-item text-left">
|
67 |
<a href="https://howto.squirrly.co/faq/why-is-the-squirrly-live-assistant-not-loading-in-the-post-editor/" target="_blank">Squirrly Live Assistant not showing.</a>
|
68 |
</li>
|
69 |
<li class="list-group-item text-left">
|
70 |
+
<a href="https://howto.squirrly.co/kb/squirrly-live-assistant/#after_optimization" target="_blank">What to do <strong>after I optimize a post</strong>.</a>
|
71 |
</li>
|
72 |
</ul>
|
73 |
<div class="text-center m-2">
|
74 |
+
<a href="https://howto.squirrly.co/kb/squirrly-live-assistant/" target="_blank">[ go to knowledge base ]</a></div>
|
75 |
<?php } elseif ($page == 'sq_seosettings') { ?>
|
76 |
<ul class="list-group list-group-flush">
|
77 |
<li class="list-group-item text-left">
|
78 |
+
<a href="https://howto.squirrly.co/kb/seo-automation/" target="_blank">How to set the <strong>SEO in just 2 minutes</strong>.</a>
|
79 |
</li>
|
80 |
<li class="list-group-item text-left">
|
81 |
+
<a href="https://howto.squirrly.co/kb/bulk-seo/#bulk_seo_snippet_og" target="_blank">How to <strong>optimize Social Media</strong> for each post.</a>
|
82 |
</li>
|
83 |
<li class="list-group-item text-left">
|
84 |
+
<a href="https://howto.squirrly.co/kb/bulk-seo/#bulk_seo_snippet_jsonld" target="_blank">How to activate <strong>Rich Snippets</strong> for Google.</a>
|
85 |
+
</li>
|
86 |
+
<li class="list-group-item text-left">
|
87 |
+
<a href="https://howto.squirrly.co/kb/google-analytics-tracking-tool/#amp_support" target="_blank">How to activate <strong>AMP Support</strong>.</a>
|
88 |
+
</li>
|
89 |
+
<li class="list-group-item text-left">
|
90 |
+
<a href="https://howto.squirrly.co/kb/google-analytics-tracking-tool/#receive_tracking_code" target="_blank">How to activate <strong>GA4 Tracking</strong>.</a>
|
91 |
</li>
|
92 |
</ul>
|
93 |
<div class="text-center m-2">
|
94 |
+
<a href="https://howto.squirrly.co/kb/seo-automation/" target="_blank">[ go to knowledge base ]</a></div>
|
95 |
<?php } elseif ($page == 'sq_focuspages') { ?>
|
96 |
<ul class="list-group list-group-flush">
|
97 |
<li class="list-group-item text-left">
|
98 |
+
<a href="https://howto.squirrly.co/kb/focus-pages-page-audits/#add_new_focus_page" target="_blank">How to <strong>add a new</strong> Focus Page.</a>
|
99 |
</li>
|
100 |
<li class="list-group-item text-left">
|
101 |
+
<a href="https://howto.squirrly.co/kb/focus-pages-page-audits/#remove_focus_page" target="_blank">How to <strong>remove a</strong> Focus Page.</a>
|
102 |
</li>
|
103 |
<li class="list-group-item text-left">
|
104 |
+
<a href="https://howto.squirrly.co/kb/focus-pages-page-audits/#chance_to_rank" target="_blank">What is <strong>Chance to Rank</strong>?</a>
|
105 |
</li>
|
106 |
<li class="list-group-item text-left">
|
107 |
+
<a href="https://howto.squirrly.co/kb/focus-pages-page-audits/#keyword" target="_blank">How to <strong>add a keyword</strong> in a Focus Page.</a>
|
108 |
</li>
|
109 |
</ul>
|
110 |
<div class="text-center m-2">
|
111 |
+
<a href="https://howto.squirrly.co/kb/focus-pages-page-audits/" target="_blank">[ go to knowledge base ]</a></div>
|
112 |
<?php } elseif ($page == 'sq_audits') { ?>
|
113 |
<ul class="list-group list-group-flush">
|
114 |
<li class="list-group-item text-left">
|
115 |
<a href="https://howto.squirrly.co/kb/seo-audit/#how_seo_audit_works" target="_blank">How does the Audit work?</a>
|
116 |
</li>
|
117 |
<li class="list-group-item text-left">
|
118 |
+
<a href="https://howto.squirrly.co/kb/seo-audit/#add_new_audit_page" target="_blank">How to <strong>add a page</strong> in Audit.</a>
|
119 |
</li>
|
120 |
<li class="list-group-item text-left">
|
121 |
+
<a href="https://howto.squirrly.co/kb/seo-audit/#delete_page" target="_blank">How to <strong>remove a page</strong> from Audits.</a>
|
122 |
</li>
|
123 |
<li class="list-group-item text-left">
|
124 |
+
<a href="https://howto.squirrly.co/kb/seo-audit/#google_search_console" target="_blank">Connect to <strong>Google Search Console</strong>.</a>
|
125 |
</li>
|
126 |
<li class="list-group-item text-left">
|
127 |
+
<a href="https://howto.squirrly.co/kb/seo-audit/#google_analytics" target="_blank">Connect to <strong>Google Analytics</strong>.</a>
|
128 |
</li>
|
129 |
</ul>
|
130 |
<div class="text-center m-2">
|
131 |
+
<a href="https://howto.squirrly.co/kb/seo-audit/" target="_blank">[ go to knowledge base ]</a></div>
|
132 |
<?php } elseif ($page == 'sq_rankings') { ?>
|
133 |
<ul class="list-group list-group-flush">
|
134 |
<li class="list-group-item text-left">
|
135 |
+
<a href="https://howto.squirrly.co/kb/ranking-serp-checker/#add_keyword_ranking" target="_blank">How to <strong>add a Keyword</strong> in Rankings.</a>
|
136 |
+
</li>
|
137 |
+
<li class="list-group-item text-left">
|
138 |
+
<a href="https://howto.squirrly.co/kb/ranking-serp-checker/#sync_keyword_ranking" target="_blank">How to <strong>sync a Keyword</strong> with GSC.</a>
|
139 |
</li>
|
140 |
<li class="list-group-item text-left">
|
141 |
+
<a href="https://howto.squirrly.co/kb/ranking-serp-checker/#remove_keyword_ranking" target="_blank">How to <strong>remove a keyword</strong> from Rankings.</a>
|
142 |
</li>
|
143 |
<li class="list-group-item text-left">
|
144 |
+
<a href="https://howto.squirrly.co/kb/ranking-serp-checker/#check_keyword_information" target="_blank">Check the Keyword <strong>Impressions, Clicks and Optimization</strong>.</a>
|
145 |
</li>
|
146 |
<li class="list-group-item text-left">
|
147 |
<a href="https://fourhourseo.com/why-does-neil-patel-use-squirrly-seo-for-every-blog-post-that-he-publishes/" target="_blank">Why Does Neil Patel Use Squirrly SEO For Every Blog Post that He Publishes?</a>
|
148 |
</li>
|
149 |
</ul>
|
150 |
<div class="text-center m-2">
|
151 |
+
<a href="https://howto.squirrly.co/kb/ranking-serp-checker/" target="_blank">[ go to knowledge base ]</a></div>
|
152 |
<?php } ?>
|
153 |
</div>
|
154 |
</div>
|
view/Errors/Connect.php
CHANGED
@@ -36,7 +36,28 @@ $page = apply_filters('sq_page', SQ_Classes_Helpers_Tools::getValue('page', ''))
|
|
36 |
|
37 |
<?php if ($page == 'sq_dashboard') { ?>
|
38 |
<div class="mt-5">
|
39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
</div>
|
41 |
<?php } ?>
|
42 |
</div>
|
36 |
|
37 |
<?php if ($page == 'sq_dashboard') { ?>
|
38 |
<div class="mt-5">
|
39 |
+
<div class="card col-12 my-3 py-3">
|
40 |
+
<div class="card-body m-0 p-0">
|
41 |
+
<div class="row text-left m-0 p-0">
|
42 |
+
<div class="px-5 py-3" style="max-width: 350px;width: 40%;">
|
43 |
+
<img src="<?php echo _SQ_ASSETS_URL_ . 'img/squirrly_features.png' ?>" style="width: 250px">
|
44 |
+
</div>
|
45 |
+
<div class="col px-2 py-3">
|
46 |
+
<div class="col-12 m-0 p-0">
|
47 |
+
<h3 class="card-title" style="color: green;"><?php echo esc_html__("What's Included in Squirrly SEO Plugin", _SQ_PLUGIN_NAME_); ?></h3>
|
48 |
+
</div>
|
49 |
+
|
50 |
+
<div class="sq_separator"></div>
|
51 |
+
<div class="col-12 m-2 p-0">
|
52 |
+
<div class="card-title-description m-2 text-black-50"><?php echo sprintf(esc_html__("With a total of over %s400%s free in-depth features that only Squirrly can offer.", _SQ_PLUGIN_NAME_), '<strong>', '</strong>'); ?></div>
|
53 |
+
</div>
|
54 |
+
<div class="col-12 m-0 p-4 text-right">
|
55 |
+
<a href="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_features') ?>" class="btn btn-sm btn-success m-0 py-2 px-4"><?php echo esc_html__("See what features are included in Squirrly SEO", _SQ_PLUGIN_NAME_); ?></a>
|
56 |
+
</div>
|
57 |
+
</div>
|
58 |
+
</div>
|
59 |
+
</div>
|
60 |
+
</div>
|
61 |
</div>
|
62 |
<?php } ?>
|
63 |
</div>
|
view/Features.php
CHANGED
@@ -11,7 +11,7 @@
|
|
11 |
<?php if (SQ_Classes_Helpers_Tools::getMenuVisible('show_ads')) { ?>
|
12 |
<div class="card col-12 p-0 my-2">
|
13 |
<div class="my-3 py-3">
|
14 |
-
<div class="col-12 row m-0">
|
15 |
<div class="checker col-12 row m-0 p-0 text-center">
|
16 |
<div class="col-12 my-2 mx-auto p-0 font-weight-bold" style="font-size: 18px;"><?php echo esc_html__("We Need Your Support", _SQ_PLUGIN_NAME_) ?></div>
|
17 |
|
@@ -34,7 +34,7 @@
|
|
34 |
<?php if (current_user_can('sq_manage_snippets')) { ?>
|
35 |
<div class="card col-12 p-0 my-2">
|
36 |
<div class="my-4 py-4">
|
37 |
-
<div class="col-12 row m-0">
|
38 |
<div class="checker col-12 row m-0 p-0">
|
39 |
<div class="col-12 p-0 m-0 sq-switch sq-switch-sm sq_save_ajax">
|
40 |
<input type="checkbox" id="sq_seoexpert" name="sq_seoexpert" class="sq-switch" data-action="sq_ajax_seosettings_save" data-input="sq_seoexpert" data-name="sq_seoexpert" <?php echo(SQ_Classes_Helpers_Tools::getOption('sq_seoexpert') ? 'checked="checked"' : '') ?> value="1"/>
|
11 |
<?php if (SQ_Classes_Helpers_Tools::getMenuVisible('show_ads')) { ?>
|
12 |
<div class="card col-12 p-0 my-2">
|
13 |
<div class="my-3 py-3">
|
14 |
+
<div class="col-12 row py-0 m-0">
|
15 |
<div class="checker col-12 row m-0 p-0 text-center">
|
16 |
<div class="col-12 my-2 mx-auto p-0 font-weight-bold" style="font-size: 18px;"><?php echo esc_html__("We Need Your Support", _SQ_PLUGIN_NAME_) ?></div>
|
17 |
|
34 |
<?php if (current_user_can('sq_manage_snippets')) { ?>
|
35 |
<div class="card col-12 p-0 my-2">
|
36 |
<div class="my-4 py-4">
|
37 |
+
<div class="col-12 row py-0 m-0">
|
38 |
<div class="checker col-12 row m-0 p-0">
|
39 |
<div class="col-12 p-0 m-0 sq-switch sq-switch-sm sq_save_ajax">
|
40 |
<input type="checkbox" id="sq_seoexpert" name="sq_seoexpert" class="sq-switch" data-action="sq_ajax_seosettings_save" data-input="sq_seoexpert" data-name="sq_seoexpert" <?php echo(SQ_Classes_Helpers_Tools::getOption('sq_seoexpert') ? 'checked="checked"' : '') ?> value="1"/>
|
view/FocusPages/FocusPageStats.php
CHANGED
@@ -147,7 +147,7 @@
|
|
147 |
echo '<h6 class="col-12 px-0 text-success" style="line-height: 25px;font-size: 14px;"><i class="fa fa-arrow-up" style="font-size: 9px !important;margin: 0 5px;vertical-align: middle;"></i> ' . $value . '</h6>';
|
148 |
}
|
149 |
?>
|
150 |
-
<a class="btn btn-sm btn-
|
151 |
} else {
|
152 |
echo '<h4 class="col-12 px-0 text-info">' . esc_html__("No progress found yet", _SQ_PLUGIN_NAME_) . '</h4>';
|
153 |
} ?>
|
147 |
echo '<h6 class="col-12 px-0 text-success" style="line-height: 25px;font-size: 14px;"><i class="fa fa-arrow-up" style="font-size: 9px !important;margin: 0 5px;vertical-align: middle;"></i> ' . $value . '</h6>';
|
148 |
}
|
149 |
?>
|
150 |
+
<a class="mt-2 btn btn-sm btn-light border" href="https://twitter.com/intent/tweet?text=<?php echo urlencode('I love the results I get for my Focus Page with Squirrly SEO plugin for #WordPress. @SquirrlyHQ #SEO') ?>">Share Your Success</a><?php
|
151 |
} else {
|
152 |
echo '<h4 class="col-12 px-0 text-info">' . esc_html__("No progress found yet", _SQ_PLUGIN_NAME_) . '</h4>';
|
153 |
} ?>
|
view/Onboarding/Step2.1.php
DELETED
@@ -1,69 +0,0 @@
|
|
1 |
-
<?php defined('ABSPATH') || die('Cheatin\' uh?'); ?>
|
2 |
-
<div id="sq_wrap">
|
3 |
-
<div class="d-flex flex-row my-0 bg-white" style="clear: both !important;">
|
4 |
-
<div class="d-flex flex-row flex-nowrap flex-grow-1 bg-white px-1 m-0">
|
5 |
-
<div class="flex-grow-1 px-1 sq_flex">
|
6 |
-
|
7 |
-
<div class="card col-12 p-0">
|
8 |
-
|
9 |
-
<div class="card-body p-2 bg-title rounded-top row">
|
10 |
-
<div class="col-6 m-0 p-0 py-2 bg-title rounded-top">
|
11 |
-
<div class="sq_icons sq_squirrly_icon m-1 mx-3"></div>
|
12 |
-
<h3 class="card-title"><?php echo esc_html__("14 Days Journey", _SQ_PLUGIN_NAME_); ?></h3>
|
13 |
-
</div>
|
14 |
-
<div class="col-6 m-0 p-0 py-2 text-right">
|
15 |
-
<a href="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_onboarding', 'step2.2') ?>" class="btn rounded-0 btn-success btn-lg px-3 mx-2 float-sm-right"><?php echo esc_html__("Continue", _SQ_PLUGIN_NAME_) . ' >'; ?></a>
|
16 |
-
</div>
|
17 |
-
</div>
|
18 |
-
|
19 |
-
<div class="card col-12 p-0 m-0 border-0 border-0">
|
20 |
-
<div class="card-body p-0">
|
21 |
-
<div class="col-12 m-0 p-0">
|
22 |
-
<div class="card col-12 p-0 border-0 ">
|
23 |
-
|
24 |
-
<div class="col-12 pt-0 pb-4 ">
|
25 |
-
|
26 |
-
<div class="col-12 card-title py-3 px-4 text-center" style="font-size: 24px; line-height: 35px"><?php echo esc_html__("All you need now is to start driving One of your most valuable pages to Better Rankings.", _SQ_PLUGIN_NAME_); ?></div>
|
27 |
-
<div class="row py-5 px-5 text-black-50">
|
28 |
-
<div class="col-6">
|
29 |
-
<img src="<?php echo _SQ_ASSETS_URL_ . 'img/onboarding/racing_car.png' ?>" style="width: 100%" >
|
30 |
-
</div>
|
31 |
-
<div class="col-6">
|
32 |
-
<div style="font-size: 22px; color: rebeccapurple; line-height: 35px" class="mt-5 mb-2"><?php echo esc_html__("To drive it in the right direction, you have the chance to join (for Free) the 14 Days Journey to Better Rankings.", _SQ_PLUGIN_NAME_); ?></div>
|
33 |
-
</div>
|
34 |
-
</div>
|
35 |
-
|
36 |
-
<div class="col-12 m-3 px-5 clear">
|
37 |
-
<div style="font-size: 18px; color: rebeccapurple; line-height: 30px"><?php echo esc_html__("You'll get", _SQ_PLUGIN_NAME_); ?>:</div>
|
38 |
-
<ul class="m-3 ml-5" style="list-style: disc !important;">
|
39 |
-
<li class="mb-3 text-black-50" style="font-size: 16px"><?php echo sprintf(esc_html__("the %schance to fix in 14 days%s mistakes from years of ineffective SEO.", _SQ_PLUGIN_NAME_), '<strong>', '</strong>'); ?></li>
|
40 |
-
<li class="mb-3 text-black-50" style="font-size: 16px"><?php echo sprintf(esc_html__("the skills you need to %ssucceed in 14 days%s.", _SQ_PLUGIN_NAME_), '<strong>', '</strong>'); ?></li>
|
41 |
-
<li class="mb-3 text-black-50" style="font-size: 16px"><?php echo sprintf(esc_html__("access to the private %sJourneyTeam community%s where you can share your experience and talk about it (good and bad, all is accepted).", _SQ_PLUGIN_NAME_), '<a href="https://www.facebook.com/groups/SquirrlySEOCustomerService/" target="_blank" >', '</a>'); ?></li>
|
42 |
-
<li class="mb-3 text-black-50" style="font-size: 16px"><?php echo sprintf(esc_html__("receive%s help from the JourneyTeam%s and Private Feedback on your journey from Squirrly.", _SQ_PLUGIN_NAME_), '<a href="https://www.facebook.com/groups/SquirrlySEOCustomerService/" target="_blank" >', '</a>'); ?></li>
|
43 |
-
<li class="mb-3 text-black-50" style="font-size: 16px"><?php echo sprintf(esc_html__("an %sexact recipe to follow for 14 Days%s to bring one of your pages up in rankings, for a hands-on experience.", _SQ_PLUGIN_NAME_), '<strong>', '</strong>'); ?></li>
|
44 |
-
<li class="mb-3 text-black-50" style="font-size: 16px"><?php echo sprintf(esc_html__("%sall the costs%s (to third parties) involved with APIs, technology, cloud computing, etc. %sare fully sponsored by Squirrly%s. We sponsor every new member who wishes to become part of the winning JourneyTeam.", _SQ_PLUGIN_NAME_), '<strong>', '</strong>', '<strong>', '</strong>'); ?></li>
|
45 |
-
</ul>
|
46 |
-
|
47 |
-
|
48 |
-
</div>
|
49 |
-
<div class="col-12 my-3 p-0 py-3 border-top">
|
50 |
-
<a href="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_onboarding', 'step2.2') ?>" class="btn rounded-0 btn-success btn-lg px-3 mx-4 float-sm-right"><?php echo esc_html__("Continue", _SQ_PLUGIN_NAME_) . ' >'; ?></a>
|
51 |
-
</div>
|
52 |
-
|
53 |
-
</div>
|
54 |
-
|
55 |
-
</div>
|
56 |
-
|
57 |
-
</div>
|
58 |
-
|
59 |
-
</div>
|
60 |
-
</div>
|
61 |
-
|
62 |
-
</div>
|
63 |
-
|
64 |
-
|
65 |
-
</div>
|
66 |
-
</div>
|
67 |
-
</div>
|
68 |
-
</div>
|
69 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
view/Onboarding/Step2.2.php
DELETED
@@ -1,89 +0,0 @@
|
|
1 |
-
<?php defined('ABSPATH') || die('Cheatin\' uh?'); ?>
|
2 |
-
<div id="sq_wrap">
|
3 |
-
<div class="d-flex flex-row my-0 bg-white" style="clear: both !important;">
|
4 |
-
<div class="d-flex flex-row flex-nowrap flex-grow-1 bg-white px-1 m-0">
|
5 |
-
<div class="flex-grow-1 px-1 sq_flex">
|
6 |
-
|
7 |
-
<div class="card col-12 p-0" style="min-width: 850px;">
|
8 |
-
<div class="card-body p-2 bg-title rounded-top row">
|
9 |
-
<div class="col-6 m-0 p-0 py-2 bg-title rounded-top">
|
10 |
-
<div class="sq_icons sq_squirrly_icon m-1 mx-3"></div>
|
11 |
-
<h3 class="card-title"><?php echo esc_html__("Start the 14 Days Journey", _SQ_PLUGIN_NAME_); ?></h3>
|
12 |
-
</div>
|
13 |
-
<div class="col-6 m-0 p-0 py-2 text-right">
|
14 |
-
<a href="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_dashboard') ?>" class="btn btn-default btn-lg px-3 mx-4 float-sm-right border rounded-circle">X</a>
|
15 |
-
</div>
|
16 |
-
</div>
|
17 |
-
|
18 |
-
<div class="col-12 p-0 m-0 border-0 tab-panel border-0">
|
19 |
-
<div class="p-0">
|
20 |
-
<div class="col-12 m-0 p-0">
|
21 |
-
<div class="col-12 p-0 border-0 ">
|
22 |
-
<div class="col-12 pt-0 pb-4 tab-panel">
|
23 |
-
<div class="col-12 m-auto px-5 tab-panel">
|
24 |
-
<?php if (SQ_Classes_Helpers_Tools::getOption('sq_seojourney')) { ?>
|
25 |
-
<div class="col-12 py-3 pt-5 text-success text-center" style="font-size: 28px; color: rebeccapurple; line-height: 30px"><?php echo sprintf(esc_html__("Awesome! You are on your way to better results.", _SQ_PLUGIN_NAME_), '<br />'); ?></div>
|
26 |
-
<div class="p-0 m-0 mb-5 text-center">
|
27 |
-
<div class="col-12" style="font-size: 18px"><?php echo sprintf(esc_html__("You will receive the %sdaily recipe%s in your %sDashboard%s.", _SQ_PLUGIN_NAME_), '<strong>', '</strong>', '<strong>', '</strong>'); ?></div>
|
28 |
-
</div>
|
29 |
-
<div class="col-12 m-3 px-4 text-center justify-content-center">
|
30 |
-
<img src="<?php echo _SQ_ASSETS_URL_ . 'img/onboarding/racing_car start.png' ?>" style="max-width: 60%;">
|
31 |
-
</div>
|
32 |
-
<div class="col-12 m-3 px-4 clear">
|
33 |
-
<div class="my-3" style="font-size: 16px; line-height: 30px"><?php echo sprintf(esc_html__("%sJoin%s the rest of the %sJourneyTeam on the Facebook Group%s and if you want you can share with the members that you have started your Journey.", _SQ_PLUGIN_NAME_), '<strong>', '</strong>', '<strong><a href="https://www.facebook.com/groups/SquirrlySEOCustomerService/" target="_blank" >', '</a></strong>'); ?></div>
|
34 |
-
<div class="my-3" style="font-size: 16px; line-height: 30px"><?php echo sprintf(esc_html__("%sIn 14 Days you can tell us how it went%s (via messages on our %sFacebook Page%s) and we'll tell you what you can do to further improve the results you got during the 14 Days.", _SQ_PLUGIN_NAME_), '<strong>', '</strong>', '<strong><a href="https://www.facebook.com/Squirrly.co/" target="_blank" >', '</a></strong>'); ?></div>
|
35 |
-
</div>
|
36 |
-
<div class="p-0 m-0 mb-3 text-center">
|
37 |
-
<a href="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_dashboard') ?>" class="btn btn-lg bg-success text-white px-5 mt-3">
|
38 |
-
<?php echo esc_html__("Close", _SQ_PLUGIN_NAME_) ?>
|
39 |
-
</a>
|
40 |
-
</div>
|
41 |
-
<?php } else { ?>
|
42 |
-
<h2 class="col-12 py-3 text-center"><?php echo esc_html__("Choose how to continue", _SQ_PLUGIN_NAME_); ?>:</h2>
|
43 |
-
<div class="row flex-nowrap py-3">
|
44 |
-
<div class="col text-center">
|
45 |
-
|
46 |
-
<form method="post" class="p-0 m-0">
|
47 |
-
<img src="<?php echo _SQ_ASSETS_URL_ . 'img/onboarding/racing_car start.png' ?>" class="float-left mr-4" style="max-width: 100%;">
|
48 |
-
|
49 |
-
<?php SQ_Classes_Helpers_Tools::setNonce('sq_onboarding_commitment', 'sq_nonce'); ?>
|
50 |
-
<input type="hidden" name="action" value="sq_onboarding_commitment"/>
|
51 |
-
<button type="submit" class="btn btn-lg btn-success px-5 mt-3">
|
52 |
-
<?php echo esc_html__("Let's Start My 14 Days Journey", _SQ_PLUGIN_NAME_) ?>
|
53 |
-
</button>
|
54 |
-
</form>
|
55 |
-
</div>
|
56 |
-
<div class="col text-center">
|
57 |
-
<img src="<?php echo _SQ_ASSETS_URL_ . 'img/onboarding/racing_car_finish_rusty.png' ?>" class="float-left mr-4" style="max-width: 100%;">
|
58 |
-
|
59 |
-
<a href="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_dashboard') ?>" class="btn btn-lg bg-transparent text-black-50 my-2">
|
60 |
-
<?php echo esc_html__("Nah, there is little interest in this", _SQ_PLUGIN_NAME_) ?>
|
61 |
-
</a>
|
62 |
-
</div>
|
63 |
-
</div>
|
64 |
-
<?php } ?>
|
65 |
-
|
66 |
-
</div>
|
67 |
-
<?php if (!SQ_Classes_Helpers_Tools::getOption('sq_seojourney')) { ?>
|
68 |
-
<div class="col-12 my-3 p-0 py-3 border-top">
|
69 |
-
<a href="<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_dashboard') ?>" class="btn rounded-0 btn-default btn-lg px-3 mx-4 float-sm-right"><?php echo esc_html__("Close Window", _SQ_PLUGIN_NAME_); ?></a>
|
70 |
-
</div>
|
71 |
-
<?php } ?>
|
72 |
-
|
73 |
-
</div>
|
74 |
-
|
75 |
-
</div>
|
76 |
-
|
77 |
-
</div>
|
78 |
-
|
79 |
-
</div>
|
80 |
-
</div>
|
81 |
-
|
82 |
-
</div>
|
83 |
-
|
84 |
-
|
85 |
-
</div>
|
86 |
-
</div>
|
87 |
-
</div>
|
88 |
-
</div>
|
89 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
view/Overview.php
CHANGED
@@ -54,7 +54,7 @@
|
|
54 |
<?php if (SQ_Classes_Helpers_Tools::getMenuVisible('show_ads')) { ?>
|
55 |
<div class="card col-12 p-0 my-2">
|
56 |
<div class="my-3 py-3">
|
57 |
-
<div class="col-12 row m-0">
|
58 |
<div class="checker col-12 row m-0 p-0 text-center">
|
59 |
<div class="col-12 my-2 mx-auto p-0 font-weight-bold" style="font-size: 18px;"><?php echo esc_html__("We Need Your Support", _SQ_PLUGIN_NAME_) ?></div>
|
60 |
|
54 |
<?php if (SQ_Classes_Helpers_Tools::getMenuVisible('show_ads')) { ?>
|
55 |
<div class="card col-12 p-0 my-2">
|
56 |
<div class="my-3 py-3">
|
57 |
+
<div class="col-12 row p-0 m-0">
|
58 |
<div class="checker col-12 row m-0 p-0 text-center">
|
59 |
<div class="col-12 my-2 mx-auto p-0 font-weight-bold" style="font-size: 18px;"><?php echo esc_html__("We Need Your Support", _SQ_PLUGIN_NAME_) ?></div>
|
60 |
|
view/Research/Briefcase.php
CHANGED
@@ -55,6 +55,22 @@
|
|
55 |
</div>
|
56 |
</form>
|
57 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
<?php } ?>
|
59 |
<div class="card-body p-0">
|
60 |
<div class="col-12 m-0 p-0">
|
@@ -405,7 +421,7 @@
|
|
405 |
<?php } ?>
|
406 |
<?php } elseif (SQ_Classes_Helpers_Tools::getIsset('skeyword') || SQ_Classes_Helpers_Tools::getIsset('slabel')) { ?>
|
407 |
<div class="card-body">
|
408 |
-
<
|
409 |
</div>
|
410 |
<?php } else { ?>
|
411 |
|
55 |
</div>
|
56 |
</form>
|
57 |
</div>
|
58 |
+
<?php }else{ ?>
|
59 |
+
<div class="row px-3">
|
60 |
+
<form method="get" class="form-inline col-12">
|
61 |
+
<input type="hidden" name="page" value="<?php echo SQ_Classes_Helpers_Tools::getValue('page') ?>">
|
62 |
+
<input type="hidden" name="tab" value="<?php echo SQ_Classes_Helpers_Tools::getValue('tab') ?>">
|
63 |
+
<div class="col-12 p-0 py-2">
|
64 |
+
<div class="d-flex flex-row justify-content-end p-0 m-0">
|
65 |
+
<input type="search" class="d-inline-block align-middle col-5 p-2 mr-2" id="post-search-input" autofocus name="skeyword" value="<?php echo SQ_Classes_Helpers_Sanitize::escapeKeyword(SQ_Classes_Helpers_Tools::getValue('skeyword')) ?>"/>
|
66 |
+
<input type="submit" class="btn btn-primary" value="<?php echo esc_html__("Search Keyword", _SQ_PLUGIN_NAME_) ?>"/>
|
67 |
+
<?php if (SQ_Classes_Helpers_Tools::getIsset('skeyword') || SQ_Classes_Helpers_Tools::getIsset('slabel')) { ?>
|
68 |
+
<button type="button" class="btn btn-info ml-1 p-v-xs" onclick="location.href = '<?php echo SQ_Classes_Helpers_Tools::getAdminUrl('sq_research', 'briefcase') ?>';" style="cursor: pointer"><?php echo esc_html__("Show All", _SQ_PLUGIN_NAME_) ?></button>
|
69 |
+
<?php } ?>
|
70 |
+
</div>
|
71 |
+
</div>
|
72 |
+
</form>
|
73 |
+
</div>
|
74 |
<?php } ?>
|
75 |
<div class="card-body p-0">
|
76 |
<div class="col-12 m-0 p-0">
|
421 |
<?php } ?>
|
422 |
<?php } elseif (SQ_Classes_Helpers_Tools::getIsset('skeyword') || SQ_Classes_Helpers_Tools::getIsset('slabel')) { ?>
|
423 |
<div class="card-body">
|
424 |
+
<h4 class="text-center"><?php echo $view->error; ?></h4>
|
425 |
</div>
|
426 |
<?php } else { ?>
|
427 |
|
view/Research/Labels.php
CHANGED
@@ -22,11 +22,13 @@
|
|
22 |
</div>
|
23 |
<div id="sq_briefcaselabels" class="card col-12 p-0 tab-panel border-0">
|
24 |
<?php do_action('sq_subscription_notices'); ?>
|
|
|
25 |
<div class="card-body p-0">
|
26 |
-
<button class="btn btn-lg btn-
|
27 |
<i class="fa fa-plus-square-o"></i> <?php echo esc_html__("Add new Label", _SQ_PLUGIN_NAME_); ?>
|
28 |
</button>
|
29 |
</div>
|
|
|
30 |
|
31 |
<div class="sq_add_labels_dialog modal" tabindex="-1" role="dialog">
|
32 |
<div class="modal-dialog">
|
@@ -148,6 +150,9 @@
|
|
148 |
<?php } else { ?>
|
149 |
<div class="card-body">
|
150 |
<h4 class="text-center"><?php echo esc_html__("Welcome to Briefcase Labels", _SQ_PLUGIN_NAME_); ?></h4>
|
|
|
|
|
|
|
151 |
<div class="col-12 mt-5 mx-2">
|
152 |
<h5 class="text-left my-3 text-info"><?php echo esc_html__("TIPS: How Should I Create My Labels?", _SQ_PLUGIN_NAME_); ?></h5>
|
153 |
<ul>
|
22 |
</div>
|
23 |
<div id="sq_briefcaselabels" class="card col-12 p-0 tab-panel border-0">
|
24 |
<?php do_action('sq_subscription_notices'); ?>
|
25 |
+
<?php if (is_array($view->labels) && !empty($view->labels)) { ?>
|
26 |
<div class="card-body p-0">
|
27 |
+
<button class="btn btn-lg btn-primary px-5 mx-3" onclick="jQuery('.sq_add_labels_dialog').modal('show')" data-dismiss="modal">
|
28 |
<i class="fa fa-plus-square-o"></i> <?php echo esc_html__("Add new Label", _SQ_PLUGIN_NAME_); ?>
|
29 |
</button>
|
30 |
</div>
|
31 |
+
<?php }?>
|
32 |
|
33 |
<div class="sq_add_labels_dialog modal" tabindex="-1" role="dialog">
|
34 |
<div class="modal-dialog">
|
150 |
<?php } else { ?>
|
151 |
<div class="card-body">
|
152 |
<h4 class="text-center"><?php echo esc_html__("Welcome to Briefcase Labels", _SQ_PLUGIN_NAME_); ?></h4>
|
153 |
+
<div class="col-12 m-2 text-center">
|
154 |
+
<button class="btn btn-lg btn-primary" onclick="jQuery('.sq_add_labels_dialog').modal('show')" data-dismiss="modal"><i class="fa fa-plus-square-o"></i> <?php echo esc_html__("Add label to organize the keywords in Briefcase", _SQ_PLUGIN_NAME_); ?></button>
|
155 |
+
</div>
|
156 |
<div class="col-12 mt-5 mx-2">
|
157 |
<h5 class="text-left my-3 text-info"><?php echo esc_html__("TIPS: How Should I Create My Labels?", _SQ_PLUGIN_NAME_); ?></h5>
|
158 |
<ul>
|
view/Research/Research.php
CHANGED
@@ -41,7 +41,7 @@
|
|
41 |
<h4 class="text-success text-center mt-5 mb-2"><?php echo esc_html__("Add a keyword to Briefcase", _SQ_PLUGIN_NAME_) ?></h4>
|
42 |
<form method="post" class="p-0 m-0">
|
43 |
<div class="col-8 offset-2">
|
44 |
-
<input type="text" name="keyword" class="form-control mb-2" value="<?php echo SQ_Classes_Helpers_Tools::getValue('keyword', '') ?>">
|
45 |
<div class="my-2 text-black-50 small text-center"><?php echo esc_html__("It's best if you focus on finding Long-Tail Keywords.", _SQ_PLUGIN_NAME_) ?></div>
|
46 |
</div>
|
47 |
<div class="col-12 mt-3 text-center">
|
@@ -62,7 +62,7 @@
|
|
62 |
<h6 class="my-2 text-info">
|
63 |
<strong><?php echo esc_html__("Enter a keyword that matches your business", _SQ_PLUGIN_NAME_) ?>:</strong>
|
64 |
</h6>
|
65 |
-
<input type="text" name="sq_input_keyword" class="form-control sq_input_keyword mb-2" value="<?php echo SQ_Classes_Helpers_Tools::getValue('keyword', '') ?>">
|
66 |
<input type="hidden" name="post_id" value="<?php echo SQ_Classes_Helpers_Tools::getValue('post_id', false) ?>">
|
67 |
<div class="my-2 text-black-50 small text-center"><?php echo esc_html__("Focus on finding Long Tail Keywords.", _SQ_PLUGIN_NAME_) ?></div>
|
68 |
<h4 class="sq_research_error text-warning text-center" style="display: none"><?php echo esc_html__("You need to enter a keyword first", _SQ_PLUGIN_NAME_) ?></h4>
|
41 |
<h4 class="text-success text-center mt-5 mb-2"><?php echo esc_html__("Add a keyword to Briefcase", _SQ_PLUGIN_NAME_) ?></h4>
|
42 |
<form method="post" class="p-0 m-0">
|
43 |
<div class="col-8 offset-2">
|
44 |
+
<input type="text" name="keyword" class="form-control mb-2" autofocus value="<?php echo SQ_Classes_Helpers_Tools::getValue('keyword', '') ?>">
|
45 |
<div class="my-2 text-black-50 small text-center"><?php echo esc_html__("It's best if you focus on finding Long-Tail Keywords.", _SQ_PLUGIN_NAME_) ?></div>
|
46 |
</div>
|
47 |
<div class="col-12 mt-3 text-center">
|
62 |
<h6 class="my-2 text-info">
|
63 |
<strong><?php echo esc_html__("Enter a keyword that matches your business", _SQ_PLUGIN_NAME_) ?>:</strong>
|
64 |
</h6>
|
65 |
+
<input type="text" name="sq_input_keyword" autofocus class="form-control sq_input_keyword mb-2" value="<?php echo SQ_Classes_Helpers_Tools::getValue('keyword', '') ?>">
|
66 |
<input type="hidden" name="post_id" value="<?php echo SQ_Classes_Helpers_Tools::getValue('post_id', false) ?>">
|
67 |
<div class="my-2 text-black-50 small text-center"><?php echo esc_html__("Focus on finding Long Tail Keywords.", _SQ_PLUGIN_NAME_) ?></div>
|
68 |
<h4 class="sq_research_error text-warning text-center" style="display: none"><?php echo esc_html__("You need to enter a keyword first", _SQ_PLUGIN_NAME_) ?></h4>
|
view/Research/Suggested.php
CHANGED
@@ -149,7 +149,7 @@
|
|
149 |
<?php } else { ?>
|
150 |
<div class="card-body">
|
151 |
<h4 class="text-center"><?php echo esc_html__("Welcome to Suggested Keywords", _SQ_PLUGIN_NAME_); ?></h4>
|
152 |
-
<h5 class="text-center"><?php echo esc_html__("Once a week, Squirrly checks all the keywords from your briefcase.", _SQ_PLUGIN_NAME_); ?></h5>
|
153 |
<h5 class="text-center"><?php echo esc_html__("If it finds better keywords, they will be listed here", _SQ_PLUGIN_NAME_); ?></h5>
|
154 |
<h6 class="text-center text-black-50 mt-3"><?php echo esc_html__("Until then, add keywords in Briefcase", _SQ_PLUGIN_NAME_); ?>:</h6>
|
155 |
<div class="col-12 my-4 text-center">
|
149 |
<?php } else { ?>
|
150 |
<div class="card-body">
|
151 |
<h4 class="text-center"><?php echo esc_html__("Welcome to Suggested Keywords", _SQ_PLUGIN_NAME_); ?></h4>
|
152 |
+
<h5 class="text-center mt-4"><?php echo esc_html__("Once a week, Squirrly checks all the keywords from your briefcase.", _SQ_PLUGIN_NAME_); ?></h5>
|
153 |
<h5 class="text-center"><?php echo esc_html__("If it finds better keywords, they will be listed here", _SQ_PLUGIN_NAME_); ?></h5>
|
154 |
<h6 class="text-center text-black-50 mt-3"><?php echo esc_html__("Until then, add keywords in Briefcase", _SQ_PLUGIN_NAME_); ?>:</h6>
|
155 |
<div class="col-12 my-4 text-center">
|
view/SeoSettings/Jsonld.php
CHANGED
@@ -171,12 +171,13 @@
|
|
171 |
</div>
|
172 |
|
173 |
<a name="localseo"></a>
|
174 |
-
<?php if (!SQ_Classes_Helpers_Tools::getOption('
|
175 |
-
<button type="button" class="
|
176 |
<?php } ?>
|
177 |
|
178 |
-
|
179 |
-
|
|
|
180 |
<h3 class="col-12 card-title"><?php echo esc_html__("GEO Location", _SQ_PLUGIN_NAME_); ?>
|
181 |
<a href="https://howto.squirrly.co/kb/json-ld-structured-data/#local_seo" target="_blank"><i class="fa fa-question-circle m-0 p-0"></i></a>
|
182 |
</h3>
|
@@ -186,15 +187,26 @@
|
|
186 |
<?php echo esc_html__("GEO Settings", _SQ_PLUGIN_NAME_); ?>:
|
187 |
<a href="https://howto.squirrly.co/kb/json-ld-structured-data/#local_seo" target="_blank"><i class="fa fa-question-circle m-0 px-2" style="display: inline;"></i></a>
|
188 |
<div class="small text-black-50 my-1"><?php echo esc_html__("Latitude & Longitude of your store/business.", _SQ_PLUGIN_NAME_); ?></div>
|
|
|
|
|
|
|
189 |
</div>
|
190 |
-
<div class="col-
|
191 |
-
<
|
192 |
-
|
193 |
-
|
194 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
195 |
</div>
|
196 |
</div>
|
197 |
|
|
|
198 |
<div class="bg-title p-2 mt-5">
|
199 |
<h3 class="col-12 card-title"><?php echo esc_html__("Opening Hours", _SQ_PLUGIN_NAME_); ?>
|
200 |
<a href="https://howto.squirrly.co/kb/json-ld-structured-data/#local_seo_hours" target="_blank"><i class="fa fa-question-circle m-0 p-0"></i></a>
|
@@ -366,7 +378,7 @@
|
|
366 |
</div>
|
367 |
</div>
|
368 |
|
369 |
-
<div class="col-12 row mb-1 ml-1">
|
370 |
<div class="checker col-12 row my-2 py-1">
|
371 |
<div class="col-12 p-0 sq-switch sq-switch-sm">
|
372 |
<input type="hidden" name="sq_jsonld_product_defaults" value="0"/>
|
@@ -379,6 +391,8 @@
|
|
379 |
</div>
|
380 |
</div>
|
381 |
<?php } ?>
|
|
|
|
|
382 |
<div class="col-12 row mb-1 ml-1">
|
383 |
<div class="checker col-12 row my-2 py-1">
|
384 |
<div class="col-12 p-0 sq-switch sq-switch-sm">
|
@@ -464,7 +478,7 @@
|
|
464 |
<div class="col-12 my-5 mx-2">
|
465 |
<h5 class="text-left my-4 text-info"><?php echo esc_html__("Tips: How to optimize Json-LD Schema on all pages?", _SQ_PLUGIN_NAME_); ?></h5>
|
466 |
<ul class="mx-3">
|
467 |
-
<li style="font-size: 15px; list-style: initial;"><?php echo sprintf(esc_html__("Use the %s SEO Automation %s to setup the Json-LD type based on Post Types.", _SQ_PLUGIN_NAME_), '<a href="' . SQ_Classes_Helpers_Tools::getAdminUrl('sq_seosettings', 'automation') . '">', '</a>'); ?></li>
|
468 |
<li style="font-size: 15px; list-style: initial;"><?php echo sprintf(esc_html__("Use %s Bulk SEO %s to optimize the JSON-LD in the SEO Snippet for each page on your website.", _SQ_PLUGIN_NAME_), '<a href="' . SQ_Classes_Helpers_Tools::getAdminUrl('sq_bulkseo', 'bulkseo') . '">', '</a>'); ?></li>
|
469 |
</ul>
|
470 |
</div>
|
171 |
</div>
|
172 |
|
173 |
<a name="localseo"></a>
|
174 |
+
<?php if (!SQ_Classes_Helpers_Tools::getOption('sq_auto_jsonld_local')) { ?>
|
175 |
+
<button type="button" class="col-12 btn btn-light py-3 my-3 font-weight-bold border" style="font-size: 20px" onclick="jQuery('.sq_locaseo').toggle()"><?php echo esc_html__("Setup JSON-LD Schema for Local SEO", _SQ_PLUGIN_NAME_); ?></button>
|
176 |
<?php } ?>
|
177 |
|
178 |
+
|
179 |
+
<div class="sq_locaseo" <?php if (!SQ_Classes_Helpers_Tools::getOption('sq_auto_jsonld_local')) { ?>style="display: none;" <?php }?>>
|
180 |
+
<div class="bg-title p-2 mt-4">
|
181 |
<h3 class="col-12 card-title"><?php echo esc_html__("GEO Location", _SQ_PLUGIN_NAME_); ?>
|
182 |
<a href="https://howto.squirrly.co/kb/json-ld-structured-data/#local_seo" target="_blank"><i class="fa fa-question-circle m-0 p-0"></i></a>
|
183 |
</h3>
|
187 |
<?php echo esc_html__("GEO Settings", _SQ_PLUGIN_NAME_); ?>:
|
188 |
<a href="https://howto.squirrly.co/kb/json-ld-structured-data/#local_seo" target="_blank"><i class="fa fa-question-circle m-0 px-2" style="display: inline;"></i></a>
|
189 |
<div class="small text-black-50 my-1"><?php echo esc_html__("Latitude & Longitude of your store/business.", _SQ_PLUGIN_NAME_); ?></div>
|
190 |
+
<div class="small text-black-50 my-1">
|
191 |
+
<a href="https://www.latlong.net/convert-address-to-lat-long.html" target="_blank"><?php echo esc_html__("Get GEO Coordonates based on address.", _SQ_PLUGIN_NAME_); ?></a>
|
192 |
+
</div>
|
193 |
</div>
|
194 |
+
<div class="col-8 p-0">
|
195 |
+
<div class="row px-3">
|
196 |
+
<div class="col-5 py-0 pl-0 pr-2">
|
197 |
+
<input type="text" class="form-control bg-input" name="sq_jsonld[Organization][place][geo][latitude]" value="<?php echo(($jsonld['Organization']['place']['geo']['latitude']) ? $jsonld['Organization']['place']['geo']['latitude'] : '') ?>" placeholder="<?php echo esc_html__("latitude", _SQ_PLUGIN_NAME_); ?>"/>
|
198 |
+
</div>
|
199 |
+
<div class="col-5 py-0 pl-2 pr-0">
|
200 |
+
<input type="text" class="form-control bg-input" name="sq_jsonld[Organization][place][geo][longitude]" value="<?php echo(($jsonld['Organization']['place']['geo']['longitude']) ? $jsonld['Organization']['place']['geo']['longitude'] : '') ?>" placeholder="<?php echo esc_html__("longitude", _SQ_PLUGIN_NAME_); ?>"/>
|
201 |
+
</div>
|
202 |
+
</div>
|
203 |
+
<div class="row px-3 pt-2">
|
204 |
+
<div class="col-10 text-black-50 p-0"><?php echo sprintf(esc_html__("Download the file %s for GEO Coordonates to import into %s Google Earth %s.", _SQ_PLUGIN_NAME_), '<strong><a href="' . SQ_Classes_ObjController::getClass('SQ_Controllers_Sitemaps')->getKmlUrl('locations') . '">' . SQ_Classes_ObjController::getClass('SQ_Controllers_Sitemaps')->getKmlUrl('locations') . '</a></strong>', '<a href="https://support.google.com/earth/answer/7365595?co=GENIE.Platform%3DDesktop&hl=en" target="_blank" >', '</a>'); ?></div>
|
205 |
+
</div>
|
206 |
</div>
|
207 |
</div>
|
208 |
|
209 |
+
|
210 |
<div class="bg-title p-2 mt-5">
|
211 |
<h3 class="col-12 card-title"><?php echo esc_html__("Opening Hours", _SQ_PLUGIN_NAME_); ?>
|
212 |
<a href="https://howto.squirrly.co/kb/json-ld-structured-data/#local_seo_hours" target="_blank"><i class="fa fa-question-circle m-0 p-0"></i></a>
|
378 |
</div>
|
379 |
</div>
|
380 |
|
381 |
+
<div class="col-12 row mb-1 ml-1 sq_advanced">
|
382 |
<div class="checker col-12 row my-2 py-1">
|
383 |
<div class="col-12 p-0 sq-switch sq-switch-sm">
|
384 |
<input type="hidden" name="sq_jsonld_product_defaults" value="0"/>
|
391 |
</div>
|
392 |
</div>
|
393 |
<?php } ?>
|
394 |
+
|
395 |
+
|
396 |
<div class="col-12 row mb-1 ml-1">
|
397 |
<div class="checker col-12 row my-2 py-1">
|
398 |
<div class="col-12 p-0 sq-switch sq-switch-sm">
|
478 |
<div class="col-12 my-5 mx-2">
|
479 |
<h5 class="text-left my-4 text-info"><?php echo esc_html__("Tips: How to optimize Json-LD Schema on all pages?", _SQ_PLUGIN_NAME_); ?></h5>
|
480 |
<ul class="mx-3">
|
481 |
+
<li class="sq_advanced" style="font-size: 15px; list-style: initial;"><?php echo sprintf(esc_html__("Use the %s SEO Automation %s to setup the Json-LD type based on Post Types.", _SQ_PLUGIN_NAME_), '<a href="' . SQ_Classes_Helpers_Tools::getAdminUrl('sq_seosettings', 'automation') . '">', '</a>'); ?></li>
|
482 |
<li style="font-size: 15px; list-style: initial;"><?php echo sprintf(esc_html__("Use %s Bulk SEO %s to optimize the JSON-LD in the SEO Snippet for each page on your website.", _SQ_PLUGIN_NAME_), '<a href="' . SQ_Classes_Helpers_Tools::getAdminUrl('sq_bulkseo', 'bulkseo') . '">', '</a>'); ?></li>
|
483 |
</ul>
|
484 |
</div>
|
view/SeoSettings/Sitemap.php
CHANGED
@@ -110,6 +110,7 @@
|
|
110 |
<input type="checkbox" id="sq_sitemap_home" name="sitemap[sitemap-home]" class="sq-switch" value="1" <?php echo(($sitemap['sitemap-home'][1] == 1) ? 'checked="checked"' : ''); ?> />
|
111 |
<label for="sq_sitemap_home" class="ml-2"><?php echo esc_html__("Home Page", _SQ_PLUGIN_NAME_); ?></label>
|
112 |
<div class="offset-2 small text-black-50"><?php echo esc_html__("Build the sitemap for the home page.", _SQ_PLUGIN_NAME_); ?></div>
|
|
|
113 |
<?php
|
114 |
$pname = 'home';
|
115 |
if (isset($patterns[$pname]['do_sitemap']) && !$patterns[$pname]['do_sitemap']) { ?>
|
@@ -131,6 +132,7 @@
|
|
131 |
<a href="https://howto.squirrly.co/kb/sitemap-xml-settings/#news_sitemap" target="_blank"><i class="fa fa-question-circle m-0 px-2" style="display: inline;"></i></a>
|
132 |
</label>
|
133 |
<div class="offset-2 small text-black-50"><?php echo sprintf(esc_html__("Only if you have a news website. Make sure you submit your website to %sGoogle News%s first.", _SQ_PLUGIN_NAME_), '<a href="https://partnerdash.google.com/partnerdash/d/news" target="_blank">', '</a>'); ?></div>
|
|
|
134 |
</div>
|
135 |
</div>
|
136 |
</div>
|
@@ -144,6 +146,7 @@
|
|
144 |
<input type="checkbox" id="sq_sitemap_post" name="sitemap[sitemap-post]" class="sq-switch" value="1" <?php echo(($sitemap['sitemap-post'][1] == 1) ? 'checked="checked"' : ''); ?> />
|
145 |
<label for="sq_sitemap_post" class="ml-2"><?php echo esc_html__("Posts", _SQ_PLUGIN_NAME_); ?></label>
|
146 |
<div class="offset-2 small text-black-50"><?php echo esc_html__("Build the sitemap for your posts.", _SQ_PLUGIN_NAME_); ?></div>
|
|
|
147 |
<?php
|
148 |
$pname = 'post';
|
149 |
if (isset($patterns[$pname]['do_sitemap']) && !$patterns[$pname]['do_sitemap']) { ?>
|
@@ -163,6 +166,7 @@
|
|
163 |
<input type="checkbox" id="sq_sitemap_attachment" name="sitemap[sitemap-attachment]" class="sq-switch" value="1" <?php echo(($sitemap['sitemap-attachment'][1] == 1) ? 'checked="checked"' : ''); ?> />
|
164 |
<label for="sq_sitemap_attachment" class="ml-2"><?php echo esc_html__("Attachments", _SQ_PLUGIN_NAME_); ?></label>
|
165 |
<div class="offset-2 small text-black-50"><?php echo esc_html__("Only recommended if you have a photography website.", _SQ_PLUGIN_NAME_); ?></div>
|
|
|
166 |
<?php
|
167 |
$pname = 'attachment';
|
168 |
if (isset($patterns[$pname]['do_sitemap']) && !$patterns[$pname]['do_sitemap']) { ?>
|
@@ -184,6 +188,7 @@
|
|
184 |
<input type="checkbox" id="sq_sitemap_category" name="sitemap[sitemap-category]" class="sq-switch" value="1" <?php echo(($sitemap['sitemap-category'][1] == 1) ? 'checked="checked"' : ''); ?> />
|
185 |
<label for="sq_sitemap_category" class="ml-2"><?php echo esc_html__("Categories", _SQ_PLUGIN_NAME_); ?></label>
|
186 |
<div class="offset-2 small text-black-50"><?php echo esc_html__("Build the sitemap for your post categories.", _SQ_PLUGIN_NAME_); ?></div>
|
|
|
187 |
<?php
|
188 |
$pname = 'category';
|
189 |
if (isset($patterns[$pname]['do_sitemap']) && !$patterns[$pname]['do_sitemap']) { ?>
|
@@ -204,6 +209,7 @@
|
|
204 |
<input type="checkbox" id="sq_sitemap_post_tag" name="sitemap[sitemap-post_tag]" class="sq-switch" value="1" <?php echo(($sitemap['sitemap-post_tag'][1] == 1) ? 'checked="checked"' : ''); ?> />
|
205 |
<label for="sq_sitemap_post_tag" class="ml-2"><?php echo esc_html__("Tags", _SQ_PLUGIN_NAME_); ?></label>
|
206 |
<div class="offset-2 small text-black-50"><?php echo esc_html__("Build the sitemap for your post tags.", _SQ_PLUGIN_NAME_); ?></div>
|
|
|
207 |
<?php
|
208 |
$pname = 'tag';
|
209 |
if (isset($patterns[$pname]['do_sitemap']) && !$patterns[$pname]['do_sitemap']) { ?>
|
@@ -225,6 +231,7 @@
|
|
225 |
<input type="checkbox" id="sq_sitemap_page" name="sitemap[sitemap-page]" class="sq-switch" value="1" <?php echo(($sitemap['sitemap-page'][1] == 1) ? 'checked="checked"' : ''); ?> />
|
226 |
<label for="sq_sitemap_page" class="ml-2"><?php echo esc_html__("Pages", _SQ_PLUGIN_NAME_); ?></label>
|
227 |
<div class="offset-2 small text-black-50"><?php echo esc_html__("Build the sitemap for your pages.", _SQ_PLUGIN_NAME_); ?></div>
|
|
|
228 |
<?php
|
229 |
$pname = 'page';
|
230 |
if (isset($patterns[$pname]['do_sitemap']) && !$patterns[$pname]['do_sitemap']) { ?>
|
@@ -244,6 +251,7 @@
|
|
244 |
<input type="checkbox" id="sq_sitemap_archive" name="sitemap[sitemap-archive]" class="sq-switch" value="1" <?php echo(($sitemap['sitemap-archive'][1] == 1) ? 'checked="checked"' : ''); ?> />
|
245 |
<label for="sq_sitemap_archive" class="ml-2"><?php echo esc_html__("Archive", _SQ_PLUGIN_NAME_); ?></label>
|
246 |
<div class="offset-2 small text-black-50"><?php echo esc_html__("Build the sitemap for your archive links.", _SQ_PLUGIN_NAME_); ?></div>
|
|
|
247 |
<?php
|
248 |
$pname = 'archive';
|
249 |
if (isset($patterns[$pname]['do_sitemap']) && !$patterns[$pname]['do_sitemap']) { ?>
|
@@ -265,6 +273,7 @@
|
|
265 |
<input type="checkbox" id="sq_sitemap_custom-tax" name="sitemap[sitemap-custom-tax]" class="sq-switch" value="1" <?php echo(($sitemap['sitemap-custom-tax'][1] == 1) ? 'checked="checked"' : ''); ?> />
|
266 |
<label for="sq_sitemap_custom-tax" class="ml-2"><?php echo esc_html__("Custom Taxonomies", _SQ_PLUGIN_NAME_); ?></label>
|
267 |
<div class="offset-2 small text-black-50"><?php echo esc_html__("Build the sitemap for your custom post type categories and tags.", _SQ_PLUGIN_NAME_); ?></div>
|
|
|
268 |
</div>
|
269 |
</div>
|
270 |
</div>
|
@@ -275,6 +284,7 @@
|
|
275 |
<input type="checkbox" id="sq_sitemap_custom-post" name="sitemap[sitemap-custom-post]" class="sq-switch" value="1" <?php echo(($sitemap['sitemap-custom-post'][1] == 1) ? 'checked="checked"' : ''); ?> />
|
276 |
<label for="sq_sitemap_custom-post" class="ml-2"><?php echo esc_html__("Custom Posts", _SQ_PLUGIN_NAME_); ?></label>
|
277 |
<div class="offset-2 small text-black-50"><?php echo esc_html__("Build the sitemap for your custom post types (other than WP posts and pages).", _SQ_PLUGIN_NAME_); ?></div>
|
|