Version Description
- Fixed some issues for the PHP 5.1-5.2
- Compatible with WP 4.2.1
Download this release
Release Info
Developer | cifi |
Plugin | SEO SQUIRRLY™ |
Version | 5.0.1 |
Comparing to | |
See all releases |
Code changes from version 5.0.0 to 5.0.1
- classes/SQ_Tools.php +9 -9
- controllers/SQ_Sitemaps.php +80 -66
- core/SQ_BlockSettingsSeo/SQ_BlockSettingsSeo.php +1 -1
- models/SQ_BlockSettingsSeo.php +3 -2
- models/SQ_Frontend.php +4 -0
- readme.txt +8 -7
- squirrly.php +2 -2
- themes/default/SQ_BlockSettings.php +1 -0
- themes/default/SQ_BlockSettingsSeo.php +1 -1
classes/SQ_Tools.php
CHANGED
@@ -78,8 +78,8 @@ class SQ_Tools extends SQ_FrontController {
|
|
78 |
),
|
79 |
// --
|
80 |
'sq_auto_canonical' => 1,
|
81 |
-
'sq_auto_sitemap' =>
|
82 |
-
'sq_auto_jsonld' =>
|
83 |
'sq_jsonld_type' => 'Organization',
|
84 |
'sq_jsonld' => array(
|
85 |
'Organization' => array(
|
@@ -127,18 +127,18 @@ class SQ_Tools extends SQ_FrontController {
|
|
127 |
'Disallow: /wp-includes/',
|
128 |
'Allow: */wp-content/uploads/'),
|
129 |
'sq_auto_meta' => 1,
|
130 |
-
'sq_auto_favicon' =>
|
131 |
'favicon' => '',
|
132 |
-
'sq_auto_twitter' =>
|
133 |
-
'sq_auto_facebook' =>
|
134 |
'sq_twitter_account' => '',
|
135 |
'sq_facebook_account' => '',
|
136 |
'sq_google_plus' => '',
|
137 |
'sq_linkedin_account' => '',
|
138 |
// --
|
139 |
'sq_auto_seo' => 1,
|
140 |
-
'sq_auto_title' =>
|
141 |
-
'sq_auto_description' =>
|
142 |
'sq_fp_title' => '',
|
143 |
'sq_fp_description' => '',
|
144 |
'sq_fp_keywords' => '',
|
@@ -339,7 +339,7 @@ class SQ_Tools extends SQ_FrontController {
|
|
339 |
}
|
340 |
$options['sslverify'] = false;
|
341 |
|
342 |
-
if (function_exists('curl_init')) {
|
343 |
return self::sq_curl($url, $options);
|
344 |
} else {
|
345 |
return self::sq_wpcall($url, $options);
|
@@ -364,7 +364,7 @@ class SQ_Tools extends SQ_FrontController {
|
|
364 |
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
|
365 |
curl_setopt($ch, CURLOPT_TIMEOUT, $options['timeout']);
|
366 |
|
367 |
-
if (isset($options['followlocation'])) {
|
368 |
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
|
369 |
curl_setopt($ch, CURLOPT_MAXREDIRS, 1);
|
370 |
}
|
78 |
),
|
79 |
// --
|
80 |
'sq_auto_canonical' => 1,
|
81 |
+
'sq_auto_sitemap' => 0,
|
82 |
+
'sq_auto_jsonld' => 0,
|
83 |
'sq_jsonld_type' => 'Organization',
|
84 |
'sq_jsonld' => array(
|
85 |
'Organization' => array(
|
127 |
'Disallow: /wp-includes/',
|
128 |
'Allow: */wp-content/uploads/'),
|
129 |
'sq_auto_meta' => 1,
|
130 |
+
'sq_auto_favicon' => 0,
|
131 |
'favicon' => '',
|
132 |
+
'sq_auto_twitter' => 0,
|
133 |
+
'sq_auto_facebook' => 0,
|
134 |
'sq_twitter_account' => '',
|
135 |
'sq_facebook_account' => '',
|
136 |
'sq_google_plus' => '',
|
137 |
'sq_linkedin_account' => '',
|
138 |
// --
|
139 |
'sq_auto_seo' => 1,
|
140 |
+
'sq_auto_title' => 0,
|
141 |
+
'sq_auto_description' => 0,
|
142 |
'sq_fp_title' => '',
|
143 |
'sq_fp_description' => '',
|
144 |
'sq_fp_keywords' => '',
|
339 |
}
|
340 |
$options['sslverify'] = false;
|
341 |
|
342 |
+
if (function_exists('curl_init') && !ini_get('safe_mode') && !ini_get('open_basedir')) {
|
343 |
return self::sq_curl($url, $options);
|
344 |
} else {
|
345 |
return self::sq_wpcall($url, $options);
|
364 |
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
|
365 |
curl_setopt($ch, CURLOPT_TIMEOUT, $options['timeout']);
|
366 |
|
367 |
+
if (isset($options['followlocation']) ) {
|
368 |
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
|
369 |
curl_setopt($ch, CURLOPT_MAXREDIRS, 1);
|
370 |
}
|
controllers/SQ_Sitemaps.php
CHANGED
@@ -58,82 +58,22 @@ class SQ_Sitemaps extends SQ_FrontController {
|
|
58 |
case 'sitemap-category':
|
59 |
case 'sitemap-post_tag':
|
60 |
case 'sitemap-custom-tax':
|
61 |
-
add_filter("get_terms_fields",
|
62 |
-
global $wpdb;
|
63 |
-
|
64 |
-
$query[] = "(SELECT
|
65 |
-
UNIX_TIMESTAMP(MAX(p.post_date_gmt)) as _mod_date
|
66 |
-
FROM {$wpdb->posts} p, {$wpdb->term_relationships} r
|
67 |
-
WHERE p.ID = r.object_id AND p.post_status = 'publish' AND p.post_password = '' AND r.term_taxonomy_id = tt.term_taxonomy_id
|
68 |
-
) as lastmod";
|
69 |
-
|
70 |
-
return $query;
|
71 |
-
}, 5, 2);
|
72 |
break;
|
73 |
case 'sitemap-page':
|
74 |
-
add_filter('pre_get_posts',
|
75 |
-
$query->set('post_type', array('page'));
|
76 |
-
}, 5);
|
77 |
break;
|
78 |
case 'sitemap-author':
|
79 |
-
add_filter('sq-sitemap-authors',
|
80 |
-
//get only the author with posts
|
81 |
-
add_filter('pre_user_query', function($query) {
|
82 |
-
$query->query_fields .= ',p.lastmod';
|
83 |
-
$query->query_from .= ' LEFT OUTER JOIN (
|
84 |
-
SELECT MAX(post_modified) as lastmod, post_author, COUNT(*) as post_count
|
85 |
-
FROM wp_posts
|
86 |
-
WHERE post_type = "post" AND post_status = "publish"
|
87 |
-
GROUP BY post_author
|
88 |
-
) p ON (wp_users.ID = p.post_author)';
|
89 |
-
$query->query_where .= ' AND post_count > 0 ';
|
90 |
-
});
|
91 |
-
return get_users();
|
92 |
-
}, 5);
|
93 |
break;
|
94 |
case 'sitemap-custom-post':
|
95 |
-
add_filter('pre_get_posts',
|
96 |
-
$types = get_post_types();
|
97 |
-
foreach (array('post', 'page', 'attachment', 'revision', 'nav_menu_item', 'product', 'wpsc-product') as $exclude) {
|
98 |
-
if (in_array($exclude, $types)) {
|
99 |
-
unset($types[$exclude]);
|
100 |
-
}
|
101 |
-
}
|
102 |
-
|
103 |
-
foreach ($types as $type) {
|
104 |
-
$type_data = get_post_type_object($type);
|
105 |
-
if (!isset($type_data->rewrite['feeds']) || $type_data->rewrite['feeds'] != 1) {
|
106 |
-
unset($types[$type]);
|
107 |
-
}
|
108 |
-
}
|
109 |
-
|
110 |
-
if (empty($types)) {
|
111 |
-
array_push($types, 'custom-post');
|
112 |
-
}
|
113 |
-
|
114 |
-
$query->set('post_type', $types); // id of page or post
|
115 |
-
}, 5);
|
116 |
break;
|
117 |
case 'sitemap-product':
|
118 |
-
add_filter('pre_get_posts',
|
119 |
-
if (!$types = SQ_ObjController::getModel('SQ_BlockSettingsSeo')->isEcommerce()) {
|
120 |
-
$types = array('custom-post');
|
121 |
-
}
|
122 |
-
$query->set('post_type', $types); // id of page or post
|
123 |
-
}, 5);
|
124 |
break;
|
125 |
case 'sitemap-archive':
|
126 |
-
add_filter('sq-sitemap-archive',
|
127 |
-
global $wpdb;
|
128 |
-
$archives = $wpdb->get_results("
|
129 |
-
SELECT DISTINCT YEAR(post_date_gmt) as `year`, MONTH(post_date_gmt) as `month`, max(post_date_gmt) as lastmod, count(ID) as posts
|
130 |
-
FROM $wpdb->posts
|
131 |
-
WHERE post_date_gmt < NOW() AND post_status = 'publish' AND post_type = 'post'
|
132 |
-
GROUP BY YEAR(post_date_gmt), MONTH(post_date_gmt)
|
133 |
-
ORDER BY post_date_gmt DESC
|
134 |
-
");
|
135 |
-
return $archives;
|
136 |
-
}, 5);
|
137 |
break;
|
138 |
}
|
139 |
|
@@ -414,4 +354,78 @@ class SQ_Sitemaps extends SQ_FrontController {
|
|
414 |
return $request; // trailingslashit($request);
|
415 |
}
|
416 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
417 |
}
|
58 |
case 'sitemap-category':
|
59 |
case 'sitemap-post_tag':
|
60 |
case 'sitemap-custom-tax':
|
61 |
+
add_filter("get_terms_fields", array($this, 'customTaxFilter'), 5, 2);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
62 |
break;
|
63 |
case 'sitemap-page':
|
64 |
+
add_filter('pre_get_posts', array($this, 'pageFilter'), 5);
|
|
|
|
|
65 |
break;
|
66 |
case 'sitemap-author':
|
67 |
+
add_filter('sq-sitemap-authors', array($this, 'authorFilter'), 5);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
break;
|
69 |
case 'sitemap-custom-post':
|
70 |
+
add_filter('pre_get_posts', array($this, 'customPostFilter'), 5);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
break;
|
72 |
case 'sitemap-product':
|
73 |
+
add_filter('pre_get_posts', array($this, 'productFilter'), 5);
|
|
|
|
|
|
|
|
|
|
|
74 |
break;
|
75 |
case 'sitemap-archive':
|
76 |
+
add_filter('sq-sitemap-archive', array($this, 'archiveFilter'), 5);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
break;
|
78 |
}
|
79 |
|
354 |
return $request; // trailingslashit($request);
|
355 |
}
|
356 |
|
357 |
+
function customTaxFilter($query) {
|
358 |
+
global $wpdb;
|
359 |
+
|
360 |
+
$query[] = "(SELECT
|
361 |
+
UNIX_TIMESTAMP(MAX(p.post_date_gmt)) as _mod_date
|
362 |
+
FROM {$wpdb->posts} p, {$wpdb->term_relationships} r
|
363 |
+
WHERE p.ID = r.object_id AND p.post_status = 'publish' AND p.post_password = '' AND r.term_taxonomy_id = tt.term_taxonomy_id
|
364 |
+
) as lastmod";
|
365 |
+
|
366 |
+
return $query;
|
367 |
+
}
|
368 |
+
|
369 |
+
function pageFilter($query) {
|
370 |
+
$query->set('post_type', array('page'));
|
371 |
+
}
|
372 |
+
|
373 |
+
function authorFilter() {
|
374 |
+
//get only the author with posts
|
375 |
+
add_filter('pre_user_query', array($this, 'userFilter'));
|
376 |
+
return get_users();
|
377 |
+
}
|
378 |
+
|
379 |
+
function userFilter($query) {
|
380 |
+
$query->query_fields .= ',p.lastmod';
|
381 |
+
$query->query_from .= ' LEFT OUTER JOIN (
|
382 |
+
SELECT MAX(post_modified) as lastmod, post_author, COUNT(*) as post_count
|
383 |
+
FROM wp_posts
|
384 |
+
WHERE post_type = "post" AND post_status = "publish"
|
385 |
+
GROUP BY post_author
|
386 |
+
) p ON (wp_users.ID = p.post_author)';
|
387 |
+
$query->query_where .= ' AND post_count > 0 ';
|
388 |
+
}
|
389 |
+
|
390 |
+
function customPostFilter($query) {
|
391 |
+
$types = get_post_types();
|
392 |
+
foreach (array('post', 'page', 'attachment', 'revision', 'nav_menu_item', 'product', 'wpsc-product') as $exclude) {
|
393 |
+
if (in_array($exclude, $types)) {
|
394 |
+
unset($types[$exclude]);
|
395 |
+
}
|
396 |
+
}
|
397 |
+
|
398 |
+
foreach ($types as $type) {
|
399 |
+
$type_data = get_post_type_object($type);
|
400 |
+
if (!isset($type_data->rewrite['feeds']) || $type_data->rewrite['feeds'] != 1) {
|
401 |
+
unset($types[$type]);
|
402 |
+
}
|
403 |
+
}
|
404 |
+
|
405 |
+
if (empty($types)) {
|
406 |
+
array_push($types, 'custom-post');
|
407 |
+
}
|
408 |
+
|
409 |
+
$query->set('post_type', $types); // id of page or post
|
410 |
+
}
|
411 |
+
|
412 |
+
function productFilter($query) {
|
413 |
+
if (!$types = SQ_ObjController::getModel('SQ_BlockSettingsSeo')->isEcommerce()) {
|
414 |
+
$types = array('custom-post');
|
415 |
+
}
|
416 |
+
$query->set('post_type', $types); // id of page or post
|
417 |
+
}
|
418 |
+
|
419 |
+
function archiveFilter() {
|
420 |
+
global $wpdb;
|
421 |
+
$archives = $wpdb->get_results("
|
422 |
+
SELECT DISTINCT YEAR(post_date_gmt) as `year`, MONTH(post_date_gmt) as `month`, max(post_date_gmt) as lastmod, count(ID) as posts
|
423 |
+
FROM $wpdb->posts
|
424 |
+
WHERE post_date_gmt < NOW() AND post_status = 'publish' AND post_type = 'post'
|
425 |
+
GROUP BY YEAR(post_date_gmt), MONTH(post_date_gmt)
|
426 |
+
ORDER BY post_date_gmt DESC
|
427 |
+
");
|
428 |
+
return $archives;
|
429 |
+
}
|
430 |
+
|
431 |
}
|
core/SQ_BlockSettingsSeo/SQ_BlockSettingsSeo.php
CHANGED
@@ -256,7 +256,7 @@ class SQ_BlockSettingsSeo extends SQ_BlockController {
|
|
256 |
if (SQ_Tools::$options['sq_auto_sitemap'] == 1) {
|
257 |
foreach (SQ_Tools::$options['sq_sitemap'] as $name => $sitemap) {
|
258 |
if ($sitemap[1] == 1 || $sitemap[1] == 2) { // is show sitemap
|
259 |
-
$rules[preg_quote($sitemap[0])
|
260 |
}
|
261 |
}
|
262 |
}
|
256 |
if (SQ_Tools::$options['sq_auto_sitemap'] == 1) {
|
257 |
foreach (SQ_Tools::$options['sq_sitemap'] as $name => $sitemap) {
|
258 |
if ($sitemap[1] == 1 || $sitemap[1] == 2) { // is show sitemap
|
259 |
+
$rules[preg_quote($sitemap[0])] = 'index.php?feed=' . $name;
|
260 |
}
|
261 |
}
|
262 |
}
|
models/SQ_BlockSettingsSeo.php
CHANGED
@@ -39,7 +39,7 @@ class Model_SQ_BlockSettingsSeo {
|
|
39 |
* @return string
|
40 |
*/
|
41 |
public function checkGoogleWTCode($code) {
|
42 |
-
|
43 |
if ($code <> '') {
|
44 |
if (strpos($code, 'content') !== false) {
|
45 |
preg_match('/content\\s*=\\s*[\'\"]([^\'\"]+)[\'\"]/i', $code, $result);
|
@@ -308,11 +308,12 @@ class Model_SQ_BlockSettingsSeo {
|
|
308 |
SQ_Error::setError(__("ICO Error: Could not create the ICO from file. Try with another file type.", _SQ_PLUGIN_NAME_));
|
309 |
}
|
310 |
} else {
|
|
|
|
|
311 |
if (file_exists($path . "/" . 'favicon.ico')) {
|
312 |
$ico->remove_ico($path . "/" . 'favicon.ico');
|
313 |
}
|
314 |
}
|
315 |
-
$ico->remove_ico($out['tmp']);
|
316 |
unset($out['tmp']);
|
317 |
$out['message'] = __("The favicon has been updated.", _SQ_PLUGIN_NAME_);
|
318 |
|
39 |
* @return string
|
40 |
*/
|
41 |
public function checkGoogleWTCode($code) {
|
42 |
+
|
43 |
if ($code <> '') {
|
44 |
if (strpos($code, 'content') !== false) {
|
45 |
preg_match('/content\\s*=\\s*[\'\"]([^\'\"]+)[\'\"]/i', $code, $result);
|
308 |
SQ_Error::setError(__("ICO Error: Could not create the ICO from file. Try with another file type.", _SQ_PLUGIN_NAME_));
|
309 |
}
|
310 |
} else {
|
311 |
+
copy($out['tmp'],$out['favicon']);
|
312 |
+
unset($out['tmp']);
|
313 |
if (file_exists($path . "/" . 'favicon.ico')) {
|
314 |
$ico->remove_ico($path . "/" . 'favicon.ico');
|
315 |
}
|
316 |
}
|
|
|
317 |
unset($out['tmp']);
|
318 |
$out['message'] = __("The favicon has been updated.", _SQ_PLUGIN_NAME_);
|
319 |
|
models/SQ_Frontend.php
CHANGED
@@ -823,6 +823,10 @@ class Model_SQ_Frontend {
|
|
823 |
$favicon = get_bloginfo('wpurl') . '/touch-icon' . $size . '.png' . $rnd;
|
824 |
$meta .= sprintf("<link rel=\"apple-touch-icon\" sizes=\"" . $size . "x" . $size . "\" href=\"%s\" />" . "\n", $favicon);
|
825 |
}
|
|
|
|
|
|
|
|
|
826 |
}
|
827 |
return apply_filters('sq_publisher_meta', $meta);
|
828 |
}
|
823 |
$favicon = get_bloginfo('wpurl') . '/touch-icon' . $size . '.png' . $rnd;
|
824 |
$meta .= sprintf("<link rel=\"apple-touch-icon\" sizes=\"" . $size . "x" . $size . "\" href=\"%s\" />" . "\n", $favicon);
|
825 |
}
|
826 |
+
}else{
|
827 |
+
if (file_exists(ABSPATH . 'favicon.ico')) {
|
828 |
+
$meta .= sprintf("<link rel=\"shortcut icon\" href=\"%s\" />" . "\n", get_bloginfo('wpurl') . '/favicon.ico');
|
829 |
+
}
|
830 |
}
|
831 |
return apply_filters('sq_publisher_meta', $meta);
|
832 |
}
|
readme.txt
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
Contributors: cifi, calinvingan, florinmuresan
|
3 |
Tags: seo,seo optimization,seo content,seo plugin,wordpress seo,plugin,content seo,search engine optimization,xml,sitemap,keyword,keyword research,post,posts,page,squirrly,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,multisite,buddypress,social,social media,url,automatic,iphone
|
4 |
Requires at least: 3.5
|
5 |
-
Tested up to: 4.2
|
6 |
-
Stable tag:
|
7 |
-
Donate link: https://www.squirrly.co
|
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 |
|
@@ -15,7 +15,7 @@ Recommended by <a href="http://www.quicksprout.com/university/how-to-maximize-yo
|
|
15 |
|
16 |
[youtube https://www.youtube.com/watch?v=mEjrE7TuDDc]
|
17 |
|
18 |
-
See all the Squirrly SEO features at: http://
|
19 |
|
20 |
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.
|
21 |
|
@@ -67,8 +67,6 @@ You can use Squirrly SEO for free and if you have small content marketing needs
|
|
67 |
|
68 |
Once you start having bigger content marketing and SEO needs (more than one article posted per week), you can go PRO. Read more about it in the FAQ section.
|
69 |
|
70 |
-
Neil Patel, the co-founder of Kissmetrics and Crazy Egg, recommends us as one of the best wordpress seo plugins that really helps to improve traffic. http://www.quicksprout.com/university/how-to-maximize-your-seo-traffic-with-these-must-have-wordpress-plugins/
|
71 |
-
|
72 |
<em>"Wow ,I've been using your tool for a week now and one of my blog ranked no1 out of a million for its key word... amazing"</em>
|
73 |
|
74 |
<h3>Reviews</h3>
|
@@ -138,6 +136,10 @@ Type a keyword to the right of the screen and start using Squirrly Seo. Enjoy!
|
|
138 |
|
139 |
== Changelog ==
|
140 |
|
|
|
|
|
|
|
|
|
141 |
= 5.0.0 =
|
142 |
* Changed Squirrly look
|
143 |
* Compatible with WP eCommerce plugin
|
@@ -160,7 +162,6 @@ Type a keyword to the right of the screen and start using Squirrly Seo. Enjoy!
|
|
160 |
* Fixed the site icon and added the site icon for multisites
|
161 |
* Fixed Sitemap for default permalink option
|
162 |
|
163 |
-
|
164 |
= 3.4.4 =
|
165 |
* Updated the Twitter Card information
|
166 |
* Compatible with WP 4.1.1
|
2 |
Contributors: cifi, calinvingan, florinmuresan
|
3 |
Tags: seo,seo optimization,seo content,seo plugin,wordpress seo,plugin,content seo,search engine optimization,xml,sitemap,keyword,keyword research,post,posts,page,squirrly,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,multisite,buddypress,social,social media,url,automatic,iphone
|
4 |
Requires at least: 3.5
|
5 |
+
Tested up to: 4.2.1
|
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 |
|
15 |
|
16 |
[youtube https://www.youtube.com/watch?v=mEjrE7TuDDc]
|
17 |
|
18 |
+
See all the Squirrly SEO features at: http://howto.squirrly.co/category/sides/
|
19 |
|
20 |
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.
|
21 |
|
67 |
|
68 |
Once you start having bigger content marketing and SEO needs (more than one article posted per week), you can go PRO. Read more about it in the FAQ section.
|
69 |
|
|
|
|
|
70 |
<em>"Wow ,I've been using your tool for a week now and one of my blog ranked no1 out of a million for its key word... amazing"</em>
|
71 |
|
72 |
<h3>Reviews</h3>
|
136 |
|
137 |
== Changelog ==
|
138 |
|
139 |
+
= 5.0.1 =
|
140 |
+
* Fixed some issues for the PHP 5.1-5.2
|
141 |
+
* Compatible with WP 4.2.1
|
142 |
+
|
143 |
= 5.0.0 =
|
144 |
* Changed Squirrly look
|
145 |
* Compatible with WP eCommerce plugin
|
162 |
* Fixed the site icon and added the site icon for multisites
|
163 |
* Fixed Sitemap for default permalink option
|
164 |
|
|
|
165 |
= 3.4.4 =
|
166 |
* Updated the Twitter Card information
|
167 |
* Compatible with WP 4.1.1
|
squirrly.php
CHANGED
@@ -8,12 +8,12 @@
|
|
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: cifi, calinvingan, florinmuresan
|
11 |
-
Version: 5.0.
|
12 |
Author URI: http://www.squirrly.co
|
13 |
*/
|
14 |
|
15 |
/* SET THE CURRENT VERSION ABOVE AND BELOW */
|
16 |
-
define('SQ_VERSION', '5.0.
|
17 |
/* Call config files */
|
18 |
if (file_exists(dirname(__FILE__) . '/config/config.php')) {
|
19 |
require(dirname(__FILE__) . '/config/config.php');
|
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: cifi, calinvingan, florinmuresan
|
11 |
+
Version: 5.0.1
|
12 |
Author URI: http://www.squirrly.co
|
13 |
*/
|
14 |
|
15 |
/* SET THE CURRENT VERSION ABOVE AND BELOW */
|
16 |
+
define('SQ_VERSION', '5.0.1');
|
17 |
/* Call config files */
|
18 |
if (file_exists(dirname(__FILE__) . '/config/config.php')) {
|
19 |
require(dirname(__FILE__) . '/config/config.php');
|
themes/default/SQ_BlockSettings.php
CHANGED
@@ -258,6 +258,7 @@
|
|
258 |
<fieldset id="sq_measure_success">
|
259 |
<legend style="height: 310px;">
|
260 |
<span class="sq_legend_title"><?php _e('Measure Your Success', _SQ_PLUGIN_NAME_); ?></span>
|
|
|
261 |
<span><?php echo sprintf(__('%sBest practices to help Google find, crawl, and index your site%s', _SQ_PLUGIN_NAME_), '<a href="https://support.google.com/webmasters/answer/35769?hl=en" target="_blank">', '</a>'); ?></span>
|
262 |
<span><?php echo sprintf(__('%sBing Webmaster Tools Help & How-To Center%s', _SQ_PLUGIN_NAME_), '<a href="http://www.bing.com/webmaster/help/help-center-661b2d18" target="_blank">', '</a>'); ?></span>
|
263 |
|
258 |
<fieldset id="sq_measure_success">
|
259 |
<legend style="height: 310px;">
|
260 |
<span class="sq_legend_title"><?php _e('Measure Your Success', _SQ_PLUGIN_NAME_); ?></span>
|
261 |
+
<span><?php echo sprintf(__('%sHow to set the Google Webmaster Tool%s', _SQ_PLUGIN_NAME_), '<a href="http://howto.squirrly.co/wordpress-seo/how-to-set-the-google-webmaster-tool/" target="_blank">', '</a>'); ?></span>
|
262 |
<span><?php echo sprintf(__('%sBest practices to help Google find, crawl, and index your site%s', _SQ_PLUGIN_NAME_), '<a href="https://support.google.com/webmasters/answer/35769?hl=en" target="_blank">', '</a>'); ?></span>
|
263 |
<span><?php echo sprintf(__('%sBing Webmaster Tools Help & How-To Center%s', _SQ_PLUGIN_NAME_), '<a href="http://www.bing.com/webmaster/help/help-center-661b2d18" target="_blank">', '</a>'); ?></span>
|
264 |
|
themes/default/SQ_BlockSettingsSeo.php
CHANGED
@@ -316,8 +316,8 @@
|
|
316 |
<legend class="sq_legend_medium">
|
317 |
<span class="sq_legend_title"><?php _e('XML Sitemap for Google', _SQ_PLUGIN_NAME_); ?></span>
|
318 |
<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>
|
|
|
319 |
<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>
|
320 |
-
<span><?php echo sprintf(__('%s7 To Do’s after publishing on Your WordPress Blog%s', _SQ_PLUGIN_NAME_), '<a href="http://www.squirrly.co/7-to-dos-after-publishing-on-your-wordpress-blog" target="_blank">', '</a>'); ?></span>
|
321 |
</legend>
|
322 |
|
323 |
<div>
|
316 |
<legend class="sq_legend_medium">
|
317 |
<span class="sq_legend_title"><?php _e('XML Sitemap for Google', _SQ_PLUGIN_NAME_); ?></span>
|
318 |
<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>
|
319 |
+
<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>
|
320 |
<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>
|
|
|
321 |
</legend>
|
322 |
|
323 |
<div>
|