SEO Ultimate - Version 3.1

Version Description

Download this release

Release Info

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

Code changes from version 3.0 to 3.1

modules/autolinks/autolinks.css CHANGED
@@ -3,6 +3,15 @@
3
  width: 100%;
4
  }
5
 
6
- #su-autolinks table.widefat td.checkbox {
7
- width: 7em;
 
 
 
 
 
 
 
 
 
8
  }
3
  width: 100%;
4
  }
5
 
6
+ #su-autolinks table.widefat td.checkbox label {
7
+ margin-right: 1em;
8
+ }
9
+
10
+ #su-autolinks table.widefat td.su-link-options {
11
+ width: 17em;
12
+ }
13
+
14
+ #su-autolinks table.widefat td.su-link-delete {
15
+ width: 3em;
16
+ text-align: center;
17
  }
modules/autolinks/autolinks.php CHANGED
@@ -8,9 +8,7 @@
8
  if (class_exists('SU_Module')) {
9
 
10
  class SU_Autolinks extends SU_Module {
11
-
12
  function get_module_title() { return __('Deeplink Juggernaut', 'seo-ultimate'); }
13
- function get_page_title() { return __('Deeplink Juggernaut (Beta)', 'seo-ultimate'); }
14
  }
15
 
16
  }
8
  if (class_exists('SU_Module')) {
9
 
10
  class SU_Autolinks extends SU_Module {
 
11
  function get_module_title() { return __('Deeplink Juggernaut', 'seo-ultimate'); }
 
12
  }
13
 
14
  }
modules/autolinks/content-autolinks.php CHANGED
@@ -50,14 +50,13 @@ class SU_ContentAutolinks extends SU_Module {
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);
61
 
