SEO SQUIRRLY™ - Version 8.0.1

Version Description

  • 05/08/2017 =
  • Made the Sitemap Compatible with more Wordpress Themes
  • Update the validation link for Twitter
  • Fixed broken links in SEO Audit
Download this release

Release Info

Developer cifi
Plugin Icon 128x128 SEO SQUIRRLY™
Version 8.0.1
Comparing to
See all releases

Code changes from version 6.3.1 to 8.0.1

Files changed (59) hide show
  1. classes/SQ_Action.php +3 -2
  2. classes/SQ_DisplayController.php +15 -1
  3. classes/SQ_ObjController.php +45 -8
  4. classes/SQ_Ranking.php +1 -7
  5. config/config.php +5 -1
  6. config/paths.php +2 -1
  7. controllers/SQ_Frontend.php +51 -38
  8. controllers/SQ_Menu.php +41 -3
  9. controllers/SQ_Post.php +8 -8
  10. controllers/SQ_PostsList.php +1 -1
  11. controllers/SQ_Sitemaps.php +49 -15
  12. core/SQ_BlockAudit/SQ_BlockAudit.php +19 -0
  13. core/SQ_BlockCopyright/SQ_BlockCopyright.php +11 -0
  14. core/SQ_BlockCustomerService/SQ_BlockCustomerService.php +11 -0
  15. core/SQ_BlockKeywordResearch/SQ_BlockKeywordResearch.php +11 -0
  16. core/SQ_BlockLiveAssistant/SQ_BlockLiveAssistant.php +11 -0
  17. core/SQ_Blockresearch/SQ_Blockresearch.php +0 -1
  18. core/SQ_Blocksearch/SQ_Blocksearch.php +0 -3
  19. core/SQ_Loading/SQ_Loading.php +27 -6
  20. models/SQ_BlockPostsAnalytics.php +35 -52
  21. models/SQ_BlockSettingsSeo.php +1 -0
  22. models/SQ_Frontend.php +148 -155
  23. models/SQ_Menu.php +1 -5
  24. models/SQ_Sitemaps.php +1 -0
  25. models/services/JsonLD.php +444 -0
  26. readme.txt +62 -245
  27. squirrly.php +6 -5
  28. themes/default/SQ_BlockAccount.php +1 -0
  29. themes/default/SQ_BlockAudit.php +63 -0
  30. themes/default/SQ_BlockCopyright.php +31 -0
  31. themes/default/SQ_BlockCustomerService.php +71 -0
  32. themes/default/SQ_BlockDashboard.php +83 -70
  33. themes/default/SQ_BlockKeywordResearch.php +37 -0
  34. themes/default/SQ_BlockLiveAssistant.php +36 -0
  35. themes/default/SQ_BlockPostsAnalytics.php +0 -7
  36. themes/default/SQ_BlockSettings.php +67 -21
  37. themes/default/SQ_BlockSettingsSeo.php +305 -172
  38. themes/default/SQ_BlockSupport.php +11 -6
  39. themes/default/css/sq_blockaudit.css +50 -0
  40. themes/default/css/sq_blockcopyright.css +26 -0
  41. themes/default/css/sq_blockdashboard.css +54 -18
  42. themes/default/css/sq_blockkeywordresearch.css +31 -0
  43. themes/default/css/sq_blockliveassistant.css +49 -0
  44. themes/default/css/sq_blocksettingsseo.css +2 -1
  45. themes/default/css/sq_global.css +155 -65
  46. themes/default/css/sq_menu.css +235 -133
  47. themes/default/css/sq_post.css +3 -3
  48. themes/default/img/help/copyright_options1.png +0 -0
  49. themes/default/img/help/copyright_options2.png +0 -0
  50. themes/default/img/help/copyright_options3.png +0 -0
  51. themes/default/img/help/live_assistant1.png +0 -0
  52. themes/default/img/help/live_assistant2.png +0 -0
  53. themes/default/img/help/live_assistant3.png +0 -0
  54. themes/default/img/help/live_assistant4.png +0 -0
  55. themes/default/img/settings/audit.png +0 -0
  56. themes/default/img/settings/sq_badge_g17.png +0 -0
  57. themes/default/img/settings/team.png +0 -0
  58. themes/default/js/sq_blockkeywordresearch.js +35 -0
  59. themes/default/js/sq_blocksupport.js +0 -10
classes/SQ_Action.php CHANGED
@@ -14,7 +14,7 @@ class SQ_Action extends SQ_FrontController {
14
 
15
  private function _isAjax() {
16
  $url = (isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : false);
17
- if ($url && (strpos($url, admin_url('admin-ajax.php', 'relative')) !== false || strpos(admin_url('admin-ajax.php', 'relative'), $url) !== false)) {
18
  return true;
19
  }
20
 
@@ -136,7 +136,7 @@ class SQ_Action extends SQ_FrontController {
136
  return false;
137
  }
138
 
139
- $extra = array('user_url' => get_bloginfo('wpurl'),
140
  'lang' => (defined('WPLANG') ? WPLANG : 'en_US'),
141
  'versq' => SQ_VERSION_ID,
142
  'verwp' => WP_VERSION_ID,
@@ -168,6 +168,7 @@ class SQ_Action extends SQ_FrontController {
168
  }
169
  //call it with http to prevent curl issues with ssls
170
  $url = self::cleanUrl($scheme . _SQ_API_URL_ . $module . "?" . $parameters);
 
171
  return SQ_Tools::sq_remote_get($url, array(), array('timeout' => $timeout));
172
  }
173
 
14
 
15
  private function _isAjax() {
16
  $url = (isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : false);
17
+ if ($url && (strpos($url, str_replace(get_bloginfo('url'),'',admin_url('admin-ajax.php', 'relative'))) !== false )) {
18
  return true;
19
  }
20
 
136
  return false;
137
  }
138
 
139
+ $extra = array('user_url' => get_bloginfo('url'),
140
  'lang' => (defined('WPLANG') ? WPLANG : 'en_US'),
141
  'versq' => SQ_VERSION_ID,
142
  'verwp' => WP_VERSION_ID,
168
  }
169
  //call it with http to prevent curl issues with ssls
170
  $url = self::cleanUrl($scheme . _SQ_API_URL_ . $module . "?" . $parameters);
171
+ //update_option('sq_seopost_log', $url);
172
  return SQ_Tools::sq_remote_get($url, array(), array('timeout' => $timeout));
173
  }
174
 
classes/SQ_DisplayController.php CHANGED
@@ -13,6 +13,19 @@ class SQ_DisplayController {
13
  self::loadMedia('sq_global');
14
  }
15
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  /**
17
  * echo the css link from theme css directory
18
  *
@@ -22,8 +35,9 @@ class SQ_DisplayController {
22
  * @return string
23
  */
24
  public static function loadMedia($uri = '', $params = array('trigger' => true, 'media' => 'all')) {
25
- if (isset($_SERVER['PHP_SELF']) && strpos($_SERVER['PHP_SELF'], '/admin-ajax.php') !== false)
26
  return;
 
27
 
28
  $css_uri = '';
29
  $js_uri = '';
13
  self::loadMedia('sq_global');
14
  }
15
 
16
+ /**
17
+ * Check if ajax
18
+ * @return bool
19
+ */
20
+ private static function _isAjax() {
21
+ $url = (isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : false);
22
+ if ($url && (strpos($url, str_replace(get_bloginfo('url'),'',admin_url('admin-ajax.php', 'relative'))) !== false )) {
23
+ return true;
24
+ }
25
+
26
+ return false;
27
+ }
28
+
29
  /**
30
  * echo the css link from theme css directory
31
  *
35
  * @return string
36
  */
37
  public static function loadMedia($uri = '', $params = array('trigger' => true, 'media' => 'all')) {
38
+ if (self::_isAjax()) {
39
  return;
40
+ }
41
 
42
  $css_uri = '';
43
  $js_uri = '';
classes/SQ_ObjController.php CHANGED
@@ -14,7 +14,7 @@ class SQ_ObjController {
14
  private static function includeController($className, $core) {
15
  /* check if class is already defined */
16
  if (!class_exists($className, false))
17
- /* if $core == true then call the class from core directory */
18
  try {
19
  if (file_exists(($core ? _SQ_CONTROLLER_DIR_ : _SQ_CLASSES_DIR_) . $className . '.php'))
20
  include_once(($core ? _SQ_CONTROLLER_DIR_ : _SQ_CLASSES_DIR_) . $className . '.php');
@@ -29,7 +29,7 @@ class SQ_ObjController {
29
  * @param string $className
30
  * @param bool $core TRUE is the class is a core class or FALSE if it is from classes directory
31
  *
32
- * @return object of the class|false
33
  */
34
  public static function getController($className, $core = true) {
35
  if (!isset(self::$instances[$className])) {
@@ -62,7 +62,7 @@ class SQ_ObjController {
62
  *
63
  * @param string $className
64
  *
65
- * @return object of the class
66
  */
67
  public static function getModel($className) {
68
  /* add Model prefix */
@@ -81,7 +81,45 @@ class SQ_ObjController {
81
  } else
82
  return self::$instances[$prefix . $className];
83
 
84
- return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
85
  }
86
 
87
  private static function includeBlock($className) {
@@ -99,7 +137,7 @@ class SQ_ObjController {
99
  *
100
  * @param string $className
101
  *
102
- * @return object of the class
103
  */
104
  public static function getBlock($className) {
105
 
@@ -116,7 +154,7 @@ class SQ_ObjController {
116
  } else
117
  return self::$instances[$className];
118
 
119
- return;
120
  }
121
 
122
  /**
@@ -133,8 +171,7 @@ class SQ_ObjController {
133
 
134
  /* load configuration blocks data from core config files */
135
  $data = file_get_contents($config_file);
136
- self::$config = json_decode(json_encode((array) simplexml_load_string($data)), 1);
137
- ;
138
  }
139
  //print_r(self::$config);
140
  if (is_array(self::$config))
14
  private static function includeController($className, $core) {
15
  /* check if class is already defined */
16
  if (!class_exists($className, false))
17
+ /* if $core == true then call the class from core directory */
18
  try {
19
  if (file_exists(($core ? _SQ_CONTROLLER_DIR_ : _SQ_CLASSES_DIR_) . $className . '.php'))
20
  include_once(($core ? _SQ_CONTROLLER_DIR_ : _SQ_CLASSES_DIR_) . $className . '.php');
29
  * @param string $className
30
  * @param bool $core TRUE is the class is a core class or FALSE if it is from classes directory
31
  *
32
+ * @return bool|object of the class
33
  */
34
  public static function getController($className, $core = true) {
35
  if (!isset(self::$instances[$className])) {
62
  *
63
  * @param string $className
64
  *
65
+ * @return bool|object of the class
66
  */
67
  public static function getModel($className) {
68
  /* add Model prefix */
81
  } else
82
  return self::$instances[$prefix . $className];
83
 
84
+ return false;
85
+ }
86
+
87
+ private static function includeModelService($className) {
88
+
89
+ /* check if class is already defined */
90
+ if (file_exists(_SQ_SERVICE_DIR_ . $className . '.php'))
91
+ try {
92
+ include_once(_SQ_SERVICE_DIR_ . $className . '.php');
93
+ } catch (Exception $e) {
94
+ echo 'Model Service Error: ' . $e->getMessage();
95
+ }
96
+ }
97
+
98
+ /**
99
+ * Get the instance of the specified model service class
100
+ *
101
+ * @param string $className
102
+ *
103
+ * @return bool|object of the class
104
+ */
105
+ public static function getModelService($className) {
106
+ /* add Model_Service prefix */
107
+ $prefix = 'Model_Service_';
108
+
109
+ if (!isset(self::$instances[$prefix . $className])) {
110
+ /* if $core == true then call the class from core directory */
111
+ self::includeModelService($className);
112
+
113
+ //echo $className . '<br />';
114
+ if (class_exists($prefix . $className)) {
115
+ $classModel = $prefix . $className;
116
+ self::$instances[$prefix . $className] = new $classModel;
117
+ return self::$instances[$prefix . $className];
118
+ }
119
+ } else
120
+ return self::$instances[$prefix . $className];
121
+
122
+ return false;
123
  }
124
 
125
  private static function includeBlock($className) {
137
  *
138
  * @param string $className
139
  *
140
+ * @return bool|object of the class
141
  */
142
  public static function getBlock($className) {
143
 
154
  } else
155
  return self::$instances[$className];
156
 
157
+ return false;
158
  }
159
 
160
  /**
171
 
172
  /* load configuration blocks data from core config files */
173
  $data = file_get_contents($config_file);
174
+ self::$config = json_decode(json_encode((array)simplexml_load_string($data)), 1);;
 
175
  }
176
  //print_r(self::$config);
177
  if (is_array(self::$config))
classes/SQ_Ranking.php CHANGED
@@ -5,7 +5,6 @@
5
  */
6
  class SQ_Ranking extends SQ_FrontController
7
  {
8
-
9
  private $keyword;
10
  private $post_id;
11
  private $error;
@@ -31,7 +30,7 @@ class SQ_Ranking extends SQ_FrontController
31
 
32
  /**
33
  * Get the google language from settings
34
- * @return type
35
  */
36
  public function getLanguage()
37
  {
@@ -256,11 +255,6 @@ class SQ_Ranking extends SQ_FrontController
256
  return;
257
  }
258
 
259
- if (isset($_SERVER['SERVER_ADDR'])){
260
- if (strpos($_SERVER['SERVER_ADDR'], '192.') === 0){
261
- return;
262
- }
263
- }
264
  set_time_limit(3000);
265
  /* Load the Submit Actions Handler */
266
  SQ_ObjController::getController('SQ_Tools', false);
5
  */
6
  class SQ_Ranking extends SQ_FrontController
7
  {
 
8
  private $keyword;
9
  private $post_id;
10
  private $error;
30
 
31
  /**
32
  * Get the google language from settings
33
+ * @return string
34
  */
35
  public function getLanguage()
36
  {
255
  return;
256
  }
257
 
 
 
 
 
 
258
  set_time_limit(3000);
259
  /* Load the Submit Actions Handler */
260
  SQ_ObjController::getController('SQ_Tools', false);
config/config.php CHANGED
@@ -4,7 +4,11 @@
4
  * The configuration file
5
  */
6
  define('_SQ_SUPPORT_EMAIL_', 'support@squirrly.co');
7
- define('_SQ_NONCE_ID_', NONCE_KEY);
 
 
 
 
8
  define('_SQ_MOBILE_ICON_SIZES', '76,120,152');
9
  define('REQUEST_TIME', microtime(true));
10
 
4
  * The configuration file
5
  */
6
  define('_SQ_SUPPORT_EMAIL_', 'support@squirrly.co');
7
+ if (defined('NONCE_KEY')){
8
+ define('_SQ_NONCE_ID_', NONCE_KEY);
9
+ }else{
10
+ define('_SQ_NONCE_ID_', md5(date('Y-d')));
11
+ }
12
  define('_SQ_MOBILE_ICON_SIZES', '76,120,152');
13
  define('REQUEST_TIME', microtime(true));
14
 
config/paths.php CHANGED
@@ -8,7 +8,7 @@ define('_THEME_NAME_', 'default'); //THIS LINE WILL BE CHANGED WITH THE USER SET
8
 
9
  $scheme = (((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") || (defined('FORCE_SSL_ADMIN') && FORCE_SSL_ADMIN)) ? 'https:' : 'http:'); //CHECK IF SCURE
10
  defined('_SQ_DASH_URL_') || define('_SQ_DASH_URL_', 'https://my.squirrly.co/');
11
- defined('SQ_URI') || define('SQ_URI', (WP_VERSION_ID >= 3000) ? 'wp350' : 'wp2');
12
  defined('_SQ_API_URL_') || define('_SQ_API_URL_', '//api.squirrly.co/');
13
 
14
  defined('_SQ_STATIC_API_URL_') || define('_SQ_STATIC_API_URL_', '//storage.googleapis.com/squirrly/');
@@ -22,6 +22,7 @@ define('_SQ_ROOT_DIR_', realpath(dirname($currentDir)));
22
  define('_SQ_CLASSES_DIR_', _SQ_ROOT_DIR_ . '/classes/');
23
  define('_SQ_CONTROLLER_DIR_', _SQ_ROOT_DIR_ . '/controllers/');
24
  define('_SQ_MODEL_DIR_', _SQ_ROOT_DIR_ . '/models/');
 
25
  define('_SQ_TRANSLATIONS_DIR_', _SQ_ROOT_DIR_ . '/translations/');
26
  define('_SQ_CORE_DIR_', _SQ_ROOT_DIR_ . '/core/');
27
  define('_SQ_ALL_THEMES_DIR_', _SQ_ROOT_DIR_ . '/themes/');
8
 
9
  $scheme = (((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") || (defined('FORCE_SSL_ADMIN') && FORCE_SSL_ADMIN)) ? 'https:' : 'http:'); //CHECK IF SCURE
10
  defined('_SQ_DASH_URL_') || define('_SQ_DASH_URL_', 'https://my.squirrly.co/');
11
+ defined('SQ_URI') || define('SQ_URI', (WP_VERSION_ID >= 4700) ? 'wp470' : 'wp350');
12
  defined('_SQ_API_URL_') || define('_SQ_API_URL_', '//api.squirrly.co/');
13
 
14
  defined('_SQ_STATIC_API_URL_') || define('_SQ_STATIC_API_URL_', '//storage.googleapis.com/squirrly/');
22
  define('_SQ_CLASSES_DIR_', _SQ_ROOT_DIR_ . '/classes/');
23
  define('_SQ_CONTROLLER_DIR_', _SQ_ROOT_DIR_ . '/controllers/');
24
  define('_SQ_MODEL_DIR_', _SQ_ROOT_DIR_ . '/models/');
25
+ define('_SQ_SERVICE_DIR_', _SQ_MODEL_DIR_ . '/services/');
26
  define('_SQ_TRANSLATIONS_DIR_', _SQ_ROOT_DIR_ . '/translations/');
27
  define('_SQ_CORE_DIR_', _SQ_ROOT_DIR_ . '/core/');
28
  define('_SQ_ALL_THEMES_DIR_', _SQ_ROOT_DIR_ . '/themes/');
controllers/SQ_Frontend.php CHANGED
@@ -12,38 +12,34 @@ class SQ_Frontend extends SQ_FrontController {
12
 
13
  parent::__construct();
14
 
15
- if (SQ_Tools::$options['sq_use'] == 1) {
16
- /* Check if sitemap is on */
17
- if (SQ_Tools::$options['sq_auto_sitemap'] == 1) {
18
- /* Load the Sitemap */
19
- add_filter('rewrite_rules_array', array($this, 'rewrite_rules'), 1, 1);
20
- SQ_ObjController::getController('SQ_Sitemaps');
21
- }
22
-
23
- if (SQ_Tools::$options['sq_auto_feed'] == 1) {
24
- /* Load the Feed Style */
25
- SQ_ObjController::getController('SQ_Feed');
26
- }
27
-
28
- //validate custom arguments for favicon and sitemap
29
- add_filter('query_vars', array($this, 'validateParams'), 1, 1);
30
 
31
- if (!$this->_isAjax()) {
32
- add_filter('sq_title', array($this->model, 'clearTitle'));
33
- add_filter('sq_description', array($this->model, 'clearDescription'));
 
34
 
35
- add_action('plugins_loaded', array($this->model, 'startBuffer'));
36
- add_action('template_redirect', array($this->model, 'checkHandles'));
37
- //flush the header with the title and removing duplicates
38
- add_action('wp_head', array($this->model, 'flushHeader'),99);
39
- add_action('shutdown', array($this->model, 'flushHeader'));
40
- }
41
 
42
- if (SQ_Tools::$options['sq_url_fix'] == 1) {
43
- add_action('the_content', array($this, 'fixFeedLinks'), 11);
44
- }
45
 
 
 
 
 
 
 
 
46
  }
 
47
  }
48
 
49
  public function rewrite_rules($wp_rewrite) {
@@ -57,7 +53,7 @@ class SQ_Frontend extends SQ_FrontController {
57
 
58
  private function _isAjax() {
59
  $url = (isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : false);
60
- if ($url && (strpos($url, admin_url('admin-ajax.php', 'relative')) !== false || strpos(admin_url('admin-ajax.php', 'relative'), $url) !== false)) {
61
  return true;
62
  }
63
 
@@ -70,12 +66,16 @@ class SQ_Frontend extends SQ_FrontController {
70
  public function hookFronthead() {
71
 
72
  if (!$this->_isAjax()) {
73
- if (SQ_Tools::$options['sq_use'] == 1) {
74
- echo $this->model->setStartTag();
 
 
 
 
75
  }
76
 
77
  SQ_ObjController::getController('SQ_DisplayController', false)
78
- ->loadMedia(_SQ_THEME_URL_ . 'css/sq_frontend.css');
79
  }
80
  }
81
 
@@ -84,20 +84,27 @@ class SQ_Frontend extends SQ_FrontController {
84
  */
85
  public function hookPreload() {
86
  //Check for sitemap and robots
87
- if (SQ_Tools::$options['sq_use'] == 1) {
88
- if (isset($_SERVER['REQUEST_URI']) && SQ_Tools::$options['sq_auto_robots'] == 1) {
89
- if (substr(strrchr($_SERVER['REQUEST_URI'], "/"), 1) == "robots.txt" || $_SERVER['REQUEST_URI'] == "/robots.txt") {
90
- $this->model->robots();
 
 
91
  }
92
  }
93
 
94
  //check the action call
95
  $this->action();
96
  }
 
 
97
  }
98
 
99
  /**
100
  * Change the image path to absolute when in feed
 
 
 
101
  */
102
  public function fixFeedLinks($content) {
103
  if (is_feed()) {
@@ -178,7 +185,7 @@ class SQ_Frontend extends SQ_FrontController {
178
  }
179
  break;
180
  case 'touchicon':
181
- $size = (int) get_query_var('sq_size');
182
  if (SQ_Tools::$options['favicon'] <> '') {
183
  //show the favico file
184
  SQ_Tools::setHeader('png');
@@ -199,7 +206,13 @@ class SQ_Frontend extends SQ_FrontController {
199
  }
200
  }
201
 
202
- public function hookFrontfooter(){
203
- echo $this->model->getGoogleAnalyticsAMPBody();
 
 
 
 
 
 
204
  }
205
  }
12
 
13
  parent::__construct();
14
 
15
+ /* Check if sitemap is on */
16
+ if (SQ_Tools::$options['sq_auto_sitemap'] == 1) {
17
+ /* Load the Sitemap */
18
+ add_filter('rewrite_rules_array', array($this, 'rewrite_rules'), 1, 1);
19
+ SQ_ObjController::getController('SQ_Sitemaps');
20
+ }
 
 
 
 
 
 
 
 
 
21
 
22
+ if (SQ_Tools::$options['sq_auto_feed'] == 1) {
23
+ /* Load the Feed Style */
24
+ SQ_ObjController::getController('SQ_Feed');
25
+ }
26
 
27
+ //validate custom arguments for favicon and sitemap
28
+ add_filter('query_vars', array($this, 'validateParams'), 1, 1);
 
 
 
 
29
 
30
+ if ($this->isSquirrlySeoEnabled()) {
31
+ add_filter('sq_title', array($this->model, 'clearTitle'));
32
+ add_filter('sq_description', array($this->model, 'clearDescription'));
33
 
34
+ add_action('plugins_loaded', array($this->model, 'startBuffer'));
35
+ add_action('template_redirect', array($this->model, 'checkHandles'));
36
+ //flush the header with the title and removing duplicates
37
+ add_action('shutdown', array($this->model, 'getBuffer'));
38
+ }
39
+ if (SQ_Tools::$options['sq_url_fix'] == 1) {
40
+ add_action('the_content', array($this, 'fixFeedLinks'), 11);
41
  }
42
+
43
  }
44
 
45
  public function rewrite_rules($wp_rewrite) {
53
 
54
  private function _isAjax() {
55
  $url = (isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : false);
56
+ if ($url && (strpos($url, str_replace(get_bloginfo('url'), '', admin_url('admin-ajax.php', 'relative'))) !== false)) {
57
  return true;
58
  }
59
 
66
  public function hookFronthead() {
67
 
68
  if (!$this->_isAjax()) {
69
+ if ($this->isSquirrlySeoEnabled()) {
70
+ if (SQ_Tools::$options['sq_auto_jsonld'] == 1) {
71
+ //load the hooks for JsonLD
72
+ SQ_ObjController::getModelService('JsonLD');
73
+ }
74
+
75
  }
76
 
77
  SQ_ObjController::getController('SQ_DisplayController', false)
78
+ ->loadMedia(_SQ_THEME_URL_ . 'css/sq_frontend.css');
79
  }
80
  }
81
 
84
  */
85
  public function hookPreload() {
86
  //Check for sitemap and robots
87
+ if ($this->isSquirrlySeoEnabled()) {
88
+ if (isset($_SERVER['REQUEST_URI'])) {
89
+ if (SQ_Tools::$options['sq_auto_robots'] == 1) {
90
+ if (substr(strrchr($_SERVER['REQUEST_URI'], "/"), 1) == "robots.txt" || $_SERVER['REQUEST_URI'] == "/robots.txt") {
91
+ $this->model->robots();
92
+ }
93
  }
94
  }
95
 
96
  //check the action call
97
  $this->action();
98
  }
99
+
100
+
101
  }
102
 
103
  /**
104
  * Change the image path to absolute when in feed
105
+ * @param string $content
106
+ *
107
+ * @return string
108
  */
109
  public function fixFeedLinks($content) {
110
  if (is_feed()) {
185
  }
186
  break;
187
  case 'touchicon':
188
+ $size = (int)get_query_var('sq_size');
189
  if (SQ_Tools::$options['favicon'] <> '') {
190
  //show the favico file
191
  SQ_Tools::setHeader('png');
206
  }
207
  }
208
 
209
+ public function hookFrontfooter() {
210
+ if ($this->isSquirrlySeoEnabled()) {
211
+ echo $this->model->getGoogleAnalyticsAMPBody();
212
+ }
213
+ }
214
+
215
+ public function isSquirrlySeoEnabled() {
216
+ return (apply_filters('sq_use', SQ_Tools::$options['sq_use']) == 1);
217
  }
218
  }
controllers/SQ_Menu.php CHANGED
@@ -123,7 +123,36 @@ class SQ_Menu extends SQ_FrontController {
123
  ));
124
  }
125
 
 
 
 
 
 
 
 
126
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
127
 
128
  $this->model->addSubmenu(array('sq_dashboard',
129
  ucfirst(_SQ_NAME_) . __(' SEO Settings', _SQ_PLUGIN_NAME_),
@@ -133,9 +162,10 @@ class SQ_Menu extends SQ_FrontController {
133
  array(SQ_ObjController::getBlock('SQ_BlockSettingsSeo'), 'init')
134
  ));
135
 
 
136
  $this->model->addSubmenu(array('sq_dashboard',
137
  ucfirst(_SQ_NAME_) . __(' Advanced Settings', _SQ_PLUGIN_NAME_),
138
- __('Advanced', _SQ_PLUGIN_NAME_),
139
  'manage_options',
140
  'sq_settings',
141
  array(SQ_ObjController::getBlock('SQ_BlockSettings'), 'init')
@@ -150,10 +180,18 @@ class SQ_Menu extends SQ_FrontController {
150
  ));
151
  }
152
 
 
 
 
 
 
 
 
 
153
  $this->model->addSubmenu(array('sq_dashboard',
154
  __('Become an Affiliate with ', _SQ_PLUGIN_NAME_) . ucfirst(_SQ_NAME_),
155
- __('Affiliate', _SQ_PLUGIN_NAME_),
156
- 'manage_options',
157
  'sq_affiliate',
158
  array(SQ_ObjController::getBlock('SQ_BlockAffiliate'), 'init')
159
  ));
123
  ));
124
  }
125
 
126
+ $this->model->addSubmenu(array('sq_dashboard',
127
+ ucfirst(_SQ_NAME_) . __(' Keyword Research', _SQ_PLUGIN_NAME_),
128
+ __('Keyword Research', _SQ_PLUGIN_NAME_),
129
+ 'edit_posts',
130
+ 'sq_keywordresearch',
131
+ array(SQ_ObjController::getBlock('SQ_BlockKeywordResearch'), 'init')
132
+ ));
133
 
134
+ $this->model->addSubmenu(array('sq_dashboard',
135
+ ucfirst(_SQ_NAME_) . __(' Live Assistant', _SQ_PLUGIN_NAME_),
136
+ __('Live Assistant', _SQ_PLUGIN_NAME_),
137
+ 'edit_posts',
138
+ 'sq_liveassistant',
139
+ array(SQ_ObjController::getBlock('SQ_BlockLiveAssistant'), 'init')
140
+ ));
141
+ $this->model->addSubmenu(array('sq_dashboard',
142
+ ucfirst(_SQ_NAME_) . __(' Copywriting Options', _SQ_PLUGIN_NAME_),
143
+ __('Copywriting Options', _SQ_PLUGIN_NAME_),
144
+ 'edit_posts',
145
+ 'sq_copyright',
146
+ array(SQ_ObjController::getBlock('SQ_BlockCopyright'), 'init')
147
+ ));
148
+
149
+ $this->model->addSubmenu(array('sq_dashboard',
150
+ ucfirst(_SQ_NAME_) . __(' SEO Audit', _SQ_PLUGIN_NAME_),
151
+ __('Audit Site', _SQ_PLUGIN_NAME_),
152
+ 'edit_posts',
153
+ 'sq_seoaudit',
154
+ array(SQ_ObjController::getBlock('SQ_BlockAudit'), 'init')
155
+ ));
156
 
157
  $this->model->addSubmenu(array('sq_dashboard',
158
  ucfirst(_SQ_NAME_) . __(' SEO Settings', _SQ_PLUGIN_NAME_),
162
  array(SQ_ObjController::getBlock('SQ_BlockSettingsSeo'), 'init')
163
  ));
164
 
165
+
166
  $this->model->addSubmenu(array('sq_dashboard',
167
  ucfirst(_SQ_NAME_) . __(' Advanced Settings', _SQ_PLUGIN_NAME_),
168
+ __('Advanced Settings', _SQ_PLUGIN_NAME_),
169
  'manage_options',
170
  'sq_settings',
171
  array(SQ_ObjController::getBlock('SQ_BlockSettings'), 'init')
180
  ));
181
  }
182
 
183
+ $this->model->addSubmenu(array('sq_dashboard',
184
+ ucfirst(_SQ_NAME_) . __(' Customer Service', _SQ_PLUGIN_NAME_),
185
+ __('Customer Service', _SQ_PLUGIN_NAME_),
186
+ 'edit_posts',
187
+ 'sq_customerservice',
188
+ array(SQ_ObjController::getBlock('SQ_BlockCustomerService'), 'init')
189
+ ));
190
+
191
  $this->model->addSubmenu(array('sq_dashboard',
192
  __('Become an Affiliate with ', _SQ_PLUGIN_NAME_) . ucfirst(_SQ_NAME_),
193
+ __('Become an Affiliate', _SQ_PLUGIN_NAME_),
194
+ 'edit_posts',
195
  'sq_affiliate',
196
  array(SQ_ObjController::getBlock('SQ_BlockAffiliate'), 'init')
197
  ));
controllers/SQ_Post.php CHANGED
@@ -19,8 +19,9 @@ class SQ_Post extends SQ_FrontController {
19
  if (SQ_Tools::$options['sq_api'] == '')
20
  return;
21
 
22
- add_action('save_post', array($this, 'hookSavePost'), 99);
23
- add_action('shopp_product_saved', array($this, 'hookShopp'), 11);
 
24
 
25
  if (SQ_Tools::$options['sq_use'] == 1 && SQ_Tools::$options['sq_auto_sitemap'] == 1) {
26
  add_action('transition_post_status', array(SQ_ObjController::getController('SQ_Sitemaps'), 'refreshSitemap'), 9999, 3);
@@ -56,8 +57,8 @@ class SQ_Post extends SQ_FrontController {
56
  /**
57
  * Hook the Shopp plugin save product
58
  */
59
- public function hookShopp($Product) {
60
- $this->checkSeo($Product->id);
61
  }
62
 
63
  /**
@@ -66,13 +67,13 @@ class SQ_Post extends SQ_FrontController {
66
  */
67
  public function hookSavePost($post_id) {
68
 
69
-
70
  if (!isset($this->saved[$post_id])) {
71
  $this->saved[$post_id] = false;
72
  }
73
 
74
  // unhook this function so it doesn't loop infinitely
75
  remove_action('save_post', array($this, 'hookSavePost'), 99);
 
76
  //If the post is a new or edited post
77
  if ((SQ_Tools::getValue('action')) == 'editpost' &&
78
  wp_is_post_autosave($post_id) == '' &&
@@ -200,7 +201,6 @@ class SQ_Post extends SQ_FrontController {
200
  $args['status'] = $status;
201
  $args['permalink'] = get_permalink($post_id);
202
  $args['permalink'] = $this->getPaged($args['permalink']);
203
- $args['permalink'] = $args['permalink'];
204
  $args['author'] = (int)SQ_Tools::getUserID();
205
  $args['post_id'] = $post_id;
206
 
@@ -344,7 +344,7 @@ class SQ_Post extends SQ_FrontController {
344
  $process = json_decode(get_option('sq_seopost'), true);
345
  foreach ($process as $key => $call) {
346
 
347
- if(!$response = json_decode(SQ_Action::apiCall('sq/seo/post', $call, 10))){
348
  break;
349
  }
350
 
@@ -353,7 +353,7 @@ class SQ_Post extends SQ_FrontController {
353
  }
354
  }
355
  update_option('sq_seopost', json_encode($process));
356
- }
357
  }
358
 
359
  }
19
  if (SQ_Tools::$options['sq_api'] == '')
20
  return;
21
 
22
+ add_action('save_post', array($this, 'hookSavePost'), 99, 1);
23
+ add_action('shopp_product_saved', array($this, 'hookShopp'), 11, 1);
24
+ add_action('edit_attachment', array($this, 'checkSeo'), 99, 1);
25
 
26
  if (SQ_Tools::$options['sq_use'] == 1 && SQ_Tools::$options['sq_auto_sitemap'] == 1) {
27
  add_action('transition_post_status', array(SQ_ObjController::getController('SQ_Sitemaps'), 'refreshSitemap'), 9999, 3);
57
  /**
58
  * Hook the Shopp plugin save product
59
  */
60
+ public function hookShopp($product) {
61
+ $this->checkSeo($product->id);
62
  }
63
 
64
  /**
67
  */
68
  public function hookSavePost($post_id) {
69
 
 
70
  if (!isset($this->saved[$post_id])) {
71
  $this->saved[$post_id] = false;
72
  }
73
 
74
  // unhook this function so it doesn't loop infinitely
75
  remove_action('save_post', array($this, 'hookSavePost'), 99);
76
+
77
  //If the post is a new or edited post
78
  if ((SQ_Tools::getValue('action')) == 'editpost' &&
79
  wp_is_post_autosave($post_id) == '' &&
201
  $args['status'] = $status;
202
  $args['permalink'] = get_permalink($post_id);
203
  $args['permalink'] = $this->getPaged($args['permalink']);
 
204
  $args['author'] = (int)SQ_Tools::getUserID();
205
  $args['post_id'] = $post_id;
206
 
344
  $process = json_decode(get_option('sq_seopost'), true);
345
  foreach ($process as $key => $call) {
346
 
347
+ if (!$response = json_decode(SQ_Action::apiCall('sq/seo/post', $call, 10))) {
348
  break;
349
  }
350
 
353
  }
354
  }
355
  update_option('sq_seopost', json_encode($process));
356
+ }
357
  }
358
 
359
  }
controllers/SQ_PostsList.php CHANGED
@@ -136,7 +136,7 @@ class SQ_PostsList extends SQ_FrontController
136
  $description = SQ_Tools::$options['sq_fp_description'];
137
  }
138
  echo '<script type="text/javascript">
139
- jQuery(\'#post-' . $post_id . '\').find(\'.row-title\').before(\'' . (($description <> '') ? '<span class="sq_rank_custom_meta sq_rank_customdescription sq_rank_sprite" title="' . __('Custom description: ', _SQ_PLUGIN_NAME_) . ' ' . addslashes($description) . '"></span>' : '') . ' ' . (($title <> '') ? '<span class="sq_rank_custom_meta sq_rank_customtitle sq_rank_sprite" title="' . __('Custom title: ', _SQ_PLUGIN_NAME_) . ' ' . $title . '"></span>' : '') . '\');
140
  </script>';
141
  }
142
  }
136
  $description = SQ_Tools::$options['sq_fp_description'];
137
  }
138
  echo '<script type="text/javascript">
139
+ jQuery(\'#post-' . $post_id . '\').find(\'.row-title\').before(\'' . (($description <> '') ? '<span class="sq_rank_custom_meta sq_rank_customdescription sq_rank_sprite" title="' . __('Custom description: ', _SQ_PLUGIN_NAME_) . ' ' . addslashes($description) . '"></span>' : '') . ' ' . (($title <> '') ? '<span class="sq_rank_custom_meta sq_rank_customtitle sq_rank_sprite" title="' . __('Custom title: ', _SQ_PLUGIN_NAME_) . ' ' . addslashes($title) . '"></span>' : '') . '\');
140
  </script>';
141
  }
142
  }
controllers/SQ_Sitemaps.php CHANGED
@@ -13,19 +13,21 @@ class SQ_Sitemaps extends SQ_FrontController {
13
 
14
  public function __construct() {
15
  parent::__construct();
16
- add_filter('template_redirect', array($this, 'hookPreventRedirect'), 1, 0);
17
  add_filter('user_trailingslashit', array($this, 'untrailingslashit'));
18
  add_action('sq_processPing', array($this, 'processCron'));
19
  }
20
 
21
  public function hookPreventRedirect() {
22
- global $wp_query;
23
  if (!empty($wp_query->query_vars["sq_feed"])) {
24
  $wp_query->is_404 = false;
25
  $wp_query->is_feed = true;
 
 
26
  $this->feedRequest($wp_query->query_vars);
27
  $this->showSitemap();
28
- exit();
29
  }
30
  }
31
 
@@ -44,6 +46,7 @@ class SQ_Sitemaps extends SQ_FrontController {
44
  */
45
  public function feedRequest($request) {
46
  global $wp_query;
 
47
 
48
  if (!empty($request['feed'])) {
49
  $request['sq_feed'] = $request['feed'];
@@ -53,6 +56,13 @@ class SQ_Sitemaps extends SQ_FrontController {
53
  @ini_set('memory_limit', '512M');
54
 
55
  $this->model->type = $request['sq_feed'];
 
 
 
 
 
 
 
56
 
57
  //show products
58
  if ($this->model->type == 'sitemap-product') {
@@ -71,27 +81,47 @@ class SQ_Sitemaps extends SQ_FrontController {
71
  if ($this->model->type == 'sitemap-news') {
72
  $this->posts_limit = $this->news_limit;
73
  }
 
 
74
  case 'sitemap-category':
75
  case 'sitemap-post_tag':
76
  case 'sitemap-custom-tax':
77
  remove_all_filters('terms_clauses'); //prevent language filters
78
  add_filter('get_terms_fields', array($this, 'customTaxFilter'), 5, 2);
79
-
80
- break;
81
- case 'sitemap-post':
82
- add_action('parse_query', array($this, 'postFilter'), 99);
83
  break;
84
  case 'sitemap-page':
85
- add_action('parse_query', array($this, 'pageFilter'), 99);
86
  break;
87
  case 'sitemap-author':
88
  add_filter('sq-sitemap-authors', array($this, 'authorFilter'), 5);
89
  break;
90
  case 'sitemap-custom-post':
91
- add_action('parse_query', array($this, 'customPostFilter'), 99);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  break;
93
  case 'sitemap-product':
94
- add_action('parse_query', array($this, 'productFilter'), 99);
 
 
 
95
  break;
96
  case 'sitemap-archive':
97
  add_filter('sq-sitemap-archive', array($this, 'archiveFilter'), 5);
@@ -102,6 +132,9 @@ class SQ_Sitemaps extends SQ_FrontController {
102
  }
103
  }
104
 
 
 
 
105
  return $request;
106
  }
107
 
@@ -136,8 +169,8 @@ class SQ_Sitemaps extends SQ_FrontController {
136
  switch ($this->model->type) {
137
  case 'sitemap':
138
  echo '<sitemapindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" '
139
- . 'xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd" '
140
- . 'xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"';
141
  foreach ($include as $value) {
142
  echo ' ' . $schema[$value] . "\n";
143
  }
@@ -148,8 +181,8 @@ class SQ_Sitemaps extends SQ_FrontController {
148
  $include = array_unique($include);
149
  default:
150
  echo '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" '
151
- . 'xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" '
152
- . 'xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"';
153
  if (!empty($include))
154
  foreach ($include as $value) {
155
  echo " " . $schema[$value] . " ";
@@ -267,7 +300,7 @@ class SQ_Sitemaps extends SQ_FrontController {
267
  }
268
  }
269
  }
270
- $cnt ++;
271
  }
272
  }
273
  return $str;
@@ -436,6 +469,7 @@ class SQ_Sitemaps extends SQ_FrontController {
436
  }
437
 
438
  public function productFilter(&$query) {
 
439
  if (!$types = SQ_ObjController::getModel('SQ_BlockSettingsSeo')->isEcommerce()) {
440
  $types = array('custom-post');
441
  }
13
 
14
  public function __construct() {
15
  parent::__construct();
16
+ add_filter('template_redirect', array($this, 'hookPreventRedirect'), 1);
17
  add_filter('user_trailingslashit', array($this, 'untrailingslashit'));
18
  add_action('sq_processPing', array($this, 'processCron'));
19
  }
20
 
21
  public function hookPreventRedirect() {
22
+ global $wp_query, $sq_is_sitemap;
23
  if (!empty($wp_query->query_vars["sq_feed"])) {
24
  $wp_query->is_404 = false;
25
  $wp_query->is_feed = true;
26
+ $sq_is_sitemap = true;
27
+
28
  $this->feedRequest($wp_query->query_vars);
29
  $this->showSitemap();
30
+ die();
31
  }
32
  }
33
 
46
  */
47
  public function feedRequest($request) {
48
  global $wp_query;
49
+ $query = array();
50
 
51
  if (!empty($request['feed'])) {
52
  $request['sq_feed'] = $request['feed'];
56
  @ini_set('memory_limit', '512M');
57
 
58
  $this->model->type = $request['sq_feed'];
59
+ //init the query
60
+ $query = array(
61
+ 'sq_feed' => $this->model->type,
62
+ 'post_type' => array('post'),
63
+ 'tax_query' => array(),
64
+ 'post_status' => 'publish',
65
+ );
66
 
67
  //show products
68
  if ($this->model->type == 'sitemap-product') {
81
  if ($this->model->type == 'sitemap-news') {
82
  $this->posts_limit = $this->news_limit;
83
  }
84
+ case 'sitemap-post':
85
+ break;
86
  case 'sitemap-category':
87
  case 'sitemap-post_tag':
88
  case 'sitemap-custom-tax':
89
  remove_all_filters('terms_clauses'); //prevent language filters
90
  add_filter('get_terms_fields', array($this, 'customTaxFilter'), 5, 2);
 
 
 
 
91
  break;
92
  case 'sitemap-page':
93
+ $query['post_type'] = array('page');
94
  break;
95
  case 'sitemap-author':
96
  add_filter('sq-sitemap-authors', array($this, 'authorFilter'), 5);
97
  break;
98
  case 'sitemap-custom-post':
99
+ $types = get_post_types();
100
+ foreach (array('post', 'page', 'attachment', 'revision', 'nav_menu_item', 'product', 'wpsc-product') as $exclude) {
101
+ if (in_array($exclude, $types)) {
102
+ unset($types[$exclude]);
103
+ }
104
+ }
105
+
106
+ foreach ($types as $type) {
107
+ $type_data = get_post_type_object($type);
108
+ if ((isset($type_data->rewrite['feeds']) && $type_data->rewrite['feeds'] == 1) || (isset($type_data->feeds) && $type_data->feeds == 1)) {
109
+ continue;
110
+ }
111
+ unset($types[$type]);
112
+ }
113
+
114
+ if (empty($types)) {
115
+ array_push($types, 'custom-post');
116
+ }
117
+
118
+ $query['post_type'] = $types;
119
  break;
120
  case 'sitemap-product':
121
+ if (!$types = SQ_ObjController::getModel('SQ_BlockSettingsSeo')->isEcommerce()) {
122
+ $types = array('custom-post');
123
+ }
124
+ $query['post_type'] = $types;
125
  break;
126
  case 'sitemap-archive':
127
  add_filter('sq-sitemap-archive', array($this, 'archiveFilter'), 5);
132
  }
133
  }
134
 
135
+ if (method_exists($wp_query, 'parse_query')) {
136
+ $wp_query = new WP_Query($query);
137
+ }
138
  return $request;
139
  }
140
 
169
  switch ($this->model->type) {
170
  case 'sitemap':
171
  echo '<sitemapindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" '
172
+ . 'xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd" '
173
+ . 'xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"';
174
  foreach ($include as $value) {
175
  echo ' ' . $schema[$value] . "\n";
176
  }
181
  $include = array_unique($include);
182
  default:
183
  echo '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" '
184
+ . 'xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" '
185
+ . 'xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"';
186
  if (!empty($include))
187
  foreach ($include as $value) {
188
  echo " " . $schema[$value] . " ";
300
  }
301
  }
302
  }
303
+ $cnt++;
304
  }
305
  }
306
  return $str;
469
  }
470
 
471
  public function productFilter(&$query) {
472
+
473
  if (!$types = SQ_ObjController::getModel('SQ_BlockSettingsSeo')->isEcommerce()) {
474
  $types = array('custom-post');
475
  }
core/SQ_BlockAudit/SQ_BlockAudit.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Audit Page
5
+ */
6
+ class SQ_BlockAudit extends SQ_BlockController {
7
+ public $blog;
8
+
9
+ function hookGetContent() {
10
+ $blogs = json_decode(SQ_Action::apiCall('sq/audit/blog-list'));
11
+ if (!empty($blogs)) {
12
+ foreach ($blogs as $blog) {
13
+ if (get_bloginfo('url') == $blog->domain){
14
+ $this->blog = $blog;
15
+ }
16
+ }
17
+ }
18
+ }
19
+ }
core/SQ_BlockCopyright/SQ_BlockCopyright.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Live Assistant settings
5
+ */
6
+ class SQ_BlockCopyright extends SQ_BlockController {
7
+
8
+ function hookGetContent() {
9
+ parent::preloadSettings();
10
+ }
11
+ }
core/SQ_BlockCustomerService/SQ_BlockCustomerService.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Customer Service Page
5
+ */
6
+ class SQ_BlockCustomerService extends SQ_BlockController {
7
+
8
+ function hookGetContent() {
9
+ SQ_ObjController::getController('SQ_DisplayController', false)->loadMedia('sq_blocksupport');
10
+ }
11
+ }
core/SQ_BlockKeywordResearch/SQ_BlockKeywordResearch.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Keyword Research settings
5
+ */
6
+ class SQ_BlockKeywordResearch extends SQ_BlockController {
7
+
8
+ function hookGetContent() {
9
+ parent::preloadSettings();
10
+ }
11
+ }
core/SQ_BlockLiveAssistant/SQ_BlockLiveAssistant.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Live Assistant settings
5
+ */
6
+ class SQ_BlockLiveAssistant extends SQ_BlockController {
7
+
8
+ function hookGetContent() {
9
+ parent::preloadSettings();
10
+ }
11
+ }
core/SQ_Blockresearch/SQ_Blockresearch.php CHANGED
@@ -11,7 +11,6 @@ class SQ_Blockresearch extends SQ_BlockController {
11
 
12
  echo '<script type="text/javascript">
13
  var __infotext = ["' . __('Recent discussions:', _SQ_PLUGIN_NAME_) . '", "' . __('Exact search:', _SQ_PLUGIN_NAME_) . '", "' . __('Competition:', _SQ_PLUGIN_NAME_) . '", "' . __('Trend:', _SQ_PLUGIN_NAME_) . '"];
14
-
15
  </script>';
16
  }
17
 
11
 
12
  echo '<script type="text/javascript">
13
  var __infotext = ["' . __('Recent discussions:', _SQ_PLUGIN_NAME_) . '", "' . __('Exact search:', _SQ_PLUGIN_NAME_) . '", "' . __('Competition:', _SQ_PLUGIN_NAME_) . '", "' . __('Trend:', _SQ_PLUGIN_NAME_) . '"];
 
14
  </script>';
15
  }
16
 
core/SQ_Blocksearch/SQ_Blocksearch.php CHANGED
@@ -36,9 +36,6 @@ class SQ_Blocksearch extends SQ_BlockController {
36
 
37
  public function hookHead() {
38
  parent::hookHead();
39
- echo '<script type="text/javascript">
40
- var __date = "' . __('date', _SQ_PLUGIN_NAME_) . '"; var __readit = "' . __('Read it!', _SQ_PLUGIN_NAME_) . '"; var __insertit = "' . __('Insert it!', _SQ_PLUGIN_NAME_) . '"; var __reference = "' . __('Reference', _SQ_PLUGIN_NAME_) . '"; var __insertasbox = "' . __('Insert as box', _SQ_PLUGIN_NAME_) . '"; var __notrelevant = "' . __('Not relevant?', _SQ_PLUGIN_NAME_) . '"; var __insertparagraph = "' . __('Insert in your article', _SQ_PLUGIN_NAME_) . '"; var __tinymceerror = "' . __('For Squirrly to work, you have to have tinymce editor installed!', _SQ_PLUGIN_NAME_) . '"; var __ajaxerror = "' . __(':( I lost my squirrel. Please reload the page.', _SQ_PLUGIN_NAME_) . '"; var __nofound = "' . __('No results found!', _SQ_PLUGIN_NAME_) . '"; var __tinymceinactive = "' . __('Switch to Visual editor!', _SQ_PLUGIN_NAME_) . '"; var __morewords = "' . __('Enter one more word to find relevant results', _SQ_PLUGIN_NAME_) . '"; var __toolong = "' . __('Takes too long to check this keyword ...', _SQ_PLUGIN_NAME_) . '"; var __doresearch = "' . __('Do a research!', _SQ_PLUGIN_NAME_) . '"; var __morekeywords = "' . __('Do more research!', _SQ_PLUGIN_NAME_) . '"; var __sq_photo_copyright = "' . __('[ ATTRIBUTE: Please check: %s to find out how to attribute this image ]', _SQ_PLUGIN_NAME_) . '"; var __has_attributes = "' . __('Has creative commons attributes', _SQ_PLUGIN_NAME_) . '"; var __no_attributes = "' . __('No known copyright restrictions', _SQ_PLUGIN_NAME_) . '";
41
- </script>';
42
  }
43
 
44
  }
36
 
37
  public function hookHead() {
38
  parent::hookHead();
 
 
 
39
  }
40
 
41
  }
core/SQ_Loading/SQ_Loading.php CHANGED
@@ -3,16 +3,16 @@
3
  class SQ_Loading extends SQ_BlockController {
4
 
5
  public function hookHead() {
6
- global $sq_postID;
7
-
8
  parent::hookHead();
9
- $exists = false;
10
- $browser = false;
11
-
12
 
 
 
13
 
14
  /* Check the squirrly.js file if exists */
15
  $browser = SQ_Tools::getBrowserInfo();
 
16
 
17
  if ((isset($browser) && $browser != false && is_array($browser) && $browser['name'] == 'IE' && (int) $browser['version'] < 9 && (int) $browser['version'] > 0)) {
18
  echo '<script type="text/javascript">
@@ -23,7 +23,9 @@ class SQ_Loading extends SQ_BlockController {
23
  jQuery("#sq_blocklogin").hide();
24
  </script>';
25
  } else {
26
- $keyword = SQ_ObjController::getModel('SQ_Post')->getKeywordsFromPost($sq_postID);
 
 
27
  echo '<script type="text/javascript">
28
  var sq_use = "' . SQ_Tools::$options['sq_use'] . '";
29
  var sq_baseurl = "' . _SQ_STATIC_API_URL_ . '";
@@ -36,6 +38,25 @@ class SQ_Loading extends SQ_BlockController {
36
  var __noopt = "' . __('You haven`t used Squirrly SEO to optimize your article. Do you want to optimize for a keyword before publishing?', _SQ_PLUGIN_NAME_) . '";
37
  var sq_keywordtag = "' . SQ_Tools::$options['sq_keywordtag'] . '";
38
  var sq_frontend_css = "' . _SQ_THEME_URL_ . 'css/sq_frontend.css";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  ' . (($keyword <> '') ? 'var sq_keyword_from_post = "' . $keyword . '";' : '') . '
40
  if (typeof sq_script === "undefined"){
41
  var sq_script = document.createElement(\'script\');
3
  class SQ_Loading extends SQ_BlockController {
4
 
5
  public function hookHead() {
 
 
6
  parent::hookHead();
7
+ $this->loadJsVars();
8
+ }
 
9
 
10
+ public function loadJsVars(){
11
+ global $sq_postID;
12
 
13
  /* Check the squirrly.js file if exists */
14
  $browser = SQ_Tools::getBrowserInfo();
15
+ $keyword = '';
16
 
17
  if ((isset($browser) && $browser != false && is_array($browser) && $browser['name'] == 'IE' && (int) $browser['version'] < 9 && (int) $browser['version'] > 0)) {
18
  echo '<script type="text/javascript">
23
  jQuery("#sq_blocklogin").hide();
24
  </script>';
25
  } else {
26
+ if (isset($sq_postID)) {
27
+ $keyword = SQ_ObjController::getModel('SQ_Post')->getKeywordsFromPost($sq_postID);
28
+ }
29
  echo '<script type="text/javascript">
30
  var sq_use = "' . SQ_Tools::$options['sq_use'] . '";
31
  var sq_baseurl = "' . _SQ_STATIC_API_URL_ . '";
38
  var __noopt = "' . __('You haven`t used Squirrly SEO to optimize your article. Do you want to optimize for a keyword before publishing?', _SQ_PLUGIN_NAME_) . '";
39
  var sq_keywordtag = "' . SQ_Tools::$options['sq_keywordtag'] . '";
40
  var sq_frontend_css = "' . _SQ_THEME_URL_ . 'css/sq_frontend.css";
41
+ var __date = "' . __('date', _SQ_PLUGIN_NAME_) . '";
42
+ var __readit = "' . __('Read it!', _SQ_PLUGIN_NAME_) . '";
43
+ var __insertit = "' . __('Insert it!', _SQ_PLUGIN_NAME_) . '";
44
+ var __reference = "' . __('Reference', _SQ_PLUGIN_NAME_) . '";
45
+ var __insertasbox = "' . __('Insert as box', _SQ_PLUGIN_NAME_) . '";
46
+ var __notrelevant = "' . __('Not relevant?', _SQ_PLUGIN_NAME_) . '";
47
+ var __insertparagraph = "' . __('Insert in your article', _SQ_PLUGIN_NAME_) . '";
48
+ var __tinymceerror = "' . __('For Squirrly to work, you have to have tinymce editor installed!', _SQ_PLUGIN_NAME_) . '";
49
+ var __ajaxerror = "' . __(':( I lost my squirrel. Please reload the page.', _SQ_PLUGIN_NAME_) . '";
50
+ var __nofound = "' . __('No results found!', _SQ_PLUGIN_NAME_) . '";
51
+ var __tinymceinactive = "' . __('Switch to Visual editor!', _SQ_PLUGIN_NAME_) . '";
52
+ var __morewords = "' . __('Enter one more word to find relevant results', _SQ_PLUGIN_NAME_) . '";
53
+ var __toolong = "' . __('Takes too long to check this keyword ...', _SQ_PLUGIN_NAME_) . '";
54
+ var __doresearch = "' . __('Do a research!', _SQ_PLUGIN_NAME_) . '";
55
+ var __morekeywords = "' . __('Do more research!', _SQ_PLUGIN_NAME_) . '";
56
+ var __sq_photo_copyright = "' . __('[ ATTRIBUTE: Please check: %s to find out how to attribute this image ]', _SQ_PLUGIN_NAME_) . '";
57
+ var __has_attributes = "' . __('Has creative commons attributes', _SQ_PLUGIN_NAME_) . '";
58
+ var __no_attributes = "' . __('No known copyright restrictions', _SQ_PLUGIN_NAME_) . '";
59
+
60
  ' . (($keyword <> '') ? 'var sq_keyword_from_post = "' . $keyword . '";' : '') . '
61
  if (typeof sq_script === "undefined"){
62
  var sq_script = document.createElement(\'script\');
models/SQ_BlockPostsAnalytics.php CHANGED
@@ -1,21 +1,18 @@
1
  <?php
2
 
3
- class Model_SQ_BlockPostsAnalytics extends WP_List_Table
4
- {
5
 
6
  public $_column_headers;
7
  public $posts; //save post list for Squirrly call
8
  private $order_posts;
9
 
10
- function __construct()
11
- {
12
  parent::__construct();
13
  $this->posts = array();
14
  $this->order_posts = array();
15
  }
16
 
17
- function wp_edit_posts_query($q = false)
18
- {
19
  global $current_user;
20
  $post__in = array(0);
21
  if (false === $q)
@@ -146,8 +143,7 @@ class Model_SQ_BlockPostsAnalytics extends WP_List_Table
146
  return $avail_post_stati;
147
  }
148
 
149
- function order_by_type($query)
150
- {
151
  global $wpdb;
152
  if (strpos($query, 'ORDER BY') !== false) {
153
  $query = str_replace("ORDER BY {$wpdb->posts}.post_date", "ORDER BY {$wpdb->posts}.post_type", $query);
@@ -157,8 +153,7 @@ class Model_SQ_BlockPostsAnalytics extends WP_List_Table
157
  return $query;
158
  }
159
 
160
- function order_by_rank($query)
161
- {
162
  global $wpdb;
163
  if (!empty($this->order_posts)) {
164
  if (strpos($query, 'ORDER BY') !== false) {
@@ -171,8 +166,7 @@ class Model_SQ_BlockPostsAnalytics extends WP_List_Table
171
  return $query;
172
  }
173
 
174
- function prepare_items()
175
- {
176
  global $avail_post_stati, $wp_query, $per_page, $mode;
177
 
178
  $avail_post_stati = $this->wp_edit_posts_query();
@@ -193,8 +187,7 @@ class Model_SQ_BlockPostsAnalytics extends WP_List_Table
193
  ));
194
  }
195
 
196
- function get_column_info()
197
- {
198
  if (isset($this->_column_headers))
199
  return $this->_column_headers;
200
 
@@ -218,14 +211,13 @@ class Model_SQ_BlockPostsAnalytics extends WP_List_Table
218
  return $this->_column_headers;
219
  }
220
 
221
- function get_sortable_columns()
222
- {
223
  $columns = array(
224
  'title' => 'title',
225
  'type' => 'type',
226
  'author' => 'author',
227
  );
228
- if(SQ_Tools::$options['sq_google_ranksperhour'] > 0){
229
  $columns['rank'] = 'rank';
230
  }
231
 
@@ -234,8 +226,7 @@ class Model_SQ_BlockPostsAnalytics extends WP_List_Table
234
  return $columns;
235
  }
236
 
237
- function print_column_headers($with_id = true)
238
- {
239
  $strcolumn = '';
240
 
241
  list($columns, $sortable) = $this->get_column_info();
@@ -290,8 +281,7 @@ class Model_SQ_BlockPostsAnalytics extends WP_List_Table
290
  return $strcolumn;
291
  }
292
 
293
- function get_columns()
294
- {
295
  $post_type = 'post';
296
 
297
  $posts_columns = array();
@@ -307,21 +297,14 @@ class Model_SQ_BlockPostsAnalytics extends WP_List_Table
307
  if (empty($post_type) || is_object_in_taxonomy($post_type, 'post_tag'))
308
  $posts_columns['keywords'] = __('Keywords');
309
 
310
- if(SQ_Tools::$options['sq_google_ranksperhour'] > 0) {
311
- $blog_ip = @gethostbyname(gethostname());
312
- if (isset($blog_ip)) {
313
- if (strpos($blog_ip, '192.') === false) {
314
- $posts_columns['rank'] = sprintf(__('Google.%s Position'), SQ_Tools::$options['sq_google_country']);
315
- }
316
- }
317
- }
318
  $posts_columns['traffic'] = '';
319
  $posts_columns['date'] = __('Date');
320
  return $posts_columns;
321
  }
322
 
323
- function display_tablenav($which)
324
- {
325
  if ('top' == $which)
326
  wp_nonce_field('bulk-' . $this->_args['plural']);
327
 
@@ -360,8 +343,7 @@ class Model_SQ_BlockPostsAnalytics extends WP_List_Table
360
  return $strnav;
361
  }
362
 
363
- function display_rows()
364
- {
365
  global $wp_query, $post;
366
  static $alternate;
367
  $strrow = '';
@@ -382,8 +364,7 @@ class Model_SQ_BlockPostsAnalytics extends WP_List_Table
382
  return $strrow;
383
  }
384
 
385
- public function single_row($a_post)
386
- {
387
  global $post;
388
 
389
  $strcolumn = '';
@@ -444,21 +425,25 @@ class Model_SQ_BlockPostsAnalytics extends WP_List_Table
444
 
445
  case 'rank':
446
  $value = '';
447
- if (isset($json->rank)) {
448
- if ($json->rank == -2) {
449
- $value = __('Could not receive data from google (Err: blocked IP)');
450
- } elseif ($json->rank == -1) {
451
- $value = __('Not in top 100 for: <br /> "'.$json->keyword.'"');
452
- } elseif ($json->rank == 0) {
453
- $value = __('The URL is indexed');
454
- } elseif ($json->rank > 0) {
455
- $value = '<strong style="display:block; font-size: 120%; width: 100px; margin: 0 auto; text-align:right;">' . sprintf(__('%s'), $json->rank) . '</strong>' . ((isset($json->country)) ? ' (' . $json->country . ')' : '');
 
 
 
 
 
 
456
  }
457
- $value = sprintf('<a id="sq_rank_value' . $post->ID . '" href="%s" style="display:block; width: 120px; margin: 0 auto; text-align:right;">%s</a><span class="sq_rank_column_button_recheck sq_rank_column_button" onclick="sq_recheckRank(' . $post->ID . ')">%s</span>', esc_url(add_query_arg(array('page' => 'sq_posts', 'rank' => $json->rank), 'admin.php')), $value, __('Force recheck', _SQ_PLUGIN_NAME_));
458
- } else {
459
- $value = sprintf('<a id="sq_rank_value' . $post->ID . '" href="%s" style="display:block; width: 120px; margin: 0 auto; text-align:right;">%s</a><span class="sq_rank_column_button_recheck sq_rank_column_button" onclick="sq_recheckRank(' . $post->ID . ')">%s</span>', esc_url(add_query_arg(array('page' => 'sq_posts', 'rank' => false), 'admin.php')), __('Not yet verified'), __('Check now', _SQ_PLUGIN_NAME_));
460
  }
461
-
462
  break;
463
  case 'traffic':
464
  $value = '<div class="sq_rank_column_row sq_minloading" ref="' . $post->ID . '"></div>';
@@ -512,14 +497,12 @@ class Model_SQ_BlockPostsAnalytics extends WP_List_Table
512
  return $strcolumn;
513
  }
514
 
515
- public function hookFooter()
516
- {
517
  $this->postlist->setPosts($this->posts);
518
  $this->postlist->hookFooter();
519
  }
520
 
521
- public function getScripts()
522
- {
523
  return $this->postlist->getScripts();
524
  }
525
 
1
  <?php
2
 
3
+ class Model_SQ_BlockPostsAnalytics extends WP_List_Table {
 
4
 
5
  public $_column_headers;
6
  public $posts; //save post list for Squirrly call
7
  private $order_posts;
8
 
9
+ function __construct() {
 
10
  parent::__construct();
11
  $this->posts = array();
12
  $this->order_posts = array();
13
  }
14
 
15
+ function wp_edit_posts_query($q = false) {
 
16
  global $current_user;
17
  $post__in = array(0);
18
  if (false === $q)
143
  return $avail_post_stati;
144
  }
145
 
146
+ function order_by_type($query) {
 
147
  global $wpdb;
148
  if (strpos($query, 'ORDER BY') !== false) {
149
  $query = str_replace("ORDER BY {$wpdb->posts}.post_date", "ORDER BY {$wpdb->posts}.post_type", $query);
153
  return $query;
154
  }
155
 
156
+ function order_by_rank($query) {
 
157
  global $wpdb;
158
  if (!empty($this->order_posts)) {
159
  if (strpos($query, 'ORDER BY') !== false) {
166
  return $query;
167
  }
168
 
169
+ function prepare_items() {
 
170
  global $avail_post_stati, $wp_query, $per_page, $mode;
171
 
172
  $avail_post_stati = $this->wp_edit_posts_query();
187
  ));
188
  }
189
 
190
+ function get_column_info() {
 
191
  if (isset($this->_column_headers))
192
  return $this->_column_headers;
193
 
211
  return $this->_column_headers;
212
  }
213
 
214
+ function get_sortable_columns() {
 
215
  $columns = array(
216
  'title' => 'title',
217
  'type' => 'type',
218
  'author' => 'author',
219
  );
220
+ if (SQ_Tools::$options['sq_google_ranksperhour'] > 0) {
221
  $columns['rank'] = 'rank';
222
  }
223
 
226
  return $columns;
227
  }
228
 
229
+ function print_column_headers($with_id = true) {
 
230
  $strcolumn = '';
231
 
232
  list($columns, $sortable) = $this->get_column_info();
281
  return $strcolumn;
282
  }
283
 
284
+ function get_columns() {
 
285
  $post_type = 'post';
286
 
287
  $posts_columns = array();
297
  if (empty($post_type) || is_object_in_taxonomy($post_type, 'post_tag'))
298
  $posts_columns['keywords'] = __('Keywords');
299
 
300
+ $posts_columns['rank'] = sprintf(__('Google.%s Position'), SQ_Tools::$options['sq_google_country']);
301
+
 
 
 
 
 
 
302
  $posts_columns['traffic'] = '';
303
  $posts_columns['date'] = __('Date');
304
  return $posts_columns;
305
  }
306
 
307
+ function display_tablenav($which) {
 
308
  if ('top' == $which)
309
  wp_nonce_field('bulk-' . $this->_args['plural']);
310
 
343
  return $strnav;
344
  }
345
 
346
+ function display_rows() {
 
347
  global $wp_query, $post;
348
  static $alternate;
349
  $strrow = '';
364
  return $strrow;
365
  }
366
 
367
+ public function single_row($a_post) {
 
368
  global $post;
369
 
370
  $strcolumn = '';
425
 
426
  case 'rank':
427
  $value = '';
428
+ if(SQ_Tools::$options['sq_google_ranksperhour'] > 0) {
429
+
430
+ if (isset($json->rank)) {
431
+ if ($json->rank == -2) {
432
+ $value = __('Could not receive data from google (Err: blocked IP)');
433
+ } elseif ($json->rank == -1) {
434
+ $value = __('Not in top 100 for: <br /> "' . $json->keyword . '"');
435
+ } elseif ($json->rank == 0) {
436
+ $value = __('The URL is indexed');
437
+ } elseif ($json->rank > 0) {
438
+ $value = '<strong style="display:block; font-size: 120%; width: 100px; margin: 0 auto; text-align:right;">' . sprintf(__('%s'), $json->rank) . '</strong>' . ((isset($json->country)) ? ' (' . $json->country . ')' : '');
439
+ }
440
+ $value = sprintf('<a id="sq_rank_value' . $post->ID . '" href="%s" style="display:block; width: 120px; margin: 0 auto; text-align:right;">%s</a><span class="sq_rank_column_button_recheck sq_rank_column_button" onclick="sq_recheckRank(' . $post->ID . ')">%s</span>', esc_url(add_query_arg(array('page' => 'sq_posts', 'rank' => $json->rank), 'admin.php')), $value, __('Force recheck', _SQ_PLUGIN_NAME_));
441
+ } else {
442
+ $value = sprintf('<a id="sq_rank_value' . $post->ID . '" href="%s" style="display:block; width: 120px; margin: 0 auto; text-align:right;">%s</a><span class="sq_rank_column_button_recheck sq_rank_column_button" onclick="sq_recheckRank(' . $post->ID . ')">%s</span>', esc_url(add_query_arg(array('page' => 'sq_posts', 'rank' => false), 'admin.php')), __('Not yet verified'), __('Check now', _SQ_PLUGIN_NAME_));
443
  }
444
+ }else{
445
+ $value = sprintf(__('Enable Ranking in %sAdvanced Settings%s'),'<br /><a href="'.admin_url('admin.php?page=sq_settings').'">','</a>');
 
446
  }
 
447
  break;
448
  case 'traffic':
449
  $value = '<div class="sq_rank_column_row sq_minloading" ref="' . $post->ID . '"></div>';
497
  return $strcolumn;
498
  }
499
 
500
+ public function hookFooter() {
 
501
  $this->postlist->setPosts($this->posts);
502
  $this->postlist->hookFooter();
503
  }
504
 
505
+ public function getScripts() {
 
506
  return $this->postlist->getScripts();
507
  }
508
 
models/SQ_BlockSettingsSeo.php CHANGED
@@ -89,6 +89,7 @@ class Model_SQ_BlockSettingsSeo {
89
  public function checkFavebookInsightsCode($code) {
90
  $id = '';
91
  if ($code <> '') {
 
92
  if (strpos($code, '"') !== false) {
93
  preg_match('/[\'\"]([^\'\"]+)[\'\"]/i', $code, $result);
94
  if (isset($result[1]) && !empty($result[1])) {
89
  public function checkFavebookInsightsCode($code) {
90
  $id = '';
91
  if ($code <> '') {
92
+ $code = trim($code);
93
  if (strpos($code, '"') !== false) {
94
  preg_match('/[\'\"]([^\'\"]+)[\'\"]/i', $code, $result);
95
  if (isset($result[1]) && !empty($result[1])) {
models/SQ_Frontend.php CHANGED
@@ -10,7 +10,7 @@ class Model_SQ_Frontend {
10
  private $post_type;
11
  private $post_types;
12
 
13
- /** @var canonical link */
14
  private $url;
15
  private $author;
16
 
@@ -29,10 +29,10 @@ class Model_SQ_Frontend {
29
  private $custom_og_image = false;
30
 
31
  /** @var integer */
32
- private $min_title_length = 10;
33
 
34
  /** @var integer */
35
- private $max_title_length = 100;
36
 
37
  /** @var integer */
38
  private $max_description_length = 170;
@@ -60,18 +60,6 @@ class Model_SQ_Frontend {
60
  return "\n\n<!-- Squirrly SEO Plugin " . SQ_VERSION . ", visit: http://plugin.squirrly.co/ -->\n";
61
  }
62
 
63
- /**
64
- * Set the line where Squirrly will start the code
65
- * @return string
66
- */
67
- public function setStartTag() {
68
- $this->setPost();
69
- if ($this->is_squirrly()) {
70
- SQ_Tools::dump('Show Squirrly', 'isHomePage: ' . $this->isHomePage(), 'is_single: ' . is_single(), 'is_preview: ' . is_preview(), 'is_page: ' . is_page(), 'is_archive: ' . is_archive(), 'is_author: ' . is_author(), 'is_category: ' . is_category(), 'is_tag: ' . is_tag(), 'is_search: ' . is_search(), 'in_array: ' . (!empty($this->post_types) && in_array($this->post_type, $this->post_types)));
71
- return "<squirrly />";
72
- }
73
- }
74
-
75
  /**
76
  * Set the post
77
  *
@@ -129,7 +117,7 @@ class Model_SQ_Frontend {
129
 
130
  /**
131
  * Start the buffer record
132
- * @return type
133
  */
134
  public function startBuffer() {
135
  ob_start(array($this, 'getBuffer'));
@@ -138,8 +126,8 @@ class Model_SQ_Frontend {
138
  /**
139
  * Get the loaded buffer and change it
140
  *
141
- * @param buffer $buffer
142
- * @return buffer
143
  */
144
  public function getBuffer($buffer) {
145
  if (isset($this->buffer)) {
@@ -167,30 +155,9 @@ class Model_SQ_Frontend {
167
  }
168
 
169
  /**
170
- * Flush the header from wordpress
171
- *
172
- * @return string
173
- *
174
  */
175
- public function flushHeader() {
176
- try {
177
- if (function_exists('ob_list_handlers')) {
178
- $buffers = @ob_list_handlers();
179
-
180
- if (sizeof($buffers) > 0) {
181
- if (is_string($buffers[sizeof($buffers) - 1])) {
182
- if (strtolower($buffers[sizeof($buffers) - 1]) == strtolower(get_class($this) . '::getBuffer')) {
183
- @ob_end_flush();
184
- $buffers = @ob_list_handlers();
185
- }
186
- }
187
- }
188
- }
189
- } catch (Exception $ex) {
190
- //error
191
- }
192
- }
193
-
194
  public function is_squirrly() {
195
  if (SQ_Tools::getValue('sq_use') == 'off') {
196
  return false;
@@ -200,6 +167,10 @@ class Model_SQ_Frontend {
200
  return false;
201
  }
202
 
 
 
 
 
203
  if ($this->isHomePage() || is_single() || is_preview() || is_page() || is_archive() || is_author() || is_category() || is_tag() || is_search() || (!empty($this->post_types) && in_array($this->post_type, $this->post_types))) {
204
  return true;
205
  }
@@ -224,7 +195,6 @@ class Model_SQ_Frontend {
224
  }
225
 
226
  if ($this->is_squirrly()) {
227
-
228
  //update ... please monitor
229
  if (is_single() || is_page()) {
230
  if (!isset($this->post->ID)) {
@@ -232,17 +202,23 @@ class Model_SQ_Frontend {
232
  }
233
  }
234
 
235
- preg_match("/<head[^>]*>/i", $buffer, $out);
236
- if (!empty($out)) {
237
  $this->meta['blogname'] = get_bloginfo('name');
238
  //Get the url
239
  $this->url = $this->getCanonicalUrl();
240
  //Get the title
241
  $this->title = $this->getCustomTitle();
 
 
 
 
242
  /* Get the thumb image from post */
243
  $this->thumb_images = $this->getImagesFromContent();
244
 
245
- if ((SQ_Tools::$options['sq_auto_description'] == 1 && $this->isHomePage()) || !$this->isHomePage()) {
 
 
 
246
  //clear the existing description and keywords
247
  $buffer = @preg_replace('/<meta[^>]*(name|property)=["\'](description|keywords)["\'][^>]*content=["\'][^"\'>]*["\'][^>]*>[\n\r]*/si', '', $buffer, -1);
248
  }
@@ -264,31 +240,20 @@ class Model_SQ_Frontend {
264
  $buffer = @preg_replace('/<script[^>]*type=["\']application\/ld\+json["\'][^>]*>[^>]*<\/script>[\n\r]*/si', '', $buffer, -1);
265
  }
266
 
267
-
268
- if ((SQ_Tools::$options['sq_auto_title'] == 1 && $this->isHomePage()) || !$this->isHomePage()) {
269
- if (isset($this->title) && $this->title <> '') {
270
- //replace the existing title
271
- $buffer = @preg_replace('/<title[^<>]*>([^<>]*)<\/title>/si', '', $buffer, -1);
272
- $buffer = @preg_replace('/(<head[^>]*>)/si', sprintf("$1\n<title>%s</title>", $this->title) . "\n", $buffer, -1);
273
- }
274
- }
275
-
276
- if (strpos($buffer, '<squirrly />') !== false) {
277
- $buffer = @preg_replace('/(<squirrly[^>]*>)/si', sprintf("%s", $this->getHeader()) . "\n", $buffer, 1);
278
- } elseif (strpos($buffer, '</title>') !== false) {
279
- $buffer = @preg_replace('/(<\/title>)/si', sprintf("$1\n%s", $this->getHeader()) . "\n", $buffer, 1);
280
- } else {
281
- $buffer = @preg_replace('/(<head[^>]*>)/si', sprintf("$1\n%s", $this->getHeader()) . "\n", $buffer, 1);
282
- }
283
 
284
  return $buffer;
285
- //
 
 
 
 
 
 
286
  }
287
  }
288
 
289
- if (strpos($buffer, '<squirrly />') !== false) {
290
- $buffer = str_replace("<squirrly />", "", $buffer);
291
- }
292
  return $buffer;
293
  }
294
 
@@ -301,8 +266,12 @@ class Model_SQ_Frontend {
301
  */
302
  public function getHeader() {
303
  $ret = '';
304
- $ret .= $this->setStart();
305
 
 
 
 
 
 
306
  //Add description in homepage if is set or add description in other pages if is not home page
307
  if ((SQ_Tools::$options['sq_auto_description'] == 1 && $this->isHomePage()) || !$this->isHomePage()) {
308
  $ret .= $this->getCustomDescription() . "\n";
@@ -417,6 +386,11 @@ class Model_SQ_Frontend {
417
  $meta = "\n";
418
  $image = '';
419
 
 
 
 
 
 
420
  if (!isset($this->thumb_video) || $this->thumb_video == '') {
421
  $videos = $this->getVideosFromContent();
422
  if (isset($videos[0])) {
@@ -512,7 +486,9 @@ class Model_SQ_Frontend {
512
 
513
  $meta .= sprintf('<meta property="og:type" content="%s" />', 'article') . "\n";
514
  $meta .= sprintf('<meta property="article:published_time" content="%s" />', get_the_time('c', $this->post->ID)) . "\n";
515
-
 
 
516
  $category = get_the_category($this->post->ID);
517
  if (!empty($category) && $category[0]->cat_name <> 'Uncategorized') {
518
  $meta .= sprintf('<meta property="article:section" content="%s" />', $category[0]->cat_name) . "\n";
@@ -643,10 +619,6 @@ class Model_SQ_Frontend {
643
  }
644
  }
645
 
646
- //If title then clear it and truncate it
647
- if ($this->title <> '') {
648
- $this->title = $this->truncate($this->title, $this->min_title_length, $this->max_title_length);
649
- }
650
  } elseif (SQ_Tools::$options ['sq_auto_title'] == 1) { /* Check if is a predefined Title for home page */
651
 
652
  //If the home page is a static page that has custom snippet
@@ -664,6 +636,8 @@ class Model_SQ_Frontend {
664
  $this->title = get_the_title();
665
  }
666
  }
 
 
667
  }
668
  return apply_filters('sq_title', $this->title);
669
  }
@@ -678,19 +652,20 @@ class Model_SQ_Frontend {
678
 
679
  /**
680
  * Get the image from content
681
- * @global type $wp_query
682
  * @param integer $id Post ID
683
- * @return type
684
  */
685
  public function getImagesFromContent($id = null, $all = false) {
686
  $images = array();
687
- if (isset($id)) {
688
- $post = get_post($id);
689
- } else {
690
- $post = $this->post;
691
  }
692
 
693
- if (SQ_Tools::$options['sq_auto_description'] == 1) { //
 
694
  if (($this->isHomePage() && SQ_Tools::$options['sq_fp_ogimage'] <> '')) {
695
  $images[] = array(
696
  'src' => esc_url(SQ_Tools::$options['sq_fp_ogimage']),
@@ -909,20 +884,19 @@ class Model_SQ_Frontend {
909
  }
910
  }
911
  }
912
- } else
913
-
914
  /* Check if is a predefined TitleIn Snippet */
915
- if (SQ_Tools::$options['sq_auto_description'] == 1) {
916
-
917
- //If the home page is a static page that has custom snippet
918
- if (is_page() && isset($this->post) && isset($this->post->ID) && $this->getAdvancedMeta($this->post->ID, 'description') <> '') {
919
- $description = $this->getAdvancedMeta($this->post->ID, 'description');
920
- } elseif (SQ_Tools::$options ['sq_fp_description'] <> '') {
921
- $description = strip_tags(SQ_Tools::$options['sq_fp_description']);
922
- } else {
923
- $description = $this->grabDescriptionFromPost();
924
- }
925
  }
 
 
 
926
 
927
  $description = (($description <> '') ? $description : $this->title);
928
  if ($description <> '') {
@@ -1400,98 +1374,125 @@ class Model_SQ_Frontend {
1400
  public function getJsonLD() {
1401
  $meta = '';
1402
  $sep = ",\n";
 
 
1403
  if ($this->isHomePage()) {
1404
  if (isset(SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']])) {
1405
- $meta .= '"@type":"' . SQ_Tools::$options['sq_jsonld_type'] . '"' . $sep;
1406
- $meta .= '"url": "' . $this->url . '"';
 
 
1407
  foreach (SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']] as $key => $value) {
1408
  if ($value <> '') {
1409
  if (SQ_Tools::$options['sq_jsonld_type'] == 'Organization' && $key == 'contactType') {
1410
  continue;
1411
  }
1412
  if (SQ_Tools::$options['sq_jsonld_type'] == 'Organization' && $key == 'telephone') {
1413
- $meta .= $sep . '"contactPoint": {"@type": "ContactPoint", "telephone": "' . $value . '", "contactType": "' . SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['contactType'] . '"}';
 
 
 
 
 
1414
  }
1415
 
1416
  if ($key == 'logo') {
1417
  if (SQ_Tools::$options['sq_jsonld_type'] == 'Person') {
1418
  $key = 'image';
1419
  }
1420
- $value = '{"@type": "ImageObject","url": "' . $value . '"}';
 
 
 
1421
  } else {
1422
- $value = '"' . $value . '"';
1423
  }
1424
- $meta .= ($meta <> '' ? $sep : '') . '"' . $key . '":' . $value . '';
1425
  }
1426
  }
1427
  }
1428
-
1429
- if ($meta <> '') {
1430
- $social = '';
1431
  if (SQ_Tools::$options['sq_twitter_account'] <> '') {
1432
- $social .= ($social <> '' ? "," : '') . '"' . SQ_Tools::$options['sq_twitter_account'] . '"';
1433
  }
1434
  if (SQ_Tools::$options['sq_facebook_account'] <> '') {
1435
- $social .= ($social <> '' ? "," : '') . '"' . SQ_Tools::$options['sq_facebook_account'] . '"';
1436
  }
1437
  if (SQ_Tools::$options['sq_google_plus'] <> '') {
1438
- $social .= ($social <> '' ? "," : '') . '"' . SQ_Tools::$options['sq_google_plus'] . '"';
1439
  }
1440
  if (SQ_Tools::$options['sq_linkedin_account'] <> '') {
1441
- $social .= ($social <> '' ? "," : '') . '"' . SQ_Tools::$options['sq_linkedin_account'] . '"';
1442
  }
1443
  if (SQ_Tools::$options['sq_pinterest_account'] <> '') {
1444
- $social .= ($social <> '' ? "," : '') . '"' . SQ_Tools::$options['sq_pinterest_account'] . '"';
1445
  }
1446
  if (SQ_Tools::$options['sq_instagram_account'] <> '') {
1447
- $social .= ($social <> '' ? "," : '') . '"' . SQ_Tools::$options['sq_instagram_account'] . '"';
1448
  }
1449
 
1450
- $search = $sep . '"potentialAction": { "@type": "SearchAction", "target": "' . get_bloginfo('url') . '?s={search_string}", "query-input": "required name=search_string" }';
 
 
 
 
1451
 
1452
- if ($social <> '') {
1453
- $social = $sep . '"sameAs": [' . $social . ']';
1454
  }
1455
-
1456
- $meta = '{ "@context": "http://schema.org"' . $sep . $meta . $search . $social . '}';
1457
  }
1458
- } elseif (is_single()) {
1459
- $meta .= '"@type": "Article"' . $sep;
 
 
 
 
1460
  if (isset($this->title)) {
1461
- $meta .= '"name": "' . $this->title . '"' . $sep;
1462
  }
1463
  if (isset($this->description)) {
1464
- $meta .= '"headline": "' . $this->description . '"' . $sep;
1465
  }
1466
- $meta .= '"url": "' . $this->url . '"' . $sep;
1467
- $meta .= '"mainEntityOfPage": { "@type": "WebPage", "url": "' . $this->url . '" }' . $sep;
 
 
1468
 
1469
  if (!empty($this->thumb_images)) {
1470
- $meta .= '"thumbnailUrl": "' . $this->thumb_images[0]['src'] . '"' . $sep;
1471
  }
1472
  if (isset($this->post->post_date)) {
1473
- $meta .= '"datePublished": "' . date('c', strtotime($this->post->post_date)) . '"' . $sep;
1474
  }
1475
  if (isset($this->post->post_modified)) {
1476
- $meta .= '"dateModified": "' . date('c', strtotime($this->post->post_modified)) . '"' . $sep;
1477
  }
1478
  if (!empty($this->thumb_images)) {
1479
  foreach ($this->thumb_images as $image) {
1480
- //$meta .= '"image": "' . $image['src'] . '"' . $sep;
1481
- $meta .= '"image": {
1482
- "@type": "ImageObject",
1483
- "url": "' . $image['src'] . '",
1484
- "height": ' . ((isset($image['height']) && $image['height'] <> '') ? (int)$image['height'] : 500) . ',
1485
- "width": ' . ((isset($image['width']) && $image['width'] <> '') ? (int)$image['width'] : 700) . '
1486
- }' . $sep;
1487
  break;
1488
  }
1489
  }
1490
- $meta .= '"author": {"@type": "Person", "url": "' . $this->getAuthor('user_url') . '", "name": "' . $this->getAuthor('display_name') . '"}' . $sep;
 
 
 
 
 
1491
  if (SQ_Tools::$options['sq_jsonld_type'] == 'Organization' && isset(SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']])) {
1492
- $meta .= '"publisher": {';
1493
- $meta .= '"@type":"' . SQ_Tools::$options['sq_jsonld_type'] . '"' . $sep;
1494
- $meta .= '"url": "' . $this->url . '"';
 
 
 
 
1495
  foreach (SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']] as $key => $value) {
1496
  if ($value <> '') {
1497
  if ($key == 'contactType' || $key == 'telephone') {
@@ -1499,31 +1500,32 @@ class Model_SQ_Frontend {
1499
  }
1500
 
1501
  if ($key == 'logo') {
1502
- $value = '{"@type": "ImageObject","url": "' . $value . '"}';
 
 
 
 
1503
  } else {
1504
- $value = '"' . $value . '"';
1505
  }
1506
- $meta .= ($meta <> '' ? $sep : '') . '"' . $key . '":' . $value . '';
1507
  }
1508
  }
1509
- $meta .= '}' . $sep;
1510
  }
1511
- $meta .= '"keywords": ["' . str_replace(',', '","', $this->grabKeywordsFromPost()) . '"]';
1512
 
1513
- $meta = '{ "@context": "http://schema.org"' . $sep . $meta . '}';
 
1514
  } elseif (is_author()) {
1515
- $meta .= '"@type": "Person"' . $sep;
1516
- $meta .= '"name": "' . $this->getAuthor('display_name') . '"' . $sep;
1517
- $meta .= '"url": "' . $this->getAuthor('user_url') . '"';
 
1518
 
1519
- $meta = '{ "@context": "http://schema.org"' . $sep . $meta . '}';
 
1520
  }
1521
 
1522
- if ($meta <> '') {
1523
- $meta = "\n" . '<script type="application/ld+json">' . "\n" . $meta . "\n" . '</script>';
1524
- }
1525
-
1526
- return apply_filters('sq_sjon_ld_meta', $meta);
1527
  }
1528
 
1529
  /**
@@ -1598,7 +1600,7 @@ class Model_SQ_Frontend {
1598
 
1599
  if ($post) {
1600
  if (!$this->isHomePage()) {
1601
- $description = $this->_truncate(SQ_Tools::i18n($post->post_excerpt), $this->min_description_length, $this->max_description_length);
1602
  if (!$description) {
1603
  $description = $this->truncate(SQ_Tools::i18n($post->post_content), $this->min_description_length, $this->max_description_length);
1604
  }
@@ -1928,15 +1930,6 @@ class Model_SQ_Frontend {
1928
  return trim(stripcslashes($text));
1929
  }
1930
 
1931
- public function _truncate($text) {
1932
- if (function_exists('strip_tags'))
1933
- $text = strip_tags($text);
1934
- $text = str_replace(']]>', ']]&gt;', $text);
1935
- $text = @preg_replace('|\[(.+?)\](.+?\[/\\1\])?|s', '', $text);
1936
- $text = strip_tags($text);
1937
-
1938
- return trim(stripcslashes($text));
1939
- }
1940
 
1941
  /**
1942
  * Show just distinct keywords
10
  private $post_type;
11
  private $post_types;
12
 
13
+ /** @var string url */
14
  private $url;
15
  private $author;
16
 
29
  private $custom_og_image = false;
30
 
31
  /** @var integer */
32
+ private $min_title_length = 20;
33
 
34
  /** @var integer */
35
+ private $max_title_length = 75;
36
 
37
  /** @var integer */
38
  private $max_description_length = 170;
60
  return "\n\n<!-- Squirrly SEO Plugin " . SQ_VERSION . ", visit: http://plugin.squirrly.co/ -->\n";
61
  }
62
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  /**
64
  * Set the post
65
  *
117
 
118
  /**
119
  * Start the buffer record
120
+ * @return string
121
  */
122
  public function startBuffer() {
123
  ob_start(array($this, 'getBuffer'));
126
  /**
127
  * Get the loaded buffer and change it
128
  *
129
+ * @param string $buffer
130
+ * @return string
131
  */
132
  public function getBuffer($buffer) {
133
  if (isset($this->buffer)) {
155
  }
156
 
157
  /**
158
+ * Should Squirrly Load for this page?
159
+ * @return bool
 
 
160
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
  public function is_squirrly() {
162
  if (SQ_Tools::getValue('sq_use') == 'off') {
163
  return false;
167
  return false;
168
  }
169
 
170
+ if (is_404()){
171
+ return false;
172
+ }
173
+
174
  if ($this->isHomePage() || is_single() || is_preview() || is_page() || is_archive() || is_author() || is_category() || is_tag() || is_search() || (!empty($this->post_types) && in_array($this->post_type, $this->post_types))) {
175
  return true;
176
  }
195
  }
196
 
197
  if ($this->is_squirrly()) {
 
198
  //update ... please monitor
199
  if (is_single() || is_page()) {
200
  if (!isset($this->post->ID)) {
202
  }
203
  }
204
 
205
+ if (strpos($buffer, '<head') !== false) {
 
206
  $this->meta['blogname'] = get_bloginfo('name');
207
  //Get the url
208
  $this->url = $this->getCanonicalUrl();
209
  //Get the title
210
  $this->title = $this->getCustomTitle();
211
+ //Set the description and Keywords in case of default
212
+ $this->getCustomDescription();
213
+ $this->getCustomKeyword();
214
+
215
  /* Get the thumb image from post */
216
  $this->thumb_images = $this->getImagesFromContent();
217
 
218
+ if (SQ_Tools::$options['sq_auto_title'] == 1 && isset($this->title) && $this->title <> '') {
219
+ $buffer = @preg_replace('/<title[^<>]*>([^<>]*)<\/title>/si', '', $buffer, -1);
220
+ }
221
+ if (SQ_Tools::$options['sq_auto_description'] == 1) {
222
  //clear the existing description and keywords
223
  $buffer = @preg_replace('/<meta[^>]*(name|property)=["\'](description|keywords)["\'][^>]*content=["\'][^"\'>]*["\'][^>]*>[\n\r]*/si', '', $buffer, -1);
224
  }
240
  $buffer = @preg_replace('/<script[^>]*type=["\']application\/ld\+json["\'][^>]*>[^>]*<\/script>[\n\r]*/si', '', $buffer, -1);
241
  }
242
 
243
+ $buffer = @preg_replace('/(<head(\s[^>]*|)>)/si', sprintf("$1\n%s", $this->getHeader()) . "\n", $buffer, 1);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
244
 
245
  return $buffer;
246
+ }
247
+ } else {
248
+ global $sq_is_sitemap;
249
+ if (isset($sq_is_sitemap) && $sq_is_sitemap) {
250
+ $buffer = @preg_replace('/<\/sitemapindex>(.*)?/si', "</sitemapindex>", $buffer);
251
+ $buffer = @preg_replace('/<\/urlset>(.*)?/si', "</urlset>", $buffer);
252
+ $buffer = trim($buffer);
253
  }
254
  }
255
 
256
+
 
 
257
  return $buffer;
258
  }
259
 
266
  */
267
  public function getHeader() {
268
  $ret = '';
 
269
 
270
+ if (SQ_Tools::$options['sq_auto_title'] == 1 && isset($this->title) && $this->title <> '') {
271
+ $ret .= sprintf("<title>%s</title>", $this->title) . "\n";
272
+ }
273
+
274
+ $ret .= $this->setStart();
275
  //Add description in homepage if is set or add description in other pages if is not home page
276
  if ((SQ_Tools::$options['sq_auto_description'] == 1 && $this->isHomePage()) || !$this->isHomePage()) {
277
  $ret .= $this->getCustomDescription() . "\n";
386
  $meta = "\n";
387
  $image = '';
388
 
389
+ //Title and Description is required
390
+ if ($this->title == '' || $this->description == '') {
391
+ return;
392
+ }
393
+
394
  if (!isset($this->thumb_video) || $this->thumb_video == '') {
395
  $videos = $this->getVideosFromContent();
396
  if (isset($videos[0])) {
486
 
487
  $meta .= sprintf('<meta property="og:type" content="%s" />', 'article') . "\n";
488
  $meta .= sprintf('<meta property="article:published_time" content="%s" />', get_the_time('c', $this->post->ID)) . "\n";
489
+ if (SQ_Tools::$options['sq_facebook_account'] <> '') {
490
+ $meta .= sprintf('<meta property="article:publisher" content="%s" />', SQ_Tools::$options['sq_facebook_account']) . "\n";
491
+ }
492
  $category = get_the_category($this->post->ID);
493
  if (!empty($category) && $category[0]->cat_name <> 'Uncategorized') {
494
  $meta .= sprintf('<meta property="article:section" content="%s" />', $category[0]->cat_name) . "\n";
619
  }
620
  }
621
 
 
 
 
 
622
  } elseif (SQ_Tools::$options ['sq_auto_title'] == 1) { /* Check if is a predefined Title for home page */
623
 
624
  //If the home page is a static page that has custom snippet
636
  $this->title = get_the_title();
637
  }
638
  }
639
+ } else {
640
+ $this->title = get_the_title();
641
  }
642
  return apply_filters('sq_title', $this->title);
643
  }
652
 
653
  /**
654
  * Get the image from content
655
+ * @global WP_Query $wp_query
656
  * @param integer $id Post ID
657
+ * @return array
658
  */
659
  public function getImagesFromContent($id = null, $all = false) {
660
  $images = array();
661
+ $post = $this->post;
662
+
663
+ if (isset($id) && !$post = get_post($id)) {
664
+ return $images;
665
  }
666
 
667
+ //if not a specific post and description is sqitched on
668
+ if (!isset($id) && SQ_Tools::$options['sq_auto_description'] == 1) { //
669
  if (($this->isHomePage() && SQ_Tools::$options['sq_fp_ogimage'] <> '')) {
670
  $images[] = array(
671
  'src' => esc_url(SQ_Tools::$options['sq_fp_ogimage']),
884
  }
885
  }
886
  }
887
+ } elseif (SQ_Tools::$options['sq_auto_description'] == 1) {
 
888
  /* Check if is a predefined TitleIn Snippet */
889
+ //If the home page is a static page that has custom snippet
890
+ if (is_page() && isset($this->post) && isset($this->post->ID) && $this->getAdvancedMeta($this->post->ID, 'description') <> '') {
891
+ $description = $this->getAdvancedMeta($this->post->ID, 'description');
892
+ } elseif (SQ_Tools::$options ['sq_fp_description'] <> '') {
893
+ $description = strip_tags(SQ_Tools::$options['sq_fp_description']);
894
+ } else {
895
+ $description = $this->grabDescriptionFromPost();
 
 
 
896
  }
897
+ } else {
898
+ $description = get_bloginfo('description');
899
+ }
900
 
901
  $description = (($description <> '') ? $description : $this->title);
902
  if ($description <> '') {
1374
  public function getJsonLD() {
1375
  $meta = '';
1376
  $sep = ",\n";
1377
+ $jsonld = SQ_ObjController::getModelService('JsonLD');
1378
+ $markup = array();
1379
  if ($this->isHomePage()) {
1380
  if (isset(SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']])) {
1381
+ $markup['@type'] = SQ_Tools::$options['sq_jsonld_type'];
1382
+ $markup['@id'] = $this->url;
1383
+ $markup['url'] = $this->url;
1384
+
1385
  foreach (SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']] as $key => $value) {
1386
  if ($value <> '') {
1387
  if (SQ_Tools::$options['sq_jsonld_type'] == 'Organization' && $key == 'contactType') {
1388
  continue;
1389
  }
1390
  if (SQ_Tools::$options['sq_jsonld_type'] == 'Organization' && $key == 'telephone') {
1391
+ $markup['contactPoint'] = array(
1392
+ '@type' => 'ContactPoint',
1393
+ 'telephone' => $value,
1394
+ 'contactType' => SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['contactType'],
1395
+
1396
+ );
1397
  }
1398
 
1399
  if ($key == 'logo') {
1400
  if (SQ_Tools::$options['sq_jsonld_type'] == 'Person') {
1401
  $key = 'image';
1402
  }
1403
+ $markup[$key] = array(
1404
+ '@type' => 'ImageObject',
1405
+ 'url' => $value,
1406
+ );
1407
  } else {
1408
+ $markup[$key] = $value;
1409
  }
1410
+
1411
  }
1412
  }
1413
  }
1414
+ if (!empty($markup)) {
1415
+ $socials = array();
 
1416
  if (SQ_Tools::$options['sq_twitter_account'] <> '') {
1417
+ $socials[] = SQ_Tools::$options['sq_twitter_account'];
1418
  }
1419
  if (SQ_Tools::$options['sq_facebook_account'] <> '') {
1420
+ $socials[] = SQ_Tools::$options['sq_facebook_account'];
1421
  }
1422
  if (SQ_Tools::$options['sq_google_plus'] <> '') {
1423
+ $socials[] = SQ_Tools::$options['sq_google_plus'];
1424
  }
1425
  if (SQ_Tools::$options['sq_linkedin_account'] <> '') {
1426
+ $socials[] = SQ_Tools::$options['sq_linkedin_account'];
1427
  }
1428
  if (SQ_Tools::$options['sq_pinterest_account'] <> '') {
1429
+ $socials[] = SQ_Tools::$options['sq_pinterest_account'];
1430
  }
1431
  if (SQ_Tools::$options['sq_instagram_account'] <> '') {
1432
+ $socials[] = SQ_Tools::$options['sq_instagram_account'];
1433
  }
1434
 
1435
+ $markup['potentialAction'] = array(
1436
+ '@type' => 'SearchAction',
1437
+ 'target' => get_bloginfo('url') . '?s={search_string}',
1438
+ 'query-input' => 'required name=search_string',
1439
+ );
1440
 
1441
+ if (!empty($socials)) {
1442
+ $markup['sameAs'] = $socials;
1443
  }
 
 
1444
  }
1445
+ //add current markup
1446
+ $jsonld->set_data($markup);
1447
+ } elseif ($this->post_type == 'post') {
1448
+ $markup['@type'] = 'Article';
1449
+ $markup['@id'] = $this->url;
1450
+ $markup['url'] = $this->url;
1451
  if (isset($this->title)) {
1452
+ $markup['name'] = $this->truncate($this->title, $this->min_title_length, $this->max_title_length);
1453
  }
1454
  if (isset($this->description)) {
1455
+ $markup['headline'] = $this->truncate($this->description, $this->min_description_length, 110);
1456
  }
1457
+ $markup['mainEntityOfPage'] = array(
1458
+ '@type' => 'WebPage',
1459
+ 'url' => $this->url
1460
+ );
1461
 
1462
  if (!empty($this->thumb_images)) {
1463
+ $markup['thumbnailUrl'] = $this->thumb_images[0]['src'];
1464
  }
1465
  if (isset($this->post->post_date)) {
1466
+ $markup['datePublished'] = date('c', strtotime($this->post->post_date));
1467
  }
1468
  if (isset($this->post->post_modified)) {
1469
+ $markup['dateModified'] = date('c', strtotime($this->post->post_modified));
1470
  }
1471
  if (!empty($this->thumb_images)) {
1472
  foreach ($this->thumb_images as $image) {
1473
+ $markup['image'] = array(
1474
+ "@type" => "ImageObject",
1475
+ "url" => $image['src'],
1476
+ "height" => ((isset($image['height']) && $image['height'] <> '') ? (int)$image['height'] : 500),
1477
+ "width" => ((isset($image['width']) && $image['width'] <> '') ? (int)$image['width'] : 700),
1478
+ );
 
1479
  break;
1480
  }
1481
  }
1482
+ $markup['author'] = array(
1483
+ "@type" => "Person",
1484
+ "url" => $this->getAuthor('user_url'),
1485
+ "name" => $this->getAuthor('display_name'),
1486
+ );
1487
+
1488
  if (SQ_Tools::$options['sq_jsonld_type'] == 'Organization' && isset(SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']])) {
1489
+
1490
+ $markup['publisher'] = array(
1491
+ "@type" => SQ_Tools::$options['sq_jsonld_type'],
1492
+ "url" => $this->url,
1493
+ "name" => $this->getAuthor('display_name'),
1494
+ );
1495
+
1496
  foreach (SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']] as $key => $value) {
1497
  if ($value <> '') {
1498
  if ($key == 'contactType' || $key == 'telephone') {
1500
  }
1501
 
1502
  if ($key == 'logo') {
1503
+ $markup['publisher']['logo'] = array(
1504
+ "@type" => "ImageObject",
1505
+ "url" => $value
1506
+ );
1507
+
1508
  } else {
1509
+ $markup['publisher'][$key] = $value;
1510
  }
 
1511
  }
1512
  }
 
1513
  }
1514
+ $markup['keywords'] = str_replace(',', '","', $this->grabKeywordsFromPost());
1515
 
1516
+ //add current markup
1517
+ $jsonld->set_data($markup);
1518
  } elseif (is_author()) {
1519
+ $markup['@type'] = 'Person';
1520
+ $markup['@id'] = $this->getAuthor('user_url');
1521
+ $markup['url'] = $this->getAuthor('user_url');
1522
+ $markup['name'] = $this->getAuthor('display_name');
1523
 
1524
+ //add current markup
1525
+ $jsonld->set_data($markup);
1526
  }
1527
 
1528
+ return apply_filters('sq_json_ld_meta', $jsonld->getStructuredData());
 
 
 
 
1529
  }
1530
 
1531
  /**
1600
 
1601
  if ($post) {
1602
  if (!$this->isHomePage()) {
1603
+ $description = $this->truncate(SQ_Tools::i18n($post->post_excerpt), $this->min_description_length, $this->max_description_length);
1604
  if (!$description) {
1605
  $description = $this->truncate(SQ_Tools::i18n($post->post_content), $this->min_description_length, $this->max_description_length);
1606
  }
1930
  return trim(stripcslashes($text));
1931
  }
1932
 
 
 
 
 
 
 
 
 
 
1933
 
1934
  /**
1935
  * Show just distinct keywords
models/SQ_Menu.php CHANGED
@@ -82,13 +82,9 @@ class Model_SQ_Menu {
82
 
83
  if (!isset($this->menu[5]))
84
  $this->menu[5] = null;
85
- if (!isset($this->menu[6]))
86
- $this->menu[6] = null;
87
- if (!isset($this->menu[7]))
88
- $this->menu[7] = null;
89
 
90
  /* add the menu with WP */
91
- add_submenu_page($this->menu[0], $this->menu[1], $this->menu[2], $this->menu[3], $this->menu[4], $this->menu[5], $this->menu[6], $this->menu[7]);
92
  }
93
  }
94
  }
82
 
83
  if (!isset($this->menu[5]))
84
  $this->menu[5] = null;
 
 
 
 
85
 
86
  /* add the menu with WP */
87
+ add_submenu_page($this->menu[0], $this->menu[1], $this->menu[2], $this->menu[3], $this->menu[4], $this->menu[5]);
88
  }
89
  }
90
  }
models/SQ_Sitemaps.php CHANGED
@@ -104,6 +104,7 @@ class Model_SQ_Sitemaps {
104
 
105
  if (SQ_Tools::$options['sq_sitemap_show']['images'] == 1) {
106
  if ($images = SQ_ObjController::getModel('SQ_Frontend')->getImagesFromContent($post->ID, true)) {
 
107
  array_push($posts['contains'], 'image');
108
  $xml['image:image'] = array();
109
  foreach ($images as $image) {
104
 
105
  if (SQ_Tools::$options['sq_sitemap_show']['images'] == 1) {
106
  if ($images = SQ_ObjController::getModel('SQ_Frontend')->getImagesFromContent($post->ID, true)) {
107
+
108
  array_push($posts['contains'], 'image');
109
  $xml['image:image'] = array();
110
  foreach ($images as $image) {
models/services/JsonLD.php ADDED
@@ -0,0 +1,444 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Model_Service_JsonLD {
4
+ private $_data = array();
5
+ private $_types = array();
6
+
7
+ /**
8
+ * Constructor.
9
+ */
10
+ public function __construct() {
11
+ if (class_exists('WooCommerce')) {
12
+ // Generate structured data for Woocommerce 3.
13
+ add_action('woocommerce_before_main_content', array($this, 'generate_website_data'), 31);
14
+ add_action('woocommerce_breadcrumb', array($this, 'generate_breadcrumblist_data'), 11);
15
+ add_action('woocommerce_shop_loop', array($this, 'generate_product_data'), 11);
16
+ add_action('woocommerce_single_product_summary', array($this, 'generate_product_data'), 61);
17
+ add_action('woocommerce_review_meta', array($this, 'generate_review_data'), 21);
18
+ add_action('woocommerce_email_order_details', array($this, 'generate_order_data'), 21, 3);
19
+ } else {
20
+ add_action('template_redirect', array($this, 'generate_breadcrumblist_data_blog'), 99);
21
+ }
22
+ }
23
+
24
+ /**
25
+ * Sets data.
26
+ *
27
+ * @param array $data Structured data.
28
+ * @param bool $reset Unset data (default: false).
29
+ * @return bool
30
+ */
31
+ public function set_data($data, $reset = false) {
32
+ if (!isset($data['@type']) || !preg_match('|^[a-zA-Z]{1,20}$|', $data['@type'])) {
33
+ return false;
34
+ } else {
35
+ $this->_types[] = strtolower($data['@type']);
36
+ $this->_types = array_unique($this->_types);
37
+ }
38
+
39
+ if ($reset && isset($this->_data)) {
40
+ unset($this->_data);
41
+ }
42
+
43
+ $this->_data[] = $data;
44
+ return true;
45
+ }
46
+
47
+
48
+ /**
49
+ * Gets data.
50
+ *
51
+ * @return array
52
+ */
53
+ public function get_data() {
54
+ return $this->_data;
55
+ }
56
+
57
+ /**
58
+ * Structures and returns data.
59
+ *
60
+ * List of types available by default for specific request:
61
+ *
62
+ * 'product',
63
+ * 'review',
64
+ * 'breadcrumblist',
65
+ * 'website',
66
+ * 'order',
67
+ *
68
+ * @param array $types Structured data types.
69
+ * @return array
70
+ */
71
+ public function get_structured_data($types) {
72
+ $data = array();
73
+
74
+ // Put together the values of same type of structured data.
75
+ foreach ($this->get_data() as $value) {
76
+ $data[strtolower($value['@type'])][] = $value;
77
+ }
78
+
79
+ // Wrap the multiple values of each type inside a graph... Then add context to each type.
80
+ foreach ($data as $type => $value) {
81
+ $data[$type] = count($value) > 1 ? array('@graph' => $value) : $value[0];
82
+ $data[$type] = apply_filters('sq_structured_data_context', array('@context' => 'http://schema.org/'), $data, $type, $value) + $data[$type];
83
+ }
84
+
85
+ // If requested types, pick them up... Finally change the associative array to an indexed one.
86
+ $data = $types ? array_values(array_intersect_key($data, array_flip($types))) : array_values($data);
87
+
88
+ if (!empty($data)) {
89
+ $data = count($data) > 1 ? array('@graph' => $data) : $data[0];
90
+ }
91
+
92
+ return $data;
93
+ }
94
+
95
+
96
+ /**
97
+ * Get data types for pages.
98
+ *
99
+ * @return array
100
+ */
101
+ public function get_data_type_for_page() {
102
+ if (class_exists('WooCommerce')) {
103
+ $this->_types[] = is_shop() || is_product_category() || is_product() ? 'product' : '';
104
+ $this->_types[] = is_shop() && is_front_page() ? 'website' : '';
105
+ $this->_types[] = is_product() ? 'review' : '';
106
+ $this->_types[] = !is_shop() ? 'breadcrumblist' : '';
107
+ $this->_types[] = 'order';
108
+ }
109
+
110
+ return array_filter(apply_filters('sq_structured_data_type_for_page', $this->_types));
111
+ }
112
+
113
+ /**
114
+ * Sanitizes, encodes and outputs structured data.
115
+ *
116
+ * Hooked into `wp_footer` action hook.
117
+ * Hooked into `sq_email_order_details` action hook.
118
+ */
119
+ public function getStructuredData() {
120
+ $types = $this->get_data_type_for_page();
121
+ if ($data = $this->clean($this->get_structured_data($types))) {
122
+ return '<script type="application/ld+json">' . wp_json_encode($data) . '</script>';
123
+ }
124
+ }
125
+
126
+ public function clean($var) {
127
+ if (is_array($var)) {
128
+ return array_map(array($this, 'clean'), $var);
129
+ } else {
130
+ return is_scalar($var) ? sanitize_text_field($var) : $var;
131
+ }
132
+ }
133
+
134
+
135
+ /**
136
+ * Generates BreadcrumbList structured data.
137
+ *
138
+ * Hooked into `get_post_ancestors` action hook.
139
+ *
140
+ * @param $breadcrumbs Breadcrumb data.
141
+ */
142
+ public function generate_breadcrumblist_data_blog() {
143
+ global $post;
144
+ $crumbs = $markup = array();
145
+
146
+ if (isset($post->ID)) {
147
+ $ancestors = get_post_ancestors($post);
148
+ if (!empty($ancestors)) {
149
+ foreach ($ancestors as $ancestor) {
150
+ $crumbs[] = array(
151
+ strip_tags(get_the_title($ancestor)),
152
+ get_permalink($ancestor),
153
+ );
154
+ }
155
+ }
156
+
157
+ if (!empty($crumbs)) {
158
+ $markup['@type'] = 'BreadcrumbList';
159
+ $markup['itemListElement'] = array();
160
+
161
+ foreach ($crumbs as $key => $crumb) {
162
+ $markup['itemListElement'][$key] = array(
163
+ '@type' => 'ListItem',
164
+ 'position' => $key + 1,
165
+ 'item' => array(
166
+ 'name' => $crumb[0],
167
+ '@id' => $crumb[1]
168
+ ),
169
+ );
170
+
171
+ }
172
+ }
173
+ }
174
+
175
+ $this->set_data(apply_filters('sq_structured_data_breadcrumblist', $markup, $crumbs));
176
+ }
177
+
178
+ /**
179
+ * Generates Product structured data.
180
+ *
181
+ * Hooked into `sq_single_product_summary` action hook.
182
+ * Hooked into `sq_shop_loop` action hook.
183
+ *
184
+ * @param WC_Product $product Product data (default: null).
185
+ */
186
+ public function generate_product_data($product = null) {
187
+ if (!is_object($product)) {
188
+ global $product;
189
+ }
190
+
191
+ $shop_name = get_bloginfo('name');
192
+ $shop_url = home_url();
193
+ $currency = get_woocommerce_currency();
194
+ $markup = array();
195
+ $markup['@type'] = 'Product';
196
+ if (method_exists($product, 'get_id')) {
197
+ $markup['@id'] = get_permalink($product->get_id());
198
+ }
199
+ $markup['url'] = $markup['@id'];
200
+ if (method_exists($product, 'get_name')) {
201
+ $markup['name'] = $product->get_name();
202
+ } else {
203
+ $markup['name'] = $product->get_title();
204
+ }
205
+
206
+ if (apply_filters('sq_structured_data_product_limit', is_product_taxonomy() || is_shop())) {
207
+ $this->set_data(apply_filters('sq_structured_data_product_limited', $markup, $product));
208
+ return;
209
+ }
210
+
211
+ $markup_offer = array(
212
+ '@type' => 'Offer',
213
+ 'priceCurrency' => $currency,
214
+ 'availability' => 'http://schema.org/' . $stock = ($product->is_in_stock() ? 'InStock' : 'OutOfStock'),
215
+ 'sku' => $product->get_sku(),
216
+ 'image' => wp_get_attachment_url($product->get_image_id()),
217
+ 'description' => (method_exists($product, 'get_description') ? $product->get_description() : $product->get_title()),
218
+ 'seller' => array(
219
+ '@type' => 'Organization',
220
+ 'name' => $shop_name,
221
+ 'url' => $shop_url,
222
+ ),
223
+ );
224
+
225
+ if ($product->is_type('variable') && method_exists($product, 'get_variation_prices')) {
226
+ $prices = $product->get_variation_prices();
227
+
228
+ $markup_offer['priceSpecification'] = array(
229
+ 'price' => wc_format_decimal($product->get_price(), wc_get_price_decimals()),
230
+ 'minPrice' => wc_format_decimal(current($prices['price']), wc_get_price_decimals()),
231
+ 'maxPrice' => wc_format_decimal(end($prices['price']), wc_get_price_decimals()),
232
+ 'priceCurrency' => $currency,
233
+ );
234
+ } else {
235
+ $markup_offer['price'] = wc_format_decimal($product->get_price(), wc_get_price_decimals());
236
+ }
237
+
238
+ $markup['offers'] = array(apply_filters('sq_structured_data_product_offer', $markup_offer, $product));
239
+
240
+ if ($product->get_rating_count()) {
241
+ $markup['aggregateRating'] = array(
242
+ '@type' => 'AggregateRating',
243
+ 'ratingValue' => $product->get_average_rating(),
244
+ 'ratingCount' => $product->get_rating_count(),
245
+ 'reviewCount' => $product->get_review_count(),
246
+ );
247
+ }
248
+
249
+ $this->set_data(apply_filters('sq_structured_data_product', $markup, $product));
250
+ }
251
+
252
+ /**
253
+ * Generates Review structured data.
254
+ *
255
+ * Hooked into `sq_review_meta` action hook.
256
+ *
257
+ * @param WP_Comment $comment Comment data.
258
+ */
259
+ public function generate_review_data($comment) {
260
+ $markup = array();
261
+ $markup['@type'] = 'Review';
262
+ $markup['@id'] = get_comment_link($comment->comment_ID);
263
+ $markup['datePublished'] = get_comment_date('c', $comment->comment_ID);
264
+ $markup['description'] = get_comment_text($comment->comment_ID);
265
+
266
+ if ($rating = get_comment_meta($comment->comment_ID, 'rating', true)) {
267
+ $markup['reviewRating'] = array(
268
+ '@type' => 'rating',
269
+ 'ratingValue' => $rating,
270
+ );
271
+
272
+ // Skip replies unless they have a rating.
273
+ } elseif ($comment->comment_parent) {
274
+ return;
275
+ }
276
+
277
+ $markup['author'] = array(
278
+ '@type' => 'Person',
279
+ 'name' => get_comment_author($comment->comment_ID),
280
+ );
281
+
282
+ $this->set_data(apply_filters('sq_structured_data_review', $markup, $comment));
283
+ }
284
+
285
+ /**
286
+ * Generates BreadcrumbList structured data.
287
+ *
288
+ * Hooked into `sq_breadcrumb` action hook.
289
+ *
290
+ * @param WC_Breadcrumb $breadcrumbs Breadcrumb data.
291
+ */
292
+ public function generate_breadcrumblist_data($breadcrumbs) {
293
+ $crumbs = $breadcrumbs->get_breadcrumb();
294
+
295
+ $markup = array();
296
+ $markup['@type'] = 'BreadcrumbList';
297
+ $markup['itemListElement'] = array();
298
+
299
+ foreach ($crumbs as $key => $crumb) {
300
+ $markup['itemListElement'][$key] = array(
301
+ '@type' => 'ListItem',
302
+ 'position' => $key + 1,
303
+ 'item' => array(
304
+ 'name' => $crumb[0],
305
+ ),
306
+ );
307
+
308
+ if (!empty($crumb[1]) && sizeof($crumbs) !== $key + 1) {
309
+ $markup['itemListElement'][$key]['item'] += array('@id' => $crumb[1]);
310
+ }
311
+ }
312
+
313
+ $this->set_data(apply_filters('sq_structured_data_breadcrumblist', $markup, $breadcrumbs));
314
+ }
315
+
316
+ /**
317
+ * Generates WebSite structured data.
318
+ *
319
+ * Hooked into `sq_before_main_content` action hook.
320
+ */
321
+ public function generate_website_data() {
322
+ $markup = array();
323
+ $markup['@type'] = 'WebSite';
324
+ $markup['name'] = get_bloginfo('name');
325
+ $markup['url'] = home_url();
326
+ $markup['potentialAction'] = array(
327
+ '@type' => 'SearchAction',
328
+ 'target' => home_url('?s={search_term_string}&post_type=product'),
329
+ 'query-input' => 'required name=search_term_string',
330
+ );
331
+
332
+ $this->set_data(apply_filters('sq_structured_data_website', $markup));
333
+ }
334
+
335
+ /**
336
+ * Generates Order structured data.
337
+ *
338
+ * Hooked into `sq_email_order_details` action hook.
339
+ *
340
+ * @param WP_Order $order Order data.
341
+ * @param bool $sent_to_admin Send to admin (default: false).
342
+ * @param bool $plain_text Plain text email (default: false).
343
+ */
344
+ public function generate_order_data($order, $sent_to_admin = false, $plain_text = false) {
345
+ if ($plain_text || !is_a($order, 'WC_Order')) {
346
+ return;
347
+ }
348
+
349
+ $shop_name = get_bloginfo('name');
350
+ $shop_url = home_url();
351
+ $order_url = $sent_to_admin ? admin_url('post.php?post=' . absint($order->get_id()) . '&action=edit') : $order->get_view_order_url();
352
+ $order_statuses = array(
353
+ 'pending' => 'http://schema.org/OrderPaymentDue',
354
+ 'processing' => 'http://schema.org/OrderProcessing',
355
+ 'on-hold' => 'http://schema.org/OrderProblem',
356
+ 'completed' => 'http://schema.org/OrderDelivered',
357
+ 'cancelled' => 'http://schema.org/OrderCancelled',
358
+ 'refunded' => 'http://schema.org/OrderReturned',
359
+ 'failed' => 'http://schema.org/OrderProblem',
360
+ );
361
+
362
+ $markup_offers = array();
363
+ foreach ($order->get_items() as $item) {
364
+ if (!apply_filters('sq_order_item_visible', true, $item)) {
365
+ continue;
366
+ }
367
+
368
+ $product = apply_filters('sq_order_item_product', $order->get_product_from_item($item), $item);
369
+ $product_exists = is_object($product);
370
+ $is_visible = $product_exists && $product->is_visible();
371
+
372
+ $markup_offers[] = array(
373
+ '@type' => 'Offer',
374
+ 'price' => $order->get_line_subtotal($item),
375
+ 'priceCurrency' => $order->get_currency(),
376
+ 'priceSpecification' => array(
377
+ 'price' => $order->get_line_subtotal($item),
378
+ 'priceCurrency' => $order->get_currency(),
379
+ 'eligibleQuantity' => array(
380
+ '@type' => 'QuantitativeValue',
381
+ 'value' => apply_filters('sq_email_order_item_quantity', $item['qty'], $item),
382
+ ),
383
+ ),
384
+ 'itemOffered' => array(
385
+ '@type' => 'Product',
386
+ 'name' => apply_filters('sq_order_item_name', $item['name'], $item, $is_visible),
387
+ 'sku' => $product_exists ? $product->get_sku() : '',
388
+ 'image' => $product_exists ? wp_get_attachment_image_url($product->get_image_id()) : '',
389
+ 'url' => $is_visible ? get_permalink($product->get_id()) : get_home_url(),
390
+ ),
391
+ 'seller' => array(
392
+ '@type' => 'Organization',
393
+ 'name' => $shop_name,
394
+ 'url' => $shop_url,
395
+ ),
396
+ );
397
+ }
398
+
399
+ $markup = array();
400
+ $markup['@type'] = 'Order';
401
+ $markup['url'] = $order_url;
402
+ $markup['orderStatus'] = isset($order_status[$order->get_status()]) ? $order_status[$order->get_status()] : '';
403
+ $markup['orderNumber'] = $order->get_order_number();
404
+ $markup['orderDate'] = $order->get_date_created()->format('c');
405
+ $markup['acceptedOffer'] = $markup_offers;
406
+ $markup['discount'] = $order->get_total_discount();
407
+ $markup['discountCurrency'] = $order->get_currency();
408
+ $markup['price'] = $order->get_total();
409
+ $markup['priceCurrency'] = $order->get_currency();
410
+ $markup['priceSpecification'] = array(
411
+ 'price' => $order->get_total(),
412
+ 'priceCurrency' => $order->get_currency(),
413
+ 'valueAddedTaxIncluded' => true,
414
+ );
415
+ $markup['billingAddress'] = array(
416
+ '@type' => 'PostalAddress',
417
+ 'name' => $order->get_formatted_billing_full_name(),
418
+ 'streetAddress' => $order->get_billing_address_1(),
419
+ 'postalCode' => $order->get_billing_postcode(),
420
+ 'addressLocality' => $order->get_billing_city(),
421
+ 'addressRegion' => $order->get_billing_state(),
422
+ 'addressCountry' => $order->get_billing_country(),
423
+ 'email' => $order->get_billing_email(),
424
+ 'telephone' => $order->get_billing_phone(),
425
+ );
426
+ $markup['customer'] = array(
427
+ '@type' => 'Person',
428
+ 'name' => $order->get_formatted_billing_full_name(),
429
+ );
430
+ $markup['merchant'] = array(
431
+ '@type' => 'Organization',
432
+ 'name' => $shop_name,
433
+ 'url' => $shop_url,
434
+ );
435
+ $markup['potentialAction'] = array(
436
+ '@type' => 'ViewAction',
437
+ 'name' => 'View Order',
438
+ 'url' => $order_url,
439
+ 'target' => $order_url,
440
+ );
441
+
442
+ $this->set_data(apply_filters('sq_structured_data_order', $markup, $sent_to_admin, $order), true);
443
+ }
444
+ }
readme.txt CHANGED
@@ -1,23 +1,25 @@
1
  === SEO by SQUIRRLY™ ===
2
  Contributors: calinvingan, florinmuresan, nagy.sorel
3
- Tags: seo,seo plugin,apps,wordpress seo,seo optimization,seo content,plugin,content seo,search engine optimization,xml,sitemap,keyword,keyword research,post,posts,page,multisite,squirrly,wordpress,tag,image,images,photos,flickr,statistics,stats,google,content,title,description,favicon,mobile,canonical,author,google plus,analytics,admin,seo correction,seo title,seo meta,meta,google,twitter,news,blog,e-commerce,ecommerce,woocommerce,feed,feeds,marketing,buddypress,social,social media,url,automatic,iphone,administration,analytics,blogging,categories,comment,dashboard,free,google-analytics,linkedin,list,media,optimization,performance,pinterest,plugins,products,share,sharing,tags,tracking,traffic,tweet
4
- Requires at least: 3.5
5
  Tested up to: 4.7
6
  Stable tag: trunk
7
  Donate link: https://www.squirrly.co/wordpress-seo-by-squirrly
8
 
9
- SEO Plugin By Squirrly is for the NON-SEO experts. Get Excellent SEO with Better Content, Ranking and Analytics. For Both Humans and Search Bots.
10
-
11
  == Description ==
 
 
12
  SEO By Squirrly helps you write content that is SEO friendly and ALSO Human friendly. You'll get to improve your rankings, while providing your readers with great content. See Your SEO Stats, get a weekly SEO Audit and find the best keywords.
13
 
14
  It works well with Wordpress sites that already have <strong>Yoast</strong> or <strong>All In One SEO</strong>. You can opt-in to keep those settings, so no need to start over again :-)
15
 
16
- Recommended by <strong><a href="http://www.quicksprout.com/university/how-to-maximize-your-seo-traffic-with-these-must-have-wordpress-plugins/" >Neil Patel</a></strong>, the co-founder of Kissmetrics and Crazy Egg. Also by <strong>Brian Dean</strong> and over 100 content marketing experts
17
 
18
  [youtube https://www.youtube.com/watch?v=mEjrE7TuDDc]
19
 
20
- See all the Squirrly SEO 2017 features at: http://howto.squirrly.co/category/sides/
21
 
22
  Based on the topic you're writing about, the interface will light up green while you're editing your text, so that you know you've done something right. When all the lights are green, you can publish it, because your text has excellent SEO and it's 100% optimized.
23
 
@@ -81,11 +83,11 @@ Once you start having bigger content marketing and SEO needs (more than one arti
81
 
82
  * <em>"Great SEO info at a click"</em>
83
 
84
- <strong>You can read reviews from Internet Marketing experts on http://howto.squirrly.co/testimonials/</strong>
85
 
86
- Over 1,600,000 Downloads. Our startup consists of 10 content marketing professionals dedicated to making Squirrly an amazing piece of software and writing great training materials to help you be successful and stay successful.
87
 
88
- Over 860 Content Marketing Experts have reviewed our Wordpress SEO plugin and loved it.
89
 
90
  Over 2580 students to our $147 Content Marketing Training on Udemy. Part of that training you'll be receiving for free when signing up for this Wordpress seo plugin.
91
 
@@ -105,10 +107,10 @@ We're glad to have you,
105
  Florin Muresan
106
  CEO of Squirrly
107
 
108
- See all the Features of our product on the <a href="http://howto.squirrly.co/category/sides/" title="Squirrly WordPress SEO"> All Squirrly SEO Features </a>.
109
 
110
  <a href="/extend/plugins/squirrly-seo/screenshots/" title="Squirrly SEO Plugin">Check our screenshots</a>
111
- | <a href="http://howto.squirrly.co/" title="Squirrly SEO" target="_blank">Go to our official site</a> | Free Version (if you install from the WP directory) OR <a href="http://howto.squirrly.co/squirrly-pricing-plans/" title="See Pricing" target="_blank">Pricing Plans</a>
112
 
113
  == Installation ==
114
  1. Log In as an Admin on your WordPress blog.
@@ -134,240 +136,58 @@ Type a keyword to the right of the screen and start using Squirrly Seo. Enjoy!
134
  7. Seo - Check your Weekly Site Audit and improve to get higher scores
135
 
136
  == Upgrade Notice ==
137
- Squirrly 6.2.8 it's a stable version of Squirrly SEO and has all the SEO requirements by Search Engines
138
 
139
  == Changelog ==
140
- = 6.3.1 =
141
- * Inform users with multiple active subscriptions
142
- * Updated terms and contitions
143
- * Added more links for support in the Feedback and Support sections
144
- * Fixed Facebook Admin ID for Profile and Pages
145
- * Changed the Theme for Squirrly SEO Settings and Advanced sections
146
- * Fixed Typos and Broken Links
147
- * Updated the Keyword Research for Long Tail Keyword
148
-
149
- * Optimized the loading speed in case of poor connection with the API
150
- * Pass the SSL issue for API calls
151
- * Fixed the Squirrly SEO Weekly audit for free users
152
- * Fixed Pay With a Tweet button
153
- * Added google.us in Ranking Option
154
-
155
- = 6.3.0 =
156
- * Updated the facebook and google tracking code
157
- * Improved the Faceboox Pixel Feature to work with Woocommerce
158
- * Corrected the google tracking code
159
- * Improved the comunication with the API server
160
-
161
- = 6.2.8 =
162
- * Fixed the Canonical link for some WP Themes
163
- * Added forced keyword update in Squirrly SEO Settings
164
- * Added a new Country in the Rank Option section
165
-
166
- = 6.2.6 =
167
- * Fixed Canonical link for facebook Open Graph
168
- * Don't show the Canonical Link if Squirrly SEO is off
169
- * Fixed keyword saving on post update
170
- * Happy New Year!
171
-
172
- = 6.2.5 =
173
- * Added Instagram and Pinterest in Social Json-LD
174
- * Fixed the connection issue in some cases when a keyword is modified
175
- * Fixed memory load when not usign Squirrly SEO
176
-
177
- = 6.2.4 =
178
- * Fixed bug for Google Analytics AMP version
179
- * Fixed both title and description when include price value
180
- * Compatible with WP 4.7
181
-
182
- = 6.2.3 =
183
- * Added Open Graph Image for First Page when the first page is a blog feed
184
- * Fixed small css issues in post editor
185
- * Fixed duplicate title removal
186
- * Added AMP Analytics from Google
187
-
188
- = 6.2.2 =
189
- * Compatible with WP 4.6.1
190
- * Fixed SEO Page Optimization for Post Feed Page and Home Page
191
- * Update SEO features
192
-
193
- = 6.2.0 =
194
- * Added Facebook Pixel Tracking Code in Squirrly > SEO > Tracking
195
- * Added more Copyright Free images in Squirrly SEO Live Assistant from:
196
- * Pixabay.com
197
- * Unsplash.com
198
- * Pexels.com
199
- *
200
- * Fixed loading the Seo Live Assistant when a page is not optimized for a keyword
201
- * Fixed the connection issues between the plugin and API when a post is saved
202
- * Fixed the Squirrly Snippet when connected as Editor or Author4
203
-
204
-
205
- = 6.1.6 =
206
- * Added custom title and description for the Posts Page in Settings > Reading > Posts page
207
- * Fixed the JsonLD phone + prefix
208
- * Fixed typos
209
-
210
- = 6.1.5 =
211
- * July 2016 Security updates.
212
- * Fixed vulnerabilities between users who have rights in you site
213
- * Fixed some Squirrly SEO Snippet issues on first save
214
- * Added google.co.id in Rank Option
215
-
216
- = 6.1.3 =
217
- * Rich Pins Validator Option
218
- * Added rich pins for Woocommerce Products
219
-
220
- = 6.1.2 =
221
- * Compatible with WP 4.5.3
222
- * Fixed the google profile link
223
- * Corrected some old links
224
- * We moved js files on cloud for faster loading
225
- * Update Rank Check to the latest Google Requirements
226
-
227
- = 6.1.0 =
228
- * Compatible with WP 4.5.2
229
- * Fixed the Front Page SEO to work with more WP themes
230
- * Fixed compatibility with PolyLang plugin
231
- * Fixed compatibility with Customizr theme
232
- * Fixed Squirrly SEO Snippet for arabic lang
233
-
234
- = 6.0.9 =
235
- * Compatible with WP 4.5
236
- * Fixed Squirrly Analaytics in Performance Analytics
237
-
238
- = 6.0.6 =
239
- * Update the Squirrly SEO Snippet
240
- * Fixed the Json AMP for articles
241
- * Added dateModified, ImageObject, mainEntityOfPage, publisher
242
-
243
- = 6.0.4 =
244
- * Fixed the snippet to save long text
245
- * Fixed the woocommerce title and description for a category
246
- * Fix the SEO for more themes
247
-
248
- = 6.0.3 =
249
- * Fixed compatibility with NextGen Gallery plugin
250
- * Compatible with 4.4.3
251
-
252
- = 6.0.2 =
253
- * Added style for the site feed in Squirrly > SEO
254
- * Fixed the hook for feed when Squirrly SEO sitemap is active
255
- * Fixed the SEO for more WP themes
256
-
257
- = 6.0.0 =
258
- * The last stable version of Squirrly with all the features included:
259
- * Squirrly SEO is compatible with more WP themes
260
- * Twitter Card latest updates (summary and summary_large_image)
261
- * Open Graph updates (multiple images, videos)
262
- * Sitemap with more video like Wistia.com, FLV
263
- * External Canonical Link
264
- * Woocommerce & Instapage compatility
265
- * Compatible with WP 4.4.1
266
-
267
- = 5.3.1 =
268
- * Added the Twitter Summary Type option in Squirrly > SEO > Twitter Card
269
- * Fixed the same Title SEO issues for some WP themes
270
  * Fixed small bugs
271
 
272
- = 5.2.9 =
273
- * Optimized the way SEO is loading in every page
274
- * Optimized SEO for Instapage Plugin
275
- * Updated the Google Analytics Tracking code
276
- * Fixed the compatibility issue in Performance Analytics
277
- * Added twitter summary for large images
278
-
279
- = 5.2.7 =
280
- * Added Squirrly SEO Canonical Link in Post Edit page
281
- * Added Norway country in Google Rank Option
282
- * Set the Squirrly SEO Snippet OG image as shared image
283
- * Set Squirrly SEO Live Assistant to work with more multilanguage plugins
284
- * Fixed the images in Squirrly Inspiration Box
285
-
286
- = 5.2.6 =
287
- * Compatible with Smart Security Tools plugin
288
- * Added the google.ee in Squirrly Rank Option
289
- * Fixed the Squirrly SEO Keyword not to be added in Tags if is switched off in Squirrly > Settings
290
-
291
- = 5.2.5 =
292
- * Improved the Squirrly SEO Keyword Research
293
- * Fixed the sitemap.xml with videos included
294
- * Changed to relative url in sitemap.xml for multisites
295
-
296
- = 5.2.3 =
297
- * Compatible with Wordpress 4.3.1
298
- * Fixed the Seo Live Assistant to verify keywords with commas
299
- * Fixed the Seo Live Assistant to work with HTTPS dashboard for Wikis and Keyword suggestion
300
- * Fixed the OG:image:width issue when the width is null
301
- * Fixed the HTTPS connection when the general settings are not set correctly
302
- * Fixed minor bug
303
- * Updated to the last on-page SEO requirements
304
- * Increased the Squirrly speed in post editor
305
-
306
-
307
- = 5.2.2 =
308
- * Add the last google updates for JSON-LD Structured Data
309
- * Make sitemap.xml work for a large number of articles
310
-
311
- = 5.2.1 =
312
- * Compatible with Wordpress 4.3
313
- * Fixed the Head Buffer for some themes
314
-
315
- = 5.2.0 =
316
- * Compatible with Wordpress 4.2.4
317
- * Added 17 more languages in Squirrly SEO Keyword Research
318
- * Added the focused language for Social Media in Squirrly > SEO
319
- * Added Squirrly SEO Performance Analytics in custom post types selected from Squirrly SEO > Settings
320
- * Add top menu link for Rank check
321
-
322
- = 5.1.6 =
323
- * Compatible with WP 4.2.3
324
- * Improved the rank check to prevent Google temporary IP block
325
- * Improved the plugin speed in backend
326
- * Fixed the Incorrect Hreflang META implementation
327
- * Add the optimization progress bar in the post/page list
328
- * Fixed the restore the settings from backup validator
329
-
330
- = 5.1.2 =
331
- * Added new features in Open Graph for the Posts/Pages
332
- * Added the SEO Settings Backup and Restore
333
- * Improved the SEO Live Assistant to recognize more languages and chars
334
- * Improved the communication with the API Server
335
- * Fixed the Analytics notification bar
336
- * Fixed the wp_is_writable for older wp versions
337
- * Fixed the Open Graph not to include non embed videos in meta
338
- * Fixed the Sitemap Ping option to remain switched on when is selected
339
- * Added the custom size image for Open Graph in Squirrly SEO Snippet
340
-
341
- = 5.0.3 =
342
- * Prevent canonical, prev, next meta duplicate inserted by other SEO plugins
343
- * Fixed snippet custom title and description to change when other SEO plugins are installed
344
- * Fixed javascript issue in login page
345
-
346
- = 5.0.0 =
347
- * Changed Squirrly SEO look
348
- * Compatible with WP eCommerce plugin
349
- * Made SEO improvements for Woocommerce plugin
350
- * Interactive learning for the entire Squirrly SEO plugin
351
- * Faster post save for long text and remote images
352
- * Settings and SEO check improved
353
- * Added robots.txt for multisites with security
354
- * Added sitemap for multisites
355
- * Added sitemap for images and videos for each article
356
- * Added the Json LD in Structured Data META
357
- * Added the social linked Data for Json LD and publisher
358
- * Added the favicon.ico for multisites
359
- * Added the icos for apple devices
360
- * Added the SEO progress in post editor
361
- * Added the SEO Star option in Dashboard
362
- * Fixed bugs for multisites and made it compatible with WP 4.2
363
- * Fixed the snippet title and description special chars
364
- * Fixed the custom fields variable in post editor
365
- * Fixed the site icon and added the site icon for multisites
366
- * Fixed Sitemap for default permalink option
367
- * Fixed the SEO Analytics and the Rank updates
368
- * Fixed the SEO for First Page if the Home Page is not a static page
369
- * Fixed the SEO for the First Page when it starts with woocommerce shop
370
 
 
 
371
 
372
  == Credits ==
373
  * Florin Muresan - CEO at Squirrly
@@ -377,9 +197,6 @@ Squirrly 6.2.8 it's a stable version of Squirrly SEO and has all the SEO require
377
  * Cristina Leau - Squirrly mascot designer
378
  * Alexandra Nicola - COO
379
  * Teodora Vingan - SEO Analyser
380
- * Tim - Content Writer
381
- * Olivia Barbu - Content Writer
382
- * Alex Iftode - Content Writer
383
  * Irina Pogor - Content Writer
384
  * Ana Darstaru - Chief of Customer Service
385
  * Lucian Nertan - VP of Agency
@@ -404,7 +221,7 @@ Please tell your web master to add the IPs 176.9.59.55 and 176.9.112.210 in the
404
 
405
  = How does Squirrly WordPress SEO Plugin work? =
406
  Neil Patel, the Co-Founder of Kissmetrics and Crazy Egg made a great video on how to use Squirrly's Live Assistant:
407
- http://www.quicksprout.com/university/how-to-maximize-your-seo-traffic-with-these-must-have-wordpress-plugins/
408
 
409
  = How does the META Description work in Squirrly SEO Optimization? =
410
  Based on your article, Squirrly will find the most relevant text and add it in the META Description.
@@ -413,7 +230,7 @@ You can opt-in to use the Squirrly Snippet in the Post/Page editor, which will a
413
 
414
  = 100% green in Squirrly Live Assistant but I’m not getting traffic yet =
415
  Sometimes we receive emails with this question and I want to help everybody have the correct image of Squirrly Live Assistance.
416
- http://howto.squirrly.co/wordpress-seo/100-green-in-squirrly-live-assistant-but-im-not-getting-traffic/
417
 
418
  = Is Squirrly SEO Plugin free? =
419
  Yes, you just have to install the plugin from the WP directory into your site. Then connect with your email to Squirrly. The Free Version will automatically start. Read below for more. Once you have bigger content marketing needs, you can opt-in to upgrade to the PRO Plan.
1
  === SEO by SQUIRRLY™ ===
2
  Contributors: calinvingan, florinmuresan, nagy.sorel
3
+ Tags: seo,wordpress seo,seo plugin,seo optimization,seo content,keyword research,content seo,apps,plugin,search engine optimization,sitemap,keyword,post,posts,page,multisite,squirrly,google,content,title,description,favicon,mobile,canonical,author,seo correction,seo title,seo meta,meta,google,twitter,news,blog,e-commerce,ecommerce,woocommerce,feed,feeds,marketing,social media,url,blogging,free,google-analytics,optimization,plugins,tags,tracking
4
+ Requires at least: 3.5
5
  Tested up to: 4.7
6
  Stable tag: trunk
7
  Donate link: https://www.squirrly.co/wordpress-seo-by-squirrly
8
 
9
+ SEO By Squirrly is for the NON-SEO experts. Get Excellent SEO with Better Content, Ranking and Analytics. For Both Humans and Search Bots.
10
+
11
  == Description ==
12
+ SEO By Squirrly is for the NON-SEO experts. Get Excellent SEO with Better Content, Ranking and Analytics. For Both Humans and Search Bots.
13
+
14
  SEO By Squirrly helps you write content that is SEO friendly and ALSO Human friendly. You'll get to improve your rankings, while providing your readers with great content. See Your SEO Stats, get a weekly SEO Audit and find the best keywords.
15
 
16
  It works well with Wordpress sites that already have <strong>Yoast</strong> or <strong>All In One SEO</strong>. You can opt-in to keep those settings, so no need to start over again :-)
17
 
18
+ Recommended by <strong><a href="https://www.quicksprout.com/university/how-to-maximize-your-seo-traffic-with-these-must-have-wordpress-plugins/" >Neil Patel</a></strong>, the co-founder of Kissmetrics and Crazy Egg. Also by <strong>Brian Dean</strong> and over 100 content marketing experts
19
 
20
  [youtube https://www.youtube.com/watch?v=mEjrE7TuDDc]
21
 
22
+ See all the Squirrly SEO 2017 features at: <a href="https://howto.squirrly.co/category/sides/" >https://howto.squirrly.co/category/sides/</a>
23
 
24
  Based on the topic you're writing about, the interface will light up green while you're editing your text, so that you know you've done something right. When all the lights are green, you can publish it, because your text has excellent SEO and it's 100% optimized.
25
 
83
 
84
  * <em>"Great SEO info at a click"</em>
85
 
86
+ <strong>You can read reviews from Internet Marketing experts on <a href="https://howto.squirrly.co/testimonials/">https://howto.squirrly.co/testimonials/</a></strong>
87
 
88
+ Over 2,100,000 Downloads. Our startup consists of 10 content marketing professionals dedicated to making Squirrly an amazing piece of software and writing great training materials to help you be successful and stay successful.
89
 
90
+ Over 1000 Content Marketing Experts have reviewed our Wordpress SEO plugin and loved it.
91
 
92
  Over 2580 students to our $147 Content Marketing Training on Udemy. Part of that training you'll be receiving for free when signing up for this Wordpress seo plugin.
93
 
107
  Florin Muresan
108
  CEO of Squirrly
109
 
110
+ See all the Features of our product on the <a href="https://howto.squirrly.co/category/sides/" title="Squirrly WordPress SEO"> All Squirrly SEO Features </a>.
111
 
112
  <a href="/extend/plugins/squirrly-seo/screenshots/" title="Squirrly SEO Plugin">Check our screenshots</a>
113
+ | <a href="https://plugin.squirrly.co/" title="Squirrly SEO" target="_blank">Go to our official site</a> | Free Version (if you install from the WP directory) OR <a href="https://plugin.squirrly.co/squirrly-pricing-plans/" title="See Pricing" target="_blank">Pricing Plans</a>
114
 
115
  == Installation ==
116
  1. Log In as an Admin on your WordPress blog.
136
  7. Seo - Check your Weekly Site Audit and improve to get higher scores
137
 
138
  == Upgrade Notice ==
139
+ Squirrly 6.3.1 it's a stable version of Squirrly SEO and has all the SEO requirements by Search Engines
140
 
141
  == Changelog ==
142
+ = 8.0.1 - 05/08/2017 =
143
+ * Made the Sitemap Compatible with more Wordpress Themes
144
+ * Update the validation link for Twitter
145
+ * Fixed broken links in SEO Audit
146
+
147
+ = 8.0.0 - 05/01/2017 =
148
+ * Squirrly SEO 2018 version
149
+
150
+ = 7.0.6 - 04/15/2017 =
151
+ * Fixed Duplicate Head tag
152
+ * Add Facebook Publisher in Meta
153
+ * Fixed Facebook Admin ID
154
+
155
+ = 7.0.5 - 04/04/2017 =
156
+ * Remove Title Tag Duplicates
157
+ * Compatible with WP 4.7.4
158
+ * Increase loading speed
159
+ * Don't Load Squirrly for 404 pages
160
+
161
+ = 7.0.4 - 03/20/2017 =
162
+ * Removed the filter with private IP check in Squirrly SEO Performance Analytics
163
+ * Updated the Squirrly SEO Live Assistant for Media Library
164
+ * Added Site Audit Progress in https://my.squirrly.co for each blog
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  * Fixed small bugs
166
 
167
+ = 7.0.3 - 03/19/2017 =
168
+ * Updated the Json LD for Woocommerce 3.0
169
+ * Fixed bugs from the New Keyword Research
170
+ * Fixed Headline for Google Structured Tool
171
+ * Fixed creating the new blogs on our server
172
+ * Fixed the sitemap with the same image in case you set a front-end image
173
+
174
+ = 7.0.1 - 03/01/2017 =
175
+ * Fixed the localhost verification for Performance Analytics
176
+ * Remove sitemap comments and white spaces from cache plugins
177
+
178
+ = 7.0.0 - 02/10/2017 =
179
+ * Includes the Squirrly 2017 features and updates
180
+ * Updates in Keyword Research
181
+ * Updates in Squirrly Live Assistant
182
+ * Updates in SEO for 2017
183
+ * Updates for Copyright Free Images
184
+ * Updates in Squirrly SEO Advannced Settings
185
+ * Updates in the Squirrly Admin Menu
186
+ * Updates in https://my.squirrly.co panel
187
+ * Made all the Changes to G17 features. We announced them last week
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
188
 
189
+ = 6.3.1 =
190
+ * Changelog Archive: <a href="https://plugin.squirrly.co/squirrly-seo-changelog/">https://plugin.squirrly.co/squirrly-seo-changelog/</a>
191
 
192
  == Credits ==
193
  * Florin Muresan - CEO at Squirrly
197
  * Cristina Leau - Squirrly mascot designer
198
  * Alexandra Nicola - COO
199
  * Teodora Vingan - SEO Analyser
 
 
 
200
  * Irina Pogor - Content Writer
201
  * Ana Darstaru - Chief of Customer Service
202
  * Lucian Nertan - VP of Agency
221
 
222
  = How does Squirrly WordPress SEO Plugin work? =
223
  Neil Patel, the Co-Founder of Kissmetrics and Crazy Egg made a great video on how to use Squirrly's Live Assistant:
224
+ https://www.quicksprout.com/university/how-to-maximize-your-seo-traffic-with-these-must-have-wordpress-plugins/
225
 
226
  = How does the META Description work in Squirrly SEO Optimization? =
227
  Based on your article, Squirrly will find the most relevant text and add it in the META Description.
230
 
231
  = 100% green in Squirrly Live Assistant but I’m not getting traffic yet =
232
  Sometimes we receive emails with this question and I want to help everybody have the correct image of Squirrly Live Assistance.
233
+ <a href="https://howto.squirrly.co/wordpress-seo/100-green-in-squirrly-live-assistant-but-im-not-getting-traffic/">https://howto.squirrly.co/wordpress-seo/100-green-in-squirrly-live-assistant-but-im-not-getting-traffic/</a>
234
 
235
  = Is Squirrly SEO Plugin free? =
236
  Yes, you just have to install the plugin from the WP directory into your site. Then connect with your email to Squirrly. The Free Version will automatically start. Read below for more. Once you have bigger content marketing needs, you can opt-in to upgrade to the PRO Plan.
squirrly.php CHANGED
@@ -1,19 +1,19 @@
1
  <?php
2
 
3
  /*
4
- Copyright (c) 2012, SEO Squirrly.
5
  The copyrights to the software code in this file are licensed under the (revised) BSD open source license.
6
 
7
  Plugin Name: SEO by SQUIRRLY
8
  Plugin URI: http://www.squirrly.co
9
- Description: SEO Plugin By Squirrly is for the NON-SEO experts. Get Excellent Seo with Better Content, Ranking and Analytics. For Both Humans and Search Bots.<BR> <a href="http://my.squirrly.co/user" target="_blank"><strong>Check your profile</strong></a>
10
- Author: calinvingan, florinmuresan, nagy.sorel
11
- Version: 6.3.1
12
  Author URI: http://www.squirrly.co
13
  */
14
 
15
  /* SET THE CURRENT VERSION ABOVE AND BELOW */
16
- define('SQ_VERSION', '6.3.1');
17
  /* Call config files */
18
  if (file_exists(dirname(__FILE__) . '/config/config.php')) {
19
  require(dirname(__FILE__) . '/config/config.php');
@@ -35,6 +35,7 @@ if (file_exists(dirname(__FILE__) . '/config/config.php')) {
35
  register_activation_hook(__FILE__, array(SQ_ObjController::getController('SQ_Tools', false), 'sq_activate'));
36
  register_deactivation_hook(__FILE__, array(SQ_ObjController::getController('SQ_Tools', false), 'sq_deactivate'));
37
  } elseif (SQ_Tools::$options['sq_use'] == 1) {
 
38
  SQ_ObjController::getController('SQ_Frontend');
39
  }
40
 
1
  <?php
2
 
3
  /*
4
+ Copyright (c) 2012-2017, SEO Squirrly.
5
  The copyrights to the software code in this file are licensed under the (revised) BSD open source license.
6
 
7
  Plugin Name: SEO by SQUIRRLY
8
  Plugin URI: http://www.squirrly.co
9
+ Description: SEO By Squirrly is for the NON-SEO experts. Get Excellent Seo with Better Content, Ranking and Analytics. For Both Humans and Search Bots.<BR> <a href="http://my.squirrly.co/user" target="_blank"><strong>Check your profile</strong></a>
10
+ Author: Squirrly SEO
11
+ Version: 8.0.1
12
  Author URI: http://www.squirrly.co
13
  */
14
 
15
  /* SET THE CURRENT VERSION ABOVE AND BELOW */
16
+ define('SQ_VERSION', '8.0.1');
17
  /* Call config files */
18
  if (file_exists(dirname(__FILE__) . '/config/config.php')) {
19
  require(dirname(__FILE__) . '/config/config.php');
35
  register_activation_hook(__FILE__, array(SQ_ObjController::getController('SQ_Tools', false), 'sq_activate'));
36
  register_deactivation_hook(__FILE__, array(SQ_ObjController::getController('SQ_Tools', false), 'sq_deactivate'));
37
  } elseif (SQ_Tools::$options['sq_use'] == 1) {
38
+ //Load Frontend only if Squirrly SEO is enabled
39
  SQ_ObjController::getController('SQ_Frontend');
40
  }
41
 
themes/default/SQ_BlockAccount.php CHANGED
@@ -7,6 +7,7 @@
7
  <div id="sq_settings_title" ><?php _e('Squirrly account information', _SQ_PLUGIN_NAME_); ?> </div>
8
  <div id="sq_settings_title" style="text-align: right">
9
  <input id="sq_goto_dashboard" class="sq_goto_dashboard" type="button" value="<?php _e('Go to dashboard', _SQ_PLUGIN_NAME_) ?> &raquo;" />
 
10
  <br style="clear: both;">
11
  </div>
12
  </div>
7
  <div id="sq_settings_title" ><?php _e('Squirrly account information', _SQ_PLUGIN_NAME_); ?> </div>
8
  <div id="sq_settings_title" style="text-align: right">
9
  <input id="sq_goto_dashboard" class="sq_goto_dashboard" type="button" value="<?php _e('Go to dashboard', _SQ_PLUGIN_NAME_) ?> &raquo;" />
10
+ <a href="<?php echo _SQ_DASH_URL_ ?>login/?token=<?php echo SQ_Tools::$options['sq_api'] ?>&redirect_to=<?php echo _SQ_DASH_URL_ ?>user/dashboard" target="_blank" class="sq_goto_dashboard" type="button" title="<?php _e('See ALL of Your Activity so Far', _SQ_PLUGIN_NAME_) ?>"><?php _e('See ALL of Your Activity so Far', _SQ_PLUGIN_NAME_) ?> &raquo;</a>
11
  <br style="clear: both;">
12
  </div>
13
  </div>
themes/default/SQ_BlockAudit.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="sq_settings">
2
+ <div class="sq_message sq_error" style="display: none"></div>
3
+ <?php
4
+ SQ_ObjController::getBlock('SQ_BlockSupport')->init();
5
+ ?>
6
+ <div>
7
+ <span class="sq_icon"></span>
8
+ <div id="sq_settings_title"><?php _e('Squirrly Site Audit', _SQ_PLUGIN_NAME_); ?> </div>
9
+
10
+ </div>
11
+ <div id="sq_left">
12
+ <div id="sq_settings_body">
13
+ <fieldset>
14
+ <legend>
15
+ <span class="sq_legend_title"><?php _e('What the Audit does:', _SQ_PLUGIN_NAME_); ?></span>
16
+ <span><?php echo sprintf(__('%sTracks all the aspects of your Content Marketing Strategy%s: Blogging, Traffic, SEO, Social Signals, Links, Authority. Every single week you get a new report by email.', _SQ_PLUGIN_NAME_), '<strong>', '</strong>'); ?></span>
17
+ <span><?php echo sprintf(__('%sIt Gives You Professional Advice on How To Fix%s any of those areas that it helps track, so you can easily find out how to improve. Content from SEO Moz (recently just MOZ), Google, Authority Labs, etc.', _SQ_PLUGIN_NAME_), '<strong>', '</strong>'); ?></span>
18
+ <span><?php echo sprintf(__('%sMonitors Your Progress, week by week%s. You’ll get interesting data about the historical performance of each article you write and find out how to improve its seo ranking.', _SQ_PLUGIN_NAME_), '<strong>', '</strong>'); ?></span>
19
+ <span><?php echo sprintf(__('%sAnalyze any single article.%s See how it improves over time.', _SQ_PLUGIN_NAME_), '<strong>', '</strong>'); ?></span>
20
+ <span><?php echo sprintf(__('%sRequest an Audit Now%s', _SQ_PLUGIN_NAME_), '<a href="' . _SQ_DASH_URL_ . 'login/?token=' . SQ_Tools::$options['sq_api'] . '" target="_blank">', '</a>'); ?></span>
21
+
22
+ </legend>
23
+
24
+ <div>
25
+ <div id="sq_post_type_option" class="withborder" style="min-height: 520px;">
26
+ <p style="font-weight: bold;"><?php _e('Your last Site Audit', _SQ_PLUGIN_NAME_); ?>:</p>
27
+ <ul style="margin-top: 50px;">
28
+ <li>
29
+ <?php if (isset($view->blog->score) && $view->blog->score > 0){ ?>
30
+ <p class="sq_audit_score"><?php echo __('Score', _SQ_PLUGIN_NAME_) . ': <span>' . $view->blog->score . '/100</span>'; ?></p>
31
+ <p class="sq_audit_date"><?php echo __('Date', _SQ_PLUGIN_NAME_) . ': <span>' . date(get_option( 'date_format' ),strtotime($view->blog->datetime)) . '</span>'; ?></p>
32
+ <p class="sq_settings_bigbutton" style="margin-bottom:35px;">
33
+ <a href="<?php echo _SQ_DASH_URL_ . 'login/?token=' . SQ_Tools::$options['sq_api'] ?>" target="_blank" ><?php _e('See the Audit', _SQ_PLUGIN_NAME_) ?> &raquo;</a>
34
+ </p>
35
+ <?php }else{?>
36
+ <p><?php _e('Seems that no Audit was made yet. You can request a new audit and it should be ready in 5-10 minutes', _SQ_PLUGIN_NAME_); ?>:</p>
37
+ <p class="sq_settings_bigbutton" style="margin-bottom:35px;">
38
+ <a href="<?php echo _SQ_DASH_URL_ . 'login/?token=' . SQ_Tools::$options['sq_api'] ?>" target="_blank" ><?php _e('Request an Audit Now', _SQ_PLUGIN_NAME_) ?> &raquo;</a>
39
+ </p>
40
+ <?php }?>
41
+ </li>
42
+ <?php if (isset($view->blog->score) && $view->blog->score == 0){ ?>
43
+ <li>
44
+ <p>
45
+ <?php _e('This is an example of a Site Audit', _SQ_PLUGIN_NAME_); ?>:
46
+ </p>
47
+ <p>
48
+ <a href="<?php echo _SQ_DASH_URL_ . 'login/?token=' . SQ_Tools::$options['sq_api'] ?>" target="_blank" >
49
+ <img src="https://ps.w.org/squirrly-seo/trunk/screenshot-7.png" alt="" style="max-width: 520px">
50
+ </a>
51
+ </p>
52
+ </li>
53
+ <?php }?>
54
+ </ul>
55
+ </div>
56
+
57
+ </div>
58
+ </fieldset>
59
+
60
+ </div>
61
+ </div>
62
+
63
+ </div>
themes/default/SQ_BlockCopyright.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="sq_settings">
2
+ <div class="sq_message sq_error" style="display: none"></div>
3
+
4
+ <?php
5
+ SQ_ObjController::getBlock('SQ_BlockSupport')->init();
6
+ ?>
7
+ <div>
8
+ <span class="sq_icon"></span>
9
+ <div id="sq_settings_title"><?php _e('Squirrly Copywriting Options', _SQ_PLUGIN_NAME_); ?> </div>
10
+ <div class="sq_subtitles">
11
+ <p><?php _e('We help you find copyright-free images, news sources, awesome tweets by influential people, all of which you can use to support the points you are making in your blog posts.', _SQ_PLUGIN_NAME_); ?></p>
12
+ </div>
13
+ </div>
14
+ <div id="sq_helpcopyrightside" class="sq_helpside"></div>
15
+ <div id="sq_left">
16
+ <div id="sq_settings_body">
17
+
18
+ <fieldset style="background: none !important; box-shadow: none;">
19
+ <div class="sq_subtitles">
20
+ <p><?php _e('The inspiration Box from Squirrly helps you save time on the research you do for each article.', _SQ_PLUGIN_NAME_); ?></p>
21
+ <p><img src="<?php echo _SQ_THEME_URL_ . 'img/help/copyright_options1.png' ?>" alt=""></p>
22
+ <p><img src="<?php echo _SQ_THEME_URL_ . 'img/help/copyright_options2.png' ?>" alt=""></p>
23
+ <p><?php _e("Once you found the image you're looking for, click on it and it will be added in your article content", _SQ_PLUGIN_NAME_); ?></p>
24
+ <p><img src="<?php echo _SQ_THEME_URL_ . 'img/help/copyright_options3.png' ?>" alt=""></p>
25
+ <div class="sq_button"><a href="post-new.php" target="_blank" style="margin-top: 10px; font-size: 15px; max-width: 210px;"><?php _e("Use Squirrly's Inspiration box",_SQ_PLUGIN_NAME_) ?></a></div>
26
+ </div>
27
+ </fieldset>
28
+ </div>
29
+ </div>
30
+
31
+ </div>
themes/default/SQ_BlockCustomerService.php ADDED
@@ -0,0 +1,71 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="sq_settings">
2
+ <div class="sq_message sq_error" style="display: none"></div>
3
+ <div>
4
+ <span class="sq_icon"></span>
5
+ <div id="sq_settings_title"><?php _e('Squirrly Customer Service', _SQ_PLUGIN_NAME_); ?> </div>
6
+
7
+ </div>
8
+ <div id="sq_left">
9
+ <div id="sq_settings_body">
10
+ <fieldset>
11
+ <legend>
12
+ <span class="sq_legend_title"><?php _e('Support Channels', _SQ_PLUGIN_NAME_); ?></span>
13
+ <span><?php echo sprintf(__('%sHowto.squirrly.co%s > Knowledge Base. Find answers to your questions', _SQ_PLUGIN_NAME_), '<a href="https://howto.squirrly.co/wordpress-seo" target="_blank">', '</a>'); ?></span>
14
+ <span><?php echo sprintf(__('%sPlugin.squirrly.co%s >> case studies, ideas on how to better use Squirrly SEO for Content Marketing', _SQ_PLUGIN_NAME_), '<a href="https://plugin.squirrly.co" target="_blank">', '</a>'); ?></span>
15
+ <span><?php echo sprintf(__('%sFacebook page%s >> we reply to the messages we receive there', _SQ_PLUGIN_NAME_), '<a href="https://www.facebook.com/Squirrly.co" target="_blank">', '</a>'); ?></span>
16
+ <span><?php echo sprintf(__('%sSupport Community%s >> on Google Plus', _SQ_PLUGIN_NAME_), '<a href="https://plus.google.com/communities/104196720668136264985" target="_blank">', '</a>'); ?></span>
17
+ <span><?php echo sprintf(__('%sLive Chat%s >> on Youtube. Thursday 4 PM', _SQ_PLUGIN_NAME_), '<a href="https://www.youtube.com/c/GetGrowthTV/live" target="_blank">', '</a>'); ?></span>
18
+ <span><?php echo sprintf(__('%sNew Lessons%s >> Mon. and Tue. on Twitter', _SQ_PLUGIN_NAME_), '<a href="https://twitter.com/squirrlyhq" target="_blank">', '</a>'); ?></span>
19
+ <span><?php echo sprintf(__('%sEmail Support%s >> 10 AM to 4 PM (London Time): Mon-Fri.', _SQ_PLUGIN_NAME_), '<a href="mailto:' . _SQ_SUPPORT_EMAIL_ . '" target="_blank">', '</a>'); ?></span>
20
+
21
+ </legend>
22
+
23
+ <div>
24
+ <div id="sq_post_type_option" class="withborder">
25
+ <p style="font-weight: bold;"><?php _e('Need Help with Squirrly SEO?', _SQ_PLUGIN_NAME_); ?>:</p>
26
+ <ul class="sq_options_support_popup">
27
+ <li>
28
+ <div class="withborder">
29
+ <p id="sq_support_msg">
30
+ <textarea class="sq_big_input" name="sq_support_message"></textarea></p>
31
+ <div id="sq_options_support_error"></div>
32
+ <p>
33
+ <input id="sq_support_submit" type="button" value="<?php _e('Send Question', _SQ_PLUGIN_NAME_) ?>" style="padding: 9px 30px;background-color: #20bc49;color: white;text-shadow: 1px 1px #333;font-size: 14px; cursor: pointer;">
34
+ </p>
35
+ </div>
36
+ </li>
37
+ <li>
38
+ <div class="withborder">
39
+ <p>
40
+ <strong>Find out who we are, Contact our Squirrly team and See Our Company Details</strong>
41
+ </p>
42
+ <a href="https://www.squirrly.co/more" target="_blank"><img src="<?php echo _SQ_THEME_URL_ . 'img/settings/team.png' ?>" alt="Squirrly Team" style="max-width: 520px;"/></a>
43
+ </div>
44
+ </li>
45
+
46
+ <li>
47
+ <div class="withborder">
48
+ <p><strong>Squirrly is registered in the UK as:</strong></p>
49
+
50
+ <p>Squirrly Limited</p>
51
+ <p>Company registration number: <strong>08198658</strong></p>
52
+ <p>Incorporation Date: <strong>03 Sept 2012</strong></p>
53
+ </div>
54
+ <div class="withborder">
55
+ <p><strong>Registered Address for UK:</strong></p>
56
+ <p>20-22 Wenlock Road</p>
57
+ <p>London, N1 7GU</p>
58
+ <p>England</p>
59
+ </div>
60
+ </li>
61
+
62
+ </ul>
63
+ </div>
64
+
65
+ </div>
66
+ </fieldset>
67
+
68
+ </div>
69
+ </div>
70
+
71
+ </div>
themes/default/SQ_BlockDashboard.php CHANGED
@@ -1,9 +1,9 @@
1
- <div id="sq_settings" >
2
  <?php SQ_ObjController::getBlock('SQ_BlockSupport')->init(); ?>
3
  <?php if (SQ_Tools::$options['sq_api'] == '') { ?>
4
  <span class="sq_icon"></span>
5
 
6
- <div id="sq_settings_title" ><?php _e('Connect to Squirrly.co', _SQ_PLUGIN_NAME_); ?> </div>
7
  <div id="sq_settings_login">
8
  <?php SQ_ObjController::getBlock('SQ_Blocklogin')->init(); ?>
9
  </div>
@@ -17,7 +17,7 @@
17
  ?>
18
  <div>
19
  <span class="sq_icon"></span>
20
- <div id="sq_settings_title" ><?php _e('Squirrly dashboard', _SQ_PLUGIN_NAME_); ?> </div>
21
  </div>
22
  <div id="sq_helpdashboardside" class="sq_helpside"></div>
23
  <div id="sq_helpdashboardcontent" class="sq_helpcontent"></div>
@@ -26,73 +26,86 @@
26
 
27
  <div class="sq_helpcontent" style="display: none; clear: left; <?php echo (SQ_Tools::$options['sq_api'] == '') ? 'text-align: center;' : '' ?>">
28
  <div style="width: 700px; display: inline-block;">
29
- <div style="font-size: 24px; margin: 30px 0; color: #999;">Learn About Squirrly's Features (click on the images):</div>
30
- <ul class="sq_slidelist">
31
- <li>
32
- <a href="javascript:void(0);" rel="44987512" style="background-image: url('//image.slidesharecdn.com/kr-150222110827-conversion-gate01/95/squirrly-keyword-research-1-638.jpg?cb=1424624994')"></a>
33
- <div>Squirrly Keyword Research</div>
34
- </li>
35
- <li>
36
- <a href="javascript:void(0);" rel="44987943" style="background-image: url('//image.slidesharecdn.com/sla-150222112751-conversion-gate01/95/squirrly-live-assistant-1-638.jpg?cb=1424626190')"></a>
37
- <div>Squirrly Live Assistant</div>
38
- </li>
39
- <li>
40
- <a href="javascript:void(0);" rel="44987925" style="background-image: url('//image.slidesharecdn.com/snippet1-150222112635-conversion-gate01/95/squirrly-snippet-tool-1-638.jpg?cb=1424626028')"></a>
41
- <div>Squirrly Snippet Tool</div>
42
- </li>
43
- <li>
44
- <a href="javascript:void(0);" rel="45020680" style="background-image: url('//image.slidesharecdn.com/analytics-150223081607-conversion-gate02/95/squirrly-performance-analytics-1-638.jpg?cb=1424701102')"></a>
45
- <div>Squirrly Performance Analyticsl</div>
46
- </li>
47
- <li>
48
- <a href="javascript:void(0);" rel="45062956" style="background-image: url('//image.slidesharecdn.com/firstpage-150224040740-conversion-gate01/95/squirrly-first-page-optimization-1-638.jpg?cb=1427713684')"></a>
49
- <div>Squirrly First Page Optimization</div>
50
- </li>
51
- <li>
52
- <a href="javascript:void(0);" rel="45117764" style="background-image: url('//image.slidesharecdn.com/socialoption-150225050457-conversion-gate02/95/squirrly-open-graph-and-twitter-card-1-638.jpg?cb=1427713066')"></a>
53
- <div>Squirrly Open Graph and Twitter Card</div>
54
- </li>
55
- <li>
56
- <a href="javascript:void(0);" rel="45142191" style="background-image: url('//image.slidesharecdn.com/check-150225143101-conversion-gate02/95/squirrly-check-for-seo-errors-1-638.jpg?cb=1427713151')"></a>
57
- <div>Squirrly Check for SEO errors</div>
58
- </li>
59
- <li>
60
- <a href="javascript:void(0);" rel="46171871" style="background-image: url('//image.slidesharecdn.com/sitemap-150323092133-conversion-gate01/95/squirrly-sitemap-xml-1-638.jpg?cb=1427713209')"></a>
61
- <div>Squirrly Sitemap XML</div>
62
- </li>
63
- <li>
64
- <a href="javascript:void(0);" rel="46209176" style="background-image: url('//image.slidesharecdn.com/favicon-150324035827-conversion-gate01/95/squirrly-faviconico-1-638.jpg?cb=1427713276')"></a>
65
- <div>Squirrly Favicon.ico</div>
66
- </li>
67
- <li>
68
- <a href="javascript:void(0);" rel="46213739" style="background-image: url('//image.slidesharecdn.com/jsonld-150324055711-conversion-gate01/95/squirrly-jsonld-structured-data-1-638.jpg?cb=1427713334')"></a>
69
- <div>Squirrly Json-LD Structured Data</div>
70
- </li>
71
- <li>
72
- <a href="javascript:void(0);" rel="46218043" style="background-image: url('//image.slidesharecdn.com/tracking-150324074838-conversion-gate01/95/squirrly-tracking-tools-1-638.jpg?cb=1427713384')"></a>
73
- <div>Squirrly Tracking Tools</div>
74
- </li>
75
- <li>
76
- <a href="javascript:void(0);" rel="46219965" style="background-image: url('//image.slidesharecdn.com/types-150324083302-conversion-gate01/95/squirrly-settings-for-posts-and-pages-1-638.jpg?cb=1427713476')"></a>
77
- <div>Squirrly Settings for Posts and Pages</div>
78
- </li>
79
- <li>
80
- <a href="javascript:void(0);" rel="46220852" style="background-image: url('//image.slidesharecdn.com/ranking-150324085252-conversion-gate01/95/squirrly-google-rank-option-1-638.jpg?cb=1427713539')"></a>
81
- <div>Squirrly Google Rank Option</div>
82
- </li>
83
- <li>
84
- <a href="javascript:void(0);" rel="46222827" style="background-image: url('//image.slidesharecdn.com/success-150324093815-conversion-gate01/95/measure-your-success-option-from-squirrly-1-638.jpg?cb=1427713584')"></a>
85
- <div>Measure Your Success with Squirrly</div>
86
- </li>
87
- <li>
88
- <a href="javascript:void(0);" rel="46256414" style="background-image: url('//image.slidesharecdn.com/robots-150325031929-conversion-gate01/95/squirrly-robotstxt-1-638.jpg?cb=1427713635')"></a>
89
- <div>Squirrly Robots.txt</div>
90
- </li>
91
- <li>
92
- <a href="javascript:void(0);" rel="46440187" style="background-image: url('//image.slidesharecdn.com/audit-150330042921-conversion-gate01/95/squirrly-site-audit-1-638.jpg?cb=1427707809')"></a>
93
- <div>Squirrly Site Audit</div>
94
- </li>
95
- </ul>
96
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  </div>
98
  </div>
 
1
+ <div id="sq_settings">
2
  <?php SQ_ObjController::getBlock('SQ_BlockSupport')->init(); ?>
3
  <?php if (SQ_Tools::$options['sq_api'] == '') { ?>
4
  <span class="sq_icon"></span>
5
 
6
+ <div id="sq_settings_title"><?php _e('Connect to Squirrly.co', _SQ_PLUGIN_NAME_); ?> </div>
7
  <div id="sq_settings_login">
8
  <?php SQ_ObjController::getBlock('SQ_Blocklogin')->init(); ?>
9
  </div>
17
  ?>
18
  <div>
19
  <span class="sq_icon"></span>
20
+ <div id="sq_settings_title"><?php _e('Squirrly dashboard', _SQ_PLUGIN_NAME_); ?> </div>
21
  </div>
22
  <div id="sq_helpdashboardside" class="sq_helpside"></div>
23
  <div id="sq_helpdashboardcontent" class="sq_helpcontent"></div>
26
 
27
  <div class="sq_helpcontent" style="display: none; clear: left; <?php echo (SQ_Tools::$options['sq_api'] == '') ? 'text-align: center;' : '' ?>">
28
  <div style="width: 700px; display: inline-block;">
29
+ <div style="font-size: 24px; margin: 30px 0; color: #999;">Learn About Squirrly's Features (click on the presentations):</div>
30
+
31
+ <div class="sq_mysquirrly_cta">
32
+ <div class="sq_mysquirrly_cta_content">
33
+ <?php _e('Now with a fresh one right out of our Squirrly Labs!', _SQ_PLUGIN_NAME_); ?>
34
+ </div>
35
+ <div class="sq_mysquirrly_cta_button">
36
+ <a href="<?php echo _SQ_DASH_URL_ ?>login/?token=<?php echo SQ_Tools::$options['sq_api'] ?>&redirect_to=<?php echo _SQ_DASH_URL_ ?>user/dashboard" title="<?php _e('Get It Here', _SQ_PLUGIN_NAME_); ?>" target="_blank"><?php _e('Get It Here', _SQ_PLUGIN_NAME_); ?> &raquo;</a></p>
37
+ </div>
38
+ </div>
39
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  </div>
41
+
42
+
43
+ <ul class="sq_slidelist">
44
+ <li>
45
+ <a href="javascript:void(0);" rel="44987512" style="background-image: url('//image.slidesharecdn.com/kr-150222110827-conversion-gate01/95/squirrly-keyword-research-1-638.jpg?cb=1424624994')"></a>
46
+ <div>Squirrly Keyword Research</div>
47
+ </li>
48
+ <li>
49
+ <a href="javascript:void(0);" rel="44987943" style="background-image: url('//image.slidesharecdn.com/sla-150222112751-conversion-gate01/95/squirrly-live-assistant-1-638.jpg?cb=1424626190')"></a>
50
+ <div>Squirrly Live Assistant</div>
51
+ </li>
52
+ <li>
53
+ <a href="javascript:void(0);" rel="44987925" style="background-image: url('//image.slidesharecdn.com/snippet1-150222112635-conversion-gate01/95/squirrly-snippet-tool-1-638.jpg?cb=1424626028')"></a>
54
+ <div>Squirrly Snippet Tool</div>
55
+ </li>
56
+ <li>
57
+ <a href="javascript:void(0);" rel="45020680" style="background-image: url('//image.slidesharecdn.com/analytics-150223081607-conversion-gate02/95/squirrly-performance-analytics-1-638.jpg?cb=1424701102')"></a>
58
+ <div>Squirrly Performance Analyticsl</div>
59
+ </li>
60
+ <li>
61
+ <a href="javascript:void(0);" rel="45062956" style="background-image: url('//image.slidesharecdn.com/firstpage-150224040740-conversion-gate01/95/squirrly-first-page-optimization-1-638.jpg?cb=1427713684')"></a>
62
+ <div>Squirrly First Page Optimization</div>
63
+ </li>
64
+ <li>
65
+ <a href="javascript:void(0);" rel="45117764" style="background-image: url('//image.slidesharecdn.com/socialoption-150225050457-conversion-gate02/95/squirrly-open-graph-and-twitter-card-1-638.jpg?cb=1427713066')"></a>
66
+ <div>Squirrly Open Graph and Twitter Card</div>
67
+ </li>
68
+ <li>
69
+ <a href="javascript:void(0);" rel="45142191" style="background-image: url('//image.slidesharecdn.com/check-150225143101-conversion-gate02/95/squirrly-check-for-seo-errors-1-638.jpg?cb=1427713151')"></a>
70
+ <div>Squirrly Check for SEO errors</div>
71
+ </li>
72
+ <li>
73
+ <a href="javascript:void(0);" rel="46171871" style="background-image: url('//image.slidesharecdn.com/sitemap-150323092133-conversion-gate01/95/squirrly-sitemap-xml-1-638.jpg?cb=1427713209')"></a>
74
+ <div>Squirrly Sitemap XML</div>
75
+ </li>
76
+ <li>
77
+ <a href="javascript:void(0);" rel="46209176" style="background-image: url('//image.slidesharecdn.com/favicon-150324035827-conversion-gate01/95/squirrly-faviconico-1-638.jpg?cb=1427713276')"></a>
78
+ <div>Squirrly Favicon.ico</div>
79
+ </li>
80
+ <li>
81
+ <a href="javascript:void(0);" rel="46213739" style="background-image: url('//image.slidesharecdn.com/jsonld-150324055711-conversion-gate01/95/squirrly-jsonld-structured-data-1-638.jpg?cb=1427713334')"></a>
82
+ <div>Squirrly Json-LD Structured Data</div>
83
+ </li>
84
+ <li>
85
+ <a href="javascript:void(0);" rel="46218043" style="background-image: url('//image.slidesharecdn.com/tracking-150324074838-conversion-gate01/95/squirrly-tracking-tools-1-638.jpg?cb=1427713384')"></a>
86
+ <div>Squirrly Tracking Tools</div>
87
+ </li>
88
+ <li>
89
+ <a href="javascript:void(0);" rel="46219965" style="background-image: url('//image.slidesharecdn.com/types-150324083302-conversion-gate01/95/squirrly-settings-for-posts-and-pages-1-638.jpg?cb=1427713476')"></a>
90
+ <div>Squirrly Settings for Posts and Pages</div>
91
+ </li>
92
+ <li>
93
+ <a href="javascript:void(0);" rel="46220852" style="background-image: url('//image.slidesharecdn.com/ranking-150324085252-conversion-gate01/95/squirrly-google-rank-option-1-638.jpg?cb=1427713539')"></a>
94
+ <div>Squirrly Google Rank Option</div>
95
+ </li>
96
+ <li>
97
+ <a href="javascript:void(0);" rel="46222827" style="background-image: url('//image.slidesharecdn.com/success-150324093815-conversion-gate01/95/measure-your-success-option-from-squirrly-1-638.jpg?cb=1427713584')"></a>
98
+ <div>Measure Your Success with Squirrly</div>
99
+ </li>
100
+ <li>
101
+ <a href="javascript:void(0);" rel="46256414" style="background-image: url('//image.slidesharecdn.com/robots-150325031929-conversion-gate01/95/squirrly-robotstxt-1-638.jpg?cb=1427713635')"></a>
102
+ <div>Squirrly Robots.txt</div>
103
+ </li>
104
+ <li>
105
+ <a href="javascript:void(0);" rel="46440187" style="background-image: url('//image.slidesharecdn.com/audit-150330042921-conversion-gate01/95/squirrly-site-audit-1-638.jpg?cb=1427707809')"></a>
106
+ <div>Squirrly Site Audit</div>
107
+ </li>
108
+ </ul>
109
  </div>
110
  </div>
111
+ </div>
themes/default/SQ_BlockKeywordResearch.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="sq_settings">
2
+ <div class="sq_message sq_error" style="display: none"></div>
3
+
4
+ <?php
5
+ SQ_ObjController::getBlock('SQ_BlockSupport')->init();
6
+ SQ_ObjController::getBlock('SQ_Loading')->loadJsVars();
7
+ ?>
8
+ <div>
9
+ <span class="sq_icon"></span>
10
+ <div id="sq_settings_title"><?php _e('Squirrly Keyword Research', _SQ_PLUGIN_NAME_); ?> </div>
11
+ <div class="sq_subtitles">
12
+ <p>Find Long-Tail Keywords That Are Easy to Rank For. Never Miss a Ranking Opportunity. All the Details We Give Are Personalized For Each Site, Thanks to Squirrly's Market Intelligence Features.</p>
13
+ </div>
14
+ </div>
15
+ <div id="sq_helpkeywordresearchside" class="sq_helpside"></div>
16
+ <div id="sq_left">
17
+ <?php if (SQ_Tools::$options['sq_api'] <> '') { ?>
18
+ <div id="sq_settings_body">
19
+
20
+ <?php if (SQ_Tools::$options['sq_api'] <> '') { ?>
21
+ <fieldset style="background: none !important; box-shadow: none;">
22
+ <div id="sq_krinfo" class="sq_loading"></div>
23
+ </fieldset>
24
+ <script type="text/javascript">
25
+ jQuery(document).ready(function () {
26
+ sq_getKR();
27
+ });
28
+ </script>
29
+ <?php } ?>
30
+
31
+ </div>
32
+
33
+ <?php } ?>
34
+
35
+ </div>
36
+
37
+ </div>
themes/default/SQ_BlockLiveAssistant.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="sq_settings">
2
+ <div class="sq_message sq_error" style="display: none"></div>
3
+
4
+ <?php
5
+ SQ_ObjController::getBlock('SQ_BlockSupport')->init();
6
+ ?>
7
+ <div>
8
+ <span class="sq_icon"></span>
9
+ <div id="sq_settings_title"><?php _e('Squirrly Live Assistant', _SQ_PLUGIN_NAME_); ?> </div>
10
+ <div class="sq_subtitles">
11
+ <p>Using the Live Assistant from Squirrly SEO is like having a consultant sitting right next to you and helping you get a 100% optimized page. For both Humans and Search Engine bots.</p>
12
+ </div>
13
+ </div>
14
+ <div id="sq_helpliveassistantside" class="sq_helpside"></div>
15
+ <div id="sq_left">
16
+ <div id="sq_settings_body">
17
+
18
+ <fieldset style="background: none !important; box-shadow: none;">
19
+ <div class="sq_subtitles">
20
+ <div class="sq_button"><a href="post-new.php" target="_blank" style="margin: 10px; font-size: 15px; max-width: 210px;"><?php _e('Use Squirrly Live Assistant',_SQ_PLUGIN_NAME_) ?></a></div>
21
+
22
+ <p>You just have to type in the keyword you want the page to be optimized for.</p>
23
+ <p><img src="<?php echo _SQ_THEME_URL_ . 'img/help/live_assistant1.png' ?>" alt=""></p>
24
+ <p>After that, the Live Assistant guides you through the steps you need to take to fully optimize the page.</p>
25
+ <p><img src="<?php echo _SQ_THEME_URL_ . 'img/help/live_assistant2.png' ?>" alt=""></p>
26
+ <p><img src="<?php echo _SQ_THEME_URL_ . 'img/help/live_assistant3.png' ?>" alt=""></p>
27
+
28
+ <p>When all those lights turn green, it means you have an excellent SEO article, page or product.</p>
29
+ <p><a href="post-new.php" target="_blank" style="margin-top: 10px; font-size: 15px; max-width: 210px;"><img src="<?php echo _SQ_THEME_URL_ . 'img/help/live_assistant4.png' ?>" alt=""></a></p>
30
+ <div class="sq_button"><a href="post-new.php" target="_blank" style="margin-top: 10px; font-size: 15px; max-width: 210px;"><?php _e('Use Squirrly Live Assistant',_SQ_PLUGIN_NAME_) ?></a></div>
31
+ </div>
32
+ </fieldset>
33
+ </div>
34
+ </div>
35
+
36
+ </div>
themes/default/SQ_BlockPostsAnalytics.php CHANGED
@@ -1,13 +1,6 @@
1
  <?php
2
  if (SQ_Tools::$options['sq_google_ranksperhour'] > 0) {
3
  $blog_ip = @gethostbyname(gethostname());
4
- if (isset($blog_ip)){
5
- if (strpos($blog_ip, '192.') === 0){
6
- echo '<div class="notice sq_message"><p>';
7
- echo sprintf(__("You can't check the Google Rank from a local server. You need a shared or a dedicated hosting plan for this option.", _SQ_PLUGIN_NAME_));
8
- echo '</p></div>';
9
- }
10
- }
11
 
12
  if (get_transient('google_blocked') !== false) {
13
  echo '<div id="notice sq_message" style="font-size: 14px;color: red;padding: 0px;margin: 0 0 15px 0;text-align: center;line-height: 15px;"><p>';
1
  <?php
2
  if (SQ_Tools::$options['sq_google_ranksperhour'] > 0) {
3
  $blog_ip = @gethostbyname(gethostname());
 
 
 
 
 
 
 
4
 
5
  if (get_transient('google_blocked') !== false) {
6
  echo '<div id="notice sq_message" style="font-size: 14px;color: red;padding: 0px;margin: 0 0 15px 0;text-align: center;line-height: 15px;"><p>';
themes/default/SQ_BlockSettings.php CHANGED
@@ -5,7 +5,7 @@
5
 
6
  <div id="sq_settings_title"><?php _e('Advanced Settings', _SQ_PLUGIN_NAME_); ?> </div>
7
  <div id="sq_settings_title">
8
- <input type="submit" name="sq_update" value="<?php _e('Save settings', _SQ_PLUGIN_NAME_) ?> &raquo;"/>
9
  </div>
10
  </div>
11
  <div id="sq_helpsettingscontent" class="sq_helpcontent"></div>
@@ -22,13 +22,54 @@
22
  <span><?php echo sprintf(__('%sThere is a New SEO Live Assistant from Squirrly%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/there-is-a-new-seo-live-assistant-from-squirrly" target="_blank">', '</a>'); ?></span>
23
  <span><?php echo sprintf(__('%sHow to create Human friendly content with the WordPress SEO plugin?%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/how-to-create-human-friendly-content-with-the-a-wordpress-seo-plugin" target="_blank">', '</a>'); ?></span>
24
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  </legend>
26
 
27
  <div>
28
  <div id="sq_post_type_option" class="withborder">
29
  <p style="font-weight: bold;"><?php _e('Load Squirrly Live Assistant for', _SQ_PLUGIN_NAME_); ?>:</p>
30
  <ul id="sq_post_types">
31
- <li class="sq_selectall"><input type="checkbox" id="sq_selectall"/>Select All</li>
32
  <li>
33
  <input type="checkbox" class="sq_post_types" name="sq_post_types[]" value="post" <?php echo(in_array('post', SQ_Tools::$options['sq_post_types']) ? 'checked="checked"' : ''); ?>><?php _e('Posts', _SQ_PLUGIN_NAME_); ?>
34
  </li>
@@ -63,7 +104,7 @@
63
  ?>
64
  </ul>
65
  </div>
66
- <br/>
67
 
68
  <div class="sq_option_content">
69
  <div class="sq_switch">
@@ -143,6 +184,8 @@
143
  </div>
144
  <span><?php _e('Correct my <strong>feed links</strong> and <strong>images</strong> (convert from relative to absolute).', _SQ_PLUGIN_NAME_); ?></span>
145
  </div>
 
 
146
  </div>
147
  </fieldset>
148
 
@@ -151,6 +194,8 @@
151
  <span class="sq_legend_title"><?php _e('Google Rank Options', _SQ_PLUGIN_NAME_); ?></span>
152
  <span><?php echo sprintf(__('%sCountry targeting%s', _SQ_PLUGIN_NAME_), '<a href="https://support.google.com/webmasters/answer/62399?hl=en" target="_blank">', '</a>'); ?></span>
153
  <span><?php echo sprintf(__('%sPowerful SEO Tool For Strong Google Rankings%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/serp-checker" target="_blank">', '</a>'); ?></span>
 
 
154
  </legend>
155
  <div>
156
  <div class="sq_option_content">
@@ -261,13 +306,14 @@
261
  <option value="com.ua"><?php _e('Ukraine', _SQ_PLUGIN_NAME_); ?> (http://www.google.com.ua/)</option>
262
  <option value="ae"><?php _e('United Arab Emirates', _SQ_PLUGIN_NAME_); ?> (http://www.google.ae/)</option>
263
  <option value="co.uk"><?php _e('United Kingdom', _SQ_PLUGIN_NAME_); ?> (http://www.google.co.uk/)</option>
264
- v <option value="us"><?php _e('United States', _SQ_PLUGIN_NAME_); ?> (http://www.google.us/)</option>
 
265
  <option value="com.uy"><?php _e('Uruguay', _SQ_PLUGIN_NAME_); ?> (http://www.google.com.uy/)</option>
266
  <option value="uz"><?php _e('Uzbekistan', _SQ_PLUGIN_NAME_); ?> (http://www.google.uz/)</option>
267
  <option value="vu"><?php _e('Vanuatu', _SQ_PLUGIN_NAME_); ?> (http://www.google.vu/)</option>
268
  <option value="co.ve"><?php _e('Venezuela', _SQ_PLUGIN_NAME_); ?> (http://www.google.co.ve/)</option>
269
  <option value="com.vn"><?php _e('Vietnam', _SQ_PLUGIN_NAME_); ?> (http://www.google.com.vn/)</option>
270
- </select>
271
  </div>
272
  <p>
273
  <span><?php echo sprintf(__('Select how many pages to be checked by google rank every hour. %s(not recommended for shared hosting plan)%s', _SQ_PLUGIN_NAME_), '<br /><span style="color:#aaa;font-size:12px;">', '</span>'); ?></span>
@@ -278,14 +324,14 @@ v <option value="us"><?php _e('United States',
278
  <?php for ($i = 0; $i <= 5; $i++) {
279
  if ($i == 1) {
280
  $text = __('page', _SQ_PLUGIN_NAME_);
281
- }else{
282
  $text = __('pages', _SQ_PLUGIN_NAME_);
283
  }
284
  if ((int)SQ_Tools::$options['sq_google_ranksperhour'] > 5) {
285
  SQ_Tools::$options['sq_google_ranksperhour'] = 5;
286
  }
287
  ?>
288
- <option value="<?php echo $i ?>" <?php echo((SQ_Tools::$options['sq_google_ranksperhour'] == $i) ? "selected='selected'" : '') ?>><?php echo $i . ' ' . $text . '/' . __('h',_SQ_PLUGIN_NAME_)?> </option>
289
  <?php } ?>
290
  </select>
291
 
@@ -319,38 +365,38 @@ v <option value="us"><?php _e('United States',
319
  <p class="withborder withcode">
320
  <span class="sq_icon sq_icon_googlewt"></span>
321
  <?php echo sprintf(__('Google META verification code for %sWebmaster Tool%s:', _SQ_PLUGIN_NAME_), '<a href="https://www.google.com/webmasters" target="_blank">', '</a>'); ?>
322
- <br><strong><input type="text" name="sq_google_wt" value="<?php echo((SQ_Tools::$options['sq_google_wt'] <> '') ? SQ_Tools::$options['sq_google_wt'] : '') ?>" size="15"/> (e.g. &lt;meta name="google-site-verification" content="XXXXXXXXXXXXXXXXXX" /&gt;)</strong>
323
  </p>
324
 
325
  <p class="withborder withcode">
326
  <span class="sq_icon sq_icon_bingwt"></span>
327
  <?php echo sprintf(__('Bing META code (for %sWebmaster Tool%s ):', _SQ_PLUGIN_NAME_), '<a href="http://www.bing.com/toolbox/webmaster/" target="_blank">', '</a>'); ?>
328
  <br><strong>
329
- <input type="text" name="sq_bing_wt" value="<?php echo((SQ_Tools::$options['sq_bing_wt'] <> '') ? SQ_Tools::$options['sq_bing_wt'] : '') ?>" size="15"/> (e.g. &lt;meta name="msvalidate.01" content="XXXXXXXXXXXXXXXXXX" /&gt;)</strong>
330
  </p>
331
 
332
  <p class="withborder withcode">
333
  <span class="sq_icon sq_icon_alexat"></span>
334
  <?php echo sprintf(__('Alexa META code (for %sAlexa Tool%s ):', _SQ_PLUGIN_NAME_), '<a href="http://www.alexa.com/pro/subscription/signup?tsver=0&puid=200" target="_blank">', '</a>'); ?>
335
- <br><strong><input type="text" name="sq_alexa" value="<?php echo((SQ_Tools::$options['sq_alexa'] <> '') ? SQ_Tools::$options['sq_alexa'] : '') ?>" size="15"/> (e.g. &lt;meta name="alexaVerifyID" content="XXXXXXXXXXXXXXXXXX" /&gt;)</strong>
336
  </p>
337
  </div>
338
  </fieldset>
339
 
340
  <div id="sq_settings_submit">
341
- <input type="hidden" name="action" value="sq_settings_update"/>
342
- <input type="hidden" name="nonce" value="<?php echo wp_create_nonce(_SQ_NONCE_ID_); ?>"/>
343
- <input type="submit" name="sq_update" value="<?php _e('Save settings', _SQ_PLUGIN_NAME_) ?> &raquo;"/>
344
  </div>
345
  </div>
346
  </form>
347
 
348
  <div class="sq_settings_backup">
349
  <form action="" method="POST">
350
- <input type="hidden" name="action" value="sq_backup"/>
351
- <input type="hidden" name="nonce" value="<?php echo wp_create_nonce(_SQ_NONCE_ID_); ?>"/>
352
- <input type="submit" class="sq_button" name="sq_backup" value="<?php _e('Backup Settings', _SQ_PLUGIN_NAME_) ?>"/>
353
- <input type="button" class="sq_button sq_restore" name="sq_restore" value="<?php _e('Restore Settings', _SQ_PLUGIN_NAME_) ?>"/>
354
  </form>
355
  </div>
356
 
@@ -359,10 +405,10 @@ v <option value="us"><?php _e('United States',
359
  <span><?php _e('Upload the file with the saved Squirrly Settings', _SQ_PLUGIN_NAME_) ?></span>
360
 
361
  <form action="" method="POST" enctype="multipart/form-data">
362
- <input type="hidden" name="action" value="sq_restore"/>
363
- <input type="file" name="sq_options" id="favicon" style="float: left;"/>
364
- <input type="hidden" name="nonce" value="<?php echo wp_create_nonce(_SQ_NONCE_ID_); ?>"/>
365
- <input type="submit" style="margin-top: 10px;" class="sq_button" name="sq_restore" value="<?php _e('Restore Backup', _SQ_PLUGIN_NAME_) ?>"/>
366
  </form>
367
  </div>
368
  </div>
5
 
6
  <div id="sq_settings_title"><?php _e('Advanced Settings', _SQ_PLUGIN_NAME_); ?> </div>
7
  <div id="sq_settings_title">
8
+ <input type="submit" name="sq_update" value="<?php _e('Save settings', _SQ_PLUGIN_NAME_) ?> &raquo;" />
9
  </div>
10
  </div>
11
  <div id="sq_helpsettingscontent" class="sq_helpcontent"></div>
22
  <span><?php echo sprintf(__('%sThere is a New SEO Live Assistant from Squirrly%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/there-is-a-new-seo-live-assistant-from-squirrly" target="_blank">', '</a>'); ?></span>
23
  <span><?php echo sprintf(__('%sHow to create Human friendly content with the WordPress SEO plugin?%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/how-to-create-human-friendly-content-with-the-a-wordpress-seo-plugin" target="_blank">', '</a>'); ?></span>
24
 
25
+ <div class="sq_badge_google">
26
+ <div class="sq_badge-image"></div>
27
+ <div class="sq_description">
28
+ <div class="sq_title">
29
+ <?php _e('Inspiration Box G17', _SQ_PLUGIN_NAME_); ?>
30
+ </div>
31
+ <div class="sq_link">
32
+ <a href="https://howto.squirrly.co/wordpress-seo/what-can-you-tell-us-about-squirrly-seo-2016-vs-squirrly-seo-2017/" target="_blank" title="<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>">
33
+ (<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>)
34
+ </a>
35
+ </div>
36
+ </div>
37
+ </div>
38
+
39
+ <div class="sq_badge_google">
40
+ <div class="sq_badge-image"></div>
41
+ <div class="sq_description">
42
+ <div class="sq_title">
43
+ <?php _e('Keyword Research G17', _SQ_PLUGIN_NAME_); ?>
44
+ </div>
45
+ <div class="sq_link">
46
+ <a href="https://howto.squirrly.co/wordpress-seo/what-can-you-tell-us-about-squirrly-seo-2016-vs-squirrly-seo-2017/" target="_blank" title="<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>">
47
+ (<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>)
48
+ </a>
49
+ </div>
50
+ </div>
51
+ </div>
52
+
53
+ <div class="sq_badge_google">
54
+ <div class="sq_badge-image"></div>
55
+ <div class="sq_description">
56
+ <div class="sq_title">
57
+ <?php _e('Inner Links G17', _SQ_PLUGIN_NAME_); ?>
58
+ </div>
59
+ <div class="sq_link">
60
+ <a href="https://howto.squirrly.co/wordpress-seo/what-can-you-tell-us-about-squirrly-seo-2016-vs-squirrly-seo-2017/" target="_blank" title="<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>">
61
+ (<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>)
62
+ </a>
63
+ </div>
64
+ </div>
65
+ </div>
66
  </legend>
67
 
68
  <div>
69
  <div id="sq_post_type_option" class="withborder">
70
  <p style="font-weight: bold;"><?php _e('Load Squirrly Live Assistant for', _SQ_PLUGIN_NAME_); ?>:</p>
71
  <ul id="sq_post_types">
72
+ <li class="sq_selectall"><input type="checkbox" id="sq_selectall" />Select All</li>
73
  <li>
74
  <input type="checkbox" class="sq_post_types" name="sq_post_types[]" value="post" <?php echo(in_array('post', SQ_Tools::$options['sq_post_types']) ? 'checked="checked"' : ''); ?>><?php _e('Posts', _SQ_PLUGIN_NAME_); ?>
75
  </li>
104
  ?>
105
  </ul>
106
  </div>
107
+ <br />
108
 
109
  <div class="sq_option_content">
110
  <div class="sq_switch">
184
  </div>
185
  <span><?php _e('Correct my <strong>feed links</strong> and <strong>images</strong> (convert from relative to absolute).', _SQ_PLUGIN_NAME_); ?></span>
186
  </div>
187
+
188
+ <div class="sq_option_content"></div>
189
  </div>
190
  </fieldset>
191
 
194
  <span class="sq_legend_title"><?php _e('Google Rank Options', _SQ_PLUGIN_NAME_); ?></span>
195
  <span><?php echo sprintf(__('%sCountry targeting%s', _SQ_PLUGIN_NAME_), '<a href="https://support.google.com/webmasters/answer/62399?hl=en" target="_blank">', '</a>'); ?></span>
196
  <span><?php echo sprintf(__('%sPowerful SEO Tool For Strong Google Rankings%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/serp-checker" target="_blank">', '</a>'); ?></span>
197
+
198
+
199
  </legend>
200
  <div>
201
  <div class="sq_option_content">
306
  <option value="com.ua"><?php _e('Ukraine', _SQ_PLUGIN_NAME_); ?> (http://www.google.com.ua/)</option>
307
  <option value="ae"><?php _e('United Arab Emirates', _SQ_PLUGIN_NAME_); ?> (http://www.google.ae/)</option>
308
  <option value="co.uk"><?php _e('United Kingdom', _SQ_PLUGIN_NAME_); ?> (http://www.google.co.uk/)</option>
309
+ v
310
+ <option value="us"><?php _e('United States', _SQ_PLUGIN_NAME_); ?> (http://www.google.us/)</option>
311
  <option value="com.uy"><?php _e('Uruguay', _SQ_PLUGIN_NAME_); ?> (http://www.google.com.uy/)</option>
312
  <option value="uz"><?php _e('Uzbekistan', _SQ_PLUGIN_NAME_); ?> (http://www.google.uz/)</option>
313
  <option value="vu"><?php _e('Vanuatu', _SQ_PLUGIN_NAME_); ?> (http://www.google.vu/)</option>
314
  <option value="co.ve"><?php _e('Venezuela', _SQ_PLUGIN_NAME_); ?> (http://www.google.co.ve/)</option>
315
  <option value="com.vn"><?php _e('Vietnam', _SQ_PLUGIN_NAME_); ?> (http://www.google.com.vn/)</option>
316
+ </select>
317
  </div>
318
  <p>
319
  <span><?php echo sprintf(__('Select how many pages to be checked by google rank every hour. %s(not recommended for shared hosting plan)%s', _SQ_PLUGIN_NAME_), '<br /><span style="color:#aaa;font-size:12px;">', '</span>'); ?></span>
324
  <?php for ($i = 0; $i <= 5; $i++) {
325
  if ($i == 1) {
326
  $text = __('page', _SQ_PLUGIN_NAME_);
327
+ } else {
328
  $text = __('pages', _SQ_PLUGIN_NAME_);
329
  }
330
  if ((int)SQ_Tools::$options['sq_google_ranksperhour'] > 5) {
331
  SQ_Tools::$options['sq_google_ranksperhour'] = 5;
332
  }
333
  ?>
334
+ <option value="<?php echo $i ?>" <?php echo((SQ_Tools::$options['sq_google_ranksperhour'] == $i) ? "selected='selected'" : '') ?>><?php echo $i . ' ' . $text . '/' . __('h', _SQ_PLUGIN_NAME_) ?> </option>
335
  <?php } ?>
336
  </select>
337
 
365
  <p class="withborder withcode">
366
  <span class="sq_icon sq_icon_googlewt"></span>
367
  <?php echo sprintf(__('Google META verification code for %sWebmaster Tool%s:', _SQ_PLUGIN_NAME_), '<a href="https://www.google.com/webmasters" target="_blank">', '</a>'); ?>
368
+ <br><strong><input type="text" name="sq_google_wt" value="<?php echo((SQ_Tools::$options['sq_google_wt'] <> '') ? SQ_Tools::$options['sq_google_wt'] : '') ?>" size="15" /> (e.g. &lt;meta name="google-site-verification" content="XXXXXXXXXXXXXXXXXX" /&gt;)</strong>
369
  </p>
370
 
371
  <p class="withborder withcode">
372
  <span class="sq_icon sq_icon_bingwt"></span>
373
  <?php echo sprintf(__('Bing META code (for %sWebmaster Tool%s ):', _SQ_PLUGIN_NAME_), '<a href="http://www.bing.com/toolbox/webmaster/" target="_blank">', '</a>'); ?>
374
  <br><strong>
375
+ <input type="text" name="sq_bing_wt" value="<?php echo((SQ_Tools::$options['sq_bing_wt'] <> '') ? SQ_Tools::$options['sq_bing_wt'] : '') ?>" size="15" /> (e.g. &lt;meta name="msvalidate.01" content="XXXXXXXXXXXXXXXXXX" /&gt;)</strong>
376
  </p>
377
 
378
  <p class="withborder withcode">
379
  <span class="sq_icon sq_icon_alexat"></span>
380
  <?php echo sprintf(__('Alexa META code (for %sAlexa Tool%s ):', _SQ_PLUGIN_NAME_), '<a href="http://www.alexa.com/pro/subscription/signup?tsver=0&puid=200" target="_blank">', '</a>'); ?>
381
+ <br><strong><input type="text" name="sq_alexa" value="<?php echo((SQ_Tools::$options['sq_alexa'] <> '') ? SQ_Tools::$options['sq_alexa'] : '') ?>" size="15" /> (e.g. &lt;meta name="alexaVerifyID" content="XXXXXXXXXXXXXXXXXX" /&gt;)</strong>
382
  </p>
383
  </div>
384
  </fieldset>
385
 
386
  <div id="sq_settings_submit">
387
+ <input type="hidden" name="action" value="sq_settings_update" />
388
+ <input type="hidden" name="nonce" value="<?php echo wp_create_nonce(_SQ_NONCE_ID_); ?>" />
389
+ <input type="submit" name="sq_update" value="<?php _e('Save settings', _SQ_PLUGIN_NAME_) ?> &raquo;" />
390
  </div>
391
  </div>
392
  </form>
393
 
394
  <div class="sq_settings_backup">
395
  <form action="" method="POST">
396
+ <input type="hidden" name="action" value="sq_backup" />
397
+ <input type="hidden" name="nonce" value="<?php echo wp_create_nonce(_SQ_NONCE_ID_); ?>" />
398
+ <input type="submit" class="sq_button" name="sq_backup" value="<?php _e('Backup Settings', _SQ_PLUGIN_NAME_) ?>" />
399
+ <input type="button" class="sq_button sq_restore" name="sq_restore" value="<?php _e('Restore Settings', _SQ_PLUGIN_NAME_) ?>" />
400
  </form>
401
  </div>
402
 
405
  <span><?php _e('Upload the file with the saved Squirrly Settings', _SQ_PLUGIN_NAME_) ?></span>
406
 
407
  <form action="" method="POST" enctype="multipart/form-data">
408
+ <input type="hidden" name="action" value="sq_restore" />
409
+ <input type="file" name="sq_options" id="favicon" style="float: left;" />
410
+ <input type="hidden" name="nonce" value="<?php echo wp_create_nonce(_SQ_NONCE_ID_); ?>" />
411
+ <input type="submit" style="margin-top: 10px;" class="sq_button" name="sq_restore" value="<?php _e('Restore Backup', _SQ_PLUGIN_NAME_) ?>" />
412
  </form>
413
  </div>
414
  </div>
themes/default/SQ_BlockSettingsSeo.php CHANGED
@@ -2,8 +2,8 @@
2
  <?php SQ_ObjController::getBlock('SQ_BlockSupport')->init(); ?>
3
  <div>
4
  <span class="sq_icon"></span>
5
- <div id="sq_settings_title" ><?php _e('SEO', _SQ_PLUGIN_NAME_); ?> </div>
6
- <div id="sq_settings_title" >
7
  <input type="submit" name="sq_update" value="<?php _e('Save SEO', _SQ_PLUGIN_NAME_) ?> &raquo;" />
8
  <?php if (SQ_Tools::$options['ignore_warn'] == 0) { ?>
9
  <div class="sq_checkissues"><?php _e('Check for SEO issues in your site', _SQ_PLUGIN_NAME_); ?></div>
@@ -24,13 +24,37 @@
24
  <span><?php _e('Activate the built-in SEO settings from Squirrly by switching Yes below. <strong>Works well with Multisites and Ecommerce.</strong>', _SQ_PLUGIN_NAME_); ?></span><br />
25
  <div class="sq_option_content">
26
  <div class="sq_switch">
27
- <input id="sq_use_on" type="radio" class="sq_switch-input" name="sq_use" value="1" <?php echo ((SQ_Tools::$options['sq_use'] == 1) ? "checked" : '') ?> />
28
  <label for="sq_use_on" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
29
- <input id="sq_use_off" type="radio" class="sq_switch-input" name="sq_use" value="0" <?php echo ((!SQ_Tools::$options['sq_use']) ? "checked" : '') ?> />
30
  <label for="sq_use_off" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
31
  <span class="sq_switch-selection"></span>
32
  </div>
33
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
  </legend>
35
  <div>
36
  <ul id="sq_settings_sq_use" class="sq_settings_info">
@@ -38,14 +62,13 @@
38
  <li>
39
  <?php
40
  $auto_option = false;
41
- if (SQ_Tools::$options['sq_auto_canonical'] == 1)
42
- $auto_option = true;
43
  ?>
44
  <div class="sq_option_content sq_option_content_small">
45
- <div class="sq_switch sq_seo_switch_condition" style="<?php echo ((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
46
- <input id="sq_auto_canonical1" type="radio" class="sq_switch-input" name="sq_auto_canonical" value="1" <?php echo ($auto_option ? "checked" : '') ?> />
47
  <label for="sq_auto_canonical1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
48
- <input id="sq_auto_canonical0" type="radio" class="sq_switch-input" name="sq_auto_canonical" value="0" <?php echo (!$auto_option ? "checked" : '') ?> />
49
  <label for="sq_auto_canonical0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
50
  <span class="sq_switch-selection"></span>
51
  </div>
@@ -56,14 +79,13 @@
56
  <li>
57
  <?php
58
  $auto_option = false;
59
- if (SQ_Tools::$options['sq_auto_meta'] == 1)
60
- $auto_option = true;
61
  ?>
62
  <div class="sq_option_content sq_option_content_small">
63
- <div class="sq_switch sq_seo_switch_condition" style="<?php echo ((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
64
- <input id="sq_auto_meta1" type="radio" class="sq_switch-input" name="sq_auto_meta" value="1" <?php echo ($auto_option ? "checked" : '') ?> />
65
  <label for="sq_auto_meta1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
66
- <input id="sq_auto_meta0" type="radio" class="sq_switch-input" name="sq_auto_meta" value="0" <?php echo (!$auto_option ? "checked" : '') ?> />
67
  <label for="sq_auto_meta0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
68
  <span class="sq_switch-selection"></span>
69
  </div>
@@ -73,14 +95,13 @@
73
  <li>
74
  <?php
75
  $auto_option = false;
76
- if (SQ_Tools::$options['sq_auto_sitemap'] == 1)
77
- $auto_option = true;
78
  ?>
79
  <div class="sq_option_content sq_option_content_small">
80
- <div class="sq_switch sq_seo_switch_condition" style="<?php echo ((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
81
- <input id="sq_auto_sitemap1" type="radio" class="sq_switch-input" name="sq_auto_sitemap" value="1" <?php echo ($auto_option ? "checked" : '') ?> />
82
  <label for="sq_auto_sitemap1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
83
- <input id="sq_auto_sitemap0" type="radio" class="sq_switch-input" name="sq_auto_sitemap" value="0" <?php echo (!$auto_option ? "checked" : '') ?> />
84
  <label for="sq_auto_sitemap0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
85
  <span class="sq_switch-selection"></span>
86
  </div>
@@ -90,14 +111,13 @@
90
  <li>
91
  <?php
92
  $auto_option = false;
93
- if (SQ_Tools::$options['sq_auto_feed'] == 1)
94
- $auto_option = true;
95
  ?>
96
  <div class="sq_option_content sq_option_content_small">
97
- <div class="sq_switch sq_seo_switch_condition" style="<?php echo ((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
98
- <input id="sq_auto_feed1" type="radio" class="sq_switch-input" name="sq_auto_feed" value="1" <?php echo ($auto_option ? "checked" : '') ?> />
99
  <label for="sq_auto_feed1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
100
- <input id="sq_auto_feed0" type="radio" class="sq_switch-input" name="sq_auto_feed" value="0" <?php echo (!$auto_option ? "checked" : '') ?> />
101
  <label for="sq_auto_feed0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
102
  <span class="sq_switch-selection"></span>
103
  </div>
@@ -107,14 +127,13 @@
107
  <li>
108
  <?php
109
  $auto_option = false;
110
- if (SQ_Tools::$options['sq_auto_favicon'] == 1)
111
- $auto_option = true;
112
  ?>
113
  <div class="sq_option_content sq_option_content_small">
114
- <div class="sq_switch sq_seo_switch_condition" style="<?php echo ((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
115
- <input id="sq_auto_favicon1" type="radio" class="sq_switch-input" name="sq_auto_favicon" value="1" <?php echo ($auto_option ? "checked" : '') ?> />
116
  <label for="sq_auto_favicon1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
117
- <input id="sq_auto_favicon0" type="radio" class="sq_switch-input" name="sq_auto_favicon" value="0" <?php echo (!$auto_option ? "checked" : '') ?> />
118
  <label for="sq_auto_favicon0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
119
  <span class="sq_switch-selection"></span>
120
  </div>
@@ -124,14 +143,13 @@
124
  <li>
125
  <?php
126
  $auto_option = false;
127
- if (SQ_Tools::$options['sq_auto_jsonld'] == 1)
128
- $auto_option = true;
129
  ?>
130
  <div class="sq_option_content sq_option_content_small">
131
- <div class="sq_switch sq_seo_switch_condition" style="<?php echo ((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
132
- <input id="sq_auto_jsonld1" type="radio" class="sq_switch-input" name="sq_auto_jsonld" value="1" <?php echo ($auto_option ? "checked" : '') ?> />
133
  <label for="sq_auto_jsonld1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
134
- <input id="sq_auto_jsonld0" type="radio" class="sq_switch-input" name="sq_auto_jsonld" value="0" <?php echo (!$auto_option ? "checked" : '') ?> />
135
  <label for="sq_auto_jsonld0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
136
  <span class="sq_switch-selection"></span>
137
  </div>
@@ -141,14 +159,13 @@
141
  <li>
142
  <?php
143
  $auto_option = false;
144
- if (SQ_Tools::$options['sq_auto_amp'] == 1)
145
- $auto_option = true;
146
  ?>
147
  <div class="sq_option_content sq_option_content_small">
148
- <div class="sq_switch sq_seo_switch_condition" style="<?php echo ((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
149
- <input id="sq_auto_amp1" type="radio" class="sq_switch-input" name="sq_auto_amp" value="1" <?php echo ($auto_option ? "checked" : '') ?> />
150
  <label for="sq_auto_amp1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
151
- <input id="sq_auto_amp0" type="radio" class="sq_switch-input" name="sq_auto_amp" value="0" <?php echo (!$auto_option ? "checked" : '') ?> />
152
  <label for="sq_auto_amp0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
153
  <span class="sq_switch-selection"></span>
154
  </div>
@@ -162,21 +179,20 @@
162
  </div>
163
  </div>
164
  </fieldset>
165
- <fieldset id="sq_title_description_keywords" <?php echo ((SQ_Tools::$options['sq_use'] == 0) ? 'class="deactivated"' : ''); ?> <?php echo ((SQ_Tools::$options['sq_fp_title'] == '' || SQ_Tools::$options['sq_auto_seo'] == 1) ? '' : 'class="sq_custom_title"'); ?>>
166
  <legend>
167
  <span class="sq_legend_title"><?php _e('Page Optimization', _SQ_PLUGIN_NAME_); ?></span>
168
  <span><?php echo sprintf(__('%sThe best SEO approach to Meta information%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/the-best-seo-approach-to-meta-information" target="_blank">', '</a>'); ?></span>
169
  <span><?php _e('Optimize the <strong>Titles</strong>', _SQ_PLUGIN_NAME_); ?></span>
170
  <?php
171
  $auto_option = false;
172
- if (SQ_Tools::$options['sq_auto_title'] == 1)
173
- $auto_option = true;
174
  ?>
175
  <div class="sq_option_content sq_option_content">
176
- <div class="sq_switch sq_seo_switch_condition" style="<?php echo ((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
177
- <input id="sq_auto_title1" type="radio" class="sq_switch-input" name="sq_auto_title" value="1" <?php echo ($auto_option ? "checked" : '') ?> />
178
  <label for="sq_auto_title1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
179
- <input id="sq_auto_title0" type="radio" class="sq_switch-input" name="sq_auto_title" value="0" <?php echo (!$auto_option ? "checked" : '') ?> />
180
  <label for="sq_auto_title0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
181
  <span class="sq_switch-selection"></span>
182
  </div>
@@ -186,14 +202,13 @@
186
 
187
  <?php
188
  $auto_option = false;
189
- if (SQ_Tools::$options['sq_auto_description'] == 1)
190
- $auto_option = true;
191
  ?>
192
  <div class="sq_option_content sq_option_content">
193
- <div class="sq_switch sq_seo_switch_condition" style="<?php echo ((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
194
- <input id="sq_auto_description1" type="radio" class="sq_switch-input" name="sq_auto_description" value="1" <?php echo ($auto_option ? "checked" : '') ?> />
195
  <label for="sq_auto_description1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
196
- <input id="sq_auto_description0" type="radio" class="sq_switch-input" name="sq_auto_description" value="0" <?php echo (!$auto_option ? "checked" : '') ?> />
197
  <label for="sq_auto_description0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
198
  <span class="sq_switch-selection"></span>
199
  </div>
@@ -202,13 +217,24 @@
202
  <span class="sq_legend_title"><?php _e('SEO for all post/pages', _SQ_PLUGIN_NAME_); ?></span>
203
  <span><?php echo sprintf(__('To customize the Title and Description for all the Posts and Pages in your site use the %sSquirrly Snippet Tool%s', _SQ_PLUGIN_NAME_), '<a href="http://howto.squirrly.co/sides/squirrly-snippet-tool/" target="_blank" >', '</a>'); ?></span>
204
 
 
 
 
 
 
 
 
 
 
 
 
 
205
  </legend>
206
 
207
  <div>
208
  <?php
209
  $auto_option = false;
210
- if (SQ_Tools::$options['sq_fp_title'] == '')
211
- $auto_option = true;
212
 
213
  if ($pageId = get_option('page_on_front')) {
214
  if (SQ_ObjController::getModel('SQ_Frontend')->getAdvancedMeta($pageId, 'title') <> '') {
@@ -228,23 +254,23 @@
228
  <ul id="sq_settings_sq_use" class="sq_settings_info">
229
  <span><?php _e('First Page Optimization:', _SQ_PLUGIN_NAME_); ?></span>
230
  <li>
231
- <input id="sq_customize" type="hidden" name="sq_auto_seo" value="0">
232
  <div id="sq_customize_settings">
233
  <p class="withborder">
234
- <span style="width: 65px;display: inline-block; vertical-align: top;"><?php _e('Title:', _SQ_PLUGIN_NAME_); ?></span><input type="text" name="sq_fp_title" value="<?php echo ((SQ_Tools::$options['sq_fp_title'] <> '') ? SQ_Tools::$options['sq_fp_title'] : '') ?>" size="75" /><span id="sq_title_info" />
235
  <span id="sq_fp_title_length"></span><span class="sq_settings_info"><?php _e('Tips: Length 10-75 chars', _SQ_PLUGIN_NAME_); ?></span>
236
  </p>
237
  <p class="withborder">
238
- <span style="width: 65px;display: inline-block; vertical-align: top;"><?php _e('Description:', _SQ_PLUGIN_NAME_); ?></span><textarea name="sq_fp_description" cols="70" rows="3" ><?php echo ((SQ_Tools::$options['sq_fp_description'] <> '') ? SQ_Tools::$options['sq_fp_description'] : '') ?></textarea><span id="sq_description_info" />
239
  <span id="sq_fp_description_length"></span><span class="sq_settings_info"><?php _e('Tips: Length 70-165 chars', _SQ_PLUGIN_NAME_); ?></span>
240
  </p>
241
  <p class="withborder">
242
- <span style="width: 65px;display: inline-block; vertical-align: top;"><?php _e('Keywords:', _SQ_PLUGIN_NAME_); ?></span><input type="text" name="sq_fp_keywords" value="<?php echo ((SQ_Tools::$options['sq_fp_keywords'] <> '') ? SQ_Tools::$options['sq_fp_keywords'] : '') ?>" size="70" />
243
  <span id="sq_fp_keywords_length"></span><span class="sq_settings_info"><?php _e('Tips: 2-4 keywords', _SQ_PLUGIN_NAME_); ?></span>
244
  </p>
245
- <p class="withborder sq_select_ogimage" <?php echo ((SQ_Tools::$options['sq_auto_facebook'] == 1) ? '' : 'style="display:none"') ?>>
246
  <span style="width: 65px;display: inline-block; vertical-align: top;"><?php _e('OG Image:', _SQ_PLUGIN_NAME_); ?></span>
247
- <strong><input type="text" name="sq_fp_ogimage" value="<?php echo ((SQ_Tools::$options['sq_fp_ogimage'] <> '') ? SQ_Tools::$options['sq_fp_ogimage'] : '') ?>" size="60" style="display:none;" /><input id="sq_fp_imageselect" type="button" class="sq_button" value="<?php echo __('Select Open Graph Image', _SQ_PLUGIN_NAME_) ?>"/></strong>
248
  </p>
249
  </div>
250
  </li>
@@ -254,29 +280,30 @@
254
  <div id="sq_snippet_name"><?php _e('Squirrly Snippet', _SQ_PLUGIN_NAME_) ?></div>
255
 
256
  <ul id="sq_snippet_ul">
257
- <div class="sq_select_ogimage_preview" <?php echo ((SQ_Tools::$options['sq_auto_facebook'] == 1) ? '' : 'style="display:none"') ?>>
258
- <div class="sq_fp_ogimage_close" <?php echo ((SQ_Tools::$options['sq_fp_ogimage'] <> '') ? '' : 'style="display:none;"') ?>>x</div>
259
- <div class="sq_fp_ogimage"><?php echo ((SQ_Tools::$options['sq_fp_ogimage'] <> '') ? '<img src="'.SQ_Tools::$options['sq_fp_ogimage'] .'" />' : '') ?></div>
260
  </div>
261
  <li id="sq_snippet_title"></li>
262
  <li id="sq_snippet_url"></li>
263
  <li id="sq_snippet_description"></li>
264
  </ul>
265
 
266
- <div id="sq_snippet_disclaimer" ><?php _e('If you don\'t see any changes in custom optimization, check if another SEO plugin affects Squirrly SEO', _SQ_PLUGIN_NAME_) ?></div>
267
  </div>
268
  </li>
269
  <li>
270
  <span class="sq_option_info"><?php echo sprintf(__('Use the %s<strong>Squirrly Snippet Tool</strong>%s while edit a Post/Page to customize the Title and Description for all the Posts and Pages', _SQ_PLUGIN_NAME_), '<a href="http://howto.squirrly.co/sides/squirrly-snippet-tool/" target="_blank" >', '</a>'); ?></span>
271
 
272
  </li>
 
273
  </ul>
274
  </div>
275
  </fieldset>
276
- <fieldset id="sq_social_media" <?php echo ((SQ_Tools::$options['sq_use'] == 0) ? 'class="deactivated"' : ''); ?>>
277
  <legend>
278
  <span class="sq_legend_title"><?php _e('Social Media Options', _SQ_PLUGIN_NAME_); ?></span>
279
- <p>
280
  <span><?php _e('Select the language you\'re using on Social Media', _SQ_PLUGIN_NAME_); ?></span>
281
  </p>
282
  <div class="abh_select withborder">
@@ -426,24 +453,36 @@
426
  <span><?php echo sprintf(__('%sHow to pop out in Social Media with your links%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/how-to-pop-out-in-social-media-with-your-links." target="_blank">', '</a>'); ?></span>
427
  <span><?php echo sprintf(__('%sGet busy with Facebook’s new Search Engine functions%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/get-busy-with-facebooks-new-search-engine-functions" target="_blank">', '</a>'); ?></span>
428
  <span><?php echo sprintf(__('%sHow I Added Twitter Cards in My WordPress for Better Inbound Marketing%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/inbound_marketing_twitter_cards-pagblog-article_id62232.html" target="_blank">', '</a>'); ?></span>
 
 
 
 
 
 
 
 
 
 
 
 
 
429
  </legend>
430
 
431
  <div>
432
  <ul id="sq_settings_sq_use" class="sq_settings_info">
433
- <span><?php _e('What does Squirrly automatically do for Social Media?', _SQ_PLUGIN_NAME_); ?></span>
434
  <li id="sq_option_facebook">
435
  <?php
436
  $auto_option = false;
437
- if (SQ_Tools::$options['sq_auto_facebook'] == 1)
438
- $auto_option = true;
439
  ?>
440
- <div class="sq_option_img" ></div>
441
  <div class="sq_option_content sq_option_content_small">
442
 
443
- <div class="sq_switch sq_seo_switch_condition" style="<?php echo ((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
444
- <input id="sq_auto_facebook1" type="radio" class="sq_switch-input" name="sq_auto_facebook" value="1" <?php echo ($auto_option ? "checked" : '') ?> />
445
  <label for="sq_auto_facebook1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
446
- <input id="sq_auto_facebook0" type="radio" class="sq_switch-input" name="sq_auto_facebook" value="0" <?php echo (!$auto_option ? "checked" : '') ?> />
447
  <label for="sq_auto_facebook0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
448
  <span class="sq_switch-selection"></span>
449
  </div>
@@ -455,102 +494,126 @@
455
  <li id="sq_option_twitter">
456
  <?php
457
  $auto_option = false;
458
- if (SQ_Tools::$options['sq_auto_twitter'] == 1)
459
- $auto_option = true;
460
  ?>
461
- <div class="sq_option_img" ></div>
462
  <div class="sq_option_content sq_option_content_small">
463
 
464
 
465
- <div class="sq_switch sq_seo_switch_condition" style="<?php echo ((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
466
- <input id="sq_auto_twitter1" type="radio" class="sq_switch-input" name="sq_auto_twitter" value="1" <?php echo ($auto_option ? "checked" : '') ?> />
467
  <label for="sq_auto_twitter1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
468
- <input id="sq_auto_twitter0" type="radio" class="sq_switch-input" name="sq_auto_twitter" value="0" <?php echo (!$auto_option ? "checked" : '') ?> />
469
  <label for="sq_auto_twitter0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
470
  <span class="sq_switch-selection"></span>
471
  </div>
472
  <span><?php echo __('Add the <strong>Twitter card</strong> in your tweets. ', _SQ_PLUGIN_NAME_) . ' <a href="https://cards-dev.twitter.com/validator" target="_blank" title="Twitter Card Validator">Check here</a> to validate your site'; ?></span>
473
- <div class="sq_switch sq_seo_switch_condition" style="<?php echo ((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
474
- <input id="sq_auto_twittersize1" type="radio" class="sq_switch-input" name="sq_auto_twittersize" value="summary_large_image" <?php echo ((SQ_Tools::$options['sq_auto_twittersize'] <> 'summary') ? "checked" : '') ?> />
475
  <label for="sq_auto_twittersize1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
476
- <input id="sq_auto_twittersize0" type="radio" class="sq_switch-input" name="sq_auto_twittersize" value="summary" <?php echo ((SQ_Tools::$options['sq_auto_twittersize'] == 'summary') ? "checked" : '') ?> />
477
  <label for="sq_auto_twittersize0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
478
  <span class="sq_switch-selection"></span>
479
  </div>
480
- <span><?php echo sprintf(__('Use <strong>Twitter %ssummary_large_image%s</strong> for your tweeter card. ', _SQ_PLUGIN_NAME_) ,'<a href="https://dev.twitter.com/cards/types/summary-large-image" target="_blank" title="Twitter Large Summary">','</a> ') . ''; ?></span>
481
- <span style="color: #f7681a; margin-top: 9px; text-align: center; <?php echo ((SQ_Tools::$options['sq_twitter_account'] <> '') ? 'display:none' : '') ?>"><?php echo __('You need to add your <strong>Twitter account</strong> below', _SQ_PLUGIN_NAME_); ?></span>
482
 
483
  </div>
484
  </li>
 
485
 
486
  </ul>
 
487
  </div>
488
  </fieldset>
489
- <fieldset id="sq_sitemap" <?php echo ((SQ_Tools::$options['sq_use'] == 0 || SQ_Tools::$options['sq_auto_sitemap'] == 0) ? 'class="deactivated"' : ''); ?>>
490
  <legend>
491
  <span class="sq_legend_title"><?php _e('XML Sitemap for Google', _SQ_PLUGIN_NAME_); ?></span>
492
  <span><?php echo __('Squirrly Sitemap is the fastest way to tell Google about your site links. <strong>Supports Multisites, Google News, Images, Videos, Custom Post Types, Custom Taxonomies and Ecommerce products</strong>', _SQ_PLUGIN_NAME_) ?></span>
493
  <span><?php echo sprintf(__('%sHow to submit your sitemap.xml in Google Webmaster Tool%s', _SQ_PLUGIN_NAME_), '<a href="http://howto.squirrly.co/wordpress-seo/how-to-submit-your-sitemap-xml-in-google-sitemap/" target="_blank">', '</a>'); ?></span>
494
  <span><?php echo sprintf(__('%s10 Vital To Dos to Feed Your SEO Content Machine After You Post Articles%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/10_vital_to_dos_to_feed_your_seo_content_machine_after_you_post_articles-pagblog-article_id62194-html" target="_blank">', '</a>'); ?></span>
495
  <span><?php echo sprintf(__('For Google News Sitemap, ensure that your site is included in %sGoogle News%s', _SQ_PLUGIN_NAME_), '<a href="https://partnerdash.google.com/partnerdash/d/news" target="_blank">', '</a>'); ?></span>
496
- </legend>
497
 
498
  <div>
499
  <?php
500
  $auto_option = false;
501
- if (SQ_Tools::$options['sq_sitemap_ping'] == 1)
502
- $auto_option = true;
503
  ?>
504
  <ul id="sq_sitemap_option" class="sq_settings_info">
505
  <span><?php _e('XML Sitemap Options', _SQ_PLUGIN_NAME_); ?></span>
506
  <div class="sq_option_content sq_option_content_small">
507
- <div class="sq_switch sq_seo_switch_condition" style="<?php echo ((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
508
- <input id="sq_sitemap_ping1" type="radio" class="sq_switch-input" name="sq_sitemap_ping" value="1" <?php echo ($auto_option ? "checked" : '') ?> />
509
- <label for="sq_sitemap_ping1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
510
- <input id="sq_sitemap_ping0" type="radio" class="sq_switch-input" name="sq_sitemap_ping" value="0" <?php echo (!$auto_option ? "checked" : '') ?> />
511
- <label for="sq_sitemap_ping0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
512
- <span class="sq_switch-selection"></span>
513
- </div>
514
- <span><?php echo __('Ping your sitemap to Google and Bing when a new post is published', _SQ_PLUGIN_NAME_); ?></span>
515
  </div>
 
 
516
  <li>
517
  <p><?php _e('Build Sitemaps for', _SQ_PLUGIN_NAME_); ?>:</p>
518
- <ul id="sq_sitemap_buid">
519
- <li class="sq_selectall"><input type="checkbox" id="sq_selectall"/>Select All</li>
520
- <li><input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-news" <?php echo ((SQ_Tools::$options['sq_sitemap']['sitemap-news'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Google News', _SQ_PLUGIN_NAME_); ?> <a href="https://partnerdash.google.com/partnerdash/d/news" target="_blank">Read first!</a></li>
521
- <li><input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-category" <?php echo ((SQ_Tools::$options['sq_sitemap']['sitemap-category'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Categories', _SQ_PLUGIN_NAME_); ?></li>
522
- <?php if (SQ_ObjController::getModel('SQ_BlockSettingsSeo')->isEcommerce()) { //check for ecommerce product ?><li><input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-product" <?php echo ((SQ_Tools::$options['sq_sitemap']['sitemap-product'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Products', _SQ_PLUGIN_NAME_); ?></li><?php } ?>
523
- <li><input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-post" <?php echo ((SQ_Tools::$options['sq_sitemap']['sitemap-post'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Posts', _SQ_PLUGIN_NAME_); ?></li>
524
- <li><input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-post_tag" <?php echo ((SQ_Tools::$options['sq_sitemap']['sitemap-post_tag'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Tags', _SQ_PLUGIN_NAME_); ?></li>
525
- <li><input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-page" <?php echo ((SQ_Tools::$options['sq_sitemap']['sitemap-page'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Pages', _SQ_PLUGIN_NAME_); ?></li>
526
- <li><input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-archive" <?php echo ((SQ_Tools::$options['sq_sitemap']['sitemap-archive'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Archive', _SQ_PLUGIN_NAME_); ?></li>
527
- <li><input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-custom-tax" <?php echo ((SQ_Tools::$options['sq_sitemap']['sitemap-custom-tax'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Custom Taxonomies', _SQ_PLUGIN_NAME_); ?></li>
528
- <li><input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-custom-post" <?php echo ((SQ_Tools::$options['sq_sitemap']['sitemap-custom-post'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Custom Posts', _SQ_PLUGIN_NAME_); ?></li>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
529
  </ul>
530
- <span style="color: red; margin: 10px; line-height: 20px; display: block;"><?php echo sprintf(__('Select only the Post Types that have links in them. Your sitemap will be %s', _SQ_PLUGIN_NAME_),'<a href="' . SQ_ObjController::getController('SQ_Sitemaps')->getXmlUrl('sitemap') . '" target="_blank">' . SQ_ObjController::getController('SQ_Sitemaps')->getXmlUrl('sitemap') . '</a></strong>'); ?></span>
531
 
532
  </li>
533
  <li>
534
  <p><?php _e('Include in Sitemaps', _SQ_PLUGIN_NAME_); ?>:</p>
535
- <ul id="sq_sitemap_include">
536
- <li><input type="checkbox" class="sq_sitemap_show" name="sq_sitemap_show[]" value="images" <?php echo ((SQ_Tools::$options['sq_sitemap_show']['images'] == 1) ? 'checked="checked"' : ''); ?>><?php _e('<strong>Images</strong> from posts/pages', _SQ_PLUGIN_NAME_); ?></li>
537
- <li><input type="checkbox" class="sq_sitemap_show" name="sq_sitemap_show[]" value="videos" <?php echo ((SQ_Tools::$options['sq_sitemap_show']['videos'] == 1) ? 'checked="checked"' : ''); ?>><?php _e('<strong>Videos</strong> (embeded and local media)', _SQ_PLUGIN_NAME_); ?></li>
 
 
 
 
538
  </ul>
539
  </li>
540
  <li>
541
  <p><?php _e('How often do you update your site?', _SQ_PLUGIN_NAME_); ?></p>
542
  <select name="sq_sitemap_frequency">
543
- <option value="daily" <?php echo ((SQ_Tools::$options['sq_sitemap_frequency'] == 'daily') ? 'selected="selected"' : ''); ?>><?php _e('every day', _SQ_PLUGIN_NAME_); ?></option>
544
- <option value="weekly" <?php echo ((SQ_Tools::$options['sq_sitemap_frequency'] == 'weekly') ? 'selected="selected"' : ''); ?>><?php _e('1-3 times per week', _SQ_PLUGIN_NAME_); ?></option>
545
- <option value="monthly" <?php echo ((SQ_Tools::$options['sq_sitemap_frequency'] == 'monthly') ? 'selected="selected"' : ''); ?>><?php _e('1-3 times per month', _SQ_PLUGIN_NAME_); ?></option>
546
- <option value="yearly" <?php echo ((SQ_Tools::$options['sq_sitemap_frequency'] == 'yearly') ? 'selected="selected"' : ''); ?>><?php _e('1-3 times per year', _SQ_PLUGIN_NAME_); ?></option>
547
- </select>
548
  </li>
549
  </ul>
550
  </div>
551
  </fieldset>
552
  <a name="sq_favicon_anchor"></a>
553
- <fieldset id="sq_favicon" <?php echo ((SQ_Tools::$options['sq_use'] == 0 || SQ_Tools::$options['sq_auto_favicon'] == 0) ? 'class="deactivated"' : ''); ?>>
554
  <legend>
555
  <span class="sq_legend_title"><?php _e('Change the Website Icon', _SQ_PLUGIN_NAME_); ?></span>
556
  <span><?php _e('Now, even tablet & smartphone browsers make use of your icons. This makes having a good favicon even more important.', _SQ_PLUGIN_NAME_); ?> </span>
@@ -558,7 +621,7 @@
558
 
559
  </legend>
560
  <div>
561
- <?php echo ((defined('SQ_MESSAGE_FAVICON')) ? '<span class="sq_message sq_error" style="display: block; padding: 11px 0;">' . SQ_MESSAGE_FAVICON . '</span>' : '') ?>
562
  <p>
563
  <?php _e('Upload file:', _SQ_PLUGIN_NAME_); ?><br /><br />
564
  <?php
@@ -568,7 +631,8 @@
568
  } else {
569
  $favicon = get_bloginfo('wpurl') . '/favicon.icon' . '?' . time();
570
  }
571
- ?> <img src="<?php echo $favicon ?>" style="float: left; margin-top: 1px;width: 32px;height: 32px;" />
 
572
  <?php } ?>
573
  <input type="file" name="favicon" id="favicon" style="float: left;" />
574
  <input type="submit" name="sq_update" value="<?php _e('Upload', _SQ_PLUGIN_NAME_) ?>" style="float: left; margin-top: 0;" />
@@ -584,77 +648,95 @@
584
  </div>
585
 
586
  </fieldset>
587
- <fieldset id="sq_jsonld" <?php echo ((SQ_Tools::$options['sq_use'] == 0 || SQ_Tools::$options['sq_auto_jsonld'] == 0) ? 'class="deactivated"' : ''); ?>>
588
  <legend>
589
  <span class="sq_legend_title"><?php _e('JSON-LD for Semantic SEO', _SQ_PLUGIN_NAME_); ?></span>
590
  <span><?php echo __('Squirrly will automatically add the JSON-LD Structured Data in your site.', _SQ_PLUGIN_NAME_) ?></span>
591
  <span><?php echo sprintf(__('%sJSON-LD\'s Big Day at Google%s', _SQ_PLUGIN_NAME_), '<a href="http://www.seoskeptic.com/json-ld-big-day-at-google/" target="_blank">', '</a>'); ?></span>
592
  <span><?php echo sprintf(__('%sGoogle Testing Tool%s', _SQ_PLUGIN_NAME_), '<a href="https://developers.google.com/structured-data/testing-tool/" target="_blank">', '</a>'); ?></span>
593
  <span><?php echo sprintf(__('%sSpecify your social profiles to Google%s', _SQ_PLUGIN_NAME_), '<a href="https://developers.google.com/structured-data/customize/social-profiles" target="_blank">', '</a>'); ?></span>
594
- </legend>
 
 
 
 
 
 
 
 
 
 
 
 
 
595
 
596
  <div>
597
  <ul id="sq_jsonld_option" class="sq_settings_info">
598
  <li class="withborder">
599
  <p style="line-height: 30px;"><?php _e('Your site type:', _SQ_PLUGIN_NAME_); ?>
600
- <select name="sq_jsonld_type" class="sq_jsonld_type">
601
- <option value="Organization" <?php echo ((SQ_Tools::$options['sq_jsonld_type'] == 'Organization') ? 'selected="selected"' : ''); ?>><?php _e('Organization', _SQ_PLUGIN_NAME_); ?></option>
602
- <option value="Person" <?php echo ((SQ_Tools::$options['sq_jsonld_type'] == 'Person') ? 'selected="selected"' : ''); ?>><?php _e('Personal', _SQ_PLUGIN_NAME_); ?></option>
603
- </select>
604
  </p>
605
  </li>
606
  <li class="withborder">
607
  <p>
608
- <span class="sq_jsonld_types sq_jsonld_Organization" style="display: block;float: left; <?php echo ((SQ_Tools::$options['sq_jsonld_type'] == 'Person') ? 'display:none' : ''); ?>"><?php _e('Your Organization Name:', _SQ_PLUGIN_NAME_); ?></span>
609
- <span class="sq_jsonld_types sq_jsonld_Person" style="width: 105px;display: block;float: left; <?php echo ((SQ_Tools::$options['sq_jsonld_type'] == 'Organization') ? 'display:none' : ''); ?>"><?php _e('Your Name:', _SQ_PLUGIN_NAME_); ?></span>
610
- <strong><input type="text" name="sq_jsonld_name" value="<?php echo ((SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['name'] <> '') ? SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['name'] : '') ?>" size="60" style="width: 300px;" /></strong>
611
  </p>
612
- <p class="sq_jsonld_types sq_jsonld_Person" <?php echo ((SQ_Tools::$options['sq_jsonld_type'] == 'Organization') ? 'style="display:none"' : ''); ?>>
613
  <span style="width: 105px;display: block;float: left;"><?php _e('Job Title:', _SQ_PLUGIN_NAME_); ?></span>
614
- <strong><input type="text" name="sq_jsonld_jobTitle" value="<?php echo ((SQ_Tools::$options['sq_jsonld']['Person']['jobTitle'] <> '') ? SQ_Tools::$options['sq_jsonld']['Person']['jobTitle'] : '') ?>" size="60" style="width: 300px;" /></strong>
615
  </p>
616
  <p>
617
- <span class="sq_jsonld_types sq_jsonld_Organization" style="width: 105px; display: block;float: left; <?php echo ((SQ_Tools::$options['sq_jsonld_type'] == 'Person') ? 'display:none' : ''); ?>"><?php _e('Logo Url:', _SQ_PLUGIN_NAME_); ?></span>
618
- <span class="sq_jsonld_types sq_jsonld_Person" style="width: 105px;display: block;float: left; <?php echo ((SQ_Tools::$options['sq_jsonld_type'] == 'Organization') ? 'display:none' : ''); ?>"><?php _e('Image Url:', _SQ_PLUGIN_NAME_); ?></span>
619
- <strong><input type="text" name="sq_jsonld_logo" value="<?php echo ((SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['logo'] <> '') ? SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['logo'] : '') ?>" size="60" style="width: 247px;" /><input id="sq_json_imageselect" type="button" class="sq_button" value="<?php echo __('Select Image', _SQ_PLUGIN_NAME_) ?>"/></strong>
620
  </p>
621
  <p>
622
- <span style="width: 105px;display: block;float: left;"><?php _e('Contact Phone:', _SQ_PLUGIN_NAME_); ?></span>
623
- <strong><input type="text" name="sq_jsonld_telephone" value="<?php echo ((SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['telephone'] <> '') ? SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['telephone'] : '') ?>" size="60" style="width: 350px;" /></strong>
624
  </p>
625
- <p class="sq_jsonld_types sq_jsonld_Organization" <?php echo ((SQ_Tools::$options['sq_jsonld_type'] == 'Person') ? 'style="display:none"' : ''); ?>>
626
- <span style="width: 105px;display: block;float: left;"><?php _e('Contact Type:', _SQ_PLUGIN_NAME_); ?></span>
627
  <select name="sq_jsonld_contactType" class="sq_jsonld_contactType">
628
- <option value="customer service" <?php echo ((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'customer service') ? 'selected="selected"' : ''); ?>><?php _e('Customer Service', _SQ_PLUGIN_NAME_); ?></option>
629
- <option value="technical support" <?php echo ((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'technical support') ? 'selected="selected"' : ''); ?>><?php _e('Technical Support', _SQ_PLUGIN_NAME_); ?></option>
630
- <option value="billing support" <?php echo ((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'billing support') ? 'selected="selected"' : ''); ?>><?php _e('Billing Support', _SQ_PLUGIN_NAME_); ?></option>
631
- <option value="bill payment" <?php echo ((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'bill payment') ? 'selected="selected"' : ''); ?>><?php _e('Bill Payment', _SQ_PLUGIN_NAME_); ?></option>
632
- <option value="sales" <?php echo ((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'sales') ? 'selected="selected"' : ''); ?>><?php _e('Sales', _SQ_PLUGIN_NAME_); ?></option>
633
- <option value="reservations" <?php echo ((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'reservations') ? 'selected="selected"' : ''); ?>><?php _e('Reservations', _SQ_PLUGIN_NAME_); ?></option>
634
- <option value="credit card support" <?php echo ((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'credit card support') ? 'selected="selected"' : ''); ?>><?php _e('Credit Card Support', _SQ_PLUGIN_NAME_); ?></option>
635
- <option value="emergency" <?php echo ((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'emergency') ? 'selected="selected"' : ''); ?>><?php _e('Emergency', _SQ_PLUGIN_NAME_); ?></option>
636
- <option value="baggage tracking" <?php echo ((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'baggage tracking') ? 'selected="selected"' : ''); ?>><?php _e('Baggage Tracking', _SQ_PLUGIN_NAME_); ?></option>
637
- <option value="roadside assistance" <?php echo ((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'roadside assistance') ? 'selected="selected"' : ''); ?>><?php _e('Roadside Assistance', _SQ_PLUGIN_NAME_); ?></option>
638
- <option value="package tracking" <?php echo ((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'package tracking') ? 'selected="selected"' : ''); ?>><?php _e('Package Tracking', _SQ_PLUGIN_NAME_); ?></option>
639
  </select>
640
  </p>
641
 
642
  <p>
643
  <span style="width: 105px;display: block;float: left;"><?php _e('Short Description:', _SQ_PLUGIN_NAME_); ?></span>
644
- <strong><textarea name="sq_jsonld_description" size="60" style="width: 350px; height: 70px;" /><?php echo ((SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['description'] <> '') ? SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['description'] : '') ?></textarea></strong>
 
645
  </p>
646
- <p><input type="button" class="sq_social_link" style="margin-left:120px;background-color: #15b14a;color: white;padding: 5px; cursor: pointer;" value="<?php _e('Add your social accounts for Json-LD', _SQ_PLUGIN_NAME_) ?>" /></p>
 
 
 
 
 
647
  </li>
648
- <li style="position: relative; font-size: 14px;color: #f7681a;"><div class="sq_option_img" ></div><?php echo __('How will the search results look once google grab your data.', _SQ_PLUGIN_NAME_) ?></li>
649
 
650
  </ul>
651
  </div>
652
  </fieldset>
653
- <fieldset id="sq_social_media_accounts" >
654
  <legend>
655
  <span class="sq_legend_title"><?php _e('Social Media Accounts', _SQ_PLUGIN_NAME_); ?></span>
656
  <span><?php echo sprintf(__('%sLink your Google+ profile to the content you create%s', _SQ_PLUGIN_NAME_), '<a href="https://developers.google.com/structured-data/" target="_blank">', '</a>'); ?></span>
657
- <span><?php echo sprintf(__('%sTwitter account is mandatory for <strong>Twitter Card Validation</strong>%s', _SQ_PLUGIN_NAME_), '<a href="https://dev.twitter.com/docs/cards/validation/validator" target="_blank">', '</a>'); ?></span>
658
  <span><?php echo sprintf(__('%sAdd all your social accounts for <strong>JSON-LD Semantic SEO</strong>%s', _SQ_PLUGIN_NAME_), '<a href="http://howto.squirrly.c%so/sides/squirrly-json-ld-structured-data/" target="_blank">', '</a>'); ?></span>
659
  <span><?php echo sprintf(__('%sSpecify your social profiles to Google%s', _SQ_PLUGIN_NAME_), '<a href="https://developers.google.com/structured-data/customize/social-profiles" target="_blank">', '</a>'); ?></span>
660
  </legend>
@@ -664,43 +746,49 @@
664
  <li>
665
  <p class="withborder withcode">
666
  <span class="sq_icon sq_icon_twitter"></span>
667
- <?php _e('Your Twitter Account:', _SQ_PLUGIN_NAME_); ?><br /><strong><input type="text" name="sq_twitter_account" value="<?php echo ((SQ_Tools::$options['sq_twitter_account'] <> '') ? SQ_Tools::$options['sq_twitter_account'] : '') ?>" size="60" placeholder="https://twitter.com/" /> (e.g. https://twitter.com/XXXXXXXXXXXXXXXXXX)</strong>
 
668
  </p>
669
  </li>
670
  <li>
671
  <p class="withborder withcode">
672
  <span class="sq_icon sq_icon_googleplus"></span>
673
- <?php _e('Google Plus Profile:', _SQ_PLUGIN_NAME_); ?><br /><strong><input type="text" name="sq_google_plus" value="<?php echo ((SQ_Tools::$options['sq_google_plus'] <> '') ? SQ_Tools::$options['sq_google_plus'] : '') ?>" size="60" placeholder="https://plus.google.com/" /> (e.g. https://plus.google.com/+XXXXXXXXXXXXXXXXXX)</strong>
 
674
  </p>
675
  </li>
676
  <li>
677
  <p class="withborder withcode">
678
  <span class="sq_icon sq_icon_facebook"></span>
679
- <?php _e('Facebook Profile:', _SQ_PLUGIN_NAME_); ?><br /><strong><input type="text" name="sq_facebook_account" value="<?php echo ((SQ_Tools::$options['sq_facebook_account'] <> '') ? SQ_Tools::$options['sq_facebook_account'] : '') ?>" size="60" placeholder="https://www.facebook.com/" /> (e.g. https://www.facebook.com/XXXXXXXXXXXXXXXXXX)</strong>
 
680
  </p>
681
  </li>
682
  <li>
683
  <p class="withborder withcode">
684
  <span class="sq_icon sq_icon_linkedin"></span>
685
- <?php _e('Linkedin Profile:', _SQ_PLUGIN_NAME_); ?><br /><strong><input type="text" name="sq_linkedin_account" value="<?php echo ((SQ_Tools::$options['sq_linkedin_account'] <> '') ? SQ_Tools::$options['sq_linkedin_account'] : '') ?>" size="60" placeholder="https://www.linkedin.com/" /> (e.g. https://www.linkedin.com/XXXX/XXXXXXXXXXXXXXXXXX)</strong>
 
686
  </p>
687
  </li>
688
  <li>
689
  <p class="withborder withcode">
690
  <span class="sq_icon sq_icon_social_pinterest"></span>
691
- <?php _e('Pinterest Profile:', _SQ_PLUGIN_NAME_); ?><br /><strong><input type="text" name="sq_pinterest_account" value="<?php echo ((SQ_Tools::$options['sq_pinterest_account'] <> '') ? SQ_Tools::$options['sq_pinterest_account'] : '') ?>" size="60" placeholder="https://www.pinterest.com/" /> (e.g. https://www.pinterest.com/XXXXXXXXXXXXXXXXXX)</strong>
 
692
  </p>
693
  </li>
694
  <li>
695
  <p class="withborder withcode">
696
  <span class="sq_icon sq_icon_social_instagram"></span>
697
- <?php _e('Instagram Profile:', _SQ_PLUGIN_NAME_); ?><br /><strong><input type="text" name="sq_instagram_account" value="<?php echo ((SQ_Tools::$options['sq_instagram_account'] <> '') ? SQ_Tools::$options['sq_instagram_account'] : '') ?>" size="60" placeholder="https://www.instagram.com/" /> (e.g. https://www.linkedin.com/XXXXXXXXXXXXXXXXXX)</strong>
 
698
  </p>
699
  </li>
700
  </ul>
701
  </div>
702
  </fieldset>
703
- <fieldset id="sq_tracking" >
704
  <legend>
705
  <span class="sq_legend_title"><?php _e('Tracking Tools', _SQ_PLUGIN_NAME_); ?></span>
706
  <span><?php echo sprintf(__('%sHow to Get the Most Out of Google Analytics%s', _SQ_PLUGIN_NAME_), '<a href="http://mashable.com/2012/01/04/google-analytics-guide/" target="_blank">', '</a>'); ?></span>
@@ -708,25 +796,70 @@
708
  <span><?php echo sprintf(__('%sA Beginner’s Guide to Facebook Insights%s', _SQ_PLUGIN_NAME_), '<a href="http://mashable.com/2010/09/03/facebook-insights-guide/" target="_blank">', '</a>'); ?></span>
709
  <span><?php echo sprintf(__('%sRich Pins Validator%s', _SQ_PLUGIN_NAME_), '<a href="https://developers.pinterest.com/tools/url-debugger/" target="_blank">', '</a>'); ?></span>
710
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
711
  </legend>
712
  <div>
713
 
714
  <p class="withborder withcode">
715
  <span class="sq_icon sq_icon_googleanalytics"></span>
716
- <?php echo sprintf(__('Google %sAnalytics ID%s:', _SQ_PLUGIN_NAME_), '<a href="https://analytics.google.com/analytics/web/" target="_blank">', '</a>'); ?><br><strong><input type="text" name="sq_google_analytics" value="<?php echo ((SQ_Tools::$options['sq_google_analytics'] <> '') ? SQ_Tools::$options['sq_google_analytics'] : '') ?>" size="15" placeholder="UA-XXXXXXX-XX" /> (e.g. UA-XXXXXXX-XX)</strong>
 
717
  </p>
718
- <p class="withborder withcode" >
719
  <span class="sq_icon sq_icon_facebookinsights"></span>
720
- <?php echo sprintf(__('Facebook Admin ID (for %sInsights%s ):', _SQ_PLUGIN_NAME_), '<a href="http://www.facebook.com/insights/" target="_blank">', '</a>'); ?><br><strong> <input type="text" name="sq_facebook_insights" value="<?php echo ((SQ_Tools::$options['sq_facebook_insights'] <> '') ? SQ_Tools::$options['sq_facebook_insights'] : '') ?>" size="15" placeholder="<?php echo __('Facebook ID or https://www.facebook.com/YourProfileName', _SQ_PLUGIN_NAME_) ?>" /> (e.g. &lt;meta property="fb:admins" content="XXXXXXXXXXXXXXXXXX" /&gt;)</strong>
 
 
721
  </p>
722
  <p class="withborder withcode">
723
  <span class="sq_icon sq_icon_facebookpixel"></span>
724
- <?php echo sprintf(__('Facebook %sPixel ID%s:', _SQ_PLUGIN_NAME_), '<a href="https://www.facebook.com/ads/manager/pixel/facebook_pixel/" target="_blank">', '</a>'); ?><br><strong><input type="text" name="sq_facebook_analytics" value="<?php echo ((SQ_Tools::$options['sq_facebook_analytics'] <> '') ? SQ_Tools::$options['sq_facebook_analytics'] : '') ?>" size="15" /> (e.g. 1234567890)</strong>
 
725
  </p>
726
- <p class="withborder withcode" >
727
  <span class="sq_icon sq_icon_pinterest"></span>
728
- <?php echo sprintf(__('Pinterest Website Validator Code: (validate %sRich Pins%s )', _SQ_PLUGIN_NAME_), '<a href="https://developers.pinterest.com/tools/url-debugger/" target="_blank">', '</a>'); ?><br><strong> <input type="text" name="sq_pinterest" value="<?php echo ((SQ_Tools::$options['sq_pinterest'] <> '') ? SQ_Tools::$options['sq_pinterest'] : '') ?>" size="15" /> (e.g. &lt;meta name="p:domain_verify" content="XXXXXXXXXXXXXXXXXX" /&gt;)</strong>
 
 
729
  </p>
 
 
730
  </div>
731
  </fieldset>
732
 
@@ -743,10 +876,10 @@
743
 
744
  <div class="sq_settings_backup">
745
  <form action="" method="POST">
746
- <input type="hidden" name="action" value="sq_backup" />
747
- <input type="hidden" name="nonce" value="<?php echo wp_create_nonce(_SQ_NONCE_ID_); ?>" />
748
- <input type="submit" class="sq_button" name="sq_backup" value="<?php _e('Backup Settings', _SQ_PLUGIN_NAME_) ?>" />
749
- <input type="button" class="sq_button sq_restore" name="sq_restore" value="<?php _e('Restore Settings', _SQ_PLUGIN_NAME_) ?>" />
750
  </form>
751
  </div>
752
 
@@ -754,10 +887,10 @@
754
  <span class="sq_close">x</span>
755
  <span><?php _e('Upload the file with the saved Squirrly Settings', _SQ_PLUGIN_NAME_) ?></span>
756
  <form action="" method="POST" enctype="multipart/form-data">
757
- <input type="hidden" name="action" value="sq_restore" />
758
- <input type="file" name="sq_options" id="favicon" style="float: left;" />
759
- <input type="hidden" name="nonce" value="<?php echo wp_create_nonce(_SQ_NONCE_ID_); ?>" />
760
- <input type="submit" style="margin-top: 10px;" class="sq_button" name="sq_restore" value="<?php _e('Restore Backup', _SQ_PLUGIN_NAME_) ?>" />
761
  </form>
762
  </div>
763
 
2
  <?php SQ_ObjController::getBlock('SQ_BlockSupport')->init(); ?>
3
  <div>
4
  <span class="sq_icon"></span>
5
+ <div id="sq_settings_title"><?php _e('SEO', _SQ_PLUGIN_NAME_); ?> </div>
6
+ <div id="sq_settings_title">
7
  <input type="submit" name="sq_update" value="<?php _e('Save SEO', _SQ_PLUGIN_NAME_) ?> &raquo;" />
8
  <?php if (SQ_Tools::$options['ignore_warn'] == 0) { ?>
9
  <div class="sq_checkissues"><?php _e('Check for SEO issues in your site', _SQ_PLUGIN_NAME_); ?></div>
24
  <span><?php _e('Activate the built-in SEO settings from Squirrly by switching Yes below. <strong>Works well with Multisites and Ecommerce.</strong>', _SQ_PLUGIN_NAME_); ?></span><br />
25
  <div class="sq_option_content">
26
  <div class="sq_switch">
27
+ <input id="sq_use_on" type="radio" class="sq_switch-input" name="sq_use" value="1" <?php echo((SQ_Tools::$options['sq_use'] == 1) ? "checked" : '') ?> />
28
  <label for="sq_use_on" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
29
+ <input id="sq_use_off" type="radio" class="sq_switch-input" name="sq_use" value="0" <?php echo((!SQ_Tools::$options['sq_use']) ? "checked" : '') ?> />
30
  <label for="sq_use_off" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
31
  <span class="sq_switch-selection"></span>
32
  </div>
33
  </div>
34
+ <div class="sq_badge_google">
35
+ <div class="sq_badge-image"></div>
36
+ <div class="sq_description">
37
+ <div class="sq_title">
38
+ <?php _e('New SEO Settings For Google 2017', _SQ_PLUGIN_NAME_); ?>
39
+ </div>
40
+ <div class="sq_link">
41
+ <a href="https://howto.squirrly.co/wordpress-seo/what-can-you-tell-us-about-squirrly-seo-2016-vs-squirrly-seo-2017/" target="_blank" title="<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>"> (<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>) </a>
42
+ </div>
43
+ </div>
44
+ </div>
45
+
46
+ <div class="sq_badge_google">
47
+ <div class="sq_badge-image"></div>
48
+ <div class="sq_description">
49
+ <div class="sq_title">
50
+ <?php _e('Fastest SEO Plugin in 2017', _SQ_PLUGIN_NAME_); ?>
51
+ </div>
52
+ <div class="sq_link">
53
+ <a href="https://howto.squirrly.co/wordpress-seo/what-can-you-tell-us-about-squirrly-seo-2016-vs-squirrly-seo-2017/" target="_blank" title="<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>"> (<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>) </a>
54
+ </div>
55
+ </div>
56
+ </div>
57
+
58
  </legend>
59
  <div>
60
  <ul id="sq_settings_sq_use" class="sq_settings_info">
62
  <li>
63
  <?php
64
  $auto_option = false;
65
+ if (SQ_Tools::$options['sq_auto_canonical'] == 1) $auto_option = true;
 
66
  ?>
67
  <div class="sq_option_content sq_option_content_small">
68
+ <div class="sq_switch sq_seo_switch_condition" style="<?php echo((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
69
+ <input id="sq_auto_canonical1" type="radio" class="sq_switch-input" name="sq_auto_canonical" value="1" <?php echo($auto_option ? "checked" : '') ?> />
70
  <label for="sq_auto_canonical1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
71
+ <input id="sq_auto_canonical0" type="radio" class="sq_switch-input" name="sq_auto_canonical" value="0" <?php echo(!$auto_option ? "checked" : '') ?> />
72
  <label for="sq_auto_canonical0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
73
  <span class="sq_switch-selection"></span>
74
  </div>
79
  <li>
80
  <?php
81
  $auto_option = false;
82
+ if (SQ_Tools::$options['sq_auto_meta'] == 1) $auto_option = true;
 
83
  ?>
84
  <div class="sq_option_content sq_option_content_small">
85
+ <div class="sq_switch sq_seo_switch_condition" style="<?php echo((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
86
+ <input id="sq_auto_meta1" type="radio" class="sq_switch-input" name="sq_auto_meta" value="1" <?php echo($auto_option ? "checked" : '') ?> />
87
  <label for="sq_auto_meta1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
88
+ <input id="sq_auto_meta0" type="radio" class="sq_switch-input" name="sq_auto_meta" value="0" <?php echo(!$auto_option ? "checked" : '') ?> />
89
  <label for="sq_auto_meta0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
90
  <span class="sq_switch-selection"></span>
91
  </div>
95
  <li>
96
  <?php
97
  $auto_option = false;
98
+ if (SQ_Tools::$options['sq_auto_sitemap'] == 1) $auto_option = true;
 
99
  ?>
100
  <div class="sq_option_content sq_option_content_small">
101
+ <div class="sq_switch sq_seo_switch_condition" style="<?php echo((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
102
+ <input id="sq_auto_sitemap1" type="radio" class="sq_switch-input" name="sq_auto_sitemap" value="1" <?php echo($auto_option ? "checked" : '') ?> />
103
  <label for="sq_auto_sitemap1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
104
+ <input id="sq_auto_sitemap0" type="radio" class="sq_switch-input" name="sq_auto_sitemap" value="0" <?php echo(!$auto_option ? "checked" : '') ?> />
105
  <label for="sq_auto_sitemap0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
106
  <span class="sq_switch-selection"></span>
107
  </div>
111
  <li>
112
  <?php
113
  $auto_option = false;
114
+ if (SQ_Tools::$options['sq_auto_feed'] == 1) $auto_option = true;
 
115
  ?>
116
  <div class="sq_option_content sq_option_content_small">
117
+ <div class="sq_switch sq_seo_switch_condition" style="<?php echo((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
118
+ <input id="sq_auto_feed1" type="radio" class="sq_switch-input" name="sq_auto_feed" value="1" <?php echo($auto_option ? "checked" : '') ?> />
119
  <label for="sq_auto_feed1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
120
+ <input id="sq_auto_feed0" type="radio" class="sq_switch-input" name="sq_auto_feed" value="0" <?php echo(!$auto_option ? "checked" : '') ?> />
121
  <label for="sq_auto_feed0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
122
  <span class="sq_switch-selection"></span>
123
  </div>
127
  <li>
128
  <?php
129
  $auto_option = false;
130
+ if (SQ_Tools::$options['sq_auto_favicon'] == 1) $auto_option = true;
 
131
  ?>
132
  <div class="sq_option_content sq_option_content_small">
133
+ <div class="sq_switch sq_seo_switch_condition" style="<?php echo((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
134
+ <input id="sq_auto_favicon1" type="radio" class="sq_switch-input" name="sq_auto_favicon" value="1" <?php echo($auto_option ? "checked" : '') ?> />
135
  <label for="sq_auto_favicon1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
136
+ <input id="sq_auto_favicon0" type="radio" class="sq_switch-input" name="sq_auto_favicon" value="0" <?php echo(!$auto_option ? "checked" : '') ?> />
137
  <label for="sq_auto_favicon0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
138
  <span class="sq_switch-selection"></span>
139
  </div>
143
  <li>
144
  <?php
145
  $auto_option = false;
146
+ if (SQ_Tools::$options['sq_auto_jsonld'] == 1) $auto_option = true;
 
147
  ?>
148
  <div class="sq_option_content sq_option_content_small">
149
+ <div class="sq_switch sq_seo_switch_condition" style="<?php echo((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
150
+ <input id="sq_auto_jsonld1" type="radio" class="sq_switch-input" name="sq_auto_jsonld" value="1" <?php echo($auto_option ? "checked" : '') ?> />
151
  <label for="sq_auto_jsonld1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
152
+ <input id="sq_auto_jsonld0" type="radio" class="sq_switch-input" name="sq_auto_jsonld" value="0" <?php echo(!$auto_option ? "checked" : '') ?> />
153
  <label for="sq_auto_jsonld0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
154
  <span class="sq_switch-selection"></span>
155
  </div>
159
  <li>
160
  <?php
161
  $auto_option = false;
162
+ if (SQ_Tools::$options['sq_auto_amp'] == 1) $auto_option = true;
 
163
  ?>
164
  <div class="sq_option_content sq_option_content_small">
165
+ <div class="sq_switch sq_seo_switch_condition" style="<?php echo((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
166
+ <input id="sq_auto_amp1" type="radio" class="sq_switch-input" name="sq_auto_amp" value="1" <?php echo($auto_option ? "checked" : '') ?> />
167
  <label for="sq_auto_amp1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
168
+ <input id="sq_auto_amp0" type="radio" class="sq_switch-input" name="sq_auto_amp" value="0" <?php echo(!$auto_option ? "checked" : '') ?> />
169
  <label for="sq_auto_amp0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
170
  <span class="sq_switch-selection"></span>
171
  </div>
179
  </div>
180
  </div>
181
  </fieldset>
182
+ <fieldset id="sq_title_description_keywords" <?php echo((SQ_Tools::$options['sq_use'] == 0) ? 'class="deactivated"' : ''); ?> <?php echo((SQ_Tools::$options['sq_fp_title'] == '' || SQ_Tools::$options['sq_auto_seo'] == 1) ? '' : 'class="sq_custom_title"'); ?>>
183
  <legend>
184
  <span class="sq_legend_title"><?php _e('Page Optimization', _SQ_PLUGIN_NAME_); ?></span>
185
  <span><?php echo sprintf(__('%sThe best SEO approach to Meta information%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/the-best-seo-approach-to-meta-information" target="_blank">', '</a>'); ?></span>
186
  <span><?php _e('Optimize the <strong>Titles</strong>', _SQ_PLUGIN_NAME_); ?></span>
187
  <?php
188
  $auto_option = false;
189
+ if (SQ_Tools::$options['sq_auto_title'] == 1) $auto_option = true;
 
190
  ?>
191
  <div class="sq_option_content sq_option_content">
192
+ <div class="sq_switch sq_seo_switch_condition" style="<?php echo((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
193
+ <input id="sq_auto_title1" type="radio" class="sq_switch-input" name="sq_auto_title" value="1" <?php echo($auto_option ? "checked" : '') ?> />
194
  <label for="sq_auto_title1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
195
+ <input id="sq_auto_title0" type="radio" class="sq_switch-input" name="sq_auto_title" value="0" <?php echo(!$auto_option ? "checked" : '') ?> />
196
  <label for="sq_auto_title0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
197
  <span class="sq_switch-selection"></span>
198
  </div>
202
 
203
  <?php
204
  $auto_option = false;
205
+ if (SQ_Tools::$options['sq_auto_description'] == 1) $auto_option = true;
 
206
  ?>
207
  <div class="sq_option_content sq_option_content">
208
+ <div class="sq_switch sq_seo_switch_condition" style="<?php echo((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
209
+ <input id="sq_auto_description1" type="radio" class="sq_switch-input" name="sq_auto_description" value="1" <?php echo($auto_option ? "checked" : '') ?> />
210
  <label for="sq_auto_description1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
211
+ <input id="sq_auto_description0" type="radio" class="sq_switch-input" name="sq_auto_description" value="0" <?php echo(!$auto_option ? "checked" : '') ?> />
212
  <label for="sq_auto_description0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
213
  <span class="sq_switch-selection"></span>
214
  </div>
217
  <span class="sq_legend_title"><?php _e('SEO for all post/pages', _SQ_PLUGIN_NAME_); ?></span>
218
  <span><?php echo sprintf(__('To customize the Title and Description for all the Posts and Pages in your site use the %sSquirrly Snippet Tool%s', _SQ_PLUGIN_NAME_), '<a href="http://howto.squirrly.co/sides/squirrly-snippet-tool/" target="_blank" >', '</a>'); ?></span>
219
 
220
+ <div class="sq_badge_google">
221
+ <div class="sq_badge-image"></div>
222
+ <div class="sq_description">
223
+ <div class="sq_title">
224
+ <?php _e('Squirrly Snippet G17-True Render', _SQ_PLUGIN_NAME_); ?>
225
+ </div>
226
+ <div class="sq_link">
227
+ <a href="https://howto.squirrly.co/wordpress-seo/what-can-you-tell-us-about-squirrly-seo-2016-vs-squirrly-seo-2017/" target="_blank" title="<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>"> (<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>) </a>
228
+ </div>
229
+ </div>
230
+ </div>
231
+
232
  </legend>
233
 
234
  <div>
235
  <?php
236
  $auto_option = false;
237
+ if (SQ_Tools::$options['sq_fp_title'] == '') $auto_option = true;
 
238
 
239
  if ($pageId = get_option('page_on_front')) {
240
  if (SQ_ObjController::getModel('SQ_Frontend')->getAdvancedMeta($pageId, 'title') <> '') {
254
  <ul id="sq_settings_sq_use" class="sq_settings_info">
255
  <span><?php _e('First Page Optimization:', _SQ_PLUGIN_NAME_); ?></span>
256
  <li>
257
+ <input id="sq_customize" type="hidden" name="sq_auto_seo" value="0">
258
  <div id="sq_customize_settings">
259
  <p class="withborder">
260
+ <span style="width: 65px;display: inline-block; vertical-align: top;"><?php _e('Title:', _SQ_PLUGIN_NAME_); ?></span><input type="text" name="sq_fp_title" value="<?php echo((SQ_Tools::$options['sq_fp_title'] <> '') ? SQ_Tools::$options['sq_fp_title'] : '') ?>" size="75" /><span id="sq_title_info" />
261
  <span id="sq_fp_title_length"></span><span class="sq_settings_info"><?php _e('Tips: Length 10-75 chars', _SQ_PLUGIN_NAME_); ?></span>
262
  </p>
263
  <p class="withborder">
264
+ <span style="width: 65px;display: inline-block; vertical-align: top;"><?php _e('Description:', _SQ_PLUGIN_NAME_); ?></span><textarea name="sq_fp_description" cols="70" rows="3"><?php echo((SQ_Tools::$options['sq_fp_description'] <> '') ? SQ_Tools::$options['sq_fp_description'] : '') ?></textarea><span id="sq_description_info" />
265
  <span id="sq_fp_description_length"></span><span class="sq_settings_info"><?php _e('Tips: Length 70-165 chars', _SQ_PLUGIN_NAME_); ?></span>
266
  </p>
267
  <p class="withborder">
268
+ <span style="width: 65px;display: inline-block; vertical-align: top;"><?php _e('Keywords:', _SQ_PLUGIN_NAME_); ?></span><input type="text" name="sq_fp_keywords" value="<?php echo((SQ_Tools::$options['sq_fp_keywords'] <> '') ? SQ_Tools::$options['sq_fp_keywords'] : '') ?>" size="70" />
269
  <span id="sq_fp_keywords_length"></span><span class="sq_settings_info"><?php _e('Tips: 2-4 keywords', _SQ_PLUGIN_NAME_); ?></span>
270
  </p>
271
+ <p class="withborder sq_select_ogimage" <?php echo((SQ_Tools::$options['sq_auto_facebook'] == 1) ? '' : 'style="display:none"') ?>>
272
  <span style="width: 65px;display: inline-block; vertical-align: top;"><?php _e('OG Image:', _SQ_PLUGIN_NAME_); ?></span>
273
+ <strong><input type="text" name="sq_fp_ogimage" value="<?php echo((SQ_Tools::$options['sq_fp_ogimage'] <> '') ? SQ_Tools::$options['sq_fp_ogimage'] : '') ?>" size="60" style="display:none;" /><input id="sq_fp_imageselect" type="button" class="sq_button" value="<?php echo __('Select Open Graph Image', _SQ_PLUGIN_NAME_) ?>" /></strong>
274
  </p>
275
  </div>
276
  </li>
280
  <div id="sq_snippet_name"><?php _e('Squirrly Snippet', _SQ_PLUGIN_NAME_) ?></div>
281
 
282
  <ul id="sq_snippet_ul">
283
+ <div class="sq_select_ogimage_preview" <?php echo((SQ_Tools::$options['sq_auto_facebook'] == 1) ? '' : 'style="display:none"') ?>>
284
+ <div class="sq_fp_ogimage_close" <?php echo((SQ_Tools::$options['sq_fp_ogimage'] <> '') ? '' : 'style="display:none;"') ?>>x</div>
285
+ <div class="sq_fp_ogimage"><?php echo((SQ_Tools::$options['sq_fp_ogimage'] <> '') ? '<img src="' . SQ_Tools::$options['sq_fp_ogimage'] . '" />' : '') ?></div>
286
  </div>
287
  <li id="sq_snippet_title"></li>
288
  <li id="sq_snippet_url"></li>
289
  <li id="sq_snippet_description"></li>
290
  </ul>
291
 
292
+ <div id="sq_snippet_disclaimer"><?php _e('If you don\'t see any changes in custom optimization, check if another SEO plugin affects Squirrly SEO', _SQ_PLUGIN_NAME_) ?></div>
293
  </div>
294
  </li>
295
  <li>
296
  <span class="sq_option_info"><?php echo sprintf(__('Use the %s<strong>Squirrly Snippet Tool</strong>%s while edit a Post/Page to customize the Title and Description for all the Posts and Pages', _SQ_PLUGIN_NAME_), '<a href="http://howto.squirrly.co/sides/squirrly-snippet-tool/" target="_blank" >', '</a>'); ?></span>
297
 
298
  </li>
299
+ <li class="withborder"></li>
300
  </ul>
301
  </div>
302
  </fieldset>
303
+ <fieldset id="sq_social_media" <?php echo((SQ_Tools::$options['sq_use'] == 0) ? 'class="deactivated"' : ''); ?>>
304
  <legend>
305
  <span class="sq_legend_title"><?php _e('Social Media Options', _SQ_PLUGIN_NAME_); ?></span>
306
+ <p>
307
  <span><?php _e('Select the language you\'re using on Social Media', _SQ_PLUGIN_NAME_); ?></span>
308
  </p>
309
  <div class="abh_select withborder">
453
  <span><?php echo sprintf(__('%sHow to pop out in Social Media with your links%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/how-to-pop-out-in-social-media-with-your-links." target="_blank">', '</a>'); ?></span>
454
  <span><?php echo sprintf(__('%sGet busy with Facebook’s new Search Engine functions%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/get-busy-with-facebooks-new-search-engine-functions" target="_blank">', '</a>'); ?></span>
455
  <span><?php echo sprintf(__('%sHow I Added Twitter Cards in My WordPress for Better Inbound Marketing%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/inbound_marketing_twitter_cards-pagblog-article_id62232.html" target="_blank">', '</a>'); ?></span>
456
+
457
+ <div class="sq_badge_google">
458
+ <div class="sq_badge-image"></div>
459
+ <div class="sq_description">
460
+ <div class="sq_title">
461
+ <?php _e('Open Graph G17 - 2017 Settings', _SQ_PLUGIN_NAME_); ?>
462
+ </div>
463
+ <div class="sq_link">
464
+ <a href="https://howto.squirrly.co/wordpress-seo/what-can-you-tell-us-about-squirrly-seo-2016-vs-squirrly-seo-2017/" target="_blank" title="<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>"> (<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>) </a>
465
+ </div>
466
+ </div>
467
+ </div>
468
+
469
  </legend>
470
 
471
  <div>
472
  <ul id="sq_settings_sq_use" class="sq_settings_info">
473
+ <span><?php _e('Squirrly Adds the Best Codes for Open Graph and Twitter Cards', _SQ_PLUGIN_NAME_); ?></span>
474
  <li id="sq_option_facebook">
475
  <?php
476
  $auto_option = false;
477
+ if (SQ_Tools::$options['sq_auto_facebook'] == 1) $auto_option = true;
 
478
  ?>
479
+ <div class="sq_option_img"></div>
480
  <div class="sq_option_content sq_option_content_small">
481
 
482
+ <div class="sq_switch sq_seo_switch_condition" style="<?php echo((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
483
+ <input id="sq_auto_facebook1" type="radio" class="sq_switch-input" name="sq_auto_facebook" value="1" <?php echo($auto_option ? "checked" : '') ?> />
484
  <label for="sq_auto_facebook1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
485
+ <input id="sq_auto_facebook0" type="radio" class="sq_switch-input" name="sq_auto_facebook" value="0" <?php echo(!$auto_option ? "checked" : '') ?> />
486
  <label for="sq_auto_facebook0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
487
  <span class="sq_switch-selection"></span>
488
  </div>
494
  <li id="sq_option_twitter">
495
  <?php
496
  $auto_option = false;
497
+ if (SQ_Tools::$options['sq_auto_twitter'] == 1) $auto_option = true;
 
498
  ?>
499
+ <div class="sq_option_img"></div>
500
  <div class="sq_option_content sq_option_content_small">
501
 
502
 
503
+ <div class="sq_switch sq_seo_switch_condition" style="<?php echo((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
504
+ <input id="sq_auto_twitter1" type="radio" class="sq_switch-input" name="sq_auto_twitter" value="1" <?php echo($auto_option ? "checked" : '') ?> />
505
  <label for="sq_auto_twitter1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
506
+ <input id="sq_auto_twitter0" type="radio" class="sq_switch-input" name="sq_auto_twitter" value="0" <?php echo(!$auto_option ? "checked" : '') ?> />
507
  <label for="sq_auto_twitter0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
508
  <span class="sq_switch-selection"></span>
509
  </div>
510
  <span><?php echo __('Add the <strong>Twitter card</strong> in your tweets. ', _SQ_PLUGIN_NAME_) . ' <a href="https://cards-dev.twitter.com/validator" target="_blank" title="Twitter Card Validator">Check here</a> to validate your site'; ?></span>
511
+ <div class="sq_switch sq_seo_switch_condition" style="<?php echo((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
512
+ <input id="sq_auto_twittersize1" type="radio" class="sq_switch-input" name="sq_auto_twittersize" value="summary_large_image" <?php echo((SQ_Tools::$options['sq_auto_twittersize'] <> 'summary') ? "checked" : '') ?> />
513
  <label for="sq_auto_twittersize1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
514
+ <input id="sq_auto_twittersize0" type="radio" class="sq_switch-input" name="sq_auto_twittersize" value="summary" <?php echo((SQ_Tools::$options['sq_auto_twittersize'] == 'summary') ? "checked" : '') ?> />
515
  <label for="sq_auto_twittersize0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
516
  <span class="sq_switch-selection"></span>
517
  </div>
518
+ <span><?php echo sprintf(__('Use <strong>Twitter %ssummary_large_image%s</strong> for your tweeter card. ', _SQ_PLUGIN_NAME_), '<a href="https://dev.twitter.com/cards/types/summary-large-image" target="_blank" title="Twitter Large Summary">', '</a> ') . ''; ?></span>
519
+ <span style="color: #f7681a; margin-top: 9px; text-align: center; <?php echo((SQ_Tools::$options['sq_twitter_account'] <> '') ? 'display:none' : '') ?>"><?php echo __('You need to add your <strong>Twitter account</strong> below', _SQ_PLUGIN_NAME_); ?></span>
520
 
521
  </div>
522
  </li>
523
+ <span class="withborder" style="min-height: 15px;"></span>
524
 
525
  </ul>
526
+
527
  </div>
528
  </fieldset>
529
+ <fieldset id="sq_sitemap" <?php echo((SQ_Tools::$options['sq_use'] == 0 || SQ_Tools::$options['sq_auto_sitemap'] == 0) ? 'class="deactivated"' : ''); ?>>
530
  <legend>
531
  <span class="sq_legend_title"><?php _e('XML Sitemap for Google', _SQ_PLUGIN_NAME_); ?></span>
532
  <span><?php echo __('Squirrly Sitemap is the fastest way to tell Google about your site links. <strong>Supports Multisites, Google News, Images, Videos, Custom Post Types, Custom Taxonomies and Ecommerce products</strong>', _SQ_PLUGIN_NAME_) ?></span>
533
  <span><?php echo sprintf(__('%sHow to submit your sitemap.xml in Google Webmaster Tool%s', _SQ_PLUGIN_NAME_), '<a href="http://howto.squirrly.co/wordpress-seo/how-to-submit-your-sitemap-xml-in-google-sitemap/" target="_blank">', '</a>'); ?></span>
534
  <span><?php echo sprintf(__('%s10 Vital To Dos to Feed Your SEO Content Machine After You Post Articles%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/10_vital_to_dos_to_feed_your_seo_content_machine_after_you_post_articles-pagblog-article_id62194-html" target="_blank">', '</a>'); ?></span>
535
  <span><?php echo sprintf(__('For Google News Sitemap, ensure that your site is included in %sGoogle News%s', _SQ_PLUGIN_NAME_), '<a href="https://partnerdash.google.com/partnerdash/d/news" target="_blank">', '</a>'); ?></span>
536
+ </legend>
537
 
538
  <div>
539
  <?php
540
  $auto_option = false;
541
+ if (SQ_Tools::$options['sq_sitemap_ping'] == 1) $auto_option = true;
 
542
  ?>
543
  <ul id="sq_sitemap_option" class="sq_settings_info">
544
  <span><?php _e('XML Sitemap Options', _SQ_PLUGIN_NAME_); ?></span>
545
  <div class="sq_option_content sq_option_content_small">
546
+ <div class="sq_switch sq_seo_switch_condition" style="<?php echo((SQ_Tools::$options['sq_use'] == 0) ? 'display:none;' : ''); ?>">
547
+ <input id="sq_sitemap_ping1" type="radio" class="sq_switch-input" name="sq_sitemap_ping" value="1" <?php echo($auto_option ? "checked" : '') ?> />
548
+ <label for="sq_sitemap_ping1" class="sq_switch-label sq_switch-label-off"><?php _e('Yes', _SQ_PLUGIN_NAME_); ?></label>
549
+ <input id="sq_sitemap_ping0" type="radio" class="sq_switch-input" name="sq_sitemap_ping" value="0" <?php echo(!$auto_option ? "checked" : '') ?> />
550
+ <label for="sq_sitemap_ping0" class="sq_switch-label sq_switch-label-on"><?php _e('No', _SQ_PLUGIN_NAME_); ?></label>
551
+ <span class="sq_switch-selection"></span>
 
 
552
  </div>
553
+ <span><?php echo __('Ping your sitemap to Google and Bing when a new post is published', _SQ_PLUGIN_NAME_); ?></span>
554
+ </div>
555
  <li>
556
  <p><?php _e('Build Sitemaps for', _SQ_PLUGIN_NAME_); ?>:</p>
557
+ <ul id="sq_sitemap_buid">
558
+ <li class="sq_selectall"><input type="checkbox" id="sq_selectall" />Select All</li>
559
+ <li>
560
+ <input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-news" <?php echo((SQ_Tools::$options['sq_sitemap']['sitemap-news'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Google News', _SQ_PLUGIN_NAME_); ?>
561
+ <a href="https://partnerdash.google.com/partnerdash/d/news" target="_blank">Read first!</a>
562
+ </li>
563
+ <li>
564
+ <input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-category" <?php echo((SQ_Tools::$options['sq_sitemap']['sitemap-category'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Categories', _SQ_PLUGIN_NAME_); ?>
565
+ </li>
566
+ <?php if (SQ_ObjController::getModel('SQ_BlockSettingsSeo')->isEcommerce()) { //check for ecommerce product ?>
567
+ <li>
568
+ <input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-product" <?php echo((SQ_Tools::$options['sq_sitemap']['sitemap-product'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Products', _SQ_PLUGIN_NAME_); ?>
569
+ </li><?php } ?>
570
+ <li>
571
+ <input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-post" <?php echo((SQ_Tools::$options['sq_sitemap']['sitemap-post'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Posts', _SQ_PLUGIN_NAME_); ?>
572
+ </li>
573
+ <li>
574
+ <input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-post_tag" <?php echo((SQ_Tools::$options['sq_sitemap']['sitemap-post_tag'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Tags', _SQ_PLUGIN_NAME_); ?>
575
+ </li>
576
+ <li>
577
+ <input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-page" <?php echo((SQ_Tools::$options['sq_sitemap']['sitemap-page'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Pages', _SQ_PLUGIN_NAME_); ?>
578
+ </li>
579
+ <li>
580
+ <input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-archive" <?php echo((SQ_Tools::$options['sq_sitemap']['sitemap-archive'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Archive', _SQ_PLUGIN_NAME_); ?>
581
+ </li>
582
+ <li>
583
+ <input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-custom-tax" <?php echo((SQ_Tools::$options['sq_sitemap']['sitemap-custom-tax'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Custom Taxonomies', _SQ_PLUGIN_NAME_); ?>
584
+ </li>
585
+ <li>
586
+ <input type="checkbox" class="sq_sitemap" name="sq_sitemap[]" value="sitemap-custom-post" <?php echo((SQ_Tools::$options['sq_sitemap']['sitemap-custom-post'][1] == 1) ? 'checked="checked"' : ''); ?>><?php _e('Custom Posts', _SQ_PLUGIN_NAME_); ?>
587
+ </li>
588
  </ul>
589
+ <span style="color: red; margin: 10px; line-height: 20px; display: block;"><?php echo sprintf(__('Select only the Post Types that have links in them. Your sitemap will be %s', _SQ_PLUGIN_NAME_), '<a href="' . SQ_ObjController::getController('SQ_Sitemaps')->getXmlUrl('sitemap') . '" target="_blank">' . SQ_ObjController::getController('SQ_Sitemaps')->getXmlUrl('sitemap') . '</a></strong>'); ?></span>
590
 
591
  </li>
592
  <li>
593
  <p><?php _e('Include in Sitemaps', _SQ_PLUGIN_NAME_); ?>:</p>
594
+ <ul id="sq_sitemap_include">
595
+ <li>
596
+ <input type="checkbox" class="sq_sitemap_show" name="sq_sitemap_show[]" value="images" <?php echo((SQ_Tools::$options['sq_sitemap_show']['images'] == 1) ? 'checked="checked"' : ''); ?>><?php _e('<strong>Images</strong> from posts/pages', _SQ_PLUGIN_NAME_); ?>
597
+ </li>
598
+ <li>
599
+ <input type="checkbox" class="sq_sitemap_show" name="sq_sitemap_show[]" value="videos" <?php echo((SQ_Tools::$options['sq_sitemap_show']['videos'] == 1) ? 'checked="checked"' : ''); ?>><?php _e('<strong>Videos</strong> (embeded and local media)', _SQ_PLUGIN_NAME_); ?>
600
+ </li>
601
  </ul>
602
  </li>
603
  <li>
604
  <p><?php _e('How often do you update your site?', _SQ_PLUGIN_NAME_); ?></p>
605
  <select name="sq_sitemap_frequency">
606
+ <option value="daily" <?php echo((SQ_Tools::$options['sq_sitemap_frequency'] == 'daily') ? 'selected="selected"' : ''); ?>><?php _e('every day', _SQ_PLUGIN_NAME_); ?></option>
607
+ <option value="weekly" <?php echo((SQ_Tools::$options['sq_sitemap_frequency'] == 'weekly') ? 'selected="selected"' : ''); ?>><?php _e('1-3 times per week', _SQ_PLUGIN_NAME_); ?></option>
608
+ <option value="monthly" <?php echo((SQ_Tools::$options['sq_sitemap_frequency'] == 'monthly') ? 'selected="selected"' : ''); ?>><?php _e('1-3 times per month', _SQ_PLUGIN_NAME_); ?></option>
609
+ <option value="yearly" <?php echo((SQ_Tools::$options['sq_sitemap_frequency'] == 'yearly') ? 'selected="selected"' : ''); ?>><?php _e('1-3 times per year', _SQ_PLUGIN_NAME_); ?></option>
610
+ </select>
611
  </li>
612
  </ul>
613
  </div>
614
  </fieldset>
615
  <a name="sq_favicon_anchor"></a>
616
+ <fieldset id="sq_favicon" <?php echo((SQ_Tools::$options['sq_use'] == 0 || SQ_Tools::$options['sq_auto_favicon'] == 0) ? 'class="deactivated"' : ''); ?>>
617
  <legend>
618
  <span class="sq_legend_title"><?php _e('Change the Website Icon', _SQ_PLUGIN_NAME_); ?></span>
619
  <span><?php _e('Now, even tablet & smartphone browsers make use of your icons. This makes having a good favicon even more important.', _SQ_PLUGIN_NAME_); ?> </span>
621
 
622
  </legend>
623
  <div>
624
+ <?php echo((defined('SQ_MESSAGE_FAVICON')) ? '<span class="sq_message sq_error" style="display: block; padding: 11px 0;">' . SQ_MESSAGE_FAVICON . '</span>' : '') ?>
625
  <p>
626
  <?php _e('Upload file:', _SQ_PLUGIN_NAME_); ?><br /><br />
627
  <?php
631
  } else {
632
  $favicon = get_bloginfo('wpurl') . '/favicon.icon' . '?' . time();
633
  }
634
+ ?>
635
+ <img src="<?php echo $favicon ?>" style="float: left; margin-top: 1px;width: 32px;height: 32px;" />
636
  <?php } ?>
637
  <input type="file" name="favicon" id="favicon" style="float: left;" />
638
  <input type="submit" name="sq_update" value="<?php _e('Upload', _SQ_PLUGIN_NAME_) ?>" style="float: left; margin-top: 0;" />
648
  </div>
649
 
650
  </fieldset>
651
+ <fieldset id="sq_jsonld" <?php echo((SQ_Tools::$options['sq_use'] == 0 || SQ_Tools::$options['sq_auto_jsonld'] == 0) ? 'class="deactivated"' : ''); ?>>
652
  <legend>
653
  <span class="sq_legend_title"><?php _e('JSON-LD for Semantic SEO', _SQ_PLUGIN_NAME_); ?></span>
654
  <span><?php echo __('Squirrly will automatically add the JSON-LD Structured Data in your site.', _SQ_PLUGIN_NAME_) ?></span>
655
  <span><?php echo sprintf(__('%sJSON-LD\'s Big Day at Google%s', _SQ_PLUGIN_NAME_), '<a href="http://www.seoskeptic.com/json-ld-big-day-at-google/" target="_blank">', '</a>'); ?></span>
656
  <span><?php echo sprintf(__('%sGoogle Testing Tool%s', _SQ_PLUGIN_NAME_), '<a href="https://developers.google.com/structured-data/testing-tool/" target="_blank">', '</a>'); ?></span>
657
  <span><?php echo sprintf(__('%sSpecify your social profiles to Google%s', _SQ_PLUGIN_NAME_), '<a href="https://developers.google.com/structured-data/customize/social-profiles" target="_blank">', '</a>'); ?></span>
658
+
659
+ <div class="sq_badge_google">
660
+ <div class="sq_badge-image"></div>
661
+ <div class="sq_description">
662
+ <div class="sq_title">
663
+ <?php _e('JSON-LD G17 -2x More Options', _SQ_PLUGIN_NAME_); ?>
664
+ </div>
665
+ <div class="sq_link">
666
+ <a href="https://howto.squirrly.co/wordpress-seo/what-can-you-tell-us-about-squirrly-seo-2016-vs-squirrly-seo-2017/" target="_blank" title="<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>"> (<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>) </a>
667
+ </div>
668
+ </div>
669
+ </div>
670
+
671
+ </legend>
672
 
673
  <div>
674
  <ul id="sq_jsonld_option" class="sq_settings_info">
675
  <li class="withborder">
676
  <p style="line-height: 30px;"><?php _e('Your site type:', _SQ_PLUGIN_NAME_); ?>
677
+ <select name="sq_jsonld_type" class="sq_jsonld_type">
678
+ <option value="Organization" <?php echo((SQ_Tools::$options['sq_jsonld_type'] == 'Organization') ? 'selected="selected"' : ''); ?>><?php _e('Organization', _SQ_PLUGIN_NAME_); ?></option>
679
+ <option value="Person" <?php echo((SQ_Tools::$options['sq_jsonld_type'] == 'Person') ? 'selected="selected"' : ''); ?>><?php _e('Personal', _SQ_PLUGIN_NAME_); ?></option>
680
+ </select>
681
  </p>
682
  </li>
683
  <li class="withborder">
684
  <p>
685
+ <span class="sq_jsonld_types sq_jsonld_Organization" style="display: block;float: left; <?php echo((SQ_Tools::$options['sq_jsonld_type'] == 'Person') ? 'display:none' : ''); ?>"><?php _e('Your Organization Name:', _SQ_PLUGIN_NAME_); ?></span>
686
+ <span class="sq_jsonld_types sq_jsonld_Person" style="width: 105px;display: block;float: left; <?php echo((SQ_Tools::$options['sq_jsonld_type'] == 'Organization') ? 'display:none' : ''); ?>"><?php _e('Your Name:', _SQ_PLUGIN_NAME_); ?></span>
687
+ <strong><input type="text" name="sq_jsonld_name" value="<?php echo((SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['name'] <> '') ? SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['name'] : '') ?>" size="60" style="width: 300px;" /></strong>
688
  </p>
689
+ <p class="sq_jsonld_types sq_jsonld_Person" <?php echo((SQ_Tools::$options['sq_jsonld_type'] == 'Organization') ? 'style="display:none"' : ''); ?>>
690
  <span style="width: 105px;display: block;float: left;"><?php _e('Job Title:', _SQ_PLUGIN_NAME_); ?></span>
691
+ <strong><input type="text" name="sq_jsonld_jobTitle" value="<?php echo((SQ_Tools::$options['sq_jsonld']['Person']['jobTitle'] <> '') ? SQ_Tools::$options['sq_jsonld']['Person']['jobTitle'] : '') ?>" size="60" style="width: 300px;" /></strong>
692
  </p>
693
  <p>
694
+ <span class="sq_jsonld_types sq_jsonld_Organization" style="width: 105px; display: block;float: left; <?php echo((SQ_Tools::$options['sq_jsonld_type'] == 'Person') ? 'display:none' : ''); ?>"><?php _e('Logo Url:', _SQ_PLUGIN_NAME_); ?></span>
695
+ <span class="sq_jsonld_types sq_jsonld_Person" style="width: 105px;display: block;float: left; <?php echo((SQ_Tools::$options['sq_jsonld_type'] == 'Organization') ? 'display:none' : ''); ?>"><?php _e('Image Url:', _SQ_PLUGIN_NAME_); ?></span>
696
+ <strong><input type="text" name="sq_jsonld_logo" value="<?php echo((SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['logo'] <> '') ? SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['logo'] : '') ?>" size="60" style="width: 247px;" /><input id="sq_json_imageselect" type="button" class="sq_button" value="<?php echo __('Select Image', _SQ_PLUGIN_NAME_) ?>" /></strong>
697
  </p>
698
  <p>
699
+ <span style="width: 105px;display: block;float: left;"><?php _e('Contact Phone:', _SQ_PLUGIN_NAME_); ?></span>
700
+ <strong><input type="text" name="sq_jsonld_telephone" value="<?php echo((SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['telephone'] <> '') ? SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['telephone'] : '') ?>" size="60" style="width: 350px;" /></strong>
701
  </p>
702
+ <p class="sq_jsonld_types sq_jsonld_Organization" <?php echo((SQ_Tools::$options['sq_jsonld_type'] == 'Person') ? 'style="display:none"' : ''); ?>>
703
+ <span style="width: 105px;display: block;float: left;"><?php _e('Contact Type:', _SQ_PLUGIN_NAME_); ?></span>
704
  <select name="sq_jsonld_contactType" class="sq_jsonld_contactType">
705
+ <option value="customer service" <?php echo((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'customer service') ? 'selected="selected"' : ''); ?>><?php _e('Customer Service', _SQ_PLUGIN_NAME_); ?></option>
706
+ <option value="technical support" <?php echo((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'technical support') ? 'selected="selected"' : ''); ?>><?php _e('Technical Support', _SQ_PLUGIN_NAME_); ?></option>
707
+ <option value="billing support" <?php echo((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'billing support') ? 'selected="selected"' : ''); ?>><?php _e('Billing Support', _SQ_PLUGIN_NAME_); ?></option>
708
+ <option value="bill payment" <?php echo((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'bill payment') ? 'selected="selected"' : ''); ?>><?php _e('Bill Payment', _SQ_PLUGIN_NAME_); ?></option>
709
+ <option value="sales" <?php echo((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'sales') ? 'selected="selected"' : ''); ?>><?php _e('Sales', _SQ_PLUGIN_NAME_); ?></option>
710
+ <option value="reservations" <?php echo((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'reservations') ? 'selected="selected"' : ''); ?>><?php _e('Reservations', _SQ_PLUGIN_NAME_); ?></option>
711
+ <option value="credit card support" <?php echo((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'credit card support') ? 'selected="selected"' : ''); ?>><?php _e('Credit Card Support', _SQ_PLUGIN_NAME_); ?></option>
712
+ <option value="emergency" <?php echo((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'emergency') ? 'selected="selected"' : ''); ?>><?php _e('Emergency', _SQ_PLUGIN_NAME_); ?></option>
713
+ <option value="baggage tracking" <?php echo((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'baggage tracking') ? 'selected="selected"' : ''); ?>><?php _e('Baggage Tracking', _SQ_PLUGIN_NAME_); ?></option>
714
+ <option value="roadside assistance" <?php echo((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'roadside assistance') ? 'selected="selected"' : ''); ?>><?php _e('Roadside Assistance', _SQ_PLUGIN_NAME_); ?></option>
715
+ <option value="package tracking" <?php echo((SQ_Tools::$options['sq_jsonld']['Organization']['contactType'] == 'package tracking') ? 'selected="selected"' : ''); ?>><?php _e('Package Tracking', _SQ_PLUGIN_NAME_); ?></option>
716
  </select>
717
  </p>
718
 
719
  <p>
720
  <span style="width: 105px;display: block;float: left;"><?php _e('Short Description:', _SQ_PLUGIN_NAME_); ?></span>
721
+ <strong><textarea name="sq_jsonld_description" size="60" style="width: 350px; height: 70px;" /><?php echo((SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['description'] <> '') ? SQ_Tools::$options['sq_jsonld'][SQ_Tools::$options['sq_jsonld_type']]['description'] : '') ?></textarea>
722
+ </strong>
723
  </p>
724
+ <p>
725
+ <input type="button" class="sq_social_link" style="margin-left:120px;background-color: #15b14a;color: white;padding: 5px; cursor: pointer;" value="<?php _e('Add your social accounts for Json-LD', _SQ_PLUGIN_NAME_) ?>" />
726
+ </p>
727
+ </li>
728
+ <li style="position: relative; font-size: 14px;color: #f7681a;">
729
+ <div class="sq_option_img"></div><?php echo __('How will the search results look once google grab your data.', _SQ_PLUGIN_NAME_) ?>
730
  </li>
 
731
 
732
  </ul>
733
  </div>
734
  </fieldset>
735
+ <fieldset id="sq_social_media_accounts">
736
  <legend>
737
  <span class="sq_legend_title"><?php _e('Social Media Accounts', _SQ_PLUGIN_NAME_); ?></span>
738
  <span><?php echo sprintf(__('%sLink your Google+ profile to the content you create%s', _SQ_PLUGIN_NAME_), '<a href="https://developers.google.com/structured-data/" target="_blank">', '</a>'); ?></span>
739
+ <span><?php echo sprintf(__('%sTwitter account is mandatory for <strong>Twitter Card Validation</strong>%s', _SQ_PLUGIN_NAME_), '<a href="https://cards-dev.twitter.com/validator" target="_blank">', '</a>'); ?></span>
740
  <span><?php echo sprintf(__('%sAdd all your social accounts for <strong>JSON-LD Semantic SEO</strong>%s', _SQ_PLUGIN_NAME_), '<a href="http://howto.squirrly.c%so/sides/squirrly-json-ld-structured-data/" target="_blank">', '</a>'); ?></span>
741
  <span><?php echo sprintf(__('%sSpecify your social profiles to Google%s', _SQ_PLUGIN_NAME_), '<a href="https://developers.google.com/structured-data/customize/social-profiles" target="_blank">', '</a>'); ?></span>
742
  </legend>
746
  <li>
747
  <p class="withborder withcode">
748
  <span class="sq_icon sq_icon_twitter"></span>
749
+ <?php _e('Your Twitter Account:', _SQ_PLUGIN_NAME_); ?>
750
+ <br /><strong><input type="text" name="sq_twitter_account" value="<?php echo((SQ_Tools::$options['sq_twitter_account'] <> '') ? SQ_Tools::$options['sq_twitter_account'] : '') ?>" size="60" placeholder="https://twitter.com/" /> (e.g. https://twitter.com/XXXXXXXXXXXXXXXXXX)</strong>
751
  </p>
752
  </li>
753
  <li>
754
  <p class="withborder withcode">
755
  <span class="sq_icon sq_icon_googleplus"></span>
756
+ <?php _e('Google Plus Profile:', _SQ_PLUGIN_NAME_); ?>
757
+ <br /><strong><input type="text" name="sq_google_plus" value="<?php echo((SQ_Tools::$options['sq_google_plus'] <> '') ? SQ_Tools::$options['sq_google_plus'] : '') ?>" size="60" placeholder="https://plus.google.com/" /> (e.g. https://plus.google.com/+XXXXXXXXXXXXXXXXXX)</strong>
758
  </p>
759
  </li>
760
  <li>
761
  <p class="withborder withcode">
762
  <span class="sq_icon sq_icon_facebook"></span>
763
+ <?php _e('Facebook Profile:', _SQ_PLUGIN_NAME_); ?>
764
+ <br /><strong><input type="text" name="sq_facebook_account" value="<?php echo((SQ_Tools::$options['sq_facebook_account'] <> '') ? SQ_Tools::$options['sq_facebook_account'] : '') ?>" size="60" placeholder="https://www.facebook.com/" /> (e.g. https://www.facebook.com/XXXXXXXXXXXXXXXXXX)</strong>
765
  </p>
766
  </li>
767
  <li>
768
  <p class="withborder withcode">
769
  <span class="sq_icon sq_icon_linkedin"></span>
770
+ <?php _e('Linkedin Profile:', _SQ_PLUGIN_NAME_); ?>
771
+ <br /><strong><input type="text" name="sq_linkedin_account" value="<?php echo((SQ_Tools::$options['sq_linkedin_account'] <> '') ? SQ_Tools::$options['sq_linkedin_account'] : '') ?>" size="60" placeholder="https://www.linkedin.com/" /> (e.g. https://www.linkedin.com/XXXX/XXXXXXXXXXXXXXXXXX)</strong>
772
  </p>
773
  </li>
774
  <li>
775
  <p class="withborder withcode">
776
  <span class="sq_icon sq_icon_social_pinterest"></span>
777
+ <?php _e('Pinterest Profile:', _SQ_PLUGIN_NAME_); ?>
778
+ <br /><strong><input type="text" name="sq_pinterest_account" value="<?php echo((SQ_Tools::$options['sq_pinterest_account'] <> '') ? SQ_Tools::$options['sq_pinterest_account'] : '') ?>" size="60" placeholder="https://www.pinterest.com/" /> (e.g. https://www.pinterest.com/XXXXXXXXXXXXXXXXXX)</strong>
779
  </p>
780
  </li>
781
  <li>
782
  <p class="withborder withcode">
783
  <span class="sq_icon sq_icon_social_instagram"></span>
784
+ <?php _e('Instagram Profile:', _SQ_PLUGIN_NAME_); ?>
785
+ <br /><strong><input type="text" name="sq_instagram_account" value="<?php echo((SQ_Tools::$options['sq_instagram_account'] <> '') ? SQ_Tools::$options['sq_instagram_account'] : '') ?>" size="60" placeholder="https://www.instagram.com/" /> (e.g. https://www.linkedin.com/XXXXXXXXXXXXXXXXXX)</strong>
786
  </p>
787
  </li>
788
  </ul>
789
  </div>
790
  </fieldset>
791
+ <fieldset id="sq_tracking">
792
  <legend>
793
  <span class="sq_legend_title"><?php _e('Tracking Tools', _SQ_PLUGIN_NAME_); ?></span>
794
  <span><?php echo sprintf(__('%sHow to Get the Most Out of Google Analytics%s', _SQ_PLUGIN_NAME_), '<a href="http://mashable.com/2012/01/04/google-analytics-guide/" target="_blank">', '</a>'); ?></span>
796
  <span><?php echo sprintf(__('%sA Beginner’s Guide to Facebook Insights%s', _SQ_PLUGIN_NAME_), '<a href="http://mashable.com/2010/09/03/facebook-insights-guide/" target="_blank">', '</a>'); ?></span>
797
  <span><?php echo sprintf(__('%sRich Pins Validator%s', _SQ_PLUGIN_NAME_), '<a href="https://developers.pinterest.com/tools/url-debugger/" target="_blank">', '</a>'); ?></span>
798
 
799
+ <div class="sq_badge_google">
800
+ <div class="sq_badge-image"></div>
801
+ <div class="sq_description">
802
+ <div class="sq_title">
803
+ <?php _e('Google Tracking G17', _SQ_PLUGIN_NAME_); ?>
804
+ </div>
805
+ <div class="sq_link">
806
+ <a href="https://howto.squirrly.co/wordpress-seo/what-can-you-tell-us-about-squirrly-seo-2016-vs-squirrly-seo-2017/" target="_blank" title="<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>"> (<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>) </a>
807
+ </div>
808
+ </div>
809
+ </div>
810
+
811
+ <div class="sq_badge_google">
812
+ <div class="sq_badge-image"></div>
813
+ <div class="sq_description">
814
+ <div class="sq_title">
815
+ <?php _e('Facebook Tracking G17', _SQ_PLUGIN_NAME_); ?>
816
+ </div>
817
+ <div class="sq_link">
818
+ <a href="https://howto.squirrly.co/wordpress-seo/what-can-you-tell-us-about-squirrly-seo-2016-vs-squirrly-seo-2017/" target="_blank" title="<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>"> (<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>) </a>
819
+ </div>
820
+ </div>
821
+ </div>
822
+
823
+ <div class="sq_badge_google">
824
+ <div class="sq_badge-image"></div>
825
+ <div class="sq_description">
826
+ <div class="sq_title">
827
+ <?php _e('Rich Pins G17', _SQ_PLUGIN_NAME_); ?>
828
+ </div>
829
+ <div class="sq_link">
830
+ <a href="https://howto.squirrly.co/wordpress-seo/what-can-you-tell-us-about-squirrly-seo-2016-vs-squirrly-seo-2017/" target="_blank" title="<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>"> (<?php _e('see how this improved since 2016', _SQ_PLUGIN_NAME_); ?>) </a>
831
+ </div>
832
+ </div>
833
+ </div>
834
+
835
+
836
  </legend>
837
  <div>
838
 
839
  <p class="withborder withcode">
840
  <span class="sq_icon sq_icon_googleanalytics"></span>
841
+ <?php echo sprintf(__('Google %sAnalytics ID%s:', _SQ_PLUGIN_NAME_), '<a href="https://analytics.google.com/analytics/web/" target="_blank">', '</a>'); ?>
842
+ <br><strong><input type="text" name="sq_google_analytics" value="<?php echo((SQ_Tools::$options['sq_google_analytics'] <> '') ? SQ_Tools::$options['sq_google_analytics'] : '') ?>" size="15" placeholder="UA-XXXXXXX-XX" /> (e.g. UA-XXXXXXX-XX)</strong>
843
  </p>
844
+ <p class="withborder withcode">
845
  <span class="sq_icon sq_icon_facebookinsights"></span>
846
+ <?php echo sprintf(__('Facebook Admin ID (for %sInsights%s ):', _SQ_PLUGIN_NAME_), '<a href="http://www.facebook.com/insights/" target="_blank">', '</a>'); ?>
847
+ <br><strong>
848
+ <input type="text" name="sq_facebook_insights" value="<?php echo((SQ_Tools::$options['sq_facebook_insights'] <> '') ? SQ_Tools::$options['sq_facebook_insights'] : '') ?>" size="15" placeholder="<?php echo __('Facebook ID or https://www.facebook.com/YourProfileName', _SQ_PLUGIN_NAME_) ?>" /> (e.g. &lt;meta property="fb:admins" content="XXXXXXXXXXXXXXXXXX" /&gt;)</strong>
849
  </p>
850
  <p class="withborder withcode">
851
  <span class="sq_icon sq_icon_facebookpixel"></span>
852
+ <?php echo sprintf(__('Facebook %sPixel ID%s:', _SQ_PLUGIN_NAME_), '<a href="https://www.facebook.com/ads/manager/pixel/facebook_pixel/" target="_blank">', '</a>'); ?>
853
+ <br><strong><input type="text" name="sq_facebook_analytics" value="<?php echo((SQ_Tools::$options['sq_facebook_analytics'] <> '') ? SQ_Tools::$options['sq_facebook_analytics'] : '') ?>" size="15" /> (e.g. 1234567890)</strong>
854
  </p>
855
+ <p class="withborder withcode">
856
  <span class="sq_icon sq_icon_pinterest"></span>
857
+ <?php echo sprintf(__('Pinterest Website Validator Code: (validate %sRich Pins%s )', _SQ_PLUGIN_NAME_), '<a href="https://developers.pinterest.com/tools/url-debugger/" target="_blank">', '</a>'); ?>
858
+ <br><strong>
859
+ <input type="text" name="sq_pinterest" value="<?php echo((SQ_Tools::$options['sq_pinterest'] <> '') ? SQ_Tools::$options['sq_pinterest'] : '') ?>" size="15" /> (e.g. &lt;meta name="p:domain_verify" content="XXXXXXXXXXXXXXXXXX" /&gt;)</strong>
860
  </p>
861
+
862
+ <p class="withcode"></p>
863
  </div>
864
  </fieldset>
865
 
876
 
877
  <div class="sq_settings_backup">
878
  <form action="" method="POST">
879
+ <input type="hidden" name="action" value="sq_backup" />
880
+ <input type="hidden" name="nonce" value="<?php echo wp_create_nonce(_SQ_NONCE_ID_); ?>" />
881
+ <input type="submit" class="sq_button" name="sq_backup" value="<?php _e('Backup Settings', _SQ_PLUGIN_NAME_) ?>" />
882
+ <input type="button" class="sq_button sq_restore" name="sq_restore" value="<?php _e('Restore Settings', _SQ_PLUGIN_NAME_) ?>" />
883
  </form>
884
  </div>
885
 
887
  <span class="sq_close">x</span>
888
  <span><?php _e('Upload the file with the saved Squirrly Settings', _SQ_PLUGIN_NAME_) ?></span>
889
  <form action="" method="POST" enctype="multipart/form-data">
890
+ <input type="hidden" name="action" value="sq_restore" />
891
+ <input type="file" name="sq_options" id="favicon" style="float: left;" />
892
+ <input type="hidden" name="nonce" value="<?php echo wp_create_nonce(_SQ_NONCE_ID_); ?>" />
893
+ <input type="submit" style="margin-top: 10px;" class="sq_button" name="sq_restore" value="<?php _e('Restore Backup', _SQ_PLUGIN_NAME_) ?>" />
894
  </form>
895
  </div>
896
 
themes/default/SQ_BlockSupport.php CHANGED
@@ -25,9 +25,11 @@
25
 
26
  </li>
27
  <hr />
28
- <li><?php _e('Facebook:', _SQ_PLUGIN_NAME_) ?> <a href="<?php echo _SQ_SUPPORT_FACEBOOK_URL_ ?>" title="<?php _e('Send us a message', _SQ_PLUGIN_NAME_) ?>" target="_blank"><?php _e('Send us a message', _SQ_PLUGIN_NAME_) ?></a></li>
29
- <li><?php _e('Google:', _SQ_PLUGIN_NAME_) ?> <a href="<?php echo _SQ_SUPPORT_GOOGLE_URL_ ?>" title="<?php _e('Join the support community', _SQ_PLUGIN_NAME_) ?>" target="_blank"><?php _e('Join the support community', _SQ_PLUGIN_NAME_) ?></a></li>
30
- <li><?php _e('Contact:', _SQ_PLUGIN_NAME_) ?> <a href="<?php echo _SQ_SUPPORT_EMAIL_URL_ ?>" title="<?php _e('Write an email', _SQ_PLUGIN_NAME_) ?>" target="_blank"><?php _e('Write an email', _SQ_PLUGIN_NAME_) ?></a></li>
 
 
31
 
32
  </ul>
33
  </li>
@@ -68,9 +70,12 @@
68
  </p>
69
 
70
  </li>
71
- <li style="margin-top: 10px;"><?php _e('Facebook:', _SQ_PLUGIN_NAME_) ?> <a href="<?php echo _SQ_SUPPORT_FACEBOOK_URL_ ?>" title="<?php _e('Send us a message', _SQ_PLUGIN_NAME_) ?>" target="_blank"><?php _e('Send us a message', _SQ_PLUGIN_NAME_) ?></a></li>
72
- <li><?php _e('Google:', _SQ_PLUGIN_NAME_) ?> <a href="<?php echo _SQ_SUPPORT_GOOGLE_URL_ ?>" title="<?php _e('Join the support community', _SQ_PLUGIN_NAME_) ?>" target="_blank"><?php _e('Join the support community', _SQ_PLUGIN_NAME_) ?></a></li>
73
- <li><?php _e('Contact:', _SQ_PLUGIN_NAME_) ?> <a href="<?php echo _SQ_SUPPORT_EMAIL_URL_ ?>" title="<?php _e('Write an email', _SQ_PLUGIN_NAME_) ?>" target="_blank"><?php _e('Write an email', _SQ_PLUGIN_NAME_) ?></a></li>
 
 
 
74
  </ul>
75
  <?php } else { ?>
76
  <ul class="sq_options_feedback_popup" style="display: none;">
25
 
26
  </li>
27
  <hr />
28
+ <li><?php _e('For more support:', _SQ_PLUGIN_NAME_) ?> </li>
29
+ <li> - <?php echo sprintf(__('10 AM to 4 PM (London Time): Mon-Fri %sby email%s.', _SQ_PLUGIN_NAME_),'<a href="mailto:'._SQ_SUPPORT_EMAIL_.'">','</a>') ?> </li>
30
+ <li> - <?php echo sprintf(__('%sLive Chat%s on Youtube. Thursday 4 PM.', _SQ_PLUGIN_NAME_),'<a href="https://www.youtube.com/c/GetGrowthTV/live" target="_blank">','</a>') ?> </li>
31
+ <li> - <?php echo sprintf(__('Google Plus %sSupport Community%s.', _SQ_PLUGIN_NAME_),'<a href="https://plus.google.com/communities/104196720668136264985" target="_blank">','</a>') ?> </li>
32
+ <li> - <?php echo sprintf(__('New Lessons Mon. and Tue. on %sTwitter%s.', _SQ_PLUGIN_NAME_),'<a href="https://twitter.com/squirrlyhq" target="_blank">','</a>') ?> </li>
33
 
34
  </ul>
35
  </li>
70
  </p>
71
 
72
  </li>
73
+ <li style="margin-top: 10px;"><?php _e('For more support:', _SQ_PLUGIN_NAME_) ?> </li>
74
+ <li> - <?php echo sprintf(__('10 AM to 4 PM (London Time): Mon-Fri %sby email%s.', _SQ_PLUGIN_NAME_),'<a href="mailto:'._SQ_SUPPORT_EMAIL_.'">','</a>') ?> </li>
75
+ <li> - <?php echo sprintf(__('%sSupport button%s here in WordPress (^^)', _SQ_PLUGIN_NAME_),'<a href="javascript:void(0);" onclick="jQuery(\'#sq_options_support\').find(\'span\').trigger(\'click\')" target="_blank">','</a>') ?> </li>
76
+ <li> - <?php echo sprintf(__('%sLive Chat%s on Youtube. Thursday 4 PM.', _SQ_PLUGIN_NAME_),'<a href="https://www.youtube.com/c/GetGrowthTV/live" target="_blank">','</a>') ?> </li>
77
+ <li> - <?php echo sprintf(__('Google Plus %sSupport Community%s.', _SQ_PLUGIN_NAME_),'<a href="https://plus.google.com/communities/104196720668136264985" target="_blank">','</a>') ?> </li>
78
+ <li> - <?php echo sprintf(__('New Lessons Mon. and Tue. on %sTwitter%s.', _SQ_PLUGIN_NAME_),'<a href="https://twitter.com/squirrlyhq" target="_blank">','</a>') ?> </li>
79
  </ul>
80
  <?php } else { ?>
81
  <ul class="sq_options_feedback_popup" style="display: none;">
themes/default/css/sq_blockaudit.css ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #sq_settings .sq_settings_bigtitle{
2
+ font-size: 26px !important;
3
+ margin: 0;
4
+ padding: 5px 0;
5
+ }
6
+
7
+ #sq_settings .sq_settings_bigbutton{
8
+ margin-bottom:35px;
9
+ text-align: center;
10
+ }
11
+ #sq_settings .sq_settings_bigbutton a{
12
+ display: inline-block;
13
+ padding: 15px !important;
14
+ margin-top: 10px;
15
+ font-size: 18px !important;
16
+ cursor: pointer;
17
+ background-color: #035e92;
18
+ color: white;
19
+ text-decoration: none;
20
+ text-shadow: 1px 1px #333;
21
+ }
22
+ #sq_settings .sq_settings_bigbutton span{
23
+ display: block;
24
+ font-size: 18px;
25
+ color: #20bc49;
26
+ font-weight: bold;
27
+ margin: 20px 0 0 0;
28
+ }
29
+
30
+ #sq_settings .sq_audit_score{
31
+ font-size: 30px;
32
+ color: #035e92;
33
+ text-align: center;
34
+ padding-bottom: 0;
35
+ }
36
+
37
+ #sq_settings .sq_audit_score span{
38
+ font-weight: bold;
39
+ }
40
+
41
+ #sq_settings .sq_audit_date{
42
+ text-align: center;
43
+ color: #999;
44
+ font-style: italic;
45
+ font-size: 14px;
46
+ }
47
+
48
+ #sq_settings .sq_audit_date span{
49
+ font-weight: bold;
50
+ }
themes/default/css/sq_blockcopyright.css ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #sq_settings_body fieldset > div {
2
+ float: left;
3
+ background-color: #fcfcfc;
4
+ padding: 20px 0 0 20px;
5
+ min-height: 280px;
6
+ width: auto;
7
+ }
8
+
9
+ #sq_settings .sq_subtitles p{
10
+ margin: 5px 45px 40px 45px
11
+ }
12
+ #sq_settings_body fieldset > div{
13
+ padding: 20px 0;
14
+ }
15
+
16
+ #sq_settings_body fieldset{
17
+ width: 800px;
18
+ }
19
+ #sq_settings_body .sq_subtitles p{
20
+ margin-bottom: 0;
21
+ font-size: 20px;
22
+ }
23
+
24
+ #sq_settings_body .sq_subtitles p img{
25
+ max-width: 100%;
26
+ }
themes/default/css/sq_blockdashboard.css CHANGED
@@ -1,21 +1,21 @@
1
- .update-nag, .updated, .show-settings, .screen-meta-toggle{
2
  display: none !important;
3
  }
4
 
5
- .sq_helpside{
6
  margin-top: 10px;
7
  }
8
 
9
- #sq_helpdashboardcontent{
10
  float: left;
11
  width: 700px;
12
  }
13
 
14
- #sq_settings ul.sq_slidelist{
15
  max-width: 700px;
16
  }
17
 
18
- #sq_settings ul.sq_slidelist li{
19
  position: relative;
20
  background: white;
21
  height: 250px;
@@ -33,7 +33,7 @@
33
  border: 1px solid #ccc;
34
  }
35
 
36
- #sq_settings ul.sq_slidelist li a{
37
  background-position: center center;
38
  background-repeat: no-repeat;
39
  background-size: cover;
@@ -41,7 +41,7 @@
41
  height: 225px;
42
  }
43
 
44
- #sq_settings ul.sq_slidelist li div{
45
  background: white;
46
  -webkit-border-radius: 2px;
47
  -moz-border-radius: 2px;
@@ -58,15 +58,15 @@
58
  overflow: hidden;
59
  position: absolute;
60
  text-align: center;
61
- -webkit-transition: bottom,0.3s;
62
- -moz-transition: bottom,0.3s;
63
- -ms-transition: bottom,0.3s;
64
- -o-transition: bottom,0.3s;
65
- transition: bottom,0.3s;
66
  width: 100%;
67
  }
68
 
69
- #sq_settings ul.sq_slidelist li span{
70
  position: absolute;
71
  top: -6px;
72
  right: -7px;
@@ -83,15 +83,52 @@
83
  cursor: pointer;
84
  }
85
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
 
87
- @media only screen and (max-width: 1160px){
88
- #sq_helpdashboardcontent{
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
  width: 575px;
90
  }
91
  }
92
 
93
- @media only screen and (max-width: 1030px){
94
- #sq_helpdashboardcontent{
95
  width: 803px;
96
  }
97
 
@@ -115,5 +152,4 @@
115
  margin-bottom: 10px;
116
  }
117
 
118
-
119
  }
1
+ .update-nag, .updated, .show-settings, .screen-meta-toggle {
2
  display: none !important;
3
  }
4
 
5
+ .sq_helpside {
6
  margin-top: 10px;
7
  }
8
 
9
+ #sq_helpdashboardcontent {
10
  float: left;
11
  width: 700px;
12
  }
13
 
14
+ #sq_settings ul.sq_slidelist {
15
  max-width: 700px;
16
  }
17
 
18
+ #sq_settings ul.sq_slidelist li {
19
  position: relative;
20
  background: white;
21
  height: 250px;
33
  border: 1px solid #ccc;
34
  }
35
 
36
+ #sq_settings ul.sq_slidelist li a {
37
  background-position: center center;
38
  background-repeat: no-repeat;
39
  background-size: cover;
41
  height: 225px;
42
  }
43
 
44
+ #sq_settings ul.sq_slidelist li div {
45
  background: white;
46
  -webkit-border-radius: 2px;
47
  -moz-border-radius: 2px;
58
  overflow: hidden;
59
  position: absolute;
60
  text-align: center;
61
+ -webkit-transition: bottom, 0.3s;
62
+ -moz-transition: bottom, 0.3s;
63
+ -ms-transition: bottom, 0.3s;
64
+ -o-transition: bottom, 0.3s;
65
+ transition: bottom, 0.3s;
66
  width: 100%;
67
  }
68
 
69
+ #sq_settings ul.sq_slidelist li span {
70
  position: absolute;
71
  top: -6px;
72
  right: -7px;
83
  cursor: pointer;
84
  }
85
 
86
+ #sq_settings .sq_mysquirrly_cta {
87
+ height: 60px;
88
+ background-color: #fff;
89
+ border: 1px solid #ccc;
90
+ margin-left: 10px;
91
+ width: 97%;
92
+ }
93
+
94
+ #sq_settings .sq_mysquirrly_cta .sq_mysquirrly_cta_content {
95
+ width: 60%;
96
+ float: left;
97
+ font-size: 16px;
98
+ color: #333;
99
+ font-weight: 600;
100
+ vertical-align: middle;
101
+ padding: 15px;
102
+ margin-top: 9px;
103
+ }
104
+
105
+ #sq_settings .sq_mysquirrly_cta .sq_mysquirrly_cta_button {
106
+ width: 35%;
107
+ float: left;
108
+ }
109
 
110
+ #sq_settings .sq_mysquirrly_cta .sq_mysquirrly_cta_button a {
111
+ display: inline-block;
112
+ padding: 8px !important;
113
+ margin-top: 14px;
114
+ font-size: 18px !important;
115
+ cursor: pointer;
116
+ background-color: darkorange;
117
+ color: white;
118
+ text-decoration: none;
119
+ text-shadow: 1px 1px #333;
120
+ width: 90%;
121
+ text-align: center;
122
+ }
123
+
124
+ @media only screen and (max-width: 1160px) {
125
+ #sq_helpdashboardcontent {
126
  width: 575px;
127
  }
128
  }
129
 
130
+ @media only screen and (max-width: 1030px) {
131
+ #sq_helpdashboardcontent {
132
  width: 803px;
133
  }
134
 
152
  margin-bottom: 10px;
153
  }
154
 
 
155
  }
themes/default/css/sq_blockkeywordresearch.css ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #sq_settings .sq_subtitles p{
2
+ margin: 5px 45px 40px 45px
3
+ }
4
+
5
+ #sq_settings_body fieldset{
6
+ width: 800px;
7
+ }
8
+
9
+ #sq_helpkeywordresearchcontent {
10
+ float: left;
11
+ width: 900px;
12
+ }
13
+
14
+ @media only screen and (max-width: 1024px){
15
+ #sq_helpkeywordresearchcontent {
16
+ width: 800px;
17
+ }
18
+ }
19
+
20
+ @media only screen and (max-width: 1320px) {
21
+ .sq_helpside {
22
+ clear: both;
23
+ float: left;
24
+ width: 808px;
25
+ height: 275px;
26
+ margin: 0;
27
+ padding: 0;
28
+ }
29
+
30
+
31
+ }
themes/default/css/sq_blockliveassistant.css ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #sq_settings_body fieldset > div {
2
+ float: left;
3
+ background-color: #fcfcfc;
4
+ padding: 20px 0 0 20px;
5
+ min-height: 280px;
6
+ width: auto;
7
+ }
8
+
9
+ #sq_settings .sq_subtitles p{
10
+ margin: 5px 45px 40px 45px
11
+ }
12
+ #sq_settings_body fieldset > div{
13
+ padding: 20px 0;
14
+ }
15
+
16
+ #sq_settings_body fieldset{
17
+ width: 800px;
18
+ }
19
+ #sq_settings_body .sq_subtitles p{
20
+ margin-bottom: 0;
21
+ font-size: 20px;
22
+ }
23
+
24
+ #sq_settings_body .sq_subtitles p img{
25
+ max-width: 100%;
26
+ }
27
+
28
+ #sq_helpliveassistantcontent {
29
+ float: left;
30
+ width: 900px;
31
+ }
32
+
33
+ @media only screen and (max-width: 1024px){
34
+
35
+ #sq_helpliveassistantcontent {
36
+ width: 800px;
37
+ }
38
+ }
39
+
40
+ @media only screen and (max-width: 1320px) {
41
+ .sq_helpside {
42
+ clear: both;
43
+ float: left;
44
+ width: 808px;
45
+ height: 275px;
46
+ margin: 0;
47
+ padding: 0;
48
+ }
49
+ }
themes/default/css/sq_blocksettingsseo.css CHANGED
@@ -20,12 +20,13 @@
20
  border: 1px solid #F7A504;
21
  font-weight: bold;
22
  padding: 0px 10px;
23
- margin: 18px auto;
24
  min-width: 170px;
25
  height: 39px;
26
  text-align: center;
27
  text-decoration: none;
28
  box-shadow: 1px 1px 1px 0 #777777;
 
29
  }
30
 
31
  .sq_helpside > div{
20
  border: 1px solid #F7A504;
21
  font-weight: bold;
22
  padding: 0px 10px;
23
+ margin: 18px auto 30px;
24
  min-width: 170px;
25
  height: 39px;
26
  text-align: center;
27
  text-decoration: none;
28
  box-shadow: 1px 1px 1px 0 #777777;
29
+
30
  }
31
 
32
  .sq_helpside > div{
themes/default/css/sq_global.css CHANGED
@@ -1,4 +1,4 @@
1
- .sq_message{
2
  line-height: 19px;
3
  width: calc(100% - 22px) !important;
4
  margin: -1px 0;
@@ -14,11 +14,13 @@
14
  background-color: #FFFBCC;
15
  position: relative;
16
  }
17
- .sq_notices{
 
18
  font-size: 13px;
19
  color: #555;
20
  }
21
- .sq_error{
 
22
  width: calc(100% - 22px) !important;
23
  text-align: center;
24
  font-size: 14px;
@@ -28,7 +30,7 @@
28
  padding: 0 !important;
29
  }
30
 
31
- .sq_success{
32
  position: relative;
33
  line-height: 30px;
34
  width: calc(100% - 22px) !important;
@@ -42,7 +44,7 @@
42
  background-color: #20bc49;
43
  }
44
 
45
- .sq_popup{
46
  position: fixed;
47
  padding: 20px !important;
48
  margin: 0 !important;
@@ -56,13 +58,13 @@
56
  z-index: 1000;
57
  }
58
 
59
- .sq_popup span{
60
  line-height: 30px;
61
  font-size: 100%;
62
  font-weight: bold;
63
  }
64
 
65
- .sq_popup .sq_close{
66
  position: absolute;
67
  background-color: #e5d8cd;
68
  right: -6px;
@@ -92,53 +94,55 @@
92
  .squirrly_page_sq_affiliate .sq_error,
93
  .squirrly_page_sq_affiliate .sq_success
94
  .squirrly_page_sq_posts .sq_error,
95
- .squirrly_page_sq_posts .sq_success
96
- {
97
  margin-top: 5px !important;
98
  }
99
 
100
- .sq_absolute{
101
  position: fixed;
102
  top: 28px;
103
  z-index: 10000;
104
  text-align: center;
105
  }
106
 
107
- .sq_savenotice{
108
  width: 70%;
109
  }
110
 
111
- .sq_absolute span{
112
  width: 50% !important;
113
  display: inline-block;
114
  }
115
 
116
- .sq_error strong{
117
  line-height: 25px;
118
  }
119
 
120
- .sq_helpnotice{
121
  display: none;
122
  position: relative;
123
  background-color: lightyellow;
124
  color: #999;
125
  }
126
- .sq_helpnotice p{
 
127
  margin: 3px;
128
  }
129
- .sq_helpnotice strong{
 
130
  display: block;
131
  font-size: 14px;
132
  max-width: 90%;
133
 
134
  }
135
- .sq_helpnotice a{
 
136
  color: lightgray;
137
  margin-left: 10px;
138
  text-decoration: none;
139
  }
140
 
141
- .sq_helpnotice .sq_button{
142
  display: inline-block;
143
  background-color: #FFF;
144
  line-height: 25px;
@@ -159,7 +163,7 @@
159
  text-decoration: none;
160
  }
161
 
162
- .sq_notice_author{
163
  position: absolute;
164
  color: #a8a8a8;
165
  font-size: 10px;
@@ -175,33 +179,55 @@
175
  }
176
 
177
  @-webkit-keyframes play {
178
- from { background-position: 0px; }
179
- to { background-position: -400px; }
 
 
 
 
180
  }
181
 
182
  @-moz-keyframes play {
183
- from { background-position: 0px; }
184
- to { background-position: -400px; }
 
 
 
 
185
  }
186
 
187
  @-ms-keyframes play {
188
- from { background-position: 0px; }
189
- to { background-position: -400px; }
 
 
 
 
190
  }
191
 
192
  @-o-keyframes play {
193
- from { background-position: 0px; }
194
- to { background-position: -400px; }
 
 
 
 
195
  }
196
 
197
  @keyframes play {
198
- from { background-position: 0px; }
199
- to { background-position: -400px; }
 
 
 
 
200
  }
201
- .sq_minloading{
 
202
  position: relative;
203
  opacity: 0.5;
204
  }
 
205
  .sq_minloading:before {
206
  position: absolute;
207
  right: calc(50% - 10px);
@@ -222,6 +248,7 @@
222
  -o-animation: play 1s steps(10) infinite;
223
  animation: play 1s steps(10) infinite;
224
  }
 
225
  #sq_preloading {
226
  text-align: center;
227
  font-size: 15px;
@@ -229,15 +256,15 @@
229
  color: gray;
230
  }
231
 
232
- noscript{
233
  color: red;
234
  }
235
 
236
- #adminmenu li.current a .awaiting-mod{
237
  background: inherit;
238
  }
239
 
240
- .sq_beta{
241
  font-size: 11px;
242
  color: darkRed;
243
  vertical-align: top;
@@ -248,14 +275,14 @@ noscript{
248
  padding: 0 3px;
249
  }
250
 
251
- .sq_tooltip{
252
  display: inline;
253
  position: relative;
254
  }
255
 
256
- .sq_tooltip:hover:after{
257
  background: #333;
258
- background: rgba(0,0,0,.8);
259
  border-radius: 5px;
260
  bottom: 26px;
261
  color: #fff;
@@ -268,7 +295,7 @@ noscript{
268
  width: 250px;
269
  }
270
 
271
- .sq_tooltip:hover:before{
272
  border: solid;
273
  border-color: #333 transparent;
274
  border-width: 6px 6px 0 6px;
@@ -278,14 +305,17 @@ noscript{
278
  position: absolute;
279
  z-index: 99;
280
  }
 
281
  /********************* SNIPPET *****************************/
282
- #sq_settings #sq_snippet{
283
  max-width: 550px;
284
  }
285
- #sq_settings #sq_snippet #sq_snippet_ul{
 
286
  min-height: 65px;
287
  }
288
- #sq_snippet{
 
289
  position: relative !important;
290
  margin: 20px 1px !important;
291
  clear: both;
@@ -294,7 +324,8 @@ noscript{
294
  -moz-box-shadow: 0px 1px 2px -1px #444;
295
  -webkit-box-shadow: 0px 1px 2px -1px #444;
296
  }
297
- #sq_snippet:before{
 
298
  display: block;
299
  content: " ";
300
  background: transparent url('../img/sprite.png') repeat-x;
@@ -304,17 +335,20 @@ noscript{
304
  border-radius: 2px 2px 0 0;
305
  opacity: 0.3;
306
  }
307
- #sq_snippet:hover:before{
 
308
  opacity: 0.8;
309
  }
310
- #sq_snippet #sq_snippet_ul{
 
311
  background-color: white;
312
  width: auto;
313
  padding: 15px;
314
  margin: 0 0 20px 0;
315
  min-height: 40px;
316
  }
317
- #sq_snippet #sq_snippet_ul li{
 
318
  font-family: arial, sans-serif;
319
  font-size: 13px;
320
  font-weight: normal;
@@ -323,9 +357,10 @@ noscript{
323
  margin: 0;
324
  padding: 0;
325
  }
 
326
  #sq_snippet #sq_snippet_ul li#sq_snippet_update,
327
  #sq_snippet #sq_snippet_ul li#sq_snippet_customize,
328
- #sq_snippet #sq_snippet_ul li#sq_snippet_reset{
329
  background-color: #ff9b00;
330
  min-width: 40px;
331
  height: 10px;
@@ -342,16 +377,17 @@ noscript{
342
  margin: 13px 3px;
343
  text-align: center;
344
  }
345
- #sq_settings #sq_snippet #sq_snippet_ul li#sq_snippet_update{
 
346
  margin: 1px;
347
  }
348
 
349
- #sq_settings #sq_snippet_image{
350
  min-height: 30px;
351
  }
352
 
353
  #sq_snippet #sq_snippet_ul #sq_snippet_title,
354
- #sq_snippet #sq_snippet_ul #sq_snippet_title_value{
355
  color: #12c;
356
  text-decoration: none;
357
  cursor: pointer;
@@ -359,6 +395,7 @@ noscript{
359
  font-size: 14px;
360
  font-weight: normal;
361
  }
 
362
  #sq_snippet #sq_snippet_ul #sq_snippet_title {
363
  max-width: 450px;
364
  overflow: hidden;
@@ -366,19 +403,20 @@ noscript{
366
  text-overflow: ellipsis;
367
  }
368
 
369
- #sq_snippet #sq_snippet_ul #sq_snippet_title_value{
370
  max-width: 480px;
371
  }
372
 
373
- #sq_snippet #sq_snippet_ul #sq_snippet_title_value input{
374
  font-size: 12px;
375
  width: 410px;
376
  height: 20px;
377
  margin: 2px 0;
378
  background-color: lightgoldenrodyellow;
379
  }
 
380
  #sq_snippet #sq_snippet_ul #sq_snippet_url,
381
- #sq_snippet #sq_snippet_ul #sq_snippet_url a{
382
  color: #093;
383
  height: 16px;
384
  line-height: 14px;
@@ -387,7 +425,7 @@ noscript{
387
  }
388
 
389
  #sq_snippet #sq_snippet_ul #sq_snippet_description,
390
- #sq_snippet #sq_snippet_ul #sq_snippet_description_value{
391
  color: #222;
392
  font-size: 12px;
393
  line-height: 16px;
@@ -395,14 +433,16 @@ noscript{
395
  max-width: 480px;
396
  overflow: hidden;
397
  }
398
- #sq_snippet #sq_snippet_ul #sq_snippet_description_value textarea{
 
399
  font-size: 12px;
400
  width: 410px;
401
  height: 40px;
402
  margin: 2px 0;
403
  background-color: lightgoldenrodyellow;
404
  }
405
- #sq_snippet #sq_snippet_name{
 
406
  position: absolute;
407
  right: 0;
408
  top: -8px;
@@ -411,7 +451,8 @@ noscript{
411
  font-size: 10px;
412
  padding: 0px 10px;
413
  }
414
- #sq_snippet #sq_snippet_disclaimer{
 
415
  position: absolute;
416
  left: 0;
417
  bottom: -17px;
@@ -419,18 +460,20 @@ noscript{
419
  font-size: 10px;
420
  padding: 0px 3px;
421
  }
422
- #sq_snippet #sq_snippet_ul #sq_snippet_source{
 
423
  position: absolute;
424
  bottom: 1px;
425
  right: 2px;
426
  }
427
- #sq_snippet #sq_snippet_ul #sq_snippet_source a{
 
428
  font-size: 10px;
429
  color: lightslategray;
430
  text-decoration: none;
431
  }
432
 
433
- #sq_snippet .sq_meta_info{
434
  display: inline-block;
435
  font-size: 11px;
436
  color: gray;
@@ -438,18 +481,18 @@ noscript{
438
  vertical-align: top;
439
  }
440
 
441
- #sq_snippet #sq_snippet_ul li#sq_snippet_keywords{
442
  margin: 10px 0 0 0;
443
  color: blue;
444
  font-size: 10px;
445
  cursor: pointer;
446
  }
447
 
448
- #sq_snippet #sq_upload{
449
- margin:10px 0 5px 0;
450
  }
451
 
452
- #sq_snippet #ogimage_preview{
453
  margin: 10px 0;
454
  max-height: 300px;
455
  max-width: 400px;
@@ -457,14 +500,61 @@ noscript{
457
  display: block;
458
  }
459
 
460
- #sq_snippet #sq_uploadstats{
461
  margin: 8px 0;
462
  color: red;
463
  }
464
 
465
- @media only screen and (max-width: 1024px){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
466
  #sq_snippet #sq_snippet_ul #sq_snippet_title {
467
  clear: both;
468
  }
 
469
  }
470
- /**************************************************/
 
 
1
+ .sq_message {
2
  line-height: 19px;
3
  width: calc(100% - 22px) !important;
4
  margin: -1px 0;
14
  background-color: #FFFBCC;
15
  position: relative;
16
  }
17
+
18
+ .sq_notices {
19
  font-size: 13px;
20
  color: #555;
21
  }
22
+
23
+ .sq_error {
24
  width: calc(100% - 22px) !important;
25
  text-align: center;
26
  font-size: 14px;
30
  padding: 0 !important;
31
  }
32
 
33
+ .sq_success {
34
  position: relative;
35
  line-height: 30px;
36
  width: calc(100% - 22px) !important;
44
  background-color: #20bc49;
45
  }
46
 
47
+ .sq_popup {
48
  position: fixed;
49
  padding: 20px !important;
50
  margin: 0 !important;
58
  z-index: 1000;
59
  }
60
 
61
+ .sq_popup span {
62
  line-height: 30px;
63
  font-size: 100%;
64
  font-weight: bold;
65
  }
66
 
67
+ .sq_popup .sq_close {
68
  position: absolute;
69
  background-color: #e5d8cd;
70
  right: -6px;
94
  .squirrly_page_sq_affiliate .sq_error,
95
  .squirrly_page_sq_affiliate .sq_success
96
  .squirrly_page_sq_posts .sq_error,
97
+ .squirrly_page_sq_posts .sq_success {
 
98
  margin-top: 5px !important;
99
  }
100
 
101
+ .sq_absolute {
102
  position: fixed;
103
  top: 28px;
104
  z-index: 10000;
105
  text-align: center;
106
  }
107
 
108
+ .sq_savenotice {
109
  width: 70%;
110
  }
111
 
112
+ .sq_absolute span {
113
  width: 50% !important;
114
  display: inline-block;
115
  }
116
 
117
+ .sq_error strong {
118
  line-height: 25px;
119
  }
120
 
121
+ .sq_helpnotice {
122
  display: none;
123
  position: relative;
124
  background-color: lightyellow;
125
  color: #999;
126
  }
127
+
128
+ .sq_helpnotice p {
129
  margin: 3px;
130
  }
131
+
132
+ .sq_helpnotice strong {
133
  display: block;
134
  font-size: 14px;
135
  max-width: 90%;
136
 
137
  }
138
+
139
+ .sq_helpnotice a {
140
  color: lightgray;
141
  margin-left: 10px;
142
  text-decoration: none;
143
  }
144
 
145
+ .sq_helpnotice .sq_button {
146
  display: inline-block;
147
  background-color: #FFF;
148
  line-height: 25px;
163
  text-decoration: none;
164
  }
165
 
166
+ .sq_notice_author {
167
  position: absolute;
168
  color: #a8a8a8;
169
  font-size: 10px;
179
  }
180
 
181
  @-webkit-keyframes play {
182
+ from {
183
+ background-position: 0;
184
+ }
185
+ to {
186
+ background-position: -400px;
187
+ }
188
  }
189
 
190
  @-moz-keyframes play {
191
+ from {
192
+ background-position: 0;
193
+ }
194
+ to {
195
+ background-position: -400px;
196
+ }
197
  }
198
 
199
  @-ms-keyframes play {
200
+ from {
201
+ background-position: 0;
202
+ }
203
+ to {
204
+ background-position: -400px;
205
+ }
206
  }
207
 
208
  @-o-keyframes play {
209
+ from {
210
+ background-position: 0;
211
+ }
212
+ to {
213
+ background-position: -400px;
214
+ }
215
  }
216
 
217
  @keyframes play {
218
+ from {
219
+ background-position: 0;
220
+ }
221
+ to {
222
+ background-position: -400px;
223
+ }
224
  }
225
+
226
+ .sq_minloading {
227
  position: relative;
228
  opacity: 0.5;
229
  }
230
+
231
  .sq_minloading:before {
232
  position: absolute;
233
  right: calc(50% - 10px);
248
  -o-animation: play 1s steps(10) infinite;
249
  animation: play 1s steps(10) infinite;
250
  }
251
+
252
  #sq_preloading {
253
  text-align: center;
254
  font-size: 15px;
256
  color: gray;
257
  }
258
 
259
+ noscript {
260
  color: red;
261
  }
262
 
263
+ #adminmenu li.current a .awaiting-mod {
264
  background: inherit;
265
  }
266
 
267
+ .sq_beta {
268
  font-size: 11px;
269
  color: darkRed;
270
  vertical-align: top;
275
  padding: 0 3px;
276
  }
277
 
278
+ .sq_tooltip {
279
  display: inline;
280
  position: relative;
281
  }
282
 
283
+ .sq_tooltip:hover:after {
284
  background: #333;
285
+ background: rgba(0, 0, 0, .8);
286
  border-radius: 5px;
287
  bottom: 26px;
288
  color: #fff;
295
  width: 250px;
296
  }
297
 
298
+ .sq_tooltip:hover:before {
299
  border: solid;
300
  border-color: #333 transparent;
301
  border-width: 6px 6px 0 6px;
305
  position: absolute;
306
  z-index: 99;
307
  }
308
+
309
  /********************* SNIPPET *****************************/
310
+ #sq_settings #sq_snippet {
311
  max-width: 550px;
312
  }
313
+
314
+ #sq_settings #sq_snippet #sq_snippet_ul {
315
  min-height: 65px;
316
  }
317
+
318
+ #sq_snippet {
319
  position: relative !important;
320
  margin: 20px 1px !important;
321
  clear: both;
324
  -moz-box-shadow: 0px 1px 2px -1px #444;
325
  -webkit-box-shadow: 0px 1px 2px -1px #444;
326
  }
327
+
328
+ #sq_snippet:before {
329
  display: block;
330
  content: " ";
331
  background: transparent url('../img/sprite.png') repeat-x;
335
  border-radius: 2px 2px 0 0;
336
  opacity: 0.3;
337
  }
338
+
339
+ #sq_snippet:hover:before {
340
  opacity: 0.8;
341
  }
342
+
343
+ #sq_snippet #sq_snippet_ul {
344
  background-color: white;
345
  width: auto;
346
  padding: 15px;
347
  margin: 0 0 20px 0;
348
  min-height: 40px;
349
  }
350
+
351
+ #sq_snippet #sq_snippet_ul li {
352
  font-family: arial, sans-serif;
353
  font-size: 13px;
354
  font-weight: normal;
357
  margin: 0;
358
  padding: 0;
359
  }
360
+
361
  #sq_snippet #sq_snippet_ul li#sq_snippet_update,
362
  #sq_snippet #sq_snippet_ul li#sq_snippet_customize,
363
+ #sq_snippet #sq_snippet_ul li#sq_snippet_reset {
364
  background-color: #ff9b00;
365
  min-width: 40px;
366
  height: 10px;
377
  margin: 13px 3px;
378
  text-align: center;
379
  }
380
+
381
+ #sq_settings #sq_snippet #sq_snippet_ul li#sq_snippet_update {
382
  margin: 1px;
383
  }
384
 
385
+ #sq_settings #sq_snippet_image {
386
  min-height: 30px;
387
  }
388
 
389
  #sq_snippet #sq_snippet_ul #sq_snippet_title,
390
+ #sq_snippet #sq_snippet_ul #sq_snippet_title_value {
391
  color: #12c;
392
  text-decoration: none;
393
  cursor: pointer;
395
  font-size: 14px;
396
  font-weight: normal;
397
  }
398
+
399
  #sq_snippet #sq_snippet_ul #sq_snippet_title {
400
  max-width: 450px;
401
  overflow: hidden;
403
  text-overflow: ellipsis;
404
  }
405
 
406
+ #sq_snippet #sq_snippet_ul #sq_snippet_title_value {
407
  max-width: 480px;
408
  }
409
 
410
+ #sq_snippet #sq_snippet_ul #sq_snippet_title_value input {
411
  font-size: 12px;
412
  width: 410px;
413
  height: 20px;
414
  margin: 2px 0;
415
  background-color: lightgoldenrodyellow;
416
  }
417
+
418
  #sq_snippet #sq_snippet_ul #sq_snippet_url,
419
+ #sq_snippet #sq_snippet_ul #sq_snippet_url a {
420
  color: #093;
421
  height: 16px;
422
  line-height: 14px;
425
  }
426
 
427
  #sq_snippet #sq_snippet_ul #sq_snippet_description,
428
+ #sq_snippet #sq_snippet_ul #sq_snippet_description_value {
429
  color: #222;
430
  font-size: 12px;
431
  line-height: 16px;
433
  max-width: 480px;
434
  overflow: hidden;
435
  }
436
+
437
+ #sq_snippet #sq_snippet_ul #sq_snippet_description_value textarea {
438
  font-size: 12px;
439
  width: 410px;
440
  height: 40px;
441
  margin: 2px 0;
442
  background-color: lightgoldenrodyellow;
443
  }
444
+
445
+ #sq_snippet #sq_snippet_name {
446
  position: absolute;
447
  right: 0;
448
  top: -8px;
451
  font-size: 10px;
452
  padding: 0px 10px;
453
  }
454
+
455
+ #sq_snippet #sq_snippet_disclaimer {
456
  position: absolute;
457
  left: 0;
458
  bottom: -17px;
460
  font-size: 10px;
461
  padding: 0px 3px;
462
  }
463
+
464
+ #sq_snippet #sq_snippet_ul #sq_snippet_source {
465
  position: absolute;
466
  bottom: 1px;
467
  right: 2px;
468
  }
469
+
470
+ #sq_snippet #sq_snippet_ul #sq_snippet_source a {
471
  font-size: 10px;
472
  color: lightslategray;
473
  text-decoration: none;
474
  }
475
 
476
+ #sq_snippet .sq_meta_info {
477
  display: inline-block;
478
  font-size: 11px;
479
  color: gray;
481
  vertical-align: top;
482
  }
483
 
484
+ #sq_snippet #sq_snippet_ul li#sq_snippet_keywords {
485
  margin: 10px 0 0 0;
486
  color: blue;
487
  font-size: 10px;
488
  cursor: pointer;
489
  }
490
 
491
+ #sq_snippet #sq_upload {
492
+ margin: 10px 0 5px 0;
493
  }
494
 
495
+ #sq_snippet #ogimage_preview {
496
  margin: 10px 0;
497
  max-height: 300px;
498
  max-width: 400px;
500
  display: block;
501
  }
502
 
503
+ #sq_snippet #sq_uploadstats {
504
  margin: 8px 0;
505
  color: red;
506
  }
507
 
508
+ /*
509
+ Google Badge
510
+ */
511
+ .sq_badge_google {
512
+ width: 100%;
513
+ height: 50px;
514
+ margin-top: 25px;
515
+ }
516
+
517
+ .sq_badge_google .sq_badge-image {
518
+ background: url(../img/settings/sq_badge_g17.png);
519
+ width: 50px;
520
+ height: 50px;
521
+ float: left;
522
+ background-size: 100%;
523
+ }
524
+
525
+ .sq_badge_google .sq_description {
526
+ float: left;
527
+ width: 80%;
528
+ height: 100%;
529
+ margin-top: -2px;
530
+ }
531
+
532
+ .sq_badge_google .sq_description .sq_title {
533
+ height: auto;
534
+ width: 100%;
535
+ font-size: 15px;
536
+ margin-top: 4px;
537
+ margin-left: 10px;
538
+ }
539
+
540
+ .sq_badge_google .sq_description .sq_link {
541
+ height: 50%;
542
+ width: 100%;
543
+ margin-left: 10px;
544
+ }
545
+
546
+ .sq_badge_google .sq_description .sq_link a {
547
+ font-size: 13px;
548
+ text-decoration: none;
549
+ color: #fff;
550
+ }
551
+
552
+ @media only screen and (max-width: 1024px) {
553
  #sq_snippet #sq_snippet_ul #sq_snippet_title {
554
  clear: both;
555
  }
556
+
557
  }
558
+
559
+ /**************************************************/
560
+
themes/default/css/sq_menu.css CHANGED
@@ -3,7 +3,7 @@
3
  position: relative;
4
  }
5
 
6
- #sq_settings .sq_icon{
7
  display: block;
8
  float: left;
9
  margin: 10px 11px 0 0;
@@ -12,7 +12,8 @@
12
  background: transparent url('../img/sprite.png') no-repeat;
13
  background-position: -47px -155px;
14
  }
15
- #sq_settings #sq_settings_title{
 
16
  display: table;
17
  font-size: 36px;
18
  font-weight: normal;
@@ -27,7 +28,7 @@
27
  }
28
 
29
  #sq_settings #sq_settings_title a,
30
- #sq_settings #sq_settings_title input{
31
  display: block;
32
  float: left;
33
  font-size: 15px;
@@ -47,7 +48,7 @@
47
  #sq_settings #sq_goto_newpost,
48
  #sq_settings #sq_goto_dashboard,
49
  #sq_settings #sq_settings_title #sq_goto_newpost,
50
- #sq_settings #sq_settings_title #sq_goto_dashboard{
51
  display: inline-block;
52
  background-color: #FFF;
53
  line-height: 35px;
@@ -65,13 +66,23 @@
65
  text-align: center;
66
  text-decoration: none;
67
  }
68
- #sq_settings .sq_login_link{
 
 
 
 
 
 
 
 
 
69
  margin: 0 auto;
70
  width: 500px;
71
  display: block;
72
  }
 
73
  #sq_settings #sq_goto_newpost,
74
- #sq_settings #sq_goto_dashboard{
75
  display: block;
76
  font-size: 18px;
77
  height: 20px;
@@ -81,21 +92,24 @@
81
 
82
  }
83
 
84
- #sq_settings #sq_login_success{
85
  text-align: center;
86
  font-size: 18px;
87
  padding: 14px 0;
88
  margin: 15px auto;
89
  color: #008000;
90
  }
91
- #sq_settings #sq_login_success img{
 
92
  margin: 30px auto 8px auto;
93
  }
94
- #sq_settings #sq_login_success ul{
 
95
  padding: 0;
96
  margin: 0;
97
  }
98
- #sq_settings #sq_login_success li{
 
99
  text-align: left;
100
  font-size: 13px;
101
  padding: 10px;
@@ -103,29 +117,33 @@
103
  }
104
 
105
  /**************************** LOGIN **********************************/
106
- #sq_settings_login{
107
  width: 100% !important;
108
  }
109
- #sq_settings_login #sq_blocklogin label{
 
110
  width: 80px;
111
  }
112
- #sq_settings_login .sq_box{
 
113
  max-width: 540px;
114
  min-width: 500px;
115
- background: #f0f0f0 url('../img/settings/login.jpg') 0px 0px no-repeat;
116
  border: 1px solid #ddd;
117
  font-size: 1.1em;
118
  margin: 70px auto;
119
  padding: 1em;
120
- font-family: Arial,Verdana,Helvetica,sans-serif;
121
  box-shadow: 0 5px 9px -5px #222;
122
  text-align: center;
123
 
124
  }
125
- #sq_settings_login .sq_login_done{
126
- background: #f0f0f0 url('../img/settings/login_done.jpg') 0px 0px no-repeat;
 
127
  }
128
- #sq_settings_login .sq_box .sq_header{
 
129
  color: #11a5c1;
130
  font-size: 28px;
131
  font-weight: bold;
@@ -134,70 +152,89 @@
134
  line-height: 29px;
135
  text-shadow: 1px 2px white;
136
  }
137
- #sq_settings_login .sq_login_done .sq_header{
 
138
  font-size: 24px;
139
  }
140
 
141
- #sq_settings_login #sq_blocklogin ul li{
142
  width: 500px !important;
143
  }
 
144
  #sq_settings_login #sq_blocklogin ul li input[type=text],
145
- #sq_settings_login #sq_blocklogin ul li input[type=password]{
146
  min-width: 250px;
147
  }
148
 
149
- #sq_settings_login #sq_blocklogin #sq_register_email{
150
  width: 500px;
151
  }
152
- #sq_settings_login #sq_blocklogin #sq_register_email input[type=text]{
 
153
  min-width: 250px;
154
  }
155
 
156
  /**************************** AFFILIATE **********************************/
157
- #sq_settings .sq_settings_affiliate_bigtitle{
158
  font-size: 26px !important;
159
  margin: 0;
160
  padding: 5px 0;
161
  }
162
 
163
- #sq_settings .sq_settings_affiliate_bigbutton{
164
- margin-bottom:35px;
165
  text-align: center;
166
  }
167
- #sq_settings .sq_settings_affiliate_bigbutton input{
 
168
  padding: 15px !important;
169
  font-size: 18px !important;
170
  cursor: pointer;
171
  }
172
- #sq_settings .sq_settings_affiliate_bigbutton span{
 
173
  display: block;
174
  font-size: 18px;
175
  color: #20bc49;
176
  font-weight: bold;
177
  margin: 20px 0 0 0;
178
  }
179
- #sq_settings .sq_settings_affiliate_info{
 
 
 
 
 
 
 
 
 
 
 
180
  margin-bottom: 35px;
181
  }
182
- #sq_settings .sq_settings_affiliate_info li{
 
183
  margin-left: 16px;
184
  font-weight: bold;
185
  font-size: 14px;
186
  line-height: 20px;
187
  }
188
- #sq_settings .sq_affiliate_banner{
189
- display:block;
190
- margin-bottom:20px;
 
191
  font-weight: normal;
192
  font-size: 12px;
193
  line-height: 20px;
194
  }
195
- #sq_settings .sq_settings_info{
 
196
  text-align: left;
197
  }
198
 
199
  /****************************HOW TO **********************************/
200
- #sq_settings #sq_settings_howto{
201
  font-family: 'Segoe UI', Arial, sans-serif;
202
  position: relative;
203
  background: #F3F8FD url('../img/settings/header_stars.png') no-repeat;
@@ -209,7 +246,8 @@
209
  width: 740px;
210
  text-align: center;
211
  }
212
- #sq_settings #sq_settings_howto #sq_settings_howto_title{
 
213
  display: block;
214
  width: 100%;
215
  font-size: 28px;
@@ -222,20 +260,22 @@
222
  text-shadow: 1px 1px white;
223
  height: auto;
224
  }
225
- #sq_settings #sq_settings_howto #sq_settings_howto_body{
 
226
  font-size: 20px;
227
  line-height: 27px;
228
  color: #A8A8A8;
229
  padding: 5px;
230
  text-shadow: 1px 1px white;
231
  }
232
- #sq_settings #sq_settings_howto #sq_settings_howto_body p span{
 
233
  display: block;
234
  font-size: 17px;
235
  color: #333;
236
  }
237
 
238
- #sq_settings #sq_settings_title #sq_settings_howto_close{
239
  display: inline-block;
240
  font-size: 12px;
241
  color: blue;
@@ -245,32 +285,37 @@
245
  }
246
 
247
  /************************* STATUS ****************************/
248
- #sq_settings .sq_user_title{
249
  color: #1d9ed4 !important;
250
  font-size: 26px;
251
  margin: 0;
252
  padding: 5px 0 !important;
253
  text-align: left;
254
  }
255
- #sq_settings #sq_user_stats_list li{
 
256
  margin: 0;
257
  padding: 3px 0 3px 24px;
258
  line-height: 25px;
259
  font-size: 14px;
260
  }
261
- #sq_settings #sq_user_stats_list li strong{
 
262
  color: #20bc49;
263
  font-size: 16px;
264
  }
265
- #sq_settings #sq_user_info .sq_settings_info{
 
266
  color: #333;
267
  padding-top: 15px;
268
  text-align: left;
269
  }
270
- #sq_settings #sq_user_info .sq_settings_info a{
 
271
  font-weight: bold;
272
  }
273
- #sq_settings #sq_user_info .sq_button a{
 
274
  clear: both;
275
  display: block;
276
  float: right;
@@ -281,13 +326,14 @@
281
  border: 1px solid white;
282
  line-height: 25px;
283
  padding: 5px 10px;
284
- margin: 20px 0 0 20px;
285
  text-decoration: none;
286
  text-shadow: 1px 1px #333;
287
  cursor: pointer;
288
  }
 
289
  /**************************************************************/
290
- #sq_settings #sq_userinfo{
291
  color: #333;
292
  width: 100%;
293
  min-height: 800px;
@@ -298,16 +344,30 @@
298
  text-shadow: 1px 1px white;
299
  background-color: #f1f1f1 !important;
300
  }
301
- #sq_settings #sq_userinfo li{
 
302
  padding: 10px;
303
  }
304
- .sq_userinfo fieldset{
 
305
  float: none !important;
306
  }
307
 
 
 
 
 
 
 
 
 
 
 
 
 
308
 
309
  /**************************************************************/
310
- #sq_settings #sq_settings_body{
311
  display: block;
312
  font-size: 12px;
313
  color: #333;
@@ -315,16 +375,18 @@
315
  text-align: left;
316
  margin-top: 0px;
317
  }
 
318
  #sq_settings_body #sq_settings_left,
319
- #sq_settings_body #sq_settings_right{
320
  float: left;
321
  }
322
- #sq_settings_body #sq_settings_submit{
 
323
 
324
  clear: both;
325
  }
326
 
327
- #sq_settings_body fieldset{
328
  float: left;
329
  clear: both;
330
  width: 900px;
@@ -334,12 +396,11 @@
334
  margin: 10px auto;
335
  padding: 0;
336
 
337
- font-family: Arial,Verdana,Helvetica,sans-serif;
338
 
339
  text-shadow: 1px 1px white;
340
  box-shadow: 0 5px 9px -6px #222;
341
 
342
-
343
  background: linear-gradient(to bottom, #23282D 5%, rgba(55, 29, 48, 0.96) 100%), no-repeat 0 0 !important;
344
  background: -moz-linear-gradient(top, #23282D 5%, rgba(55, 29, 48, 0.96) 100%), url(../img/settings/bgimage.jpg) no-repeat 0 0 !important;
345
  background: -webkit-linear-gradient(top, #23282D 5%, rgba(55, 29, 48, 0.96) 100%), url(../img/settings/bgimage.jpg) no-repeat 0 0 !important;
@@ -350,11 +411,12 @@
350
  background-attachment: fixed;
351
  }
352
 
353
- #sq_settings_body fieldset.deactivated{
354
  opacity: 0.3;
355
  cursor: pointer;
356
  }
357
- #sq_settings_body fieldset > div{
 
358
  float: left;
359
  background-color: #fcfcfc;
360
  padding: 20px 0 0 10px;
@@ -362,10 +424,11 @@
362
  min-height: 280px;
363
  }
364
 
365
- #sq_settings_affiliate_form fieldset > div{
366
  min-height: 324px;
367
  }
368
- #sq_settings_body fieldset legend{
 
369
  float: left;
370
  width: 280px;
371
  border: none;
@@ -378,20 +441,23 @@
378
  color: #fff;
379
  text-shadow: none;
380
 
381
-
382
  }
383
- #sq_settings_body fieldset legend.sq_legend_small{
 
384
  min-height: 250px;
385
  height: auto;
386
  }
387
- #sq_settings_body fieldset legend.sq_legend_medium{
 
388
  min-height: 430px;
389
  height: auto;
390
  }
391
- #sq_settings_body fieldset legend.sq_legend_big{
 
392
  min-height: 750px;
393
  height: auto;
394
  }
 
395
  #sq_settings_body fieldset legend > span {
396
  display: block;
397
  font-size: 14px;
@@ -400,11 +466,11 @@
400
  clear: both;
401
  }
402
 
403
- #sq_settings_body fieldset legend > span strong{
404
  color: #FFF;
405
  }
406
 
407
- #sq_settings_body fieldset legend .sq_legend_title{
408
  font-weight: lighter;
409
  color: #f9f9f9;
410
  font-size: 23px;
@@ -412,7 +478,7 @@
412
  margin-top: 0;
413
  }
414
 
415
- #sq_settings_body fieldset legend > span a{
416
  color: #FFD6AD;
417
  font-size: 14px;
418
  font-weight: 700;
@@ -420,7 +486,7 @@
420
  text-shadow: 1px 1px #000;
421
  }
422
 
423
- #sq_settings_body fieldset legend select{
424
  padding: 2px;
425
  line-height: 28px;
426
  height: 28px;
@@ -429,7 +495,7 @@
429
  width: 100%;
430
  }
431
 
432
- #sq_settings_body fieldset legend .sq_option_content{
433
  width: 123px;
434
  margin: 0 auto;
435
  }
@@ -442,7 +508,8 @@
442
  width: 100%;
443
  text-align: center;
444
  }
445
- #sq_settings_body ul.sq_settings_info > span{
 
446
  display: block;
447
  color: #777;
448
  font-size: 16px;
@@ -450,6 +517,7 @@
450
  margin-bottom: 22px;
451
  list-style: none;
452
  }
 
453
  #sq_settings_body ul.sq_settings_info > li {
454
  margin: 15px 10px;
455
  font-size: 12px;
@@ -457,13 +525,13 @@
457
  color: #777;
458
  }
459
 
460
- #sq_settings_body .sq_option_info{
461
  font-style: italic;
462
  color: #aaa;
463
  font-size: 90%;
464
  }
465
 
466
- #sq_settings_body fieldset p{
467
  vertical-align: top;
468
  margin: 5px 0 5px 0;
469
  padding: 0 0 0.5em 0;
@@ -472,7 +540,7 @@
472
  line-height: 23px;
473
  }
474
 
475
- #sq_settings_body fieldset .withborder{
476
  clear: both;
477
  vertical-align: top;
478
  min-height: 40px;
@@ -484,20 +552,24 @@
484
  font-size: 12px;
485
  border-bottom: 1px dashed #CCC;
486
  }
487
- #sq_settings_body fieldset .withbordertop{
 
488
  border-top: 1px dashed #CCC;
489
  padding-top: 15px;
490
  }
491
- #sq_settings_body fieldset .withcode{
 
492
  min-height: 85px;
493
  }
494
- #sq_settings_body fieldset .withcode strong{
 
495
  display: block;
496
  font-size: 10px;
497
  color: #999;
498
  margin: 10px 0 0px 65px;
499
  }
500
- #sq_settings_body fieldset .withcode input[type=text]{
 
501
  display: block;
502
  width: 360px;
503
  font-size: 12px;
@@ -506,7 +578,7 @@
506
  background-color: lightgoldenrodyellow;
507
  }
508
 
509
- #sq_settings_body fieldset #sq_twitter_account{
510
  display: block;
511
  font-weight: bold;
512
  font-size: 13px;
@@ -524,31 +596,37 @@
524
  width: 54px;
525
  height: 50px;
526
  }
 
527
  #sq_settings_body fieldset .sq_icon_googleplus {
528
  background-position: -152px -279px;
529
  width: 74px;
530
  height: 70px;
531
  }
 
532
  #sq_settings_body fieldset .sq_icon_twitter {
533
  background-position: -371px -279px;
534
  width: 74px;
535
  height: 70px;
536
  }
 
537
  #sq_settings_body fieldset .sq_icon_facebook {
538
  background-position: -5px -279px;
539
  width: 74px;
540
  height: 70px;
541
  }
 
542
  #sq_settings_body fieldset .sq_icon_linkedin {
543
  background-position: -78px -279px;
544
  width: 74px;
545
  height: 70px;
546
  }
 
547
  #sq_settings_body fieldset .sq_icon_social_instagram {
548
  background-position: -445px -279px;
549
  width: 74px;
550
  height: 70px;
551
  }
 
552
  #sq_settings_body fieldset .sq_icon_social_pinterest {
553
  background-position: -518px -279px;
554
  width: 74px;
@@ -558,12 +636,15 @@
558
  #sq_settings_body fieldset .sq_icon_googlewt {
559
  background-position: -112px -100px;
560
  }
 
561
  #sq_settings_body fieldset .sq_icon_googleanalytics {
562
  background-position: 0px -100px;
563
  }
 
564
  #sq_settings_body fieldset .sq_icon_facebookinsights {
565
  background-position: -59px -100px;
566
  }
 
567
  #sq_settings_body fieldset .sq_icon_facebookpixel {
568
  background-position: -370px -100px;
569
  }
@@ -571,16 +652,18 @@
571
  #sq_settings_body fieldset .sq_icon_bingwt {
572
  background-position: -165px -100px;
573
  }
574
- #sq_settings_body fieldset .sq_icon_alexat{
 
575
  background-position: -270px -100px;
576
  }
 
577
  #sq_settings_body fieldset .sq_icon_pinterest {
578
  background-position: -320px -100px;
579
  }
580
 
581
  #sq_settings_body fieldset p input,
582
  #sq_settings_body fieldset p textarea,
583
- #sq_settings_body fieldset p select{
584
  margin-left: 15px;
585
  padding: 4px;
586
  border: 1px solid #20bc49;
@@ -588,7 +671,13 @@
588
  max-width: 415px;
589
  }
590
 
591
- #sq_settings_body input[type=submit]{
 
 
 
 
 
 
592
  font-size: 15px;
593
  font-weight: bold;
594
  line-height: 30px;
@@ -600,30 +689,30 @@
600
  color: white;
601
  }
602
 
603
- .sq_settings_backup{
604
  float: right;
605
  margin-top: -30px;
606
  }
607
 
608
  #sq_settings_login .sq_settings_backup,
609
- #postsquirrly .sq_settings_backup{
610
  float: none;
611
  margin: 0 auto;
612
  width: 220px;
613
  height: 33px;
614
  }
615
 
616
- .sq_settings_restore input[type=file]{
617
- float:none !important;
618
  }
619
 
620
- .sq_settings_restore .sq_button{
621
  background-color: lightslategray !important;
622
  color: white !important;
623
  }
624
 
625
  .sq_settings_backup input.sq_button,
626
- .sq_settings_restore input.sq_button{
627
  font-size: 15px;
628
  font-weight: bold;
629
  line-height: 30px;
@@ -637,41 +726,43 @@
637
  }
638
 
639
  #sq_settings_body .customize,
640
- #sq_settings_body ._customize{
641
  font-size: 12px;
642
  font-weight: bold;
643
  color: blue;
644
  cursor: pointer;
645
  }
646
- #sq_settings_body ._customize{
 
647
  margin-top: 10px;
648
  }
649
 
650
- #sq_settings_body .sq_custom_title legend{
651
  height: 415px;
652
  }
653
 
654
- @media only screen and (max-width: 1800px){
655
-
656
 
657
  #sq_settings_body #sq_settings_left,
658
- #sq_settings_body #sq_settings_right{
659
  float: none;
660
 
661
  }
 
662
  #sq_settings_body #sq_settings_left fieldset,
663
- #sq_settings_body #sq_settings_right fieldset{
664
  margin: 10px auto 20px auto;
665
  }
666
  }
667
 
668
  /************************** SWITCH ******************************/
669
- .sq_option_content{
670
  clear: both;
671
  padding: 6px 0;
672
  height: 30px;
673
  }
674
- .sq_option_content > span{
 
675
  position: relative;
676
  padding-top: 3px;
677
  display: block;
@@ -681,7 +772,6 @@
681
  text-shadow: 1px 1px #FFF;
682
  }
683
 
684
-
685
  .sq_switch {
686
  float: left;
687
  position: relative;
@@ -695,10 +785,11 @@
695
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);
696
  }
697
 
698
- .sq_option_content .sq_switch{
699
  border: 7px solid #fcfcfc;
700
  margin-left: -10px;
701
  }
 
702
  .sq_switch-label {
703
  position: relative;
704
  z-index: 2;
@@ -711,13 +802,16 @@
711
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.45);
712
  cursor: pointer;
713
  }
 
714
  .sq_switch-label:active {
715
  font-weight: bold;
716
 
717
  }
 
718
  .sq_switch-label-off {
719
  padding-left: 2px;
720
  }
 
721
  .sq_switch-label-on {
722
  padding-right: 2px;
723
  }
@@ -725,6 +819,7 @@
725
  .sq_switch-input {
726
  display: none !important;
727
  }
 
728
  .sq_switch-input:checked + .sq_switch-label {
729
  font-weight: bold;
730
  color: rgba(0, 0, 0, 0.65);
@@ -734,11 +829,13 @@
734
  -o-transition: 0.15s ease-out;
735
  transition: 0.15s ease-out;
736
  }
 
737
  .sq_switch-input:checked + .sq_switch-label-on ~ .sq_switch-selection {
738
  /* Note: left: 50% doesn't transition in WebKit */
739
  left: 60px;
740
  background: lightgray;
741
  }
 
742
  .sq_switch-selection {
743
  display: block;
744
  position: absolute;
@@ -760,47 +857,54 @@
760
 
761
  }
762
 
763
- .sq_option_content_small{
764
  clear: both;
765
  padding: 0px 0;
766
  max-height: 25px;
767
  }
768
- .sq_option_content_small a{
 
769
  text-decoration: none;
770
  color: #0573E8;
771
  }
772
 
773
- .sq_option_content span.sq_option_info{
774
  display: block;
775
  font-size: 15px;
776
  margin-top: 30px;
777
  }
778
- .sq_option_content > span.sq_option_info_small{
 
779
  line-height: 20px;
780
  font-size: 12px;
781
  color: #777;
782
  }
 
783
  .sq_option_content_small .sq_switch {
784
  margin: 0px 9px 0 0;
785
  height: 18px;
786
  width: 60px;
787
  }
 
788
  .sq_option_content_small .sq_switch-label {
789
  width: 28px;
790
  line-height: 17px;
791
  font-size: 9px;
792
  }
 
793
  .sq_option_content_small .sq_switch-input:checked + .sq_switch-label-on ~ .sq_switch-selection {
794
  /* Note: left: 50% doesn't transition in WebKit */
795
  left: 31px;
796
  }
 
797
  .sq_option_content_small .sq_switch-selection {
798
  top: 1px;
799
  left: 1px;
800
  width: 28px;
801
  height: 16px;
802
  }
803
- .sq_option_content_small > span{
 
804
  font-size: 12px !important;
805
  }
806
 
@@ -810,8 +914,9 @@
810
  position: relative;
811
  max-width: 925px;
812
  }
 
813
  #sq_dashboard .sq_icon,
814
- #sq_posts .sq_icon{
815
  display: block;
816
  float: left;
817
  margin: 10px 11px 0 0;
@@ -822,7 +927,7 @@
822
  }
823
 
824
  #sq_dashboard #sq_dashboard_title,
825
- #sq_posts #sq_posts_title{
826
  font-size: 36px;
827
  font-weight: normal;
828
  line-height: 50px;
@@ -833,7 +938,7 @@
833
  }
834
 
835
  #sq_dashboard #sq_dashboard_subtitle,
836
- #sq_posts #sq_posts_subtitle{
837
  font-size: 18px;
838
  font-weight: normal;
839
  line-height: 24px;
@@ -843,12 +948,11 @@
843
  height: auto;
844
  }
845
 
846
-
847
- #sq_posts .wp-list-table td{
848
  vertical-align: middle;
849
  }
850
 
851
- #sq_dashboard .sq_dashboard_box{
852
  width: 900px;
853
  margin: 10px auto 10px 0px;
854
  padding: 0;
@@ -856,27 +960,30 @@
856
  box-shadow: 0 5px 9px -6px #222;
857
  }
858
 
859
- #sq_dashboard .sq_dashboard_box > div{
860
  width: 900px;
861
  height: 295px;
862
  border: 1px solid #ddd;
863
  cursor: pointer;
864
  }
865
 
866
- #sq_dashboard .sq_dashboard_assistant{
867
  background: transparent url('../img/dashboard_assistant.png') no-repeat;
868
  }
869
- #sq_dashboard .sq_dashboard_analytics{
 
870
  background: transparent url('../img/dashboard_analytics.png') no-repeat;
871
  }
872
- #sq_dashboard .sq_dashboard_audit{
 
873
  background: transparent url('../img/dashboard_audit.png') no-repeat;
874
  }
875
- #sq_dashboard .sq_dashboard_research{
 
876
  background: transparent url('../img/dashboard_research.png') no-repeat;
877
  }
878
 
879
- #sq_dashboard .sq_dashboard_audit #sq_audit_date{
880
  color: white;
881
  float: left;
882
  margin-top: 254px;
@@ -895,7 +1002,7 @@
895
  }
896
 
897
  /************************** SURVEY ****************************************/
898
- #sq_settings #sq_survey{
899
  display: block;
900
  max-width: 600px;
901
  margin: 40px auto;
@@ -904,20 +1011,20 @@
904
  line-height: 23px;
905
  }
906
 
907
- #sq_settings #sq_survey .sq_survey_title{
908
  font-size: 35px;
909
  }
910
 
911
- #sq_settings #sq_survey ul{
912
  padding: 0;
913
  margin: 15px 0;
914
  }
915
 
916
- #sq_settings #sq_survey li textarea{
917
  width: 100%;
918
  }
919
 
920
- #sq_settings #sq_survey li #sq_survey_submit{
921
  background-color: #20bc49;
922
  font-size: 12px;
923
  font-weight: bold;
@@ -930,19 +1037,18 @@
930
  cursor: pointer;
931
  }
932
 
933
- #sq_settings #sq_survey li #sq_survey_close{
934
  float: right;
935
  font-size: 12px;
936
  cursor: pointer;
937
  }
938
 
939
- #sq_left{
940
  float: left;
941
  clear: left;
942
  }
943
 
944
-
945
- .sq_helpside{
946
  float: right;
947
  clear: right;
948
  width: 240px;
@@ -952,7 +1058,7 @@
952
  overflow: hidden;
953
  }
954
 
955
- .sq_helpside > div{
956
  border: 1px solid #ccc;
957
  background-color: #fcfcfc;
958
  padding: 10px;
@@ -961,24 +1067,20 @@
961
  box-shadow: 0px 1px 1px 0 #ccc;
962
  }
963
 
964
-
965
- @media only screen and (max-width: 1050px){
966
- #sq_settings_body fieldset{
967
  width: 800px;
968
  }
969
 
970
- #sq_settings_body fieldset legend{
971
- width: 190px;
972
  height: auto;
973
  min-height: 250px;
974
  }
975
 
976
-
977
- #sq_settings_body fieldset > div{
978
  width: 540px;
979
  }
980
 
981
-
982
-
983
  }
984
 
3
  position: relative;
4
  }
5
 
6
+ #sq_settings .sq_icon {
7
  display: block;
8
  float: left;
9
  margin: 10px 11px 0 0;
12
  background: transparent url('../img/sprite.png') no-repeat;
13
  background-position: -47px -155px;
14
  }
15
+
16
+ #sq_settings #sq_settings_title {
17
  display: table;
18
  font-size: 36px;
19
  font-weight: normal;
28
  }
29
 
30
  #sq_settings #sq_settings_title a,
31
+ #sq_settings #sq_settings_title input {
32
  display: block;
33
  float: left;
34
  font-size: 15px;
48
  #sq_settings #sq_goto_newpost,
49
  #sq_settings #sq_goto_dashboard,
50
  #sq_settings #sq_settings_title #sq_goto_newpost,
51
+ #sq_settings #sq_settings_title #sq_goto_dashboard {
52
  display: inline-block;
53
  background-color: #FFF;
54
  line-height: 35px;
66
  text-align: center;
67
  text-decoration: none;
68
  }
69
+
70
+ #sq_settings a.sq_goto_dashboard {
71
+ text-shadow: none;
72
+ margin-top: -1px;
73
+ margin-top: 5px!important;
74
+ margin-left: 5px!important;
75
+
76
+ }
77
+
78
+ #sq_settings .sq_login_link {
79
  margin: 0 auto;
80
  width: 500px;
81
  display: block;
82
  }
83
+
84
  #sq_settings #sq_goto_newpost,
85
+ #sq_settings #sq_goto_dashboard {
86
  display: block;
87
  font-size: 18px;
88
  height: 20px;
92
 
93
  }
94
 
95
+ #sq_settings #sq_login_success {
96
  text-align: center;
97
  font-size: 18px;
98
  padding: 14px 0;
99
  margin: 15px auto;
100
  color: #008000;
101
  }
102
+
103
+ #sq_settings #sq_login_success img {
104
  margin: 30px auto 8px auto;
105
  }
106
+
107
+ #sq_settings #sq_login_success ul {
108
  padding: 0;
109
  margin: 0;
110
  }
111
+
112
+ #sq_settings #sq_login_success li {
113
  text-align: left;
114
  font-size: 13px;
115
  padding: 10px;
117
  }
118
 
119
  /**************************** LOGIN **********************************/
120
+ #sq_settings_login {
121
  width: 100% !important;
122
  }
123
+
124
+ #sq_settings_login #sq_blocklogin label {
125
  width: 80px;
126
  }
127
+
128
+ #sq_settings_login .sq_box {
129
  max-width: 540px;
130
  min-width: 500px;
131
+ background: #f0f0f0 url('../img/settings/login.jpg') 0px 0px no-repeat;
132
  border: 1px solid #ddd;
133
  font-size: 1.1em;
134
  margin: 70px auto;
135
  padding: 1em;
136
+ font-family: Arial, Verdana, Helvetica, sans-serif;
137
  box-shadow: 0 5px 9px -5px #222;
138
  text-align: center;
139
 
140
  }
141
+
142
+ #sq_settings_login .sq_login_done {
143
+ background: #f0f0f0 url('../img/settings/login_done.jpg') 0px 0px no-repeat;
144
  }
145
+
146
+ #sq_settings_login .sq_box .sq_header {
147
  color: #11a5c1;
148
  font-size: 28px;
149
  font-weight: bold;
152
  line-height: 29px;
153
  text-shadow: 1px 2px white;
154
  }
155
+
156
+ #sq_settings_login .sq_login_done .sq_header {
157
  font-size: 24px;
158
  }
159
 
160
+ #sq_settings_login #sq_blocklogin ul li {
161
  width: 500px !important;
162
  }
163
+
164
  #sq_settings_login #sq_blocklogin ul li input[type=text],
165
+ #sq_settings_login #sq_blocklogin ul li input[type=password] {
166
  min-width: 250px;
167
  }
168
 
169
+ #sq_settings_login #sq_blocklogin #sq_register_email {
170
  width: 500px;
171
  }
172
+
173
+ #sq_settings_login #sq_blocklogin #sq_register_email input[type=text] {
174
  min-width: 250px;
175
  }
176
 
177
  /**************************** AFFILIATE **********************************/
178
+ #sq_settings .sq_settings_affiliate_bigtitle {
179
  font-size: 26px !important;
180
  margin: 0;
181
  padding: 5px 0;
182
  }
183
 
184
+ #sq_settings .sq_settings_affiliate_bigbutton {
185
+ margin-bottom: 35px;
186
  text-align: center;
187
  }
188
+
189
+ #sq_settings .sq_settings_affiliate_bigbutton input {
190
  padding: 15px !important;
191
  font-size: 18px !important;
192
  cursor: pointer;
193
  }
194
+
195
+ #sq_settings .sq_settings_affiliate_bigbutton span {
196
  display: block;
197
  font-size: 18px;
198
  color: #20bc49;
199
  font-weight: bold;
200
  margin: 20px 0 0 0;
201
  }
202
+
203
+ #sq_settings .sq_subtitles p {
204
+ font-size: 18px;
205
+ font-weight: normal;
206
+ line-height: 24px;
207
+ color: #777;
208
+ margin: 0 0 20px 45px;
209
+ padding-bottom: 3px;
210
+ height: auto;
211
+ }
212
+
213
+ #sq_settings .sq_settings_affiliate_info {
214
  margin-bottom: 35px;
215
  }
216
+
217
+ #sq_settings .sq_settings_affiliate_info li {
218
  margin-left: 16px;
219
  font-weight: bold;
220
  font-size: 14px;
221
  line-height: 20px;
222
  }
223
+
224
+ #sq_settings .sq_affiliate_banner {
225
+ display: block;
226
+ margin-bottom: 20px;
227
  font-weight: normal;
228
  font-size: 12px;
229
  line-height: 20px;
230
  }
231
+
232
+ #sq_settings .sq_settings_info {
233
  text-align: left;
234
  }
235
 
236
  /****************************HOW TO **********************************/
237
+ #sq_settings #sq_settings_howto {
238
  font-family: 'Segoe UI', Arial, sans-serif;
239
  position: relative;
240
  background: #F3F8FD url('../img/settings/header_stars.png') no-repeat;
246
  width: 740px;
247
  text-align: center;
248
  }
249
+
250
+ #sq_settings #sq_settings_howto #sq_settings_howto_title {
251
  display: block;
252
  width: 100%;
253
  font-size: 28px;
260
  text-shadow: 1px 1px white;
261
  height: auto;
262
  }
263
+
264
+ #sq_settings #sq_settings_howto #sq_settings_howto_body {
265
  font-size: 20px;
266
  line-height: 27px;
267
  color: #A8A8A8;
268
  padding: 5px;
269
  text-shadow: 1px 1px white;
270
  }
271
+
272
+ #sq_settings #sq_settings_howto #sq_settings_howto_body p span {
273
  display: block;
274
  font-size: 17px;
275
  color: #333;
276
  }
277
 
278
+ #sq_settings #sq_settings_title #sq_settings_howto_close {
279
  display: inline-block;
280
  font-size: 12px;
281
  color: blue;
285
  }
286
 
287
  /************************* STATUS ****************************/
288
+ #sq_settings .sq_user_title {
289
  color: #1d9ed4 !important;
290
  font-size: 26px;
291
  margin: 0;
292
  padding: 5px 0 !important;
293
  text-align: left;
294
  }
295
+
296
+ #sq_settings #sq_user_stats_list li {
297
  margin: 0;
298
  padding: 3px 0 3px 24px;
299
  line-height: 25px;
300
  font-size: 14px;
301
  }
302
+
303
+ #sq_settings #sq_user_stats_list li strong {
304
  color: #20bc49;
305
  font-size: 16px;
306
  }
307
+
308
+ #sq_settings #sq_user_info .sq_settings_info {
309
  color: #333;
310
  padding-top: 15px;
311
  text-align: left;
312
  }
313
+
314
+ #sq_settings #sq_user_info .sq_settings_info a {
315
  font-weight: bold;
316
  }
317
+
318
+ #sq_settings #sq_user_info .sq_button a {
319
  clear: both;
320
  display: block;
321
  float: right;
326
  border: 1px solid white;
327
  line-height: 25px;
328
  padding: 5px 10px;
329
+ margin: 20px 0 0 20px;
330
  text-decoration: none;
331
  text-shadow: 1px 1px #333;
332
  cursor: pointer;
333
  }
334
+
335
  /**************************************************************/
336
+ #sq_settings #sq_userinfo {
337
  color: #333;
338
  width: 100%;
339
  min-height: 800px;
344
  text-shadow: 1px 1px white;
345
  background-color: #f1f1f1 !important;
346
  }
347
+
348
+ #sq_settings #sq_userinfo li {
349
  padding: 10px;
350
  }
351
+
352
+ .sq_userinfo fieldset {
353
  float: none !important;
354
  }
355
 
356
+ /**************************************************************/
357
+ #sq_settings #sq_krinfo {
358
+ color: #333;
359
+ width: 100%;
360
+ font-size: 14px;
361
+ font-weight: normal;
362
+ margin: 0;
363
+ padding: 0;
364
+ min-height: 200px;
365
+ text-shadow: 1px 1px white;
366
+ background-color: #f1f1f1 !important;
367
+ }
368
 
369
  /**************************************************************/
370
+ #sq_settings #sq_settings_body {
371
  display: block;
372
  font-size: 12px;
373
  color: #333;
375
  text-align: left;
376
  margin-top: 0px;
377
  }
378
+
379
  #sq_settings_body #sq_settings_left,
380
+ #sq_settings_body #sq_settings_right {
381
  float: left;
382
  }
383
+
384
+ #sq_settings_body #sq_settings_submit {
385
 
386
  clear: both;
387
  }
388
 
389
+ #sq_settings_body fieldset {
390
  float: left;
391
  clear: both;
392
  width: 900px;
396
  margin: 10px auto;
397
  padding: 0;
398
 
399
+ font-family: Arial, Verdana, Helvetica, sans-serif;
400
 
401
  text-shadow: 1px 1px white;
402
  box-shadow: 0 5px 9px -6px #222;
403
 
 
404
  background: linear-gradient(to bottom, #23282D 5%, rgba(55, 29, 48, 0.96) 100%), no-repeat 0 0 !important;
405
  background: -moz-linear-gradient(top, #23282D 5%, rgba(55, 29, 48, 0.96) 100%), url(../img/settings/bgimage.jpg) no-repeat 0 0 !important;
406
  background: -webkit-linear-gradient(top, #23282D 5%, rgba(55, 29, 48, 0.96) 100%), url(../img/settings/bgimage.jpg) no-repeat 0 0 !important;
411
  background-attachment: fixed;
412
  }
413
 
414
+ #sq_settings_body fieldset.deactivated {
415
  opacity: 0.3;
416
  cursor: pointer;
417
  }
418
+
419
+ #sq_settings_body fieldset > div {
420
  float: left;
421
  background-color: #fcfcfc;
422
  padding: 20px 0 0 10px;
424
  min-height: 280px;
425
  }
426
 
427
+ #sq_settings_affiliate_form fieldset > div {
428
  min-height: 324px;
429
  }
430
+
431
+ #sq_settings_body fieldset legend {
432
  float: left;
433
  width: 280px;
434
  border: none;
441
  color: #fff;
442
  text-shadow: none;
443
 
 
444
  }
445
+
446
+ #sq_settings_body fieldset legend.sq_legend_small {
447
  min-height: 250px;
448
  height: auto;
449
  }
450
+
451
+ #sq_settings_body fieldset legend.sq_legend_medium {
452
  min-height: 430px;
453
  height: auto;
454
  }
455
+
456
+ #sq_settings_body fieldset legend.sq_legend_big {
457
  min-height: 750px;
458
  height: auto;
459
  }
460
+
461
  #sq_settings_body fieldset legend > span {
462
  display: block;
463
  font-size: 14px;
466
  clear: both;
467
  }
468
 
469
+ #sq_settings_body fieldset legend > span strong {
470
  color: #FFF;
471
  }
472
 
473
+ #sq_settings_body fieldset legend .sq_legend_title {
474
  font-weight: lighter;
475
  color: #f9f9f9;
476
  font-size: 23px;
478
  margin-top: 0;
479
  }
480
 
481
+ #sq_settings_body fieldset legend > span a {
482
  color: #FFD6AD;
483
  font-size: 14px;
484
  font-weight: 700;
486
  text-shadow: 1px 1px #000;
487
  }
488
 
489
+ #sq_settings_body fieldset legend select {
490
  padding: 2px;
491
  line-height: 28px;
492
  height: 28px;
495
  width: 100%;
496
  }
497
 
498
+ #sq_settings_body fieldset legend .sq_option_content {
499
  width: 123px;
500
  margin: 0 auto;
501
  }
508
  width: 100%;
509
  text-align: center;
510
  }
511
+
512
+ #sq_settings_body ul.sq_settings_info > span {
513
  display: block;
514
  color: #777;
515
  font-size: 16px;
517
  margin-bottom: 22px;
518
  list-style: none;
519
  }
520
+
521
  #sq_settings_body ul.sq_settings_info > li {
522
  margin: 15px 10px;
523
  font-size: 12px;
525
  color: #777;
526
  }
527
 
528
+ #sq_settings_body .sq_option_info {
529
  font-style: italic;
530
  color: #aaa;
531
  font-size: 90%;
532
  }
533
 
534
+ #sq_settings_body fieldset p {
535
  vertical-align: top;
536
  margin: 5px 0 5px 0;
537
  padding: 0 0 0.5em 0;
540
  line-height: 23px;
541
  }
542
 
543
+ #sq_settings_body fieldset .withborder {
544
  clear: both;
545
  vertical-align: top;
546
  min-height: 40px;
552
  font-size: 12px;
553
  border-bottom: 1px dashed #CCC;
554
  }
555
+
556
+ #sq_settings_body fieldset .withbordertop {
557
  border-top: 1px dashed #CCC;
558
  padding-top: 15px;
559
  }
560
+
561
+ #sq_settings_body fieldset .withcode {
562
  min-height: 85px;
563
  }
564
+
565
+ #sq_settings_body fieldset .withcode strong {
566
  display: block;
567
  font-size: 10px;
568
  color: #999;
569
  margin: 10px 0 0px 65px;
570
  }
571
+
572
+ #sq_settings_body fieldset .withcode input[type=text] {
573
  display: block;
574
  width: 360px;
575
  font-size: 12px;
578
  background-color: lightgoldenrodyellow;
579
  }
580
 
581
+ #sq_settings_body fieldset #sq_twitter_account {
582
  display: block;
583
  font-weight: bold;
584
  font-size: 13px;
596
  width: 54px;
597
  height: 50px;
598
  }
599
+
600
  #sq_settings_body fieldset .sq_icon_googleplus {
601
  background-position: -152px -279px;
602
  width: 74px;
603
  height: 70px;
604
  }
605
+
606
  #sq_settings_body fieldset .sq_icon_twitter {
607
  background-position: -371px -279px;
608
  width: 74px;
609
  height: 70px;
610
  }
611
+
612
  #sq_settings_body fieldset .sq_icon_facebook {
613
  background-position: -5px -279px;
614
  width: 74px;
615
  height: 70px;
616
  }
617
+
618
  #sq_settings_body fieldset .sq_icon_linkedin {
619
  background-position: -78px -279px;
620
  width: 74px;
621
  height: 70px;
622
  }
623
+
624
  #sq_settings_body fieldset .sq_icon_social_instagram {
625
  background-position: -445px -279px;
626
  width: 74px;
627
  height: 70px;
628
  }
629
+
630
  #sq_settings_body fieldset .sq_icon_social_pinterest {
631
  background-position: -518px -279px;
632
  width: 74px;
636
  #sq_settings_body fieldset .sq_icon_googlewt {
637
  background-position: -112px -100px;
638
  }
639
+
640
  #sq_settings_body fieldset .sq_icon_googleanalytics {
641
  background-position: 0px -100px;
642
  }
643
+
644
  #sq_settings_body fieldset .sq_icon_facebookinsights {
645
  background-position: -59px -100px;
646
  }
647
+
648
  #sq_settings_body fieldset .sq_icon_facebookpixel {
649
  background-position: -370px -100px;
650
  }
652
  #sq_settings_body fieldset .sq_icon_bingwt {
653
  background-position: -165px -100px;
654
  }
655
+
656
+ #sq_settings_body fieldset .sq_icon_alexat {
657
  background-position: -270px -100px;
658
  }
659
+
660
  #sq_settings_body fieldset .sq_icon_pinterest {
661
  background-position: -320px -100px;
662
  }
663
 
664
  #sq_settings_body fieldset p input,
665
  #sq_settings_body fieldset p textarea,
666
+ #sq_settings_body fieldset p select {
667
  margin-left: 15px;
668
  padding: 4px;
669
  border: 1px solid #20bc49;
671
  max-width: 415px;
672
  }
673
 
674
+ #sq_settings_body fieldset p textarea.sq_big_input {
675
+ width: 100%;
676
+ height: 200px;
677
+ max-width: 510px;
678
+ }
679
+
680
+ #sq_settings_body input[type=submit] {
681
  font-size: 15px;
682
  font-weight: bold;
683
  line-height: 30px;
689
  color: white;
690
  }
691
 
692
+ .sq_settings_backup {
693
  float: right;
694
  margin-top: -30px;
695
  }
696
 
697
  #sq_settings_login .sq_settings_backup,
698
+ #postsquirrly .sq_settings_backup {
699
  float: none;
700
  margin: 0 auto;
701
  width: 220px;
702
  height: 33px;
703
  }
704
 
705
+ .sq_settings_restore input[type=file] {
706
+ float: none !important;
707
  }
708
 
709
+ .sq_settings_restore .sq_button {
710
  background-color: lightslategray !important;
711
  color: white !important;
712
  }
713
 
714
  .sq_settings_backup input.sq_button,
715
+ .sq_settings_restore input.sq_button {
716
  font-size: 15px;
717
  font-weight: bold;
718
  line-height: 30px;
726
  }
727
 
728
  #sq_settings_body .customize,
729
+ #sq_settings_body ._customize {
730
  font-size: 12px;
731
  font-weight: bold;
732
  color: blue;
733
  cursor: pointer;
734
  }
735
+
736
+ #sq_settings_body ._customize {
737
  margin-top: 10px;
738
  }
739
 
740
+ #sq_settings_body .sq_custom_title legend {
741
  height: 415px;
742
  }
743
 
744
+ @media only screen and (max-width: 1800px) {
 
745
 
746
  #sq_settings_body #sq_settings_left,
747
+ #sq_settings_body #sq_settings_right {
748
  float: none;
749
 
750
  }
751
+
752
  #sq_settings_body #sq_settings_left fieldset,
753
+ #sq_settings_body #sq_settings_right fieldset {
754
  margin: 10px auto 20px auto;
755
  }
756
  }
757
 
758
  /************************** SWITCH ******************************/
759
+ .sq_option_content {
760
  clear: both;
761
  padding: 6px 0;
762
  height: 30px;
763
  }
764
+
765
+ .sq_option_content > span {
766
  position: relative;
767
  padding-top: 3px;
768
  display: block;
772
  text-shadow: 1px 1px #FFF;
773
  }
774
 
 
775
  .sq_switch {
776
  float: left;
777
  position: relative;
785
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);
786
  }
787
 
788
+ .sq_option_content .sq_switch {
789
  border: 7px solid #fcfcfc;
790
  margin-left: -10px;
791
  }
792
+
793
  .sq_switch-label {
794
  position: relative;
795
  z-index: 2;
802
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.45);
803
  cursor: pointer;
804
  }
805
+
806
  .sq_switch-label:active {
807
  font-weight: bold;
808
 
809
  }
810
+
811
  .sq_switch-label-off {
812
  padding-left: 2px;
813
  }
814
+
815
  .sq_switch-label-on {
816
  padding-right: 2px;
817
  }
819
  .sq_switch-input {
820
  display: none !important;
821
  }
822
+
823
  .sq_switch-input:checked + .sq_switch-label {
824
  font-weight: bold;
825
  color: rgba(0, 0, 0, 0.65);
829
  -o-transition: 0.15s ease-out;
830
  transition: 0.15s ease-out;
831
  }
832
+
833
  .sq_switch-input:checked + .sq_switch-label-on ~ .sq_switch-selection {
834
  /* Note: left: 50% doesn't transition in WebKit */
835
  left: 60px;
836
  background: lightgray;
837
  }
838
+
839
  .sq_switch-selection {
840
  display: block;
841
  position: absolute;
857
 
858
  }
859
 
860
+ .sq_option_content_small {
861
  clear: both;
862
  padding: 0px 0;
863
  max-height: 25px;
864
  }
865
+
866
+ .sq_option_content_small a {
867
  text-decoration: none;
868
  color: #0573E8;
869
  }
870
 
871
+ .sq_option_content span.sq_option_info {
872
  display: block;
873
  font-size: 15px;
874
  margin-top: 30px;
875
  }
876
+
877
+ .sq_option_content > span.sq_option_info_small {
878
  line-height: 20px;
879
  font-size: 12px;
880
  color: #777;
881
  }
882
+
883
  .sq_option_content_small .sq_switch {
884
  margin: 0px 9px 0 0;
885
  height: 18px;
886
  width: 60px;
887
  }
888
+
889
  .sq_option_content_small .sq_switch-label {
890
  width: 28px;
891
  line-height: 17px;
892
  font-size: 9px;
893
  }
894
+
895
  .sq_option_content_small .sq_switch-input:checked + .sq_switch-label-on ~ .sq_switch-selection {
896
  /* Note: left: 50% doesn't transition in WebKit */
897
  left: 31px;
898
  }
899
+
900
  .sq_option_content_small .sq_switch-selection {
901
  top: 1px;
902
  left: 1px;
903
  width: 28px;
904
  height: 16px;
905
  }
906
+
907
+ .sq_option_content_small > span {
908
  font-size: 12px !important;
909
  }
910
 
914
  position: relative;
915
  max-width: 925px;
916
  }
917
+
918
  #sq_dashboard .sq_icon,
919
+ #sq_posts .sq_icon {
920
  display: block;
921
  float: left;
922
  margin: 10px 11px 0 0;
927
  }
928
 
929
  #sq_dashboard #sq_dashboard_title,
930
+ #sq_posts #sq_posts_title {
931
  font-size: 36px;
932
  font-weight: normal;
933
  line-height: 50px;
938
  }
939
 
940
  #sq_dashboard #sq_dashboard_subtitle,
941
+ #sq_posts #sq_posts_subtitle {
942
  font-size: 18px;
943
  font-weight: normal;
944
  line-height: 24px;
948
  height: auto;
949
  }
950
 
951
+ #sq_posts .wp-list-table td {
 
952
  vertical-align: middle;
953
  }
954
 
955
+ #sq_dashboard .sq_dashboard_box {
956
  width: 900px;
957
  margin: 10px auto 10px 0px;
958
  padding: 0;
960
  box-shadow: 0 5px 9px -6px #222;
961
  }
962
 
963
+ #sq_dashboard .sq_dashboard_box > div {
964
  width: 900px;
965
  height: 295px;
966
  border: 1px solid #ddd;
967
  cursor: pointer;
968
  }
969
 
970
+ #sq_dashboard .sq_dashboard_assistant {
971
  background: transparent url('../img/dashboard_assistant.png') no-repeat;
972
  }
973
+
974
+ #sq_dashboard .sq_dashboard_analytics {
975
  background: transparent url('../img/dashboard_analytics.png') no-repeat;
976
  }
977
+
978
+ #sq_dashboard .sq_dashboard_audit {
979
  background: transparent url('../img/dashboard_audit.png') no-repeat;
980
  }
981
+
982
+ #sq_dashboard .sq_dashboard_research {
983
  background: transparent url('../img/dashboard_research.png') no-repeat;
984
  }
985
 
986
+ #sq_dashboard .sq_dashboard_audit #sq_audit_date {
987
  color: white;
988
  float: left;
989
  margin-top: 254px;
1002
  }
1003
 
1004
  /************************** SURVEY ****************************************/
1005
+ #sq_settings #sq_survey {
1006
  display: block;
1007
  max-width: 600px;
1008
  margin: 40px auto;
1011
  line-height: 23px;
1012
  }
1013
 
1014
+ #sq_settings #sq_survey .sq_survey_title {
1015
  font-size: 35px;
1016
  }
1017
 
1018
+ #sq_settings #sq_survey ul {
1019
  padding: 0;
1020
  margin: 15px 0;
1021
  }
1022
 
1023
+ #sq_settings #sq_survey li textarea {
1024
  width: 100%;
1025
  }
1026
 
1027
+ #sq_settings #sq_survey li #sq_survey_submit {
1028
  background-color: #20bc49;
1029
  font-size: 12px;
1030
  font-weight: bold;
1037
  cursor: pointer;
1038
  }
1039
 
1040
+ #sq_settings #sq_survey li #sq_survey_close {
1041
  float: right;
1042
  font-size: 12px;
1043
  cursor: pointer;
1044
  }
1045
 
1046
+ #sq_left {
1047
  float: left;
1048
  clear: left;
1049
  }
1050
 
1051
+ .sq_helpside {
 
1052
  float: right;
1053
  clear: right;
1054
  width: 240px;
1058
  overflow: hidden;
1059
  }
1060
 
1061
+ .sq_helpside > div {
1062
  border: 1px solid #ccc;
1063
  background-color: #fcfcfc;
1064
  padding: 10px;
1067
  box-shadow: 0px 1px 1px 0 #ccc;
1068
  }
1069
 
1070
+ @media only screen and (max-width: 1050px) {
1071
+ #sq_settings_body fieldset {
 
1072
  width: 800px;
1073
  }
1074
 
1075
+ #sq_settings_body fieldset legend {
1076
+ width: 200px;
1077
  height: auto;
1078
  min-height: 250px;
1079
  }
1080
 
1081
+ #sq_settings_body fieldset > div {
 
1082
  width: 540px;
1083
  }
1084
 
 
 
1085
  }
1086
 
themes/default/css/sq_post.css CHANGED
@@ -210,7 +210,7 @@
210
 
211
  #sq_options > ul > li{
212
  position: relative;
213
- width: 100px;
214
  float: right;
215
 
216
  color: #444444;
@@ -222,7 +222,7 @@
222
  cursor: pointer;
223
  }
224
  #sq_options li#sq_options_support{
225
- margin-left: 27px;
226
  width: 105px;
227
  }
228
  #sq_options_support .sq_text,
@@ -253,7 +253,7 @@
253
  background: transparent url('../img/sprite.png') no-repeat;
254
  }
255
  #sq_options > ul > li#sq_options_feedback{
256
- width: 30px;
257
  margin-left: 2px;
258
  }
259
  #sq_options_feedback .sq_label_feedback_smiley{
210
 
211
  #sq_options > ul > li{
212
  position: relative;
213
+ width: 102px;
214
  float: right;
215
 
216
  color: #444444;
222
  cursor: pointer;
223
  }
224
  #sq_options li#sq_options_support{
225
+ margin-left: 15px;
226
  width: 105px;
227
  }
228
  #sq_options_support .sq_text,
253
  background: transparent url('../img/sprite.png') no-repeat;
254
  }
255
  #sq_options > ul > li#sq_options_feedback{
256
+ width: 38px;
257
  margin-left: 2px;
258
  }
259
  #sq_options_feedback .sq_label_feedback_smiley{
themes/default/img/help/copyright_options1.png ADDED
Binary file
themes/default/img/help/copyright_options2.png ADDED
Binary file
themes/default/img/help/copyright_options3.png ADDED
Binary file
themes/default/img/help/live_assistant1.png ADDED
Binary file
themes/default/img/help/live_assistant2.png ADDED
Binary file
themes/default/img/help/live_assistant3.png ADDED
Binary file
themes/default/img/help/live_assistant4.png ADDED
Binary file
themes/default/img/settings/audit.png ADDED
Binary file
themes/default/img/settings/sq_badge_g17.png ADDED
Binary file
themes/default/img/settings/team.png ADDED
Binary file
themes/default/js/sq_blockkeywordresearch.js ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ var sq_script = 'kr';
2
+
3
+ function sq_getKR() {
4
+ var loadingAjax = true;
5
+ jQuery('#sq_krinfo').addClass('sq_loading');
6
+ jQuery.getJSON(
7
+ __api_url + 'sq/kr/?callback=?',
8
+ {
9
+ token: __token,
10
+ user_url: __blog_url,
11
+ country: 'com',
12
+ lang: (document.getElementsByTagName("html")[0].getAttribute("lang") || window.navigator.language)
13
+ }
14
+ ).success(function (response) {
15
+ loadingAjax = false;
16
+
17
+ jQuery('#sq_krinfo').removeClass('sq_loading').removeClass('sq_error');
18
+ if (typeof response.html !== 'undefined' && response.html !== '') {
19
+ jQuery('#sq_krinfo').html(response.html);
20
+ }
21
+
22
+ }).error(function () {
23
+ loadingAjax = false;
24
+ jQuery('#sq_krinfo').find('fieldset').removeClass('sq_loading');
25
+ jQuery('#sq_krinfo').html('Lost connection with the server. Please make sure you whitelisted the IP from https://api.squirrly.co').show();
26
+ });
27
+
28
+ setTimeout(function () {
29
+ if (loadingAjax) {
30
+ jQuery('#sq_krinfo').removeClass('sq_loading').addClass('sq_error').show();
31
+ jQuery('#sq_krinfo').html('Lost connection with the server. Please make sure you whitelisted the IP from https://api.squirrly.co');
32
+ }
33
+ }, 60000);
34
+
35
+ }
themes/default/js/sq_blocksupport.js CHANGED
@@ -44,19 +44,12 @@ function sq_blocksupport() {
44
  jQuery('#sq_options_feedback').find('.sq_icon').removeClass('sq_label_feedback_' + i);
45
  jQuery('#sq_options_feedback').find('.sq_icon').addClass('sq_label_feedback_2');
46
 
47
- if (jQuery("#sq_facebook_b").length === 0)
48
- jQuery("#sq_options_feedback_error").after('<div id="sq_facebook_b"><span class="sq_facebook_title">We\'re also on facebook</span><span class="sq_facebook_image"><a href="http://www.facebook.com/Squirrly.co" target="_blank"><img src="http://static.api.squirrly.co/default/img/social/squirrly_facebook.png"></a></span> <span class="sq_facebook_frame">' + sq_facebook_b + '</span></div>');
49
-
50
  });
51
  jQuery("#sq_feedback_3").on('click', function () {
52
  jQuery("#sq_feedback_submit").trigger('click');
53
  for (i = 0; i < 5; i++)
54
  jQuery('#sq_options_feedback').find('.sq_icon').removeClass('sq_label_feedback_' + i);
55
  jQuery('#sq_options_feedback').find('.sq_icon').addClass('sq_label_feedback_3');
56
-
57
- if (jQuery("#sq_facebook_b").length === 0)
58
- jQuery("#sq_options_feedback_error").after('<div id="sq_facebook_b"><span class="sq_facebook_title">We\'re also on facebook</span><span class="sq_facebook_image"><a href="http://www.facebook.com/Squirrly.co" target="_blank"><img src="http://static.api.squirrly.co/default/img/social/squirrly_facebook.png"></a></span> <span class="sq_facebook_frame">' + sq_facebook_b + '</span></div>');
59
-
60
  });
61
  jQuery("#sq_feedback_4").on('click', function () {
62
  jQuery("#sq_feedback_submit").trigger('click');
@@ -64,9 +57,6 @@ function sq_blocksupport() {
64
  jQuery('#sq_options_feedback').find('.sq_icon').removeClass('sq_label_feedback_' + i);
65
  jQuery('#sq_options_feedback').find('.sq_icon').addClass('sq_label_feedback_4');
66
 
67
- if (jQuery("#sq_facebook_b").length === 0)
68
- jQuery("#sq_options_feedback_error").after('<div id="sq_facebook_b"><span class="sq_facebook_title">We\'re also on facebook</span><span class="sq_facebook_image"><a href="http://www.facebook.com/Squirrly.co" target="_blank"><img src="http://static.api.squirrly.co/default/img/social/squirrly_facebook.png"></a></span> <span class="sq_facebook_frame">' + sq_facebook_b + '</span></div>');
69
-
70
  });
71
 
72
  jQuery("#sq_feedback_submit").on('click', function () {
44
  jQuery('#sq_options_feedback').find('.sq_icon').removeClass('sq_label_feedback_' + i);
45
  jQuery('#sq_options_feedback').find('.sq_icon').addClass('sq_label_feedback_2');
46
 
 
 
 
47
  });
48
  jQuery("#sq_feedback_3").on('click', function () {
49
  jQuery("#sq_feedback_submit").trigger('click');
50
  for (i = 0; i < 5; i++)
51
  jQuery('#sq_options_feedback').find('.sq_icon').removeClass('sq_label_feedback_' + i);
52
  jQuery('#sq_options_feedback').find('.sq_icon').addClass('sq_label_feedback_3');
 
 
 
 
53
  });
54
  jQuery("#sq_feedback_4").on('click', function () {
55
  jQuery("#sq_feedback_submit").trigger('click');
57
  jQuery('#sq_options_feedback').find('.sq_icon').removeClass('sq_label_feedback_' + i);
58
  jQuery('#sq_options_feedback').find('.sq_icon').addClass('sq_label_feedback_4');
59
 
 
 
 
60
  });
61
 
62
  jQuery("#sq_feedback_submit").on('click', function () {