SEO Ultimate - Version 2.4

Version Description

Download this release

Release Info

Developer SEO Design Solutions
Plugin Icon 128x128 SEO Ultimate
Version 2.4
Comparing to
See all releases

Code changes from version 2.3 to 2.4

modules/autolinks/autolinks.css CHANGED
@@ -1,4 +1,8 @@
1
  #su-autolinks table.widefat,
2
- #su-autolinks table.widefat input {
3
  width: 100%;
 
 
 
 
4
  }
1
  #su-autolinks table.widefat,
2
+ #su-autolinks table.widefat td.text input {
3
  width: 100%;
4
+ }
5
+
6
+ #su-autolinks table.widefat td.checkbox {
7
+ width: 7em;
8
  }
modules/autolinks/content-autolinks.php CHANGED
@@ -49,9 +49,12 @@ class SU_ContentAutolinks extends SU_Module {
49
  $type = $data['to_type'];
50
 
51
  if ($type == 'url' && strlen(trim($anchor)) && strlen(trim($url))) {
 
 
 
52
  //Special thanks to the GPL-licensed "SEO Smart Links" plugin for the following find/replace code
53
  //http://www.prelovac.com/vladimir/wordpress-plugins/seo-smart-links
54
- $replace = "<a title=\"$1\" href=\"$url\">$1</a>";
55
  $reg = '/(?!(?:[^<\[]+[>\]]|[^>\]]+<\/a>))\b($name)\b/imsU';
56
  $regexp = str_replace('$name', $anchor, $reg);
57
  $content = preg_replace($regexp, $replace, $content, $limit_enabled ? 1 : -1, $count);
@@ -79,8 +82,14 @@ class SU_ContentAutolinks extends SU_Module {
79
  for ($i=0; $i<20; $i++) {
80
  $anchor = stripslashes($_POST["link_{$i}_anchor"]);
81
  $url = stripslashes($_POST["link_{$i}_url"]);
 
82
  if (strlen($anchor) || strlen($url)) {
83
- $links[] = array('anchor' => $anchor, 'to_type' => 'url', 'to_id' => $url);
 
 
 
 
 
84
  }
85
  }
86
  $this->update_setting('links', $links);
@@ -92,12 +101,17 @@ class SU_ContentAutolinks extends SU_Module {
92
  $this->admin_wftable_start(array(
93
  'link-anchor' => __('Anchor Text', 'seo-ultimate')
94
  , 'link-to_id' => __('URL', 'seo-ultimate')
 
95
  ));
96
 
97
  for ($i=0; $i<20; $i++) {
98
  $anchor = su_esc_attr($links[$i]['anchor']);
99
  $url = su_esc_attr($links[$i]['to_id']);
100
- echo "\t\t<tr><td><input type='text' id='link_{$i}_anchor' name='link_{$i}_anchor' value='$anchor' /></td><td><input type='text' id='link_{$i}_url' name='link_{$i}_url' value='$url' /></td></tr>\n";
 
 
 
 
101
  }
102
 
103
  $this->admin_wftable_end();
49
  $type = $data['to_type'];
50
 
51
  if ($type == 'url' && strlen(trim($anchor)) && strlen(trim($url))) {
52
+
53
+ $relnofollow = $data['nofollow'] ? ' rel="nofollow"' : '';
54
+
55
  //Special thanks to the GPL-licensed "SEO Smart Links" plugin for the following find/replace code
56
  //http://www.prelovac.com/vladimir/wordpress-plugins/seo-smart-links
57
+ $replace = "<a title=\"$1\" href=\"$url\"$relnofollow>$1</a>";
58
  $reg = '/(?!(?:[^<\[]+[>\]]|[^>\]]+<\/a>))\b($name)\b/imsU';
59
  $regexp = str_replace('$name', $anchor, $reg);
60
  $content = preg_replace($regexp, $replace, $content, $limit_enabled ? 1 : -1, $count);
82
  for ($i=0; $i<20; $i++) {
83
  $anchor = stripslashes($_POST["link_{$i}_anchor"]);
84
  $url = stripslashes($_POST["link_{$i}_url"]);
85
+ $nofollow = intval($_POST["link_{$i}_nofollow"]) == 1;
86
  if (strlen($anchor) || strlen($url)) {
87
+ $links[] = array(
88
+ 'anchor' => $anchor
89
+ , 'to_type' => 'url'
90
+ , 'to_id' => $url
91
+ , 'nofollow' => $nofollow
92
+ );
93
  }
94
  }
95
  $this->update_setting('links', $links);
101
  $this->admin_wftable_start(array(
102
  'link-anchor' => __('Anchor Text', 'seo-ultimate')
103
  , 'link-to_id' => __('URL', 'seo-ultimate')
104
+ , 'link-nofollow' => __('Options', 'seo-ultimate')
105
  ));
106
 
107
  for ($i=0; $i<20; $i++) {
108
  $anchor = su_esc_attr($links[$i]['anchor']);
109
  $url = su_esc_attr($links[$i]['to_id']);
110
+ echo "\t\t<tr>\n";
111
+ echo "\t\t\t<td class='text'><input type='text' id='link_{$i}_anchor' name='link_{$i}_anchor' value='$anchor' /></td>\n";
112
+ echo "\t\t\t<td class='text'><input type='text' class='text' id='link_{$i}_url' name='link_{$i}_url' value='$url' /></td>\n";
113
+ echo "\t\t\t<td class='checkbox'><label for='link_{$i}_nofollow'><input type='checkbox' id='link_{$i}_nofollow' name='link_{$i}_nofollow' value='1'"; checked($links[$i]['nofollow']); echo " /> Nofollow</label></td>\n";
114
+ echo "\t\t</tr>\n";
115
  }
116
 
117
  $this->admin_wftable_end();
modules/class.su-module.php CHANGED
@@ -1219,8 +1219,6 @@ class SU_Module {
1219
  if (is_array($checkboxes)) {
1220
  foreach ($checkboxes as $name => $desc) {
1221
 
1222
- //$desc = preg_replace_callback('/%d/', array(&$this, "insert_int_var_textboxes"), $desc);
1223
-
1224
  register_setting($this->get_module_key(), $name, 'intval');
1225
  $name = su_esc_attr($name);
1226
 
@@ -1436,6 +1434,19 @@ class SU_Module {
1436
  $this->textareas(array($id => $title), $rows, $cols);
1437
  }
1438
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1439
  /********** ADMIN SECURITY FUNCTIONS **********/
1440
 
1441
  /**
1219
  if (is_array($checkboxes)) {
1220
  foreach ($checkboxes as $name => $desc) {
1221
 
 
 
1222
  register_setting($this->get_module_key(), $name, 'intval');
1223
  $name = su_esc_attr($name);
1224
 
1434
  $this->textareas(array($id => $title), $rows, $cols);
1435
  }
1436
 
1437
+ /**
1438
+ * Outputs <option> tags.
1439
+ *
1440
+ * @since 2.4
1441
+ */
1442
+ function dropdown_options($options, $current = null) {
1443
+ foreach ($options as $value => $label) {
1444
+ echo "<option value='$value'";
1445
+ selected($value, $current);
1446
+ echo ">$label</option>";
1447
+ }
1448
+ }
1449
+
1450
  /********** ADMIN SECURITY FUNCTIONS **********/
1451
 
1452
  /**
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: SEO Design Solutions
3
  Tags: seo, google, yahoo, bing, search engines, admin, post, page, modules, title, meta, robots, noindex, nofollow, canonical, 404, robots.txt, htaccess, slugs, url, anchor, more, link, excerpt, permalink, links, autolinks, categories, uninstallable
4
  Requires at least: 2.8
5
  Tested up to: 2.9
6
- Stable tag: 2.3
7
 
8
  This all-in-one SEO plugin gives you control over titles, noindex/nofollow, meta tags, slugs, canonical tags, "more" links, 404 errors, and more.
9
 
@@ -11,9 +11,9 @@ This all-in-one SEO plugin gives you control over titles, noindex/nofollow, meta
11
 
12
  = Recent Releases =
13
 
 
14
  * Version 2.3 adds per-post noindex/nofollow toggles
15
  * Version 2.2 adds a links-per-post limiter for Deeplink Juggernaut
16
- * Version 2.1 adds a 404 Monitor overhaul and other improvements
17
 
18
  = Features =
19
 
@@ -72,10 +72,11 @@ SEO Ultimate is an all-in-one [SEO](http://www.seodesignsolutions.com/) plugin w
72
  * Determine which of your webpages Google most strongly associates with the keywords you specify.
73
  * Use the information to determine ideal targets for incoming links or ideal sources of outgoing links.
74
 
75
- * **Deeplink Juggernaut** -- UPDATED in Version 2.2
76
  * Automatically link phrases in your posts/pages to given URLs.
77
  * Use the power of anchor text to boost your internal ranking paradigm.
78
  * Control the maximum number of autolinks added to each post/page.
 
79
 
80
  * **Settings Manager**
81
  * Export your SEO Ultimate settings to a file and re-import later if desired.
@@ -587,6 +588,9 @@ Frequently asked questions, documentation, and troubleshooting tips for SEO Ulti
587
 
588
  == Changelog ==
589
 
 
 
 
590
  = Version 2.3 (May 26, 2010) =
591
  * Feature: Meta robots tags (index/noindex and follow/nofollow) can now be set for each post or page via the "SEO Settings" box
592
  * Behavior Change: Since the Noindex Manager's advertised functionality is controlling the "noindex" attribute only, its behavior has been changed to output "noindex,follow" where it previously outputted "noindex,nofollow"
3
  Tags: seo, google, yahoo, bing, search engines, admin, post, page, modules, title, meta, robots, noindex, nofollow, canonical, 404, robots.txt, htaccess, slugs, url, anchor, more, link, excerpt, permalink, links, autolinks, categories, uninstallable
4
  Requires at least: 2.8
5
  Tested up to: 2.9
6
+ Stable tag: 2.4
7
 
8
  This all-in-one SEO plugin gives you control over titles, noindex/nofollow, meta tags, slugs, canonical tags, "more" links, 404 errors, and more.
9
 
11
 
12
  = Recent Releases =
13
 
14
+ * Version 2.4 adds a nofollow option for Deeplink Juggernaut links
15
  * Version 2.3 adds per-post noindex/nofollow toggles
16
  * Version 2.2 adds a links-per-post limiter for Deeplink Juggernaut
 
17
 
18
  = Features =
19
 
72
  * Determine which of your webpages Google most strongly associates with the keywords you specify.
73
  * Use the information to determine ideal targets for incoming links or ideal sources of outgoing links.
74
 
75
+ * **Deeplink Juggernaut** -- UPDATED in Version 2.4
76
  * Automatically link phrases in your posts/pages to given URLs.
77
  * Use the power of anchor text to boost your internal ranking paradigm.
78
  * Control the maximum number of autolinks added to each post/page.
79
+ * Apply the nofollow attribute on a per-link basis. (Perfect for automatic affiliate links.)
80
 
81
  * **Settings Manager**
82
  * Export your SEO Ultimate settings to a file and re-import later if desired.
588
 
589
  == Changelog ==
590
 
591
+ = Version 2.4 (May 28, 2010) =
592
+ * Feature: Added nofollow option for Deeplink Juggernaut links
593
+
594
  = Version 2.3 (May 26, 2010) =
595
  * Feature: Meta robots tags (index/noindex and follow/nofollow) can now be set for each post or page via the "SEO Settings" box
596
  * Behavior Change: Since the Noindex Manager's advertised functionality is controlling the "noindex" attribute only, its behavior has been changed to output "noindex,follow" where it previously outputted "noindex,nofollow"
seo-ultimate.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: SEO Ultimate
4
  Plugin URI: http://www.seodesignsolutions.com/wordpress-seo/
5
  Description: This all-in-one SEO plugin gives you control over title tags, noindex/nofollow, meta tags, slugs, canonical tags, "more" links, 404 errors, and more.
6
- Version: 2.3
7
  Author: SEO Design Solutions
8
  Author URI: http://www.seodesignsolutions.com/
9
  Text Domain: seo-ultimate
@@ -12,7 +12,7 @@ Text Domain: seo-ultimate
12
  /**
13
  * The main SEO Ultimate plugin file.
14
  * @package SeoUltimate
15
- * @version 2.3
16
  * @link http://www.seodesignsolutions.com/wordpress-seo/ SEO Ultimate Homepage
17
  */
18
 
@@ -38,10 +38,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
38
  //Reading plugin info from constants is faster than trying to parse it from the header above.
39
  define("SU_PLUGIN_NAME", "SEO Ultimate");
40
  define("SU_PLUGIN_URI", "http://www.seodesignsolutions.com/wordpress-seo/");
41
- define("SU_VERSION", "2.3");
42
  define("SU_AUTHOR", "SEO Design Solutions");
43
  define("SU_AUTHOR_URI", "http://www.seodesignsolutions.com/");
44
- define("SU_USER_AGENT", "SeoUltimate/2.3");
45
 
46
  /********** INCLUDES **********/
47
 
3
  Plugin Name: SEO Ultimate
4
  Plugin URI: http://www.seodesignsolutions.com/wordpress-seo/
5
  Description: This all-in-one SEO plugin gives you control over title tags, noindex/nofollow, meta tags, slugs, canonical tags, "more" links, 404 errors, and more.
6
+ Version: 2.4
7
  Author: SEO Design Solutions
8
  Author URI: http://www.seodesignsolutions.com/
9
  Text Domain: seo-ultimate
12
  /**
13
  * The main SEO Ultimate plugin file.
14
  * @package SeoUltimate
15
+ * @version 2.4
16
  * @link http://www.seodesignsolutions.com/wordpress-seo/ SEO Ultimate Homepage
17
  */
18
 
38
  //Reading plugin info from constants is faster than trying to parse it from the header above.
39
  define("SU_PLUGIN_NAME", "SEO Ultimate");
40
  define("SU_PLUGIN_URI", "http://www.seodesignsolutions.com/wordpress-seo/");
41
+ define("SU_VERSION", "2.4");
42
  define("SU_AUTHOR", "SEO Design Solutions");
43
  define("SU_AUTHOR_URI", "http://www.seodesignsolutions.com/");
44
+ define("SU_USER_AGENT", "SeoUltimate/2.4");
45
 
46
  /********** INCLUDES **********/
47