62
  if ($limit_enabled) {
63
  $limit -= $count;
@@ -74,44 +73,96 @@ class SU_ContentAutolinks extends SU_Module {
74
 
75
  function admin_page_contents() {
76
  echo "\n<p>";
77
- _e("The Deeplink Juggernaut can automatically link post/page anchor text to given URLs. This is a preview beta version. More functionality will be added in future releases of SEO Ultimate.", 'seo-ultimate');
78
  echo "</p>\n";
79
 
 
 
 
 
80
  if ($this->is_action('update')) {
 
81
  $links = array();
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);
96
- } else {
97
- $links = $this->get_setting('links');
98
- if (!$links) $links = array();
 
 
 
 
99
  }
100
 
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();
50
 
51
  if ($type == 'url' && strlen(trim($anchor)) && strlen(trim($url))) {
52
 
53
+ $rel = $data['nofollow'] ? ' rel="nofollow"' : '';
54
+ $target = ($data['target'] == 'blank') ? ' target="_blank"' : '';
55
+ $title = strlen($titletext = $data['title']) ? " title=\"$titletext\"" : '';
56
 
57
+ $link = "<a title=\"$1\" href=\"$url\"$title$rel$target>$1</a>";
58
+
59
+ $content = sustr::htmlsafe_str_replace($anchor, $link, $content, $limit_enabled ? 1 : -1, $count);
 
 
 
60
 
61
  if ($limit_enabled) {
62
  $limit -= $count;
73
 
74
  function admin_page_contents() {
75
  echo "\n<p>";
76
+ _e('The Content Links section of Deeplink Juggernaut lets you automatically link a certain word or phrase in your post/page content to a URL you specify.', 'seo-ultimate');
77
  echo "</p>\n";
78
 
79
+ $links = $this->get_setting('links');
80
+ if (!is_array($links)) $links = array();
81
+ $num_links = count($links);
82
+
83
  if ($this->is_action('update')) {
84
+
85
  $links = array();
86
+
87
+ for ($i=0; $i <= $num_links; $i++) {
88
+
89
  $anchor = stripslashes($_POST["link_{$i}_anchor"]);
90
  $url = stripslashes($_POST["link_{$i}_url"]);
91
+ $title = stripslashes($_POST["link_{$i}_title"]);
92
+
93
+ $target = stripslashes($_POST["link_{$i}_target"]);
94
+ if (!$target) $target = 'self';
95
+
96
  $nofollow = intval($_POST["link_{$i}_nofollow"]) == 1;
97
+ $delete = intval($_POST["link_{$i}_delete"]) == 1;
98
+
99
+ if (!$delete && (strlen($anchor) || strlen($url))) {
100
  $links[] = array(
101
  'anchor' => $anchor
102
  , 'to_type' => 'url'
103
  , 'to_id' => $url
104
+ , 'title' => $title
105
  , 'nofollow' => $nofollow
106
+ , 'target' => $target
107
  );
108
  }
109
  }
110
  $this->update_setting('links', $links);
111
+
112
+ $num_links = count($links);
113
+ }
114
+
115
+ if ($num_links > 0) {
116
+ $this->admin_subheader(__('Edit Existing Links', 'seo-ultimate'));
117
+ $this->content_links_form(0, $links);
118
  }
119
 
120
+ $this->admin_subheader(__('Add a New Link', 'seo-ultimate'));
121
+ $this->content_links_form($num_links, array(array()), false);
122
+ }
123
+
124
+ function content_links_form($start_id = 0, $links, $delete_option = true) {
125
+
126
+ $headers = array(
127
  'link-anchor' => __('Anchor Text', 'seo-ultimate')
128
  , 'link-to_id' => __('URL', 'seo-ultimate')
129
+ , 'link-title' => __('Title Attribute', 'seo-ultimate')
130
+ , 'link-options' => __('Options', 'seo-ultimate')
131
+ );
132
+
133
+ if ($delete_option) $headers['link-delete'] = __('Delete', 'seo-ultimate');
134
 
135
+ $this->admin_wftable_start($headers);
136
+
137
+ $i = $start_id;
138
+ foreach ($links as $link) {
139
+ $anchor = su_esc_attr($link['anchor']);
140
+ $url = su_esc_attr($link['to_id']);
141
+ $title = su_esc_attr($link['title']);
142
  echo "\t\t<tr>\n";
143
+
144
+ $fields = array('anchor', 'to_id' => 'url', 'title');
145
+ foreach ($fields as $class => $field) {
146
+ if (is_numeric($class)) $class = $field;
147
+ echo "\t\t\t<td class='text su-link-$class'><input type='text' id='link_{$i}_$field' name='link_{$i}_$field' value='{$$field}' autocomplete='off' /></td>\n";
148
+ }
149
+
150
+ echo "\t\t\t<td class='checkbox su-link-options'>";
151
+ echo "<label for='link_{$i}_nofollow'><input type='checkbox' id='link_{$i}_nofollow' name='link_{$i}_nofollow' value='1'"; checked($link['nofollow']); echo " /> Nofollow</label>";
152
+ echo "<label for='link_{$i}_target'><input type='checkbox' id='link_{$i}_target' name='link_{$i}_target' value='blank'"; checked($link['target'] == 'blank'); echo " /> New window</label>";
153
+ echo "</td>\n";
154
+
155
+ if ($delete_option) echo "\t\t\t<td class='checkbox su-link-delete'><input type='checkbox' id='link_{$i}_delete' name='link_{$i}_delete' value='1' /></td>\n";
156
+ /*echo "\t\t\t<td class='dropdown'><select id='link_{$i}_target' name='link_{$i}_target'>";
157
+ echo suhtml::option_tags(array(
158
+ 'self' => __('Default', 'seo-ultimate')
159
+ , 'blank' => __('_blank (New window)', 'seo-ultimate')
160
+ , 'top' => __('_top (Same window, no frames)', 'seo-ultimate')
161
+ , 'parent' => __('_parent (Same window, parent frameset)', 'seo-ultimate')
162
+ ));
163
+ echo "</select></td>\n";*/
164
  echo "\t\t</tr>\n";
165
+ $i++;
166
  }
167
 
168
  $this->admin_wftable_end();
modules/class.su-module.php CHANGED
@@ -534,7 +534,7 @@ class SU_Module {
534
  }
535
 
536
  if (count($this->modules) > 0)
537
- uasort($this->modules, array(&$this, 'module_sort_callback'));
538
  }
539
 
540
  /**
534
  }
535
 
536
  if (count($this->modules) > 0)
537
+ @uasort($this->modules, array(&$this, 'module_sort_callback'));
538
  }
539
 
540
  /**
modules/settings/install.php CHANGED
@@ -88,20 +88,9 @@ class SU_Install extends SU_Module {
88
 
89
  function get_version_radiobuttons($min, $max) {
90
 
91
- include_once ABSPATH . 'wp-admin/includes/plugin-install.php';
92
-
93
  $this->update_setting('version', SU_VERSION);
94
 
95
- $plugin = plugins_api('plugin_information', array('slug' => 'seo-ultimate'));
96
- if (is_wp_error($plugin)) return false;
97
- $changelog = $plugin->sections['changelog'];
98
-
99
- $entries = explode('<h4>', $changelog);
100
- $versions = array();
101
- foreach ($entries as $entry) {
102
- $item = explode('</h4>', $entry, 2);
103
- if (count($item) == 2) $versions[$item[0]] = $item[1];
104
- }
105
 
106
  if (count($versions)) {
107
 
88
 
89
  function get_version_radiobuttons($min, $max) {
90
 
 
 
91
  $this->update_setting('version', SU_VERSION);
92
 
93
+ $versions = $this->plugin->download_changelog();
 
 
 
 
 
 
 
 
 
94
 
95
  if (count($versions)) {
96
 
plugin/class.seo-ultimate.php CHANGED
@@ -1090,6 +1090,61 @@ class SEO_Ultimate {
1090
  */
1091
  function get_plugin_update_info($nv) {
1092
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1093
  $info = suwp::load_webpage("http://www.seodesignsolutions.com/apis/su/update-info/?ov=".urlencode(SU_VERSION)."&nv=".urlencode($nv), SU_USER_AGENT);
1094
  if ($info) {
1095
  $info = strip_tags($info, "<br><a><b><i><span>");
@@ -1098,6 +1153,32 @@ class SEO_Ultimate {
1098
  }
1099
 
1100
  return '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1101
  }
1102
 
1103
  /**
@@ -1106,9 +1187,12 @@ class SEO_Ultimate {
1106
  * @since 2.1
1107
  */
1108
  function add_plugin_upgrade_notice($current) {
1109
- if (isset($current->response[$this->plugin_basename]))
1110
- if (!strlen($current->response[$this->plugin_basename]->upgrade_notice))
1111
  $current->response[$this->plugin_basename]->upgrade_notice = $this->get_plugin_update_info($current->response[$this->plugin_basename]->new_version);
 
 
 
1112
  return $current;
1113
  }
1114
 
1090
  */
1091
  function get_plugin_update_info($nv) {
1092
 
1093
+ $change_types = array(
1094
+ 'Feature' => 'feature'
1095
+ , 'SEO Feature' => 'feature'
1096
+ , 'Bugfix' => 'bugfix'
1097
+ , 'Improvement' => 'improvement'
1098
+ , 'Security Fix' => 'security'
1099
+ );
1100
+
1101
+ $change_labels = array(
1102
+ 'feature' => array(__('new feature', 'seo-ultimate'), __('new features', 'seo-ultimate'))
1103
+ , 'bugfix' => array(__('bugfix', 'seo-ultimate'), __('bugfixes', 'seo-ultimate'))
1104
+ , 'improvement' => array(__('improvement', 'seo-ultimate'), __('improvements', 'seo-ultimate'))
1105
+ , 'security' => array(__('security fix', 'seo-ultimate'), __('security fixes', 'seo-ultimate'))
1106
+ );
1107
+
1108
+ $changes = array();
1109
+
1110
+ $versions = $this->download_changelog();
1111
+ if (!is_array($versions) || !count($versions)) return '';
1112
+
1113
+ foreach ($versions as $version_title => $version_changelog) {
1114
+ if (preg_match('|Version ([0-9.]{3,9}) |', $version_title, $matches)) {
1115
+ $version = $matches[1];
1116
+
1117
+ //If we're running the same version or a newer version, continue
1118
+ if (version_compare(SU_VERSION, $version, '>=')) continue;
1119
+
1120
+ $version_changes = explode('</li>', $version_changelog);
1121
+ foreach ($version_changes as $change) {
1122
+ if (preg_match('|<li>([a-zA-Z ]+): |', $change, $matches2)) {
1123
+ $change_type_label = $matches2[1];
1124
+ if (isset($change_types[$change_type_label]))
1125
+ $changes[$change_types[$change_type_label]]++;
1126
+ }
1127
+ }
1128
+ }
1129
+ }
1130
+
1131
+ if (!count($changes)) return '';
1132
+
1133
+ $nlchanges = array();
1134
+ foreach ($changes as $change_type => $changes_count) {
1135
+ if (is_string($change_type) && $changes_count > 0)
1136
+ $nlchanges[] = sprintf(__('%d %s', 'seo-ultimate'),
1137
+ number_format_i18n($changes_count),
1138
+ _n($change_labels[$change_type][0], $change_labels[$change_type][1], $changes_count, 'seo-ultimate')
1139
+ );
1140
+ }
1141
+
1142
+ return sprintf(__('Upgrade now to get %s. %s.', 'seo-ultimate')
1143
+ , sustr::nl_implode($nlchanges)
1144
+ , '<a href="plugin-install.php?tab=plugin-information&amp;plugin=seo-ultimate&amp;section=changelog&amp;TB_iframe=true&amp;width=640&amp;height=530" class="thickbox">' . __('View changelog', 'seo-ultimate') . '</a>'
1145
+ );
1146
+
1147
+ /*
1148
  $info = suwp::load_webpage("http://www.seodesignsolutions.com/apis/su/update-info/?ov=".urlencode(SU_VERSION)."&nv=".urlencode($nv), SU_USER_AGENT);
1149
  if ($info) {
1150
  $info = strip_tags($info, "<br><a><b><i><span>");
1153
  }
1154
 
1155
  return '';
1156
+ */
1157
+ }
1158
+
1159
+ /**
1160
+ * Downloads the plugin's changelog.
1161
+ *
1162
+ * @since 3.1
1163
+ *
1164
+ * @return array An array of changelog headers {Version X.X (Month Day, Year)} => <ul> lists of changes.
1165
+ */
1166
+ function download_changelog() {
1167
+
1168
+ include_once ABSPATH . 'wp-admin/includes/plugin-install.php';
1169
+
1170
+ $plugin = plugins_api('plugin_information', array('slug' => 'seo-ultimate'));
1171
+ if (is_wp_error($plugin)) return false;
1172
+ $changelog = $plugin->sections['changelog'];
1173
+
1174
+ $entries = explode('<h4>', $changelog);
1175
+ $versions = array();
1176
+ foreach ($entries as $entry) {
1177
+ $item = explode('</h4>', $entry, 2);
1178
+ if (count($item) == 2) $versions[$item[0]] = $item[1];
1179
+ }
1180
+
1181
+ return $versions;
1182
  }
1183
 
1184
  /**
1187
  * @since 2.1
1188
  */
1189
  function add_plugin_upgrade_notice($current) {
1190
+ if (isset($current->response[$this->plugin_basename])) {
1191
+ if (!strlen($current->response[$this->plugin_basename]->upgrade_notice)) {
1192
  $current->response[$this->plugin_basename]->upgrade_notice = $this->get_plugin_update_info($current->response[$this->plugin_basename]->new_version);
1193
+ remove_filter('transient_update_plugins', array(&$this, 'add_plugin_upgrade_notice'));
1194
+ }
1195
+ }
1196
  return $current;
1197
  }
1198
 
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: SEO Design Solutions
3
  Tags: seo, SEO Ultimate, suite, google, yahoo, bing, search engines, admin, post, page, custom post types, categories, tags, terms, custom taxonomies, title, meta, robots, noindex, nofollow, canonical, 404, robots.txt, htaccess, slugs, url, anchor, more, link, excerpt, permalink, links, autolinks, code, footer, modules, uninstallable, reinstallable, downgradable
4
  Requires at least: 2.8
5
  Tested up to: 3.0
6
- Stable tag: 3.0
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,11 +11,11 @@ This all-in-one SEO plugin gives you control over titles, noindex/nofollow, meta
11
 
12
  = Recent Releases =
13
 
 
14
  * Version 3.0 adds the Rich Snippet Creator module
15
  * Version 2.9 adds custom taxonomy support to Title Tag Rewriter
16
  * Version 2.8 adds custom post type support to Title Tag Rewriter
17
  * Version 2.7 adds the Code Inserter module
18
- * Version 2.6 adds reinstallation support
19
 
20
  = Features =
21
 
@@ -74,7 +74,7 @@ SEO Ultimate is an all-in-one [SEO](http://www.seodesignsolutions.com/) plugin w
74
  * Determine which of your webpages Google most strongly associates with the keywords you specify.
75
  * Use the information to determine ideal targets for incoming links or ideal sources of outgoing links.
76
 
77
- * **Deeplink Juggernaut**
78
  * Automatically link phrases in your posts/pages to given URLs.
79
  * Use the power of anchor text to boost your internal ranking SEO paradigm.
80
  * Control the maximum number of autolinks added to each post/page.
@@ -197,6 +197,14 @@ Frequently asked questions, settings help, and troubleshooting tips for SEO Ulti
197
 
198
  == Changelog ==
199
 
 
 
 
 
 
 
 
 
200
  = Version 3.0 (June 19, 2010) =
201
  * Feature: Added the Rich Snippet Creator module
202
  * Change: "Title Rewriter" has been renamed to "Title Tag Rewriter" to clarify that the module edits `<title>` tags, not post titles.
3
  Tags: seo, SEO Ultimate, suite, google, yahoo, bing, search engines, admin, post, page, custom post types, categories, tags, terms, custom taxonomies, title, meta, robots, noindex, nofollow, canonical, 404, robots.txt, htaccess, slugs, url, anchor, more, link, excerpt, permalink, links, autolinks, code, footer, modules, uninstallable, reinstallable, downgradable
4
  Requires at least: 2.8
5
  Tested up to: 3.0
6
+ Stable tag: 3.1
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 3.1 adds more Deeplink Juggernaut features
15
  * Version 3.0 adds the Rich Snippet Creator module
16
  * Version 2.9 adds custom taxonomy support to Title Tag Rewriter
17
  * Version 2.8 adds custom post type support to Title Tag Rewriter
18
  * Version 2.7 adds the Code Inserter module
 
19
 
20
  = Features =
21
 
74
  * Determine which of your webpages Google most strongly associates with the keywords you specify.
75
  * Use the information to determine ideal targets for incoming links or ideal sources of outgoing links.
76
 
77
+ * **Deeplink Juggernaut** -- UPDATED in Version 3.1
78
  * Automatically link phrases in your posts/pages to given URLs.
79
  * Use the power of anchor text to boost your internal ranking SEO paradigm.
80
  * Control the maximum number of autolinks added to each post/page.
197
 
198
  == Changelog ==
199
 
200
+ = Version 3.1 (June 22, 2010) =
201
+ * Feature: Deeplink Juggernaut now supports unlimited autolinks instead of just 20
202
+ * Feature: Deeplink Juggernaut now supports custom title attributes for autolinks
203
+ * Feature: Deeplink Juggernaut interface now has convenient checkboxes for deleting autolinks
204
+ * Feature: Deeplink Juggernaut autolinks can now open in new windows if desired
205
+ * Improvement: SEO Ultimate upgrade notices now use official WordPress plugin API
206
+ * Bugfix: SEO Ultimate no longer slows down the "Plugins" admin page excessively
207
+
208
  = Version 3.0 (June 19, 2010) =
209
  * Feature: Added the Rich Snippet Creator module
210
  * Change: "Title Rewriter" has been renamed to "Title Tag Rewriter" to clarify that the module edits `<title>` tags, not post titles.
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, rich snippets, slugs, canonical tags, "more" links, 404 errors, and more.
6
- Version: 3.0
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 3.0
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", "3.0");
42
  define("SU_AUTHOR", "SEO Design Solutions");
43
  define("SU_AUTHOR_URI", "http://www.seodesignsolutions.com/");
44
- define("SU_USER_AGENT", "SeoUltimate/3.0");
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, rich snippets, slugs, canonical tags, "more" links, 404 errors, and more.
6
+ Version: 3.1
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 3.1
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", "3.1");
42
  define("SU_AUTHOR", "SEO Design Solutions");
43
  define("SU_AUTHOR_URI", "http://www.seodesignsolutions.com/");
44
+ define("SU_USER_AGENT", "SeoUltimate/3.1");
45
 
46
  /********** INCLUDES **********/
47
 
seo-ultimate.pot CHANGED
@@ -1,4 +1,4 @@
1
- # Translation of the WordPress plugin SEO Ultimate 3.0 by SEO Design Solutions.
2
  # Copyright (C) 2010 SEO Design Solutions
3
  # This file is distributed under the same license as the SEO Ultimate package.
4
  # FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
@@ -6,9 +6,9 @@
6
  #, fuzzy
7
  msgid ""
8
  msgstr ""
9
- "Project-Id-Version: SEO Ultimate 3.0\n"
10
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/seo-ultimate\n"
11
- "POT-Creation-Date: 2010-06-19 19:11+0000\n"
12
  "PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -146,14 +146,10 @@ msgstr ""
146
  msgid "404 Monitor"
147
  msgstr ""
148
 
149
- #: modules/autolinks/autolinks.php:12
150
  msgid "Deeplink Juggernaut"
151
  msgstr ""
152
 
153
- #: modules/autolinks/autolinks.php:13
154
- msgid "Deeplink Juggernaut (Beta)"
155
- msgstr ""
156
-
157
  #: modules/autolinks/content-autolinks-settings.php:16
158
  msgid "Content Deeplink Juggernaut Settings"
159
  msgstr ""
@@ -175,25 +171,40 @@ msgstr ""
175
  msgid "Content Links"
176
  msgstr ""
177
 
178
- #: modules/autolinks/content-autolinks.php:77
179
  msgid ""
180
- "The Deeplink Juggernaut can automatically link post/page anchor text to "
181
- "given URLs. This is a preview beta version. More functionality will be added "
182
- "in future releases of SEO Ultimate."
183
  msgstr ""
184
 
185
- #: modules/autolinks/content-autolinks.php:102
 
 
 
 
 
 
 
 
186
  msgid "Anchor Text"
187
  msgstr ""
188
 
189
- #: modules/autolinks/content-autolinks.php:103
190
  msgid "URL"
191
  msgstr ""
192
 
193
- #: modules/autolinks/content-autolinks.php:104
 
 
 
 
194
  msgid "Options"
195
  msgstr ""
196
 
 
 
 
 
197
  #: modules/canonical/canonical.php:12
198
  msgid "Canonicalizer"
199
  msgstr ""
@@ -961,7 +972,7 @@ msgstr ""
961
  msgid "SEO Design Solutions Whitepapers"
962
  msgstr ""
963
 
964
- #. #-#-#-#-# plugin.pot (SEO Ultimate 3.0) #-#-#-#-#
965
  #. Author of the plugin/theme
966
  #: modules/sds-blog/sds-blog.php:49
967
  msgid "SEO Design Solutions"
@@ -1062,31 +1073,31 @@ msgid ""
1062
  "currently using, click the &#8220;Reinstall&#8221; button below."
1063
  msgstr ""
1064
 
1065
- #: modules/settings/install.php:119
1066
  msgid "Your Current Version"
1067
  msgstr ""
1068
 
1069
- #: modules/settings/install.php:121
1070
  msgid "Latest Version"
1071
  msgstr ""
1072
 
1073
- #: modules/settings/install.php:141
1074
  msgid ""
1075
  "You do not have sufficient permissions to upgrade/downgrade plugins for this "
1076
  "blog."
1077
  msgstr ""
1078
 
1079
- #: modules/settings/install.php:151
1080
  #, php-format
1081
  msgid "Downgrade to SEO Ultimate %s"
1082
  msgstr ""
1083
 
1084
- #: modules/settings/install.php:154
1085
  #, php-format
1086
  msgid "Reinstall SEO Ultimate %s"
1087
  msgstr ""
1088
 
1089
- #: modules/settings/install.php:157
1090
  #, php-format
1091
  msgid "Upgrade to SEO Ultimate %s"
1092
  msgstr ""
@@ -1200,7 +1211,7 @@ msgstr ""
1200
  msgid "SEO Ultimate Plugin Settings"
1201
  msgstr ""
1202
 
1203
- #. #-#-#-#-# plugin.pot (SEO Ultimate 3.0) #-#-#-#-#
1204
  #. Plugin Name of the plugin/theme
1205
  #: modules/settings/settings.php:14 plugin/class.seo-ultimate.php:724
1206
  msgid "SEO Ultimate"
@@ -1210,7 +1221,7 @@ msgstr ""
1210
  msgid "Uninstaller"
1211
  msgstr ""
1212
 
1213
- #: modules/settings/uninstall.php:18 plugin/class.seo-ultimate.php:1125
1214
  msgid "Uninstall"
1215
  msgstr ""
1216
 
@@ -1452,11 +1463,57 @@ msgid ""
1452
  "1$s to avoid plugin conflicts."
1453
  msgstr ""
1454
 
1455
- #: plugin/class.seo-ultimate.php:1145
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1456
  msgid "Active Modules: "
1457
  msgstr ""
1458
 
1459
- #: plugin/class.seo-ultimate.php:1206
1460
  msgid ""
1461
  "<strong>SEO Ultimate Notice:</strong> Your blog is configured to block "
1462
  "search engine spiders. To resolve this, <a href='options-privacy.php' "
@@ -1464,7 +1521,7 @@ msgid ""
1464
  "everyone."
1465
  msgstr ""
1466
 
1467
- #: plugin/class.seo-ultimate.php:1314
1468
  msgid "SEO Settings"
1469
  msgstr ""
1470
 
1
+ # Translation of the WordPress plugin SEO Ultimate 3.1 by SEO Design Solutions.
2
  # Copyright (C) 2010 SEO Design Solutions
3
  # This file is distributed under the same license as the SEO Ultimate package.
4
  # FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
6
  #, fuzzy
7
  msgid ""
8
  msgstr ""
9
+ "Project-Id-Version: SEO Ultimate 3.1\n"
10
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/seo-ultimate\n"
11
+ "POT-Creation-Date: 2010-06-22 15:13+0000\n"
12
  "PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
146
  msgid "404 Monitor"
147
  msgstr ""
148
 
149
+ #: modules/autolinks/autolinks.php:11
150
  msgid "Deeplink Juggernaut"
151
  msgstr ""
152
 
 
 
 
 
153
  #: modules/autolinks/content-autolinks-settings.php:16
154
  msgid "Content Deeplink Juggernaut Settings"
155
  msgstr ""
171
  msgid "Content Links"
172
  msgstr ""
173
 
174
+ #: modules/autolinks/content-autolinks.php:76
175
  msgid ""
176
+ "The Content Links section of Deeplink Juggernaut lets you automatically link "
177
+ "a certain word or phrase in your post/page content to a URL you specify."
 
178
  msgstr ""
179
 
180
+ #: modules/autolinks/content-autolinks.php:116
181
+ msgid "Edit Existing Links"
182
+ msgstr ""
183
+
184
+ #: modules/autolinks/content-autolinks.php:120
185
+ msgid "Add a New Link"
186
+ msgstr ""
187
+
188
+ #: modules/autolinks/content-autolinks.php:127
189
  msgid "Anchor Text"
190
  msgstr ""
191
 
192
+ #: modules/autolinks/content-autolinks.php:128
193
  msgid "URL"
194
  msgstr ""
195
 
196
+ #: modules/autolinks/content-autolinks.php:129
197
+ msgid "Title Attribute"
198
+ msgstr ""
199
+
200
+ #: modules/autolinks/content-autolinks.php:130
201
  msgid "Options"
202
  msgstr ""
203
 
204
+ #: modules/autolinks/content-autolinks.php:133
205
+ msgid "Delete"
206
+ msgstr ""
207
+
208
  #: modules/canonical/canonical.php:12
209
  msgid "Canonicalizer"
210
  msgstr ""
972
  msgid "SEO Design Solutions Whitepapers"
973
  msgstr ""
974
 
975
+ #. #-#-#-#-# plugin.pot (SEO Ultimate 3.1) #-#-#-#-#
976
  #. Author of the plugin/theme
977
  #: modules/sds-blog/sds-blog.php:49
978
  msgid "SEO Design Solutions"
1073
  "currently using, click the &#8220;Reinstall&#8221; button below."
1074
  msgstr ""
1075
 
1076
+ #: modules/settings/install.php:108
1077
  msgid "Your Current Version"
1078
  msgstr ""
1079
 
1080
+ #: modules/settings/install.php:110
1081
  msgid "Latest Version"
1082
  msgstr ""
1083
 
1084
+ #: modules/settings/install.php:130
1085
  msgid ""
1086
  "You do not have sufficient permissions to upgrade/downgrade plugins for this "
1087
  "blog."
1088
  msgstr ""
1089
 
1090
+ #: modules/settings/install.php:140
1091
  #, php-format
1092
  msgid "Downgrade to SEO Ultimate %s"
1093
  msgstr ""
1094
 
1095
+ #: modules/settings/install.php:143
1096
  #, php-format
1097
  msgid "Reinstall SEO Ultimate %s"
1098
  msgstr ""
1099
 
1100
+ #: modules/settings/install.php:146
1101
  #, php-format
1102
  msgid "Upgrade to SEO Ultimate %s"
1103
  msgstr ""
1211
  msgid "SEO Ultimate Plugin Settings"
1212
  msgstr ""
1213
 
1214
+ #. #-#-#-#-# plugin.pot (SEO Ultimate 3.1) #-#-#-#-#
1215
  #. Plugin Name of the plugin/theme
1216
  #: modules/settings/settings.php:14 plugin/class.seo-ultimate.php:724
1217
  msgid "SEO Ultimate"
1221
  msgid "Uninstaller"
1222
  msgstr ""
1223
 
1224
+ #: modules/settings/uninstall.php:18 plugin/class.seo-ultimate.php:1209
1225
  msgid "Uninstall"
1226
  msgstr ""
1227
 
1463
  "1$s to avoid plugin conflicts."
1464
  msgstr ""
1465
 
1466
+ #: plugin/class.seo-ultimate.php:1102
1467
+ msgid "new feature"
1468
+ msgstr ""
1469
+
1470
+ #: plugin/class.seo-ultimate.php:1102
1471
+ msgid "new features"
1472
+ msgstr ""
1473
+
1474
+ #: plugin/class.seo-ultimate.php:1103
1475
+ msgid "bugfix"
1476
+ msgstr ""
1477
+
1478
+ #: plugin/class.seo-ultimate.php:1103
1479
+ msgid "bugfixes"
1480
+ msgstr ""
1481
+
1482
+ #: plugin/class.seo-ultimate.php:1104
1483
+ msgid "improvement"
1484
+ msgstr ""
1485
+
1486
+ #: plugin/class.seo-ultimate.php:1104
1487
+ msgid "improvements"
1488
+ msgstr ""
1489
+
1490
+ #: plugin/class.seo-ultimate.php:1105
1491
+ msgid "security fix"
1492
+ msgstr ""
1493
+
1494
+ #: plugin/class.seo-ultimate.php:1105
1495
+ msgid "security fixes"
1496
+ msgstr ""
1497
+
1498
+ #: plugin/class.seo-ultimate.php:1136
1499
+ #, php-format
1500
+ msgid "%d %s"
1501
+ msgstr ""
1502
+
1503
+ #: plugin/class.seo-ultimate.php:1142
1504
+ #, php-format
1505
+ msgid "Upgrade now to get %s. %s."
1506
+ msgstr ""
1507
+
1508
+ #: plugin/class.seo-ultimate.php:1144
1509
+ msgid "View changelog"
1510
+ msgstr ""
1511
+
1512
+ #: plugin/class.seo-ultimate.php:1229
1513
  msgid "Active Modules: "
1514
  msgstr ""
1515
 
1516
+ #: plugin/class.seo-ultimate.php:1290
1517
  msgid ""
1518
  "<strong>SEO Ultimate Notice:</strong> Your blog is configured to block "
1519
  "search engine spiders. To resolve this, <a href='options-privacy.php' "
1521
  "everyone."
1522
  msgstr ""
1523
 
1524
+ #: plugin/class.seo-ultimate.php:1398
1525
  msgid "SEO Settings"
1526
  msgstr ""
1527