Version Description
Download this release
Release Info
Developer | SEO Design Solutions |
Plugin | SEO Ultimate |
Version | 2.2 |
Comparing to | |
See all releases |
Code changes from version 2.1.1 to 2.2
- includes/tabs.js +17 -6
- modules/autolinks/autolinks.php +0 -66
- modules/autolinks/content-autolinks-settings.php +27 -0
- modules/autolinks/content-autolinks.php +108 -0
- modules/class.su-module.php +2 -2
- modules/meta/meta.php +5 -5
- modules/noindex/noindex.php +2 -2
- readme.txt +10 -3
- screenshot-2.png +0 -0
- seo-ultimate.php +4 -4
- seo-ultimate.pot +56 -35
includes/tabs.js
CHANGED
@@ -30,13 +30,24 @@ function su_init_tabs()
|
|
30 |
jQuery("#su-tabset > ul").tabs();
|
31 |
}
|
32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
/* handler for opening the last tab after submit (compability version) */
|
34 |
jQuery('#su-tabset ul a').click(function(i){
|
35 |
-
|
36 |
-
var action = form.attr("action").split('#', 1) + jQuery(this).attr('href');
|
37 |
-
// an older bug pops up with some jQuery version(s), which makes it
|
38 |
-
// necessary to set the form's action attribute by standard javascript
|
39 |
-
// node access:
|
40 |
-
form.get(0).setAttribute("action", action);
|
41 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
}
|
30 |
jQuery("#su-tabset > ul").tabs();
|
31 |
}
|
32 |
|
33 |
+
if (location.hash.length) {
|
34 |
+
jQuery(document).ready(function() {
|
35 |
+
su_hash_form(location.hash);
|
36 |
+
});
|
37 |
+
window.scrollTo(0,0);
|
38 |
+
}
|
39 |
+
|
40 |
/* handler for opening the last tab after submit (compability version) */
|
41 |
jQuery('#su-tabset ul a').click(function(i){
|
42 |
+
su_hash_form(jQuery(this).attr('href'));
|
|
|
|
|
|
|
|
|
|
|
43 |
});
|
44 |
+
}
|
45 |
+
|
46 |
+
function su_hash_form(hash) {
|
47 |
+
var form = jQuery('#su-admin-form');
|
48 |
+
var action = form.attr("action").split('#', 1) + hash;
|
49 |
+
// an older bug pops up with some jQuery version(s), which makes it
|
50 |
+
// necessary to set the form's action attribute by standard javascript
|
51 |
+
// node access:
|
52 |
+
form.get(0).setAttribute("action", action);
|
53 |
}
|
modules/autolinks/autolinks.php
CHANGED
@@ -11,72 +11,6 @@ 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 |
-
function init() {
|
16 |
-
add_filter('the_content', array(&$this, 'autolink_content'));
|
17 |
-
}
|
18 |
-
|
19 |
-
function autolink_content($content) {
|
20 |
-
|
21 |
-
$links = $this->get_setting('links');
|
22 |
-
if (!count($links)) return $content;
|
23 |
-
|
24 |
-
suarr::vklrsort($links, 'anchor');
|
25 |
-
|
26 |
-
foreach ($links as $data) {
|
27 |
-
$anchor = $data['anchor'];
|
28 |
-
$url = su_esc_attr($data['to_id']);
|
29 |
-
$type = $data['to_type'];
|
30 |
-
|
31 |
-
if ($type == 'url' && strlen(trim($anchor)) && strlen(trim($url))) {
|
32 |
-
//Special thanks to the GPL-licensed "SEO Smart Links" plugin for the following find/replace code
|
33 |
-
//http://www.prelovac.com/vladimir/wordpress-plugins/seo-smart-links
|
34 |
-
$replace = "<a title=\"$1\" href=\"$url\">$1</a>";
|
35 |
-
$reg = '/(?!(?:[^<\[]+[>\]]|[^>\]]+<\/a>))\b($name)\b/imsU';
|
36 |
-
$regexp = str_replace('$name', $anchor, $reg);
|
37 |
-
$content = preg_replace($regexp, $replace, $content);
|
38 |
-
}
|
39 |
-
}
|
40 |
-
|
41 |
-
return $content;
|
42 |
-
}
|
43 |
-
|
44 |
-
function admin_page_contents() {
|
45 |
-
echo "\n<p>";
|
46 |
-
_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');
|
47 |
-
echo "</p>\n";
|
48 |
-
|
49 |
-
$this->admin_form_start(false, false);
|
50 |
-
|
51 |
-
if ($this->is_action('update')) {
|
52 |
-
$links = array();
|
53 |
-
for ($i=0; $i<20; $i++) {
|
54 |
-
$anchor = stripslashes($_POST["link_{$i}_anchor"]);
|
55 |
-
$url = stripslashes($_POST["link_{$i}_url"]);
|
56 |
-
if (strlen($anchor) || strlen($url)) {
|
57 |
-
$links[] = array('anchor' => $anchor, 'to_type' => 'url', 'to_id' => $url);
|
58 |
-
}
|
59 |
-
}
|
60 |
-
$this->update_setting('links', $links);
|
61 |
-
} else {
|
62 |
-
$links = $this->get_setting('links');
|
63 |
-
if (!$links) $links = array();
|
64 |
-
}
|
65 |
-
|
66 |
-
$this->admin_wftable_start(array(
|
67 |
-
'link-anchor' => __('Anchor Text', 'seo-ultimate')
|
68 |
-
, 'link-to_id' => __('URL', 'seo-ultimate')
|
69 |
-
));
|
70 |
-
|
71 |
-
for ($i=0; $i<20; $i++) {
|
72 |
-
$anchor = su_esc_attr($links[$i]['anchor']);
|
73 |
-
$url = su_esc_attr($links[$i]['to_id']);
|
74 |
-
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";
|
75 |
-
}
|
76 |
-
|
77 |
-
$this->admin_wftable_end();
|
78 |
-
$this->admin_form_end(null, false);
|
79 |
-
}
|
80 |
}
|
81 |
|
82 |
}
|
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 |
}
|
modules/autolinks/content-autolinks-settings.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Content Deeplink Juggernaut Settings Module
|
4 |
+
*
|
5 |
+
* @since 2.2
|
6 |
+
*/
|
7 |
+
|
8 |
+
if (class_exists('SU_Module')) {
|
9 |
+
|
10 |
+
class SU_ContentAutolinksSettings extends SU_Module {
|
11 |
+
|
12 |
+
function get_parent_module() { return 'autolinks'; }
|
13 |
+
function get_child_order() { return 20; }
|
14 |
+
function is_independent_module() { return false; }
|
15 |
+
|
16 |
+
function get_module_title() { return __('Content Deeplink Juggernaut Settings', 'seo-ultimate'); }
|
17 |
+
function get_module_subtitle() { return __('Content Link Settings', 'seo-ultimate'); }
|
18 |
+
|
19 |
+
function admin_page_contents() {
|
20 |
+
$this->admin_form_table_start();
|
21 |
+
$this->checkbox('limit_lpp', __("Don’t add any more than %d autolinks per post/page/etc.", 'seo-ultimate'));
|
22 |
+
$this->admin_form_table_end();
|
23 |
+
}
|
24 |
+
}
|
25 |
+
|
26 |
+
}
|
27 |
+
?>
|
modules/autolinks/content-autolinks.php
ADDED
@@ -0,0 +1,108 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Content Deeplink Juggernaut Module
|
4 |
+
*
|
5 |
+
* @since 2.2
|
6 |
+
*/
|
7 |
+
|
8 |
+
if (class_exists('SU_Module')) {
|
9 |
+
|
10 |
+
class SU_ContentAutolinks extends SU_Module {
|
11 |
+
|
12 |
+
function get_parent_module() { return 'autolinks'; }
|
13 |
+
function get_child_order() { return 10; }
|
14 |
+
function is_independent_module() { return false; }
|
15 |
+
|
16 |
+
function get_module_title() { return __('Content Deeplink Juggernaut', 'seo-ultimate'); }
|
17 |
+
function get_module_subtitle() { return __('Content Links', 'seo-ultimate'); }
|
18 |
+
|
19 |
+
function get_default_settings() {
|
20 |
+
return array(
|
21 |
+
'limit_lpp_value' => 5
|
22 |
+
);
|
23 |
+
}
|
24 |
+
|
25 |
+
function init() {
|
26 |
+
add_filter('the_content', array(&$this, 'autolink_content'));
|
27 |
+
}
|
28 |
+
|
29 |
+
function autolink_content($content) {
|
30 |
+
|
31 |
+
$links = $this->get_setting('links');
|
32 |
+
if (!count($links)) return $content;
|
33 |
+
|
34 |
+
suarr::vklrsort($links, 'anchor');
|
35 |
+
|
36 |
+
$content = $this->_autolink_content($content, $links, $this->get_setting('limit_lpp_value', 5));
|
37 |
+
|
38 |
+
return $content;
|
39 |
+
}
|
40 |
+
|
41 |
+
function _autolink_content($content, $links, $limit) {
|
42 |
+
$limit_enabled = $this->get_setting('limit_lpp', false);
|
43 |
+
if ($limit_enabled && $limit < 1) return $content;
|
44 |
+
$oldlimit = $limit;
|
45 |
+
|
46 |
+
foreach ($links as $data) {
|
47 |
+
$anchor = $data['anchor'];
|
48 |
+
$url = su_esc_attr($data['to_id']);
|
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);
|
58 |
+
|
59 |
+
if ($limit_enabled) {
|
60 |
+
$limit -= $count;
|
61 |
+
if ($limit < 1) return $content;
|
62 |
+
}
|
63 |
+
}
|
64 |
+
}
|
65 |
+
|
66 |
+
if ($limit_enabled && $limit < $oldlimit)
|
67 |
+
$content = $this->_autolink_content($content, $links, $limit);
|
68 |
+
|
69 |
+
return $content;
|
70 |
+
}
|
71 |
+
|
72 |
+
function admin_page_contents() {
|
73 |
+
echo "\n<p>";
|
74 |
+
_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');
|
75 |
+
echo "</p>\n";
|
76 |
+
|
77 |
+
if ($this->is_action('update')) {
|
78 |
+
$links = array();
|
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);
|
87 |
+
} else {
|
88 |
+
$links = $this->get_setting('links');
|
89 |
+
if (!$links) $links = array();
|
90 |
+
}
|
91 |
+
|
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();
|
104 |
+
}
|
105 |
+
}
|
106 |
+
|
107 |
+
}
|
108 |
+
?>
|
modules/class.su-module.php
CHANGED
@@ -897,7 +897,7 @@ class SU_Module {
|
|
897 |
|
898 |
if ($c > 1) {
|
899 |
echo "</div>\n";
|
900 |
-
|
901 |
echo '<script type="text/javascript" src="'.$this->plugin->plugin_dir_url.'includes/tabs.js?v='.SU_VERSION.'"></script>';
|
902 |
}
|
903 |
}
|
@@ -997,10 +997,10 @@ class SU_Module {
|
|
997 |
* @param boolean $table Whether or not to start a form table.
|
998 |
*/
|
999 |
function admin_form_start($header = false, $table = true, $form = true) {
|
1000 |
-
$hook = $this->plugin->key_to_hook($this->get_module_or_parent_key());
|
1001 |
if ($header) $this->admin_subheader($header);
|
1002 |
|
1003 |
if ($form) {
|
|
|
1004 |
if ($this->is_action('update')) $this->print_message('success', __('Settings updated.', 'seo-ultimate'));
|
1005 |
echo "<form id='su-admin-form' method='post' action='?page=$hook'>\n";
|
1006 |
settings_fields($hook);
|
897 |
|
898 |
if ($c > 1) {
|
899 |
echo "</div>\n";
|
900 |
+
|
901 |
echo '<script type="text/javascript" src="'.$this->plugin->plugin_dir_url.'includes/tabs.js?v='.SU_VERSION.'"></script>';
|
902 |
}
|
903 |
}
|
997 |
* @param boolean $table Whether or not to start a form table.
|
998 |
*/
|
999 |
function admin_form_start($header = false, $table = true, $form = true) {
|
|
|
1000 |
if ($header) $this->admin_subheader($header);
|
1001 |
|
1002 |
if ($form) {
|
1003 |
+
$hook = $this->plugin->key_to_hook($this->get_module_or_parent_key());
|
1004 |
if ($this->is_action('update')) $this->print_message('success', __('Settings updated.', 'seo-ultimate'));
|
1005 |
echo "<form id='su-admin-form' method='post' action='?page=$hook'>\n";
|
1006 |
settings_fields($hook);
|
modules/meta/meta.php
CHANGED
@@ -8,15 +8,15 @@
|
|
8 |
if (class_exists('SU_Module')) {
|
9 |
|
10 |
class SU_Meta extends SU_Module {
|
11 |
-
|
12 |
function get_module_title() { return __('Meta Editor', 'seo-ultimate'); }
|
13 |
-
|
14 |
function init() {
|
15 |
add_filter('su_meta_robots', array(&$this, 'meta_robots'));
|
16 |
add_action('su_head', array(&$this, 'head_tag_output'));
|
17 |
add_filter('su_postmeta_help', array(&$this, 'postmeta_help'), 20);
|
18 |
}
|
19 |
-
|
20 |
//Add the appropriate commands to the meta robots array
|
21 |
function meta_robots($commands) {
|
22 |
|
@@ -88,7 +88,7 @@ class SU_Meta extends SU_Module {
|
|
88 |
}
|
89 |
|
90 |
}
|
91 |
-
|
92 |
function postmeta_fields($fields) {
|
93 |
$id = "_su_description";
|
94 |
$value = attribute_escape($this->get_postmeta('description'));
|
@@ -112,7 +112,7 @@ class SU_Meta extends SU_Module {
|
|
112 |
"Be sure to separate keywords with commas, like so: <samp>one,two,three</samp>.", 'seo-ultimate');
|
113 |
return $help;
|
114 |
}
|
115 |
-
|
116 |
}
|
117 |
|
118 |
}
|
8 |
if (class_exists('SU_Module')) {
|
9 |
|
10 |
class SU_Meta extends SU_Module {
|
11 |
+
|
12 |
function get_module_title() { return __('Meta Editor', 'seo-ultimate'); }
|
13 |
+
|
14 |
function init() {
|
15 |
add_filter('su_meta_robots', array(&$this, 'meta_robots'));
|
16 |
add_action('su_head', array(&$this, 'head_tag_output'));
|
17 |
add_filter('su_postmeta_help', array(&$this, 'postmeta_help'), 20);
|
18 |
}
|
19 |
+
|
20 |
//Add the appropriate commands to the meta robots array
|
21 |
function meta_robots($commands) {
|
22 |
|
88 |
}
|
89 |
|
90 |
}
|
91 |
+
|
92 |
function postmeta_fields($fields) {
|
93 |
$id = "_su_description";
|
94 |
$value = attribute_escape($this->get_postmeta('description'));
|
112 |
"Be sure to separate keywords with commas, like so: <samp>one,two,three</samp>.", 'seo-ultimate');
|
113 |
return $help;
|
114 |
}
|
115 |
+
|
116 |
}
|
117 |
|
118 |
}
|
modules/noindex/noindex.php
CHANGED
@@ -63,9 +63,9 @@ class SU_Noindex extends SU_Module {
|
|
63 |
}
|
64 |
|
65 |
function should_noindex() {
|
66 |
-
|
67 |
$checks = array('author', 'search', 'category', 'date', 'tag');
|
68 |
-
|
69 |
foreach ($checks as $setting) {
|
70 |
if (call_user_func("is_$setting")) return $this->get_setting("noindex_$setting");
|
71 |
}
|
63 |
}
|
64 |
|
65 |
function should_noindex() {
|
66 |
+
|
67 |
$checks = array('author', 'search', 'category', 'date', 'tag');
|
68 |
+
|
69 |
foreach ($checks as $setting) {
|
70 |
if (call_user_func("is_$setting")) return $this->get_setting("noindex_$setting");
|
71 |
}
|
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, noindex, 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.
|
7 |
|
8 |
This all-in-one SEO plugin gives you control over titles, noindex, meta data, slugs, canonical tags, "more" links, 404 error tracking, and more.
|
9 |
|
@@ -11,9 +11,9 @@ This all-in-one SEO plugin gives you control over titles, noindex, meta data, sl
|
|
11 |
|
12 |
= Recent Releases =
|
13 |
|
|
|
14 |
* Version 2.1 adds a 404 Monitor overhaul and other improvements
|
15 |
* Version 2.0 adds title tag editing for post tags
|
16 |
-
* Version 1.9 adds title tag editing for categories
|
17 |
|
18 |
= Features =
|
19 |
|
@@ -71,9 +71,10 @@ SEO Ultimate is an all-in-one [SEO](http://www.seodesignsolutions.com/) plugin w
|
|
71 |
* Determine which of your webpages Google most strongly associates with the keywords you specify.
|
72 |
* Use the information to determine ideal targets for incoming links or ideal sources of outgoing links.
|
73 |
|
74 |
-
* **Deeplink Juggernaut** --
|
75 |
* Automatically link phrases in your posts/pages to given URLs.
|
76 |
* Use the power of anchor text to boost your internal ranking paradigm.
|
|
|
77 |
|
78 |
* **Settings Manager**
|
79 |
* Export your SEO Ultimate settings to a file and re-import later if desired.
|
@@ -585,6 +586,11 @@ Frequently asked questions, documentation, and troubleshooting tips for SEO Ulti
|
|
585 |
|
586 |
== Changelog ==
|
587 |
|
|
|
|
|
|
|
|
|
|
|
588 |
= Version 2.1.1 (May 19, 2010) =
|
589 |
* Bugfix: Fixed "get_table_name" fatal error that appeared when upgrading certain configurations
|
590 |
* Bugfix: Restored missing success/error messages for import/reset functions
|
@@ -608,6 +614,7 @@ Frequently asked questions, documentation, and troubleshooting tips for SEO Ulti
|
|
608 |
* Improvement: Added blank index.php files to module directories to prevent indexing/snooping of directory listings
|
609 |
* Feature: You can now hide 404 Monitor columns with the new "Screen Options" dropdown
|
610 |
* Bugfix: Removed duplicate excerpt ellipses from Whitepapers module
|
|
|
611 |
|
612 |
= Version 2.0 (April 29, 2010) =
|
613 |
* Feature: Title Rewriter can now edit the title tags of post tag archives
|
3 |
Tags: seo, google, yahoo, bing, search engines, admin, post, page, modules, title, meta, noindex, 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.2
|
7 |
|
8 |
This all-in-one SEO plugin gives you control over titles, noindex, meta data, slugs, canonical tags, "more" links, 404 error tracking, and more.
|
9 |
|
11 |
|
12 |
= Recent Releases =
|
13 |
|
14 |
+
* Version 2.2 adds a links-per-post limiter for Deeplink Juggernaut
|
15 |
* Version 2.1 adds a 404 Monitor overhaul and other improvements
|
16 |
* Version 2.0 adds title tag editing for post tags
|
|
|
17 |
|
18 |
= Features =
|
19 |
|
71 |
* Determine which of your webpages Google most strongly associates with the keywords you specify.
|
72 |
* Use the information to determine ideal targets for incoming links or ideal sources of outgoing links.
|
73 |
|
74 |
+
* **Deeplink Juggernaut** -- UPDATED in Version 2.2
|
75 |
* Automatically link phrases in your posts/pages to given URLs.
|
76 |
* Use the power of anchor text to boost your internal ranking paradigm.
|
77 |
+
* Control the maximum number of autolinks added to each post/page.
|
78 |
|
79 |
* **Settings Manager**
|
80 |
* Export your SEO Ultimate settings to a file and re-import later if desired.
|
586 |
|
587 |
== Changelog ==
|
588 |
|
589 |
+
= Version 2.2 (May 24, 2010) =
|
590 |
+
* Feature: Deeplink Juggernaut now has a links-per-post limiter option
|
591 |
+
* Bugfix: The current tab is now maintained when submitting a tabbed form twice in a row
|
592 |
+
* Bugfix: When a module page reloads after submitting a tabbed form, the screen no longer jumps part-way down the page
|
593 |
+
|
594 |
= Version 2.1.1 (May 19, 2010) =
|
595 |
* Bugfix: Fixed "get_table_name" fatal error that appeared when upgrading certain configurations
|
596 |
* Bugfix: Restored missing success/error messages for import/reset functions
|
614 |
* Improvement: Added blank index.php files to module directories to prevent indexing/snooping of directory listings
|
615 |
* Feature: You can now hide 404 Monitor columns with the new "Screen Options" dropdown
|
616 |
* Bugfix: Removed duplicate excerpt ellipses from Whitepapers module
|
617 |
+
* Known Issue: If you had previously disabled 404 Monitor in version 2.0 or earlier, it will re-enable itself when upgrading to version 2.1 or later. The workaround is to re-disable 404 Monitor from the Module Manager after upgrading.
|
618 |
|
619 |
= Version 2.0 (April 29, 2010) =
|
620 |
* Feature: Title Rewriter can now edit the title tags of post tag archives
|
screenshot-2.png
CHANGED
Binary file
|
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, meta data, slugs, canonical tags, "more" links, 404 error tracking, and more.
|
6 |
-
Version: 2.
|
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.
|
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.
|
42 |
define("SU_AUTHOR", "SEO Design Solutions");
|
43 |
define("SU_AUTHOR_URI", "http://www.seodesignsolutions.com/");
|
44 |
-
define("SU_USER_AGENT", "SeoUltimate/2.
|
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, meta data, slugs, canonical tags, "more" links, 404 error tracking, and more.
|
6 |
+
Version: 2.2
|
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.2
|
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.2");
|
42 |
define("SU_AUTHOR", "SEO Design Solutions");
|
43 |
define("SU_AUTHOR_URI", "http://www.seodesignsolutions.com/");
|
44 |
+
define("SU_USER_AGENT", "SeoUltimate/2.2");
|
45 |
|
46 |
/********** INCLUDES **********/
|
47 |
|
seo-ultimate.pot
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
# Translation of the WordPress plugin SEO Ultimate 2.
|
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 2.
|
10 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/seo-ultimate\n"
|
11 |
-
"POT-Creation-Date: 2010-05-
|
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"
|
@@ -150,18 +150,39 @@ msgstr ""
|
|
150 |
msgid "Deeplink Juggernaut (Beta)"
|
151 |
msgstr ""
|
152 |
|
153 |
-
#: modules/autolinks/autolinks.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
msgid ""
|
155 |
"The Deeplink Juggernaut can automatically link post/page anchor text to "
|
156 |
"given URLs. This is a preview beta version. More functionality will be added "
|
157 |
"in future releases of SEO Ultimate."
|
158 |
msgstr ""
|
159 |
|
160 |
-
#: modules/autolinks/autolinks.php:
|
161 |
msgid "Anchor Text"
|
162 |
msgstr ""
|
163 |
|
164 |
-
#: modules/autolinks/autolinks.php:
|
165 |
msgid "URL"
|
166 |
msgstr ""
|
167 |
|
@@ -791,7 +812,7 @@ msgstr ""
|
|
791 |
msgid "SEO Design Solutions Whitepapers"
|
792 |
msgstr ""
|
793 |
|
794 |
-
#. #-#-#-#-# plugin.pot (SEO Ultimate 2.
|
795 |
#. Author of the plugin/theme
|
796 |
#: modules/sds-blog/sds-blog.php:49
|
797 |
msgid "SEO Design Solutions"
|
@@ -832,7 +853,7 @@ msgstr ""
|
|
832 |
msgid "Manage Settings Data"
|
833 |
msgstr ""
|
834 |
|
835 |
-
#: modules/settings/settings-data.php:21 modules/settings/settings-data.php:
|
836 |
msgid "Import"
|
837 |
msgstr ""
|
838 |
|
@@ -860,45 +881,41 @@ msgid ""
|
|
860 |
"click the “Browse” button and select a file to import."
|
861 |
msgstr ""
|
862 |
|
863 |
-
#: modules/settings/settings-data.php:
|
864 |
-
msgid "All settings have been erased and defaults have been restored."
|
865 |
-
msgstr ""
|
866 |
-
|
867 |
-
#: modules/settings/settings-data.php:84
|
868 |
msgid "Import SEO Ultimate Settings File"
|
869 |
msgstr ""
|
870 |
|
871 |
-
#: modules/settings/settings-data.php:
|
872 |
msgid ""
|
873 |
"You can use this form to upload and import an SEO Ultimate settings file "
|
874 |
"stored on your computer. (Settings files can be created using the Export "
|
875 |
"tool.)"
|
876 |
msgstr ""
|
877 |
|
878 |
-
#: modules/settings/settings-data.php:
|
879 |
msgid ""
|
880 |
"Are you sure you want to import this settings file? This will overwrite your "
|
881 |
"current settings and cannot be undone."
|
882 |
msgstr ""
|
883 |
|
884 |
-
#: modules/settings/settings-data.php:
|
885 |
msgid "Import from Other Plugins"
|
886 |
msgstr ""
|
887 |
|
888 |
-
#: modules/settings/settings-data.php:
|
889 |
msgid ""
|
890 |
"You can import settings and data from these plugins. Clicking a plugin’"
|
891 |
"s name will take you to the importer page, where you can customize "
|
892 |
"parameters and start the import."
|
893 |
msgstr ""
|
894 |
|
895 |
-
#: modules/settings/settings-data.php:
|
896 |
msgid ""
|
897 |
"You can use the export tool to download an SEO Ultimate settings file to "
|
898 |
"your computer."
|
899 |
msgstr ""
|
900 |
|
901 |
-
#: modules/settings/settings-data.php:
|
902 |
msgid ""
|
903 |
"A settings file includes the data of every checkbox and textbox of every "
|
904 |
"installed module. It does NOT include site-specific data like logged 404s or "
|
@@ -906,22 +923,26 @@ msgid ""
|
|
906 |
"database backup, however)."
|
907 |
msgstr ""
|
908 |
|
909 |
-
#: modules/settings/settings-data.php:
|
910 |
msgid "Download Settings File"
|
911 |
msgstr ""
|
912 |
|
913 |
-
#: modules/settings/settings-data.php:
|
|
|
|
|
|
|
|
|
914 |
msgid ""
|
915 |
"You can erase all your SEO Ultimate settings and restore them to “"
|
916 |
"factory defaults” by clicking the button below."
|
917 |
msgstr ""
|
918 |
|
919 |
-
#: modules/settings/settings-data.php:
|
920 |
msgid ""
|
921 |
"Are you sure you want to erase all module settings? This cannot be undone."
|
922 |
msgstr ""
|
923 |
|
924 |
-
#: modules/settings/settings-data.php:
|
925 |
msgid "Restore Default Settings"
|
926 |
msgstr ""
|
927 |
|
@@ -933,9 +954,9 @@ msgstr ""
|
|
933 |
msgid "SEO Ultimate Plugin Settings"
|
934 |
msgstr ""
|
935 |
|
936 |
-
#. #-#-#-#-# plugin.pot (SEO Ultimate 2.
|
937 |
#. Plugin Name of the plugin/theme
|
938 |
-
#: modules/settings/settings.php:14 plugin/class.seo-ultimate.php:
|
939 |
msgid "SEO Ultimate"
|
940 |
msgstr ""
|
941 |
|
@@ -943,7 +964,7 @@ msgstr ""
|
|
943 |
msgid "Uninstaller"
|
944 |
msgstr ""
|
945 |
|
946 |
-
#: modules/settings/uninstall.php:18 plugin/class.seo-ultimate.php:
|
947 |
msgid "Uninstall"
|
948 |
msgstr ""
|
949 |
|
@@ -1182,34 +1203,34 @@ msgid ""
|
|
1182 |
"titles. "
|
1183 |
msgstr ""
|
1184 |
|
1185 |
-
#: plugin/class.seo-ultimate.php:
|
1186 |
msgid "SEO"
|
1187 |
msgstr ""
|
1188 |
|
1189 |
-
#: plugin/class.seo-ultimate.php:
|
1190 |
msgid "SEO Settings Help"
|
1191 |
msgstr ""
|
1192 |
|
1193 |
-
#: plugin/class.seo-ultimate.php:
|
1194 |
msgid "The SEO Settings box lets you customize these settings:"
|
1195 |
msgstr ""
|
1196 |
|
1197 |
-
#: plugin/class.seo-ultimate.php:
|
1198 |
msgid "(The SEO Settings box is part of the SEO Ultimate plugin.)"
|
1199 |
msgstr ""
|
1200 |
|
1201 |
-
#: plugin/class.seo-ultimate.php:
|
1202 |
#, php-format
|
1203 |
msgid ""
|
1204 |
"SEO Ultimate includes the functionality of %1$s. You may want to deactivate %"
|
1205 |
"1$s to avoid plugin conflicts."
|
1206 |
msgstr ""
|
1207 |
|
1208 |
-
#: plugin/class.seo-ultimate.php:
|
1209 |
msgid "Active Modules: "
|
1210 |
msgstr ""
|
1211 |
|
1212 |
-
#: plugin/class.seo-ultimate.php:
|
1213 |
msgid ""
|
1214 |
"<strong>SEO Ultimate Notice:</strong> Your blog is configured to block "
|
1215 |
"search engine spiders. To resolve this, <a href='options-privacy.php' "
|
@@ -1217,7 +1238,7 @@ msgid ""
|
|
1217 |
"everyone."
|
1218 |
msgstr ""
|
1219 |
|
1220 |
-
#: plugin/class.seo-ultimate.php:
|
1221 |
msgid "SEO Settings"
|
1222 |
msgstr ""
|
1223 |
|
@@ -1227,7 +1248,7 @@ msgstr ""
|
|
1227 |
|
1228 |
#. Description of the plugin/theme
|
1229 |
msgid ""
|
1230 |
-
"This all-in-one SEO plugin gives you control over
|
1231 |
"data, slugs, canonical tags, \"more\" links, 404 error tracking, and more."
|
1232 |
msgstr ""
|
1233 |
|
1 |
+
# Translation of the WordPress plugin SEO Ultimate 2.2 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 2.2\n"
|
10 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/seo-ultimate\n"
|
11 |
+
"POT-Creation-Date: 2010-05-24 21: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"
|
150 |
msgid "Deeplink Juggernaut (Beta)"
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: modules/autolinks/content-autolinks-settings.php:16
|
154 |
+
msgid "Content Deeplink Juggernaut Settings"
|
155 |
+
msgstr ""
|
156 |
+
|
157 |
+
#: modules/autolinks/content-autolinks-settings.php:17
|
158 |
+
msgid "Content Link Settings"
|
159 |
+
msgstr ""
|
160 |
+
|
161 |
+
#: modules/autolinks/content-autolinks-settings.php:21
|
162 |
+
#, php-format
|
163 |
+
msgid "Don’t add any more than %d autolinks per post/page/etc."
|
164 |
+
msgstr ""
|
165 |
+
|
166 |
+
#: modules/autolinks/content-autolinks.php:16
|
167 |
+
msgid "Content Deeplink Juggernaut"
|
168 |
+
msgstr ""
|
169 |
+
|
170 |
+
#: modules/autolinks/content-autolinks.php:17
|
171 |
+
msgid "Content Links"
|
172 |
+
msgstr ""
|
173 |
+
|
174 |
+
#: modules/autolinks/content-autolinks.php:74
|
175 |
msgid ""
|
176 |
"The Deeplink Juggernaut can automatically link post/page anchor text to "
|
177 |
"given URLs. This is a preview beta version. More functionality will be added "
|
178 |
"in future releases of SEO Ultimate."
|
179 |
msgstr ""
|
180 |
|
181 |
+
#: modules/autolinks/content-autolinks.php:93
|
182 |
msgid "Anchor Text"
|
183 |
msgstr ""
|
184 |
|
185 |
+
#: modules/autolinks/content-autolinks.php:94
|
186 |
msgid "URL"
|
187 |
msgstr ""
|
188 |
|
812 |
msgid "SEO Design Solutions Whitepapers"
|
813 |
msgstr ""
|
814 |
|
815 |
+
#. #-#-#-#-# plugin.pot (SEO Ultimate 2.2) #-#-#-#-#
|
816 |
#. Author of the plugin/theme
|
817 |
#: modules/sds-blog/sds-blog.php:49
|
818 |
msgid "SEO Design Solutions"
|
853 |
msgid "Manage Settings Data"
|
854 |
msgstr ""
|
855 |
|
856 |
+
#: modules/settings/settings-data.php:21 modules/settings/settings-data.php:91
|
857 |
msgid "Import"
|
858 |
msgstr ""
|
859 |
|
881 |
"click the “Browse” button and select a file to import."
|
882 |
msgstr ""
|
883 |
|
884 |
+
#: modules/settings/settings-data.php:83
|
|
|
|
|
|
|
|
|
885 |
msgid "Import SEO Ultimate Settings File"
|
886 |
msgstr ""
|
887 |
|
888 |
+
#: modules/settings/settings-data.php:86
|
889 |
msgid ""
|
890 |
"You can use this form to upload and import an SEO Ultimate settings file "
|
891 |
"stored on your computer. (Settings files can be created using the Export "
|
892 |
"tool.)"
|
893 |
msgstr ""
|
894 |
|
895 |
+
#: modules/settings/settings-data.php:90
|
896 |
msgid ""
|
897 |
"Are you sure you want to import this settings file? This will overwrite your "
|
898 |
"current settings and cannot be undone."
|
899 |
msgstr ""
|
900 |
|
901 |
+
#: modules/settings/settings-data.php:105
|
902 |
msgid "Import from Other Plugins"
|
903 |
msgstr ""
|
904 |
|
905 |
+
#: modules/settings/settings-data.php:107
|
906 |
msgid ""
|
907 |
"You can import settings and data from these plugins. Clicking a plugin’"
|
908 |
"s name will take you to the importer page, where you can customize "
|
909 |
"parameters and start the import."
|
910 |
msgstr ""
|
911 |
|
912 |
+
#: modules/settings/settings-data.php:127
|
913 |
msgid ""
|
914 |
"You can use the export tool to download an SEO Ultimate settings file to "
|
915 |
"your computer."
|
916 |
msgstr ""
|
917 |
|
918 |
+
#: modules/settings/settings-data.php:129
|
919 |
msgid ""
|
920 |
"A settings file includes the data of every checkbox and textbox of every "
|
921 |
"installed module. It does NOT include site-specific data like logged 404s or "
|
923 |
"database backup, however)."
|
924 |
msgstr ""
|
925 |
|
926 |
+
#: modules/settings/settings-data.php:132
|
927 |
msgid "Download Settings File"
|
928 |
msgstr ""
|
929 |
|
930 |
+
#: modules/settings/settings-data.php:138
|
931 |
+
msgid "All settings have been erased and defaults have been restored."
|
932 |
+
msgstr ""
|
933 |
+
|
934 |
+
#: modules/settings/settings-data.php:140
|
935 |
msgid ""
|
936 |
"You can erase all your SEO Ultimate settings and restore them to “"
|
937 |
"factory defaults” by clicking the button below."
|
938 |
msgstr ""
|
939 |
|
940 |
+
#: modules/settings/settings-data.php:143
|
941 |
msgid ""
|
942 |
"Are you sure you want to erase all module settings? This cannot be undone."
|
943 |
msgstr ""
|
944 |
|
945 |
+
#: modules/settings/settings-data.php:144
|
946 |
msgid "Restore Default Settings"
|
947 |
msgstr ""
|
948 |
|
954 |
msgid "SEO Ultimate Plugin Settings"
|
955 |
msgstr ""
|
956 |
|
957 |
+
#. #-#-#-#-# plugin.pot (SEO Ultimate 2.2) #-#-#-#-#
|
958 |
#. Plugin Name of the plugin/theme
|
959 |
+
#: modules/settings/settings.php:14 plugin/class.seo-ultimate.php:723
|
960 |
msgid "SEO Ultimate"
|
961 |
msgstr ""
|
962 |
|
964 |
msgid "Uninstaller"
|
965 |
msgstr ""
|
966 |
|
967 |
+
#: modules/settings/uninstall.php:18 plugin/class.seo-ultimate.php:1123
|
968 |
msgid "Uninstall"
|
969 |
msgstr ""
|
970 |
|
1203 |
"titles. "
|
1204 |
msgstr ""
|
1205 |
|
1206 |
+
#: plugin/class.seo-ultimate.php:723
|
1207 |
msgid "SEO"
|
1208 |
msgstr ""
|
1209 |
|
1210 |
+
#: plugin/class.seo-ultimate.php:1000
|
1211 |
msgid "SEO Settings Help"
|
1212 |
msgstr ""
|
1213 |
|
1214 |
+
#: plugin/class.seo-ultimate.php:1002
|
1215 |
msgid "The SEO Settings box lets you customize these settings:"
|
1216 |
msgstr ""
|
1217 |
|
1218 |
+
#: plugin/class.seo-ultimate.php:1004
|
1219 |
msgid "(The SEO Settings box is part of the SEO Ultimate plugin.)"
|
1220 |
msgstr ""
|
1221 |
|
1222 |
+
#: plugin/class.seo-ultimate.php:1059
|
1223 |
#, php-format
|
1224 |
msgid ""
|
1225 |
"SEO Ultimate includes the functionality of %1$s. You may want to deactivate %"
|
1226 |
"1$s to avoid plugin conflicts."
|
1227 |
msgstr ""
|
1228 |
|
1229 |
+
#: plugin/class.seo-ultimate.php:1143
|
1230 |
msgid "Active Modules: "
|
1231 |
msgstr ""
|
1232 |
|
1233 |
+
#: plugin/class.seo-ultimate.php:1204
|
1234 |
msgid ""
|
1235 |
"<strong>SEO Ultimate Notice:</strong> Your blog is configured to block "
|
1236 |
"search engine spiders. To resolve this, <a href='options-privacy.php' "
|
1238 |
"everyone."
|
1239 |
msgstr ""
|
1240 |
|
1241 |
+
#: plugin/class.seo-ultimate.php:1312
|
1242 |
msgid "SEO Settings"
|
1243 |
msgstr ""
|
1244 |
|
1248 |
|
1249 |
#. Description of the plugin/theme
|
1250 |
msgid ""
|
1251 |
+
"This all-in-one SEO plugin gives you control over title tags, noindex, meta "
|
1252 |
"data, slugs, canonical tags, \"more\" links, 404 error tracking, and more."
|
1253 |
msgstr ""
|
1254 |
|