Version Description
Download this release
Release Info
Developer | SEO Design Solutions |
Plugin | SEO Ultimate |
Version | 3.9 |
Comparing to | |
See all releases |
Code changes from version 3.8 to 3.9
- includes/jlfunctions/arr.php +2 -2
- includes/jlwp/screen-meta.php +10 -0
- modules/autolinks/content-autolinks.php +93 -16
- modules/class.su-module.php +51 -1
- modules/files/files.php +3 -2
- modules/meta/meta.php +3 -3
- modules/slugs/slugs.php +1 -1
- plugin/class.seo-ultimate.php +17 -10
- readme.txt +21 -4
- seo-ultimate.php +4 -4
- seo-ultimate.pot +83 -68
includes/jlfunctions/arr.php
CHANGED
@@ -94,8 +94,8 @@ class suarr {
|
|
94 |
}
|
95 |
|
96 |
function vklrsort(&$arr, $valuekey) {
|
97 |
-
$valuekey = sustr::preg_filter('A-Za-z0-9', $valuekey);
|
98 |
-
|
99 |
}
|
100 |
|
101 |
function flatten_values($arr, $value_keys) {
|
94 |
}
|
95 |
|
96 |
function vklrsort(&$arr, $valuekey) {
|
97 |
+
$valuekey = sustr::preg_filter('A-Za-z0-9 ', $valuekey);
|
98 |
+
uasort($arr, create_function('$a,$b', 'return strlen($b["'.$valuekey.'"]) - strlen($a["'.$valuekey.'"]);'));
|
99 |
}
|
100 |
|
101 |
function flatten_values($arr, $value_keys) {
|
includes/jlwp/screen-meta.php
CHANGED
@@ -49,12 +49,22 @@ $screen_meta = array(
|
|
49 |
<style type="text/css">
|
50 |
.screen-meta-toggle {
|
51 |
float: right;
|
|
|
52 |
background: transparent url( <?php bloginfo('wpurl'); ?>/wp-admin/images/screen-options-left.gif ) no-repeat 0 0;
|
|
|
|
|
|
|
53 |
font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif;
|
54 |
height: 22px;
|
55 |
padding: 0;
|
56 |
margin: 0 6px 0 0;
|
|
|
|
|
|
|
|
|
|
|
57 |
}
|
|
|
58 |
.screen-meta-wrap h5 {
|
59 |
margin: 8px 0;
|
60 |
font-size: 13px;
|
49 |
<style type="text/css">
|
50 |
.screen-meta-toggle {
|
51 |
float: right;
|
52 |
+
<?php global $wp_version; if (version_compare($wp_version, '3.0', '<')) { ?>
|
53 |
background: transparent url( <?php bloginfo('wpurl'); ?>/wp-admin/images/screen-options-left.gif ) no-repeat 0 0;
|
54 |
+
<?php } else { ?>
|
55 |
+
background: #e3e3e3;
|
56 |
+
<?php } ?>
|
57 |
font-family: "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif;
|
58 |
height: 22px;
|
59 |
padding: 0;
|
60 |
margin: 0 6px 0 0;
|
61 |
+
|
62 |
+
-moz-border-radius-bottomleft: 3px;
|
63 |
+
-moz-border-radius-bottomright: 3px;
|
64 |
+
-webkit-border-bottom-left-radius: 3px;
|
65 |
+
-webkit-border-bottom-right-radius: 3px;
|
66 |
}
|
67 |
+
|
68 |
.screen-meta-wrap h5 {
|
69 |
margin: 8px 0;
|
70 |
font-size: 13px;
|
modules/autolinks/content-autolinks.php
CHANGED
@@ -18,17 +18,22 @@ class SU_ContentAutolinks extends SU_Module {
|
|
18 |
|
19 |
function get_default_settings() {
|
20 |
return array(
|
21 |
-
|
|
|
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');
|
@@ -53,16 +58,21 @@ class SU_ContentAutolinks extends SU_Module {
|
|
53 |
|
54 |
if ($type == 'url')
|
55 |
$url = $to_id;
|
56 |
-
elseif (($posttype = sustr::ltrim_str($type, 'posttype_')) != $type)
|
57 |
-
$
|
58 |
-
|
|
|
|
|
|
|
|
|
|
|
59 |
continue;
|
60 |
|
61 |
$rel = $data['nofollow'] ? ' rel="nofollow"' : '';
|
62 |
$target = ($data['target'] == 'blank') ? ' target="_blank"' : '';
|
63 |
$title = strlen($titletext = $data['title']) ? " title=\"$titletext\"" : '';
|
64 |
|
65 |
-
$link = "<a
|
66 |
|
67 |
$content = sustr::htmlsafe_str_replace($anchor, $link, $content, $limit_enabled ? 1 : -1, $count);
|
68 |
|
@@ -84,8 +94,7 @@ class SU_ContentAutolinks extends SU_Module {
|
|
84 |
_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');
|
85 |
echo "</p>\n";
|
86 |
|
87 |
-
$links = $this->get_setting('links');
|
88 |
-
if (!is_array($links)) $links = array();
|
89 |
$num_links = count($links);
|
90 |
|
91 |
if ($this->is_action('update')) {
|
@@ -94,9 +103,10 @@ class SU_ContentAutolinks extends SU_Module {
|
|
94 |
|
95 |
for ($i=0; $i <= $num_links; $i++) {
|
96 |
|
|
|
97 |
$anchor = stripslashes($_POST["link_{$i}_anchor"]);
|
98 |
-
$to_type= stripslashes($_POST["link_{$i}
|
99 |
-
$to_id = stripslashes($_POST["link_{$i}_to_id_{$to_type}"]);
|
100 |
$title = stripslashes($_POST["link_{$i}_title"]);
|
101 |
|
102 |
$target = stripslashes($_POST["link_{$i}_target"]);
|
@@ -142,7 +152,12 @@ class SU_ContentAutolinks extends SU_Module {
|
|
142 |
$posttypes = array();
|
143 |
$posts = array();
|
144 |
foreach ($posttypeobjs as $posttypeobj) {
|
145 |
-
|
|
|
|
|
|
|
|
|
|
|
146 |
if (count($typeposts)) {
|
147 |
$posttypes['posttype_'.$posttypeobj->name] = $posttypeobj->labels->singular_name;
|
148 |
$posts['posttype_'.$posttypeobj->name] = suarr::simplify($typeposts, 'ID', 'post_title');
|
@@ -153,25 +168,28 @@ class SU_ContentAutolinks extends SU_Module {
|
|
153 |
$i = $start_id;
|
154 |
foreach ($links as $link) {
|
155 |
|
|
|
|
|
156 |
$postdropdowns = array();
|
157 |
foreach ($posts as $posttype => $typeposts) {
|
158 |
$typeposts = array(0 => '') + $typeposts; //Maintains numeric array keys, unlike array_unshift or array_merge
|
159 |
-
$postdropdowns[$posttype] = $this->get_input_element('dropdown', "link_{$i}_to_id_$posttype", $link['to_id'], $typeposts);
|
160 |
}
|
161 |
|
162 |
$cells = array(
|
163 |
-
'link-anchor' => $this->get_input_element('
|
164 |
-
|
|
|
165 |
__('Custom', 'seo-ultimate') => array('url' => __('URL', 'seo-ultimate'))
|
166 |
, __('Content Items', 'seo-ultimate') => $posttypes
|
167 |
))
|
168 |
-
, 'link-to_id' => $this->get_admin_form_subsections("link_{$i}
|
169 |
'url' => $this->get_input_element('textbox', "link_{$i}_to_id_url", ($link['to_type'] == 'url') ? $link['to_id'] : '')
|
170 |
), $postdropdowns))
|
171 |
, 'link-title' => $this->get_input_element('textbox', "link_{$i}_title", $link['title'])
|
172 |
, 'link-options' =>
|
173 |
$this->get_input_element('checkbox', "link_{$i}_nofollow", $link['nofollow'], __('Nofollow', 'seo-ultimate'))
|
174 |
-
.$this->get_input_element('checkbox', "link_{$i}_target", $link['target'], __('New window', 'seo-ultimate'))
|
175 |
);
|
176 |
if ($delete_option)
|
177 |
$cells['link-delete'] = $this->get_input_element('checkbox', "link_{$i}_delete");
|
@@ -183,6 +201,65 @@ class SU_ContentAutolinks extends SU_Module {
|
|
183 |
|
184 |
$this->admin_wftable_end();
|
185 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
186 |
}
|
187 |
|
188 |
}
|
18 |
|
19 |
function get_default_settings() {
|
20 |
return array(
|
21 |
+
'limit_lpp_value' => 5
|
22 |
+
//, 'enable_self_links' => false
|
23 |
);
|
24 |
}
|
25 |
|
26 |
function init() {
|
27 |
add_filter('the_content', array(&$this, 'autolink_content'));
|
28 |
+
|
29 |
+
add_filter('su_postmeta_help', array(&$this, 'postmeta_help'), 35);
|
30 |
+
add_filter('su_get_postmeta-autolinks', array(&$this, 'get_post_autolinks'), 10, 3);
|
31 |
+
add_filter('su_custom_update_postmeta-autolinks', array(&$this, 'save_post_autolinks'), 10, 4);
|
32 |
}
|
33 |
|
34 |
function autolink_content($content) {
|
35 |
|
36 |
+
$links = $this->get_setting('links', array());
|
37 |
if (!count($links)) return $content;
|
38 |
|
39 |
suarr::vklrsort($links, 'anchor');
|
58 |
|
59 |
if ($type == 'url')
|
60 |
$url = $to_id;
|
61 |
+
elseif (($posttype = sustr::ltrim_str($type, 'posttype_')) != $type) {
|
62 |
+
$to_id = (int)$to_id;
|
63 |
+
if (get_post_status($to_id) != 'publish') continue;
|
64 |
+
$url = get_permalink($to_id);
|
65 |
+
} else
|
66 |
+
continue;
|
67 |
+
|
68 |
+
if (!$this->get_setting('enable_self_links', false) && $url == suurl::current())
|
69 |
continue;
|
70 |
|
71 |
$rel = $data['nofollow'] ? ' rel="nofollow"' : '';
|
72 |
$target = ($data['target'] == 'blank') ? ' target="_blank"' : '';
|
73 |
$title = strlen($titletext = $data['title']) ? " title=\"$titletext\"" : '';
|
74 |
|
75 |
+
$link = "<a href=\"$url\"$title$rel$target>$1</a>";
|
76 |
|
77 |
$content = sustr::htmlsafe_str_replace($anchor, $link, $content, $limit_enabled ? 1 : -1, $count);
|
78 |
|
94 |
_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');
|
95 |
echo "</p>\n";
|
96 |
|
97 |
+
$links = $this->get_setting('links', array());
|
|
|
98 |
$num_links = count($links);
|
99 |
|
100 |
if ($this->is_action('update')) {
|
103 |
|
104 |
for ($i=0; $i <= $num_links; $i++) {
|
105 |
|
106 |
+
$guid = stripslashes($_POST['_link_guid']);
|
107 |
$anchor = stripslashes($_POST["link_{$i}_anchor"]);
|
108 |
+
$to_type= stripslashes($_POST["link_{$i}_to_type__{$guid}"]);
|
109 |
+
$to_id = stripslashes($_POST["link_{$i}_to_id_{$to_type}__{$guid}"]);
|
110 |
$title = stripslashes($_POST["link_{$i}_title"]);
|
111 |
|
112 |
$target = stripslashes($_POST["link_{$i}_target"]);
|
152 |
$posttypes = array();
|
153 |
$posts = array();
|
154 |
foreach ($posttypeobjs as $posttypeobj) {
|
155 |
+
|
156 |
+
$stati = get_available_post_statuses($posttypeobj->name);
|
157 |
+
suarr::remove_value($stati, 'auto-draft');
|
158 |
+
$stati = implode(',', $stati);
|
159 |
+
|
160 |
+
$typeposts = get_posts("post_status=$stati&numberposts=-1&post_type=".$posttypeobj->name);
|
161 |
if (count($typeposts)) {
|
162 |
$posttypes['posttype_'.$posttypeobj->name] = $posttypeobj->labels->singular_name;
|
163 |
$posts['posttype_'.$posttypeobj->name] = suarr::simplify($typeposts, 'ID', 'post_title');
|
168 |
$i = $start_id;
|
169 |
foreach ($links as $link) {
|
170 |
|
171 |
+
$guid = substr(md5(time()), 0, 10);
|
172 |
+
|
173 |
$postdropdowns = array();
|
174 |
foreach ($posts as $posttype => $typeposts) {
|
175 |
$typeposts = array(0 => '') + $typeposts; //Maintains numeric array keys, unlike array_unshift or array_merge
|
176 |
+
$postdropdowns[$posttype] = $this->get_input_element('dropdown', "link_{$i}_to_id_{$posttype}__$guid", $link['to_id'], $typeposts);
|
177 |
}
|
178 |
|
179 |
$cells = array(
|
180 |
+
'link-anchor' => $this->get_input_element('hidden', '_link_guid', $guid)
|
181 |
+
. $this->get_input_element('textbox', "link_{$i}_anchor", $link['anchor'])
|
182 |
+
, 'link-to_type' => $this->get_input_element('dropdown', "link_{$i}_to_type__$guid", $link['to_type'], array(
|
183 |
__('Custom', 'seo-ultimate') => array('url' => __('URL', 'seo-ultimate'))
|
184 |
, __('Content Items', 'seo-ultimate') => $posttypes
|
185 |
))
|
186 |
+
, 'link-to_id' => $this->get_admin_form_subsections("link_{$i}_to_type__$guid", $link['to_type'] ? $link['to_type'] : 'url', array_merge(array(
|
187 |
'url' => $this->get_input_element('textbox', "link_{$i}_to_id_url", ($link['to_type'] == 'url') ? $link['to_id'] : '')
|
188 |
), $postdropdowns))
|
189 |
, 'link-title' => $this->get_input_element('textbox', "link_{$i}_title", $link['title'])
|
190 |
, 'link-options' =>
|
191 |
$this->get_input_element('checkbox', "link_{$i}_nofollow", $link['nofollow'], __('Nofollow', 'seo-ultimate'))
|
192 |
+
.$this->get_input_element('checkbox', "link_{$i}_target", $link['target'] != 'self', __('New window', 'seo-ultimate'))
|
193 |
);
|
194 |
if ($delete_option)
|
195 |
$cells['link-delete'] = $this->get_input_element('checkbox', "link_{$i}_delete");
|
201 |
|
202 |
$this->admin_wftable_end();
|
203 |
}
|
204 |
+
|
205 |
+
function get_post_autolinks($value, $key, $post) {
|
206 |
+
$links = $this->get_setting('links', array());
|
207 |
+
$postlinks = '';
|
208 |
+
foreach ($links as $link_data) {
|
209 |
+
if ($link_data['to_type'] == 'posttype_'.$post->post_type && $link_data['to_id'] == $post->ID)
|
210 |
+
$postlinks .= $link_data['anchor']."\r\n";
|
211 |
+
}
|
212 |
+
return trim($postlinks);
|
213 |
+
}
|
214 |
+
|
215 |
+
function save_post_autolinks($false, $value, $metakey, $post) {
|
216 |
+
if ($post->post_type == 'revision') return true;
|
217 |
+
|
218 |
+
$links = $this->get_setting('links', array());
|
219 |
+
$new_links = array();
|
220 |
+
|
221 |
+
$keep_anchors = array();
|
222 |
+
$others_anchors = array();
|
223 |
+
$new_anchors = suarr::explode_lines($value);
|
224 |
+
|
225 |
+
foreach ($links as $link_data) {
|
226 |
+
if ($link_data['to_type'] == 'posttype_'.$post->post_type && $link_data['to_id'] == $post->ID) {
|
227 |
+
if (in_array($link_data['anchor'], $new_anchors)) {
|
228 |
+
$keep_anchors[] = $link_data['anchor'];
|
229 |
+
$new_links[] = $link_data;
|
230 |
+
}
|
231 |
+
} else {
|
232 |
+
$others_anchors[] = $link_data['anchor'];
|
233 |
+
$new_links[] = $link_data;
|
234 |
+
}
|
235 |
+
}
|
236 |
+
|
237 |
+
$anchors_to_add = array_diff($new_anchors, $keep_anchors, $others_anchors);
|
238 |
+
|
239 |
+
foreach ($anchors_to_add as $anchor_to_add)
|
240 |
+
$new_links[] = array(
|
241 |
+
'anchor' => $anchor_to_add
|
242 |
+
, 'to_type' => 'posttype_'.$post->post_type
|
243 |
+
, 'to_id' => $post->ID
|
244 |
+
, 'title' => ''
|
245 |
+
, 'nofollow' => false
|
246 |
+
, 'target' => 'self'
|
247 |
+
);
|
248 |
+
|
249 |
+
$this->update_setting('links', $new_links);
|
250 |
+
|
251 |
+
return true;
|
252 |
+
}
|
253 |
+
|
254 |
+
function postmeta_fields($fields) {
|
255 |
+
$fields['35|autolinks'] = $this->get_postmeta_textarea('autolinks', __('Incoming Autolink Anchors:<br /><em>(one per line)</em>', 'seo-ultimate'));
|
256 |
+
return $fields;
|
257 |
+
}
|
258 |
+
|
259 |
+
function postmeta_help($help) {
|
260 |
+
$help[] = __('<strong>Incoming Autolink Anchors</strong> — When you enter anchors into this box, Deeplink Juggernaut will search for that anchor in all your other posts and link it to this post. For example, if the post you’re editing is about “blue widgets,” you could type “blue widgets” into the “Incoming Autolink Anchors” box and Deeplink Juggernaut will automatically build internal links to this post with that anchor text (assuming other posts contain that text).', 'seo-ultimate');
|
261 |
+
return $help;
|
262 |
+
}
|
263 |
}
|
264 |
|
265 |
}
|
modules/class.su-module.php
CHANGED
@@ -282,6 +282,13 @@ class SU_Module {
|
|
282 |
*/
|
283 |
function is_menu_default() { return false; }
|
284 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
285 |
/**
|
286 |
* Called at WordPress's init hook.
|
287 |
*
|
@@ -1266,6 +1273,9 @@ class SU_Module {
|
|
1266 |
if (is_array($extra))
|
1267 |
return "<select name='$name'$inputid onchange='javascript:su_toggle_select_children(this)' class='dropdown'>".suhtml::option_tags($extra, $value)."</select>";
|
1268 |
break;
|
|
|
|
|
|
|
1269 |
}
|
1270 |
|
1271 |
return '';
|
@@ -1954,7 +1964,7 @@ class SU_Module {
|
|
1954 |
* @return bool Whether or not the action is being executed.
|
1955 |
*/
|
1956 |
function is_action($action) {
|
1957 |
-
if (!($object = $_GET['object'])) $object = false;
|
1958 |
return (
|
1959 |
(
|
1960 |
( strcasecmp($_GET['page'], $this->plugin->key_to_hook($this->get_module_key())) == 0 ) //Is $this module being shown?
|
@@ -2170,6 +2180,46 @@ class SU_Module {
|
|
2170 |
return $this->get_postmeta_textboxes(array($id => $title));
|
2171 |
}
|
2172 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2173 |
/**
|
2174 |
* Generates the HTML for a group of post meta checkboxes.
|
2175 |
*
|
282 |
*/
|
283 |
function is_menu_default() { return false; }
|
284 |
|
285 |
+
/**
|
286 |
+
* Called after the module has been constructed and its variables have been filled.
|
287 |
+
*
|
288 |
+
* @since 3.9
|
289 |
+
*/
|
290 |
+
function load() {}
|
291 |
+
|
292 |
/**
|
293 |
* Called at WordPress's init hook.
|
294 |
*
|
1273 |
if (is_array($extra))
|
1274 |
return "<select name='$name'$inputid onchange='javascript:su_toggle_select_children(this)' class='dropdown'>".suhtml::option_tags($extra, $value)."</select>";
|
1275 |
break;
|
1276 |
+
case 'hidden':
|
1277 |
+
return "<input name='$name'$inputid value='$value' type='hidden' />";
|
1278 |
+
break;
|
1279 |
}
|
1280 |
|
1281 |
return '';
|
1964 |
* @return bool Whether or not the action is being executed.
|
1965 |
*/
|
1966 |
function is_action($action) {
|
1967 |
+
if (!isset($_GET['object']) || !($object = $_GET['object'])) $object = false;
|
1968 |
return (
|
1969 |
(
|
1970 |
( strcasecmp($_GET['page'], $this->plugin->key_to_hook($this->get_module_key())) == 0 ) //Is $this module being shown?
|
2180 |
return $this->get_postmeta_textboxes(array($id => $title));
|
2181 |
}
|
2182 |
|
2183 |
+
/**
|
2184 |
+
* Generates the HTML for multiple post meta textareas.
|
2185 |
+
*
|
2186 |
+
* @since 3.9
|
2187 |
+
* @uses get_postmeta()
|
2188 |
+
*
|
2189 |
+
* @param array $textareas An array of textareas. (Field/setting IDs are the keys, and descriptions are the values.)
|
2190 |
+
* @return string The HTML that would render the textareas.
|
2191 |
+
*/
|
2192 |
+
function get_postmeta_textareas($textareas) {
|
2193 |
+
|
2194 |
+
$html = '';
|
2195 |
+
|
2196 |
+
foreach ($textareas as $id => $title) {
|
2197 |
+
|
2198 |
+
register_setting('seo-ultimate', $id);
|
2199 |
+
$value = su_esc_editable_html($this->get_postmeta($id));
|
2200 |
+
$id = "_su_".su_esc_attr($id);
|
2201 |
+
|
2202 |
+
$html .= "<tr class='textarea' valign='top'>\n<th scope='row'><label for='$id'>$title</label></th>\n"
|
2203 |
+
."<td><textarea name='$id' id='$id' class='regular-text' tabindex='2' cols='60' rows='3'>$value</textarea></td>\n</tr>\n";
|
2204 |
+
}
|
2205 |
+
|
2206 |
+
return $html;
|
2207 |
+
}
|
2208 |
+
|
2209 |
+
/**
|
2210 |
+
* Generates the HTML for a single post meta textarea.
|
2211 |
+
*
|
2212 |
+
* @since 3.9
|
2213 |
+
* @uses get_postmeta_textareas()
|
2214 |
+
*
|
2215 |
+
* @param string $id The ID of the HTML element.
|
2216 |
+
* @param string $title The label of the HTML element.
|
2217 |
+
* @return string The HTML that would render the textarea.
|
2218 |
+
*/
|
2219 |
+
function get_postmeta_textarea($id, $title) {
|
2220 |
+
return $this->get_postmeta_textareas(array($id => $title));
|
2221 |
+
}
|
2222 |
+
|
2223 |
/**
|
2224 |
* Generates the HTML for a group of post meta checkboxes.
|
2225 |
*
|
modules/files/files.php
CHANGED
@@ -37,6 +37,7 @@ class SU_Files extends SU_Module {
|
|
37 |
|
38 |
//Initialize variables
|
39 |
$exists = $writable = false;
|
|
|
40 |
|
41 |
//Does the server run Apache?
|
42 |
if ($is_apache) {
|
@@ -48,7 +49,7 @@ class SU_Files extends SU_Module {
|
|
48 |
$exists = file_exists($htaccess);
|
49 |
$writable = is_writable($htaccess);
|
50 |
|
51 |
-
if ($exists && !$writable) $this->queue_message('warning',
|
52 |
__('A .htaccess file exists, but it’s not writable. You can edit it here once the file permissions are corrected.', 'seo-ultimate'));
|
53 |
}
|
54 |
|
@@ -74,7 +75,7 @@ class SU_Files extends SU_Module {
|
|
74 |
__('Please realize that incorrectly editing your robots.txt file could block search engines from your site.', 'seo-ultimate'));
|
75 |
|
76 |
//Of course, only bother with htaccess if we're running Apache.
|
77 |
-
if ($is_apache && ($writable || !$exists)) {
|
78 |
$this->textarea('htaccess', __('.htaccess', 'seo-ultimate'));
|
79 |
|
80 |
$this->queue_message('warning',
|
37 |
|
38 |
//Initialize variables
|
39 |
$exists = $writable = false;
|
40 |
+
$is_super_admin = !function_exists('is_super_admin') || !function_exists('is_multisite') || (is_multisite() && is_super_admin());
|
41 |
|
42 |
//Does the server run Apache?
|
43 |
if ($is_apache) {
|
49 |
$exists = file_exists($htaccess);
|
50 |
$writable = is_writable($htaccess);
|
51 |
|
52 |
+
if ($is_super_admin && $exists && !$writable) $this->queue_message('warning',
|
53 |
__('A .htaccess file exists, but it’s not writable. You can edit it here once the file permissions are corrected.', 'seo-ultimate'));
|
54 |
}
|
55 |
|
75 |
__('Please realize that incorrectly editing your robots.txt file could block search engines from your site.', 'seo-ultimate'));
|
76 |
|
77 |
//Of course, only bother with htaccess if we're running Apache.
|
78 |
+
if ($is_super_admin && $is_apache && ($writable || !$exists)) {
|
79 |
$this->textarea('htaccess', __('.htaccess', 'seo-ultimate'));
|
80 |
|
81 |
$this->queue_message('warning',
|
modules/meta/meta.php
CHANGED
@@ -80,7 +80,7 @@ class SU_Meta extends SU_Module {
|
|
80 |
|
81 |
$fields['20|description|keywords'] =
|
82 |
"<tr class='textarea' valign='top'>\n<th scope='row'><label for='$id'>".__('Meta Description:', 'seo-ultimate')."</label></th>\n"
|
83 |
-
. "<td><textarea name='$id' id='$id'
|
84 |
. " onkeyup=\"javascript:document.getElementById('su_meta_description_charcount').innerHTML = document.getElementById('_su_description').value.length\">$value</textarea>"
|
85 |
. "<br />".sprintf(__('You’ve entered %s characters. Most search engines use up to 160.', 'seo-ultimate'), "<strong id='su_meta_description_charcount'>".strlen($value)."</strong>")
|
86 |
. "</td>\n</tr>\n"
|
@@ -91,8 +91,8 @@ class SU_Meta extends SU_Module {
|
|
91 |
}
|
92 |
|
93 |
function postmeta_help($help) {
|
94 |
-
$help[] = __('<strong>Description
|
95 |
-
$help[] = __('<strong>Keywords
|
96 |
return $help;
|
97 |
}
|
98 |
|
80 |
|
81 |
$fields['20|description|keywords'] =
|
82 |
"<tr class='textarea' valign='top'>\n<th scope='row'><label for='$id'>".__('Meta Description:', 'seo-ultimate')."</label></th>\n"
|
83 |
+
. "<td><textarea name='$id' id='$id' class='regular-text' cols='60' rows='3' tabindex='2'"
|
84 |
. " onkeyup=\"javascript:document.getElementById('su_meta_description_charcount').innerHTML = document.getElementById('_su_description').value.length\">$value</textarea>"
|
85 |
. "<br />".sprintf(__('You’ve entered %s characters. Most search engines use up to 160.', 'seo-ultimate'), "<strong id='su_meta_description_charcount'>".strlen($value)."</strong>")
|
86 |
. "</td>\n</tr>\n"
|
91 |
}
|
92 |
|
93 |
function postmeta_help($help) {
|
94 |
+
$help[] = __('<strong>Description</strong> — The value of the meta description tag. The description will often appear underneath the title in search engine results. Writing an accurate, attention-grabbing description for every post is important to ensuring a good search results clickthrough rate.', 'seo-ultimate');
|
95 |
+
$help[] = __('<strong>Keywords</strong> — The value of the meta keywords tag. The keywords list gives search engines a hint as to what this post/page is about. Be sure to separate keywords with commas, like so: <samp>one,two,three</samp>.', 'seo-ultimate');
|
96 |
return $help;
|
97 |
}
|
98 |
|
modules/slugs/slugs.php
CHANGED
@@ -22,7 +22,7 @@ class SU_Slugs extends SU_Module {
|
|
22 |
add_filter('name_save_pre', array(&$this, 'optimize_slug'), 0);
|
23 |
|
24 |
//Only sanitize if a permalink is being requested via AJAX
|
25 |
-
if ($_POST['action'] == 'sample-permalink')
|
26 |
//The filter priority is very important to ensure our function runs before WordPress's sanitize_title_with_dashes() function
|
27 |
add_filter('sanitize_title', array(&$this, 'optimize_slug_ajax'), 9);
|
28 |
}
|
22 |
add_filter('name_save_pre', array(&$this, 'optimize_slug'), 0);
|
23 |
|
24 |
//Only sanitize if a permalink is being requested via AJAX
|
25 |
+
if (isset($_POST['action']) && $_POST['action'] == 'sample-permalink')
|
26 |
//The filter priority is very important to ensure our function runs before WordPress's sanitize_title_with_dashes() function
|
27 |
add_filter('sanitize_title', array(&$this, 'optimize_slug_ajax'), 9);
|
28 |
}
|
plugin/class.seo-ultimate.php
CHANGED
@@ -479,6 +479,9 @@ class SEO_Ultimate {
|
|
479 |
|
480 |
//Give the module this plugin's object by reference
|
481 |
$this->modules[$module]->plugin =& $this;
|
|
|
|
|
|
|
482 |
}
|
483 |
} //If this isn't a module, then the file will simply be included as-is
|
484 |
}
|
@@ -502,8 +505,10 @@ class SEO_Ultimate {
|
|
502 |
$this->modules[$key]->activate();
|
503 |
$newmodules[$key] = $this->modules[$key]->get_default_status();
|
504 |
}
|
505 |
-
|
506 |
-
|
|
|
|
|
507 |
$newmodules[$key] = $newmodules[$module_parent];
|
508 |
}
|
509 |
|
@@ -791,7 +796,7 @@ class SEO_Ultimate {
|
|
791 |
|
792 |
//If we have alerts that need a bubble, then return the bubble HTML.
|
793 |
if ($count > 0)
|
794 |
-
return "
|
795 |
else
|
796 |
return '';
|
797 |
}
|
@@ -1467,13 +1472,15 @@ class SEO_Ultimate {
|
|
1467 |
|
1468 |
$metakey = "_su_$field";
|
1469 |
|
1470 |
-
$value = $_POST[$metakey];
|
1471 |
-
if (
|
1472 |
-
|
1473 |
-
|
1474 |
-
|
1475 |
-
|
1476 |
-
|
|
|
|
|
1477 |
}
|
1478 |
}
|
1479 |
|
479 |
|
480 |
//Give the module this plugin's object by reference
|
481 |
$this->modules[$module]->plugin =& $this;
|
482 |
+
|
483 |
+
//Call post-construction function
|
484 |
+
$this->modules[$module]->load();
|
485 |
}
|
486 |
} //If this isn't a module, then the file will simply be included as-is
|
487 |
}
|
505 |
$this->modules[$key]->activate();
|
506 |
$newmodules[$key] = $this->modules[$key]->get_default_status();
|
507 |
}
|
508 |
+
}
|
509 |
+
|
510 |
+
foreach ($this->modules as $key => $module) {
|
511 |
+
if (($module_parent = $this->modules[$key]->get_parent_module()) && !$this->modules[$key]->is_independent_module())
|
512 |
$newmodules[$key] = $newmodules[$module_parent];
|
513 |
}
|
514 |
|
796 |
|
797 |
//If we have alerts that need a bubble, then return the bubble HTML.
|
798 |
if ($count > 0)
|
799 |
+
return "<span class='update-plugins count-$count'><span class='plugin-count'>".number_format_i18n($count)."</span></span>";
|
800 |
else
|
801 |
return '';
|
802 |
}
|
1472 |
|
1473 |
$metakey = "_su_$field";
|
1474 |
|
1475 |
+
$value = stripslashes($_POST[$metakey]);
|
1476 |
+
if (!apply_filters("su_custom_update_postmeta-$field", false, $value, $metakey, $post)) {
|
1477 |
+
if (empty($value))
|
1478 |
+
//Delete the old value
|
1479 |
+
delete_post_meta($post_id, $metakey);
|
1480 |
+
else
|
1481 |
+
//Add the new value
|
1482 |
+
update_post_meta($post_id, $metakey, $value);
|
1483 |
+
}
|
1484 |
}
|
1485 |
}
|
1486 |
|
readme.txt
CHANGED
@@ -3,19 +3,19 @@ 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, import, export, CSV
|
4 |
Requires at least: 2.8
|
5 |
Tested up to: 3.0
|
6 |
-
Stable tag: 3.
|
7 |
|
8 |
-
This all-in-one SEO plugin gives you control over titles, noindex/nofollow, meta tags, slugs, canonical tags,
|
9 |
|
10 |
== Description ==
|
11 |
|
12 |
= Recent Releases =
|
13 |
|
|
|
14 |
* Version 3.8 adds direct post/page link support to Deeplink Juggernaut
|
15 |
* Version 3.7 adds the "SEO Settings" box to custom post type editors
|
16 |
* Version 3.6 adds a maximum log size option to 404 Monitor
|
17 |
* Version 3.5 adds the Sharing Facilitator module
|
18 |
-
* Version 3.4 adds the option to ignore 404s from specific URLs or wildcard URL patterns
|
19 |
|
20 |
= Features =
|
21 |
|
@@ -76,12 +76,15 @@ SEO Ultimate is an all-in-one [SEO](http://www.seodesignsolutions.com/) plugin w
|
|
76 |
* Determine which of your webpages Google most strongly associates with the keywords you specify.
|
77 |
* Use the information to determine ideal targets for incoming links or ideal sources of outgoing links.
|
78 |
|
79 |
-
* **Deeplink Juggernaut** -- UPDATED in Version 3.
|
80 |
* Automatically link phrases in your posts/pages to other posts/pages or to custom URLs.
|
81 |
* Use the power of anchor text to boost your internal ranking SEO paradigm.
|
82 |
* Control the maximum number of autolinks added to each post/page.
|
83 |
* Apply the nofollow attribute on a per-link basis. (Perfect for automatic affiliate links.)
|
84 |
* Import/export your links as CSV files.
|
|
|
|
|
|
|
85 |
|
86 |
* **Code Inserter**
|
87 |
* Easily insert custom HTML into your site's `<head>` tag, footer, or item content.
|
@@ -204,6 +207,20 @@ Frequently asked questions, settings help, and troubleshooting tips for SEO Ulti
|
|
204 |
|
205 |
== Changelog ==
|
206 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
207 |
= Version 3.8 (July 30, 2010) =
|
208 |
* Feature: Deeplink Juggernaut can now link directly to posts/pages (and custom post types) in addition to arbitrary URLs
|
209 |
* Bugfix: Readded SEO Ultimate upgrade info to the `Dashboard > Updates` (or `Tools > Upgrade`) page, fixing a feature regression introduced in version 3.1
|
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, import, export, CSV
|
4 |
Requires at least: 2.8
|
5 |
Tested up to: 3.0
|
6 |
+
Stable tag: 3.9
|
7 |
|
8 |
+
This all-in-one SEO plugin gives you control over titles, noindex/nofollow, meta tags, slugs, canonical tags, autolinks, 404 errors, rich snippets, and more.
|
9 |
|
10 |
== Description ==
|
11 |
|
12 |
= Recent Releases =
|
13 |
|
14 |
+
* Version 3.9 adds the ability to build internal links to posts from within the WordPress post editor (as well as other Deeplink Juggernaut improvements)
|
15 |
* Version 3.8 adds direct post/page link support to Deeplink Juggernaut
|
16 |
* Version 3.7 adds the "SEO Settings" box to custom post type editors
|
17 |
* Version 3.6 adds a maximum log size option to 404 Monitor
|
18 |
* Version 3.5 adds the Sharing Facilitator module
|
|
|
19 |
|
20 |
= Features =
|
21 |
|
76 |
* Determine which of your webpages Google most strongly associates with the keywords you specify.
|
77 |
* Use the information to determine ideal targets for incoming links or ideal sources of outgoing links.
|
78 |
|
79 |
+
* **Deeplink Juggernaut** -- UPDATED in Version 3.9
|
80 |
* Automatically link phrases in your posts/pages to other posts/pages or to custom URLs.
|
81 |
* Use the power of anchor text to boost your internal ranking SEO paradigm.
|
82 |
* Control the maximum number of autolinks added to each post/page.
|
83 |
* Apply the nofollow attribute on a per-link basis. (Perfect for automatic affiliate links.)
|
84 |
* Import/export your links as CSV files.
|
85 |
+
* Create links pointing to draft posts that will auto-enable when the post is published!
|
86 |
+
* Build internal links to your posts from within the WordPress post editor!
|
87 |
+
* Use "Instant Post Propulsion" technology to automatically link your old posts to new ones.
|
88 |
|
89 |
* **Code Inserter**
|
90 |
* Easily insert custom HTML into your site's `<head>` tag, footer, or item content.
|
207 |
|
208 |
== Changelog ==
|
209 |
|
210 |
+
= Version 3.9 (August 2, 2010) =
|
211 |
+
* Feature: Added "Instant Post Propulsion" feature to Deeplink Juggernaut (new "Incoming Autolink Anchors" postmeta field)
|
212 |
+
* Improvement: File Editor now limits .htaccess editing to super admins on multisite installations
|
213 |
+
* Improvement: Deeplink Juggernaut no longer links webpages to themselves
|
214 |
+
* Improvement: Deeplink Juggernaut's post/page dropdowns now include drafts; now you can build links to in-progress posts that automatically enable when the post is published!
|
215 |
+
* Improvement: When a post/page is sent to the trash, autolinks pointing to it no longer disappear from the Deeplink Juggernaut interface
|
216 |
+
* Improvement: Added a workaround for Firefox so that "Destination Type" dropdowns in Deeplink Juggernaut no longer get "stuck" on the incorrect value
|
217 |
+
* Improvement: Miscellaneous aesthetic changes
|
218 |
+
* Bugfix: Removed duplicate "title" attribute from "Deeplink Juggernaut" links
|
219 |
+
* Bugfix: Fixed bug that caused "New window" option to enable itself on Deeplink Juggernaut autolinks
|
220 |
+
* Bugfix: Contextual help dropdowns are now styled correctly in WordPress 3.0+
|
221 |
+
* Bugfix: Contextual help dropdowns no longer generate 404 errors in WordPress 3.0+
|
222 |
+
* Bugfix: Fixed invalid HTML in admin interface
|
223 |
+
|
224 |
= Version 3.8 (July 30, 2010) =
|
225 |
* Feature: Deeplink Juggernaut can now link directly to posts/pages (and custom post types) in addition to arbitrary URLs
|
226 |
* Bugfix: Readded SEO Ultimate upgrade info to the `Dashboard > Updates` (or `Tools > Upgrade`) page, fixing a feature regression introduced in version 3.1
|
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, rich snippets, and more.
|
6 |
-
Version: 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 3.
|
16 |
* @link http://www.seodesignsolutions.com/wordpress-seo/ SEO Ultimate Homepage
|
17 |
*/
|
18 |
|
@@ -47,10 +47,10 @@ define('SU_MINIMUM_WP_VER', '2.8');
|
|
47 |
//Reading plugin info from constants is faster than trying to parse it from the header above.
|
48 |
define('SU_PLUGIN_NAME', 'SEO Ultimate');
|
49 |
define('SU_PLUGIN_URI', 'http://www.seodesignsolutions.com/wordpress-seo/');
|
50 |
-
define('SU_VERSION', '3.
|
51 |
define('SU_AUTHOR', 'SEO Design Solutions');
|
52 |
define('SU_AUTHOR_URI', 'http://www.seodesignsolutions.com/');
|
53 |
-
define('SU_USER_AGENT', 'SeoUltimate/3.
|
54 |
|
55 |
/********** INCLUDES **********/
|
56 |
|
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, rich snippets, and more.
|
6 |
+
Version: 3.9
|
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.9
|
16 |
* @link http://www.seodesignsolutions.com/wordpress-seo/ SEO Ultimate Homepage
|
17 |
*/
|
18 |
|
47 |
//Reading plugin info from constants is faster than trying to parse it from the header above.
|
48 |
define('SU_PLUGIN_NAME', 'SEO Ultimate');
|
49 |
define('SU_PLUGIN_URI', 'http://www.seodesignsolutions.com/wordpress-seo/');
|
50 |
+
define('SU_VERSION', '3.9');
|
51 |
define('SU_AUTHOR', 'SEO Design Solutions');
|
52 |
define('SU_AUTHOR_URI', 'http://www.seodesignsolutions.com/');
|
53 |
+
define('SU_USER_AGENT', 'SeoUltimate/3.9');
|
54 |
|
55 |
/********** INCLUDES **********/
|
56 |
|
seo-ultimate.pot
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
# Translation of the WordPress plugin SEO Ultimate 3.
|
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.
|
10 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/seo-ultimate\n"
|
11 |
-
"POT-Creation-Date: 2010-
|
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"
|
@@ -67,7 +67,7 @@ msgstr ""
|
|
67 |
msgid "Log"
|
68 |
msgstr ""
|
69 |
|
70 |
-
#: modules/404s/fofs-log.php:115 modules/class.su-module.php:
|
71 |
msgid "Actions"
|
72 |
msgstr ""
|
73 |
|
@@ -227,64 +227,79 @@ msgstr ""
|
|
227 |
msgid "Content Links"
|
228 |
msgstr ""
|
229 |
|
230 |
-
#: modules/autolinks/content-autolinks.php:
|
231 |
msgid ""
|
232 |
"The Content Links section of Deeplink Juggernaut lets you automatically link "
|
233 |
"a certain word or phrase in your post/page content to a URL you specify."
|
234 |
msgstr ""
|
235 |
|
236 |
-
#: modules/autolinks/content-autolinks.php:
|
237 |
msgid "Edit Existing Links"
|
238 |
msgstr ""
|
239 |
|
240 |
-
#: modules/autolinks/content-autolinks.php:
|
241 |
msgid "Add a New Link"
|
242 |
msgstr ""
|
243 |
|
244 |
-
#: modules/autolinks/content-autolinks.php:
|
245 |
msgid "Anchor Text"
|
246 |
msgstr ""
|
247 |
|
248 |
-
#: modules/autolinks/content-autolinks.php:
|
249 |
msgid "Destination Type"
|
250 |
msgstr ""
|
251 |
|
252 |
-
#: modules/autolinks/content-autolinks.php:
|
253 |
msgid "Destination"
|
254 |
msgstr ""
|
255 |
|
256 |
-
#: modules/autolinks/content-autolinks.php:
|
257 |
msgid "Title Attribute"
|
258 |
msgstr ""
|
259 |
|
260 |
-
#: modules/autolinks/content-autolinks.php:
|
261 |
msgid "Options"
|
262 |
msgstr ""
|
263 |
|
264 |
-
#: modules/autolinks/content-autolinks.php:
|
265 |
msgid "Delete"
|
266 |
msgstr ""
|
267 |
|
268 |
-
#: modules/autolinks/content-autolinks.php:
|
269 |
msgid "Custom"
|
270 |
msgstr ""
|
271 |
|
272 |
-
#: modules/autolinks/content-autolinks.php:
|
273 |
msgid "URL"
|
274 |
msgstr ""
|
275 |
|
276 |
-
#: modules/autolinks/content-autolinks.php:
|
277 |
msgid "Content Items"
|
278 |
msgstr ""
|
279 |
|
280 |
-
#: modules/autolinks/content-autolinks.php:
|
281 |
msgid "Nofollow"
|
282 |
msgstr ""
|
283 |
|
284 |
-
#: modules/autolinks/content-autolinks.php:
|
285 |
msgid "New window"
|
286 |
msgstr ""
|
287 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
288 |
#: modules/canonical/canonical.php:12
|
289 |
msgid "Canonicalizer"
|
290 |
msgstr ""
|
@@ -324,70 +339,70 @@ msgstr ""
|
|
324 |
msgid "Return to SEO page"
|
325 |
msgstr ""
|
326 |
|
327 |
-
#: modules/class.su-module.php:
|
328 |
msgid ""
|
329 |
"(Note: This translated documentation was designed for an older version of "
|
330 |
"SEO Ultimate and may be outdated.)"
|
331 |
msgstr ""
|
332 |
|
333 |
-
#: modules/class.su-module.php:
|
334 |
#, php-format
|
335 |
msgid "%s %s|Dropdown Title"
|
336 |
msgstr ""
|
337 |
|
338 |
-
#: modules/class.su-module.php:
|
339 |
#, php-format
|
340 |
msgid "%1$s | %2$s %3$s by %4$s"
|
341 |
msgstr ""
|
342 |
|
343 |
-
#: modules/class.su-module.php:
|
344 |
msgid "Name"
|
345 |
msgstr ""
|
346 |
|
347 |
-
#: modules/class.su-module.php:
|
348 |
msgid "Your site currently doesn’t have any public items of this type."
|
349 |
msgstr ""
|
350 |
|
351 |
-
#: modules/class.su-module.php:
|
352 |
msgid "«"
|
353 |
msgstr ""
|
354 |
|
355 |
-
#: modules/class.su-module.php:
|
356 |
msgid "»"
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: modules/class.su-module.php:
|
360 |
#, php-format
|
361 |
msgid "Displaying %s–%s of %s"
|
362 |
msgstr ""
|
363 |
|
364 |
-
#: modules/class.su-module.php:
|
365 |
msgid "ID"
|
366 |
msgstr ""
|
367 |
|
368 |
-
#: modules/class.su-module.php:
|
369 |
msgid "View"
|
370 |
msgstr ""
|
371 |
|
372 |
-
#: modules/class.su-module.php:
|
373 |
msgid "Edit"
|
374 |
msgstr ""
|
375 |
|
376 |
-
#: modules/class.su-module.php:
|
377 |
msgid "Settings updated."
|
378 |
msgstr ""
|
379 |
|
380 |
-
#: modules/class.su-module.php:
|
381 |
msgid "Save Changes"
|
382 |
msgstr ""
|
383 |
|
384 |
-
#: modules/class.su-module.php:
|
385 |
msgid ""
|
386 |
"Are you sure you want to replace the textbox contents with this default "
|
387 |
"value?"
|
388 |
msgstr ""
|
389 |
|
390 |
-
#: modules/class.su-module.php:
|
391 |
msgid "Reset"
|
392 |
msgstr ""
|
393 |
|
@@ -526,53 +541,53 @@ msgstr ""
|
|
526 |
msgid "File Editor"
|
527 |
msgstr ""
|
528 |
|
529 |
-
#: modules/files/files.php:
|
530 |
msgid ""
|
531 |
"A .htaccess file exists, but it’s not writable. You can edit it here "
|
532 |
"once the file permissions are corrected."
|
533 |
msgstr ""
|
534 |
|
535 |
-
#: modules/files/files.php:
|
536 |
msgid ""
|
537 |
"WordPress won’t be able to display your robots.txt file because the "
|
538 |
"default <a href=\"options-permalink.php\" target=\"_blank\">permalink "
|
539 |
"structure</a> is in use."
|
540 |
msgstr ""
|
541 |
|
542 |
-
#: modules/files/files.php:
|
543 |
#, php-format
|
544 |
msgid "robots.txt [<a href=\"%s\" target=\"_blank\">Open</a>]"
|
545 |
msgstr ""
|
546 |
|
547 |
-
#: modules/files/files.php:
|
548 |
msgid "Enable this custom robots.txt file and disable the default file"
|
549 |
msgstr ""
|
550 |
|
551 |
-
#: modules/files/files.php:
|
552 |
msgid "Let other plugins add rules to my custom robots.txt file"
|
553 |
msgstr ""
|
554 |
|
555 |
-
#: modules/files/files.php:
|
556 |
msgid "robots.txt Settings"
|
557 |
msgstr ""
|
558 |
|
559 |
-
#: modules/files/files.php:
|
560 |
msgid ""
|
561 |
"Please realize that incorrectly editing your robots.txt file could block "
|
562 |
"search engines from your site."
|
563 |
msgstr ""
|
564 |
|
565 |
-
#: modules/files/files.php:
|
566 |
msgid ".htaccess"
|
567 |
msgstr ""
|
568 |
|
569 |
-
#: modules/files/files.php:
|
570 |
msgid ""
|
571 |
"Also, incorrectly editing your .htaccess file could disable your entire "
|
572 |
"website. Edit with caution!"
|
573 |
msgstr ""
|
574 |
|
575 |
-
#: modules/files/files.php:
|
576 |
#, php-format
|
577 |
msgid ""
|
578 |
"Please note that your privacy settings won’t have any effect on your "
|
@@ -803,7 +818,7 @@ msgstr ""
|
|
803 |
|
804 |
#: modules/meta/meta.php:94
|
805 |
msgid ""
|
806 |
-
"<strong>Description
|
807 |
"The description will often appear underneath the title in search engine "
|
808 |
"results. Writing an accurate, attention-grabbing description for every post "
|
809 |
"is important to ensuring a good search results clickthrough rate."
|
@@ -811,7 +826,7 @@ msgstr ""
|
|
811 |
|
812 |
#: modules/meta/meta.php:95
|
813 |
msgid ""
|
814 |
-
"<strong>Keywords
|
815 |
"keywords list gives search engines a hint as to what this post/page is "
|
816 |
"about. Be sure to separate keywords with commas, like so: <samp>one,two,"
|
817 |
"three</samp>."
|
@@ -1050,7 +1065,7 @@ msgstr ""
|
|
1050 |
msgid "SEO Design Solutions Whitepapers"
|
1051 |
msgstr ""
|
1052 |
|
1053 |
-
#. #-#-#-#-# plugin.pot (SEO Ultimate 3.
|
1054 |
#. Author of the plugin/theme
|
1055 |
#: modules/sds-blog/sds-blog.php:49
|
1056 |
msgid "SEO Design Solutions"
|
@@ -1356,9 +1371,9 @@ msgstr ""
|
|
1356 |
msgid "SEO Ultimate Plugin Settings"
|
1357 |
msgstr ""
|
1358 |
|
1359 |
-
#. #-#-#-#-# plugin.pot (SEO Ultimate 3.
|
1360 |
#. Plugin Name of the plugin/theme
|
1361 |
-
#: modules/settings/settings.php:14 plugin/class.seo-ultimate.php:
|
1362 |
msgid "SEO Ultimate"
|
1363 |
msgstr ""
|
1364 |
|
@@ -1366,7 +1381,7 @@ msgstr ""
|
|
1366 |
msgid "Uninstaller"
|
1367 |
msgstr ""
|
1368 |
|
1369 |
-
#: modules/settings/uninstall.php:18 plugin/class.seo-ultimate.php:
|
1370 |
msgid "Uninstall"
|
1371 |
msgstr ""
|
1372 |
|
@@ -1614,80 +1629,80 @@ msgstr ""
|
|
1614 |
msgid "Code Inserter module"
|
1615 |
msgstr ""
|
1616 |
|
1617 |
-
#: plugin/class.seo-ultimate.php:
|
1618 |
msgid "SEO"
|
1619 |
msgstr ""
|
1620 |
|
1621 |
-
#: plugin/class.seo-ultimate.php:
|
1622 |
msgid "SEO Settings Help"
|
1623 |
msgstr ""
|
1624 |
|
1625 |
-
#: plugin/class.seo-ultimate.php:
|
1626 |
msgid "The SEO Settings box lets you customize these settings:"
|
1627 |
msgstr ""
|
1628 |
|
1629 |
-
#: plugin/class.seo-ultimate.php:
|
1630 |
msgid "(The SEO Settings box is part of the SEO Ultimate plugin.)"
|
1631 |
msgstr ""
|
1632 |
|
1633 |
-
#: plugin/class.seo-ultimate.php:
|
1634 |
#, php-format
|
1635 |
msgid ""
|
1636 |
"SEO Ultimate includes the functionality of %1$s. You may want to deactivate %"
|
1637 |
"1$s to avoid plugin conflicts."
|
1638 |
msgstr ""
|
1639 |
|
1640 |
-
#: plugin/class.seo-ultimate.php:
|
1641 |
msgid "new feature"
|
1642 |
msgstr ""
|
1643 |
|
1644 |
-
#: plugin/class.seo-ultimate.php:
|
1645 |
msgid "new features"
|
1646 |
msgstr ""
|
1647 |
|
1648 |
-
#: plugin/class.seo-ultimate.php:
|
1649 |
msgid "bugfix"
|
1650 |
msgstr ""
|
1651 |
|
1652 |
-
#: plugin/class.seo-ultimate.php:
|
1653 |
msgid "bugfixes"
|
1654 |
msgstr ""
|
1655 |
|
1656 |
-
#: plugin/class.seo-ultimate.php:
|
1657 |
msgid "improvement"
|
1658 |
msgstr ""
|
1659 |
|
1660 |
-
#: plugin/class.seo-ultimate.php:
|
1661 |
msgid "improvements"
|
1662 |
msgstr ""
|
1663 |
|
1664 |
-
#: plugin/class.seo-ultimate.php:
|
1665 |
msgid "security fix"
|
1666 |
msgstr ""
|
1667 |
|
1668 |
-
#: plugin/class.seo-ultimate.php:
|
1669 |
msgid "security fixes"
|
1670 |
msgstr ""
|
1671 |
|
1672 |
-
#: plugin/class.seo-ultimate.php:
|
1673 |
#, php-format
|
1674 |
msgid "%d %s"
|
1675 |
msgstr ""
|
1676 |
|
1677 |
-
#: plugin/class.seo-ultimate.php:
|
1678 |
#, php-format
|
1679 |
msgid "Upgrade now to get %s. %s."
|
1680 |
msgstr ""
|
1681 |
|
1682 |
-
#: plugin/class.seo-ultimate.php:
|
1683 |
msgid "View changelog"
|
1684 |
msgstr ""
|
1685 |
|
1686 |
-
#: plugin/class.seo-ultimate.php:
|
1687 |
msgid "Active Modules: "
|
1688 |
msgstr ""
|
1689 |
|
1690 |
-
#: plugin/class.seo-ultimate.php:
|
1691 |
msgid ""
|
1692 |
"<strong>SEO Ultimate Notice:</strong> Your blog is configured to block "
|
1693 |
"search engine spiders. To resolve this, <a href=\"options-privacy.php\" "
|
@@ -1695,7 +1710,7 @@ msgid ""
|
|
1695 |
"to everyone."
|
1696 |
msgstr ""
|
1697 |
|
1698 |
-
#: plugin/class.seo-ultimate.php:
|
1699 |
msgid "SEO Settings"
|
1700 |
msgstr ""
|
1701 |
|
1 |
+
# Translation of the WordPress plugin SEO Ultimate 3.9 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.9\n"
|
10 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/seo-ultimate\n"
|
11 |
+
"POT-Creation-Date: 2010-08-03 01:40+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"
|
67 |
msgid "Log"
|
68 |
msgstr ""
|
69 |
|
70 |
+
#: modules/404s/fofs-log.php:115 modules/class.su-module.php:1163
|
71 |
msgid "Actions"
|
72 |
msgstr ""
|
73 |
|
227 |
msgid "Content Links"
|
228 |
msgstr ""
|
229 |
|
230 |
+
#: modules/autolinks/content-autolinks.php:94
|
231 |
msgid ""
|
232 |
"The Content Links section of Deeplink Juggernaut lets you automatically link "
|
233 |
"a certain word or phrase in your post/page content to a URL you specify."
|
234 |
msgstr ""
|
235 |
|
236 |
+
#: modules/autolinks/content-autolinks.php:127
|
237 |
msgid "Edit Existing Links"
|
238 |
msgstr ""
|
239 |
|
240 |
+
#: modules/autolinks/content-autolinks.php:131
|
241 |
msgid "Add a New Link"
|
242 |
msgstr ""
|
243 |
|
244 |
+
#: modules/autolinks/content-autolinks.php:139
|
245 |
msgid "Anchor Text"
|
246 |
msgstr ""
|
247 |
|
248 |
+
#: modules/autolinks/content-autolinks.php:140
|
249 |
msgid "Destination Type"
|
250 |
msgstr ""
|
251 |
|
252 |
+
#: modules/autolinks/content-autolinks.php:141
|
253 |
msgid "Destination"
|
254 |
msgstr ""
|
255 |
|
256 |
+
#: modules/autolinks/content-autolinks.php:142
|
257 |
msgid "Title Attribute"
|
258 |
msgstr ""
|
259 |
|
260 |
+
#: modules/autolinks/content-autolinks.php:143
|
261 |
msgid "Options"
|
262 |
msgstr ""
|
263 |
|
264 |
+
#: modules/autolinks/content-autolinks.php:145
|
265 |
msgid "Delete"
|
266 |
msgstr ""
|
267 |
|
268 |
+
#: modules/autolinks/content-autolinks.php:183
|
269 |
msgid "Custom"
|
270 |
msgstr ""
|
271 |
|
272 |
+
#: modules/autolinks/content-autolinks.php:183
|
273 |
msgid "URL"
|
274 |
msgstr ""
|
275 |
|
276 |
+
#: modules/autolinks/content-autolinks.php:184
|
277 |
msgid "Content Items"
|
278 |
msgstr ""
|
279 |
|
280 |
+
#: modules/autolinks/content-autolinks.php:191
|
281 |
msgid "Nofollow"
|
282 |
msgstr ""
|
283 |
|
284 |
+
#: modules/autolinks/content-autolinks.php:192
|
285 |
msgid "New window"
|
286 |
msgstr ""
|
287 |
|
288 |
+
#: modules/autolinks/content-autolinks.php:255
|
289 |
+
msgid "Incoming Autolink Anchors:<br /><em>(one per line)</em>"
|
290 |
+
msgstr ""
|
291 |
+
|
292 |
+
#: modules/autolinks/content-autolinks.php:260
|
293 |
+
msgid ""
|
294 |
+
"<strong>Incoming Autolink Anchors</strong> — When you enter anchors "
|
295 |
+
"into this box, Deeplink Juggernaut will search for that anchor in all your "
|
296 |
+
"other posts and link it to this post. For example, if the post you’re "
|
297 |
+
"editing is about “blue widgets,” you could type “blue "
|
298 |
+
"widgets” into the “Incoming Autolink Anchors” box and "
|
299 |
+
"Deeplink Juggernaut will automatically build internal links to this post "
|
300 |
+
"with that anchor text (assuming other posts contain that text)."
|
301 |
+
msgstr ""
|
302 |
+
|
303 |
#: modules/canonical/canonical.php:12
|
304 |
msgid "Canonicalizer"
|
305 |
msgstr ""
|
339 |
msgid "Return to SEO page"
|
340 |
msgstr ""
|
341 |
|
342 |
+
#: modules/class.su-module.php:368
|
343 |
msgid ""
|
344 |
"(Note: This translated documentation was designed for an older version of "
|
345 |
"SEO Ultimate and may be outdated.)"
|
346 |
msgstr ""
|
347 |
|
348 |
+
#: modules/class.su-module.php:964
|
349 |
#, php-format
|
350 |
msgid "%s %s|Dropdown Title"
|
351 |
msgstr ""
|
352 |
|
353 |
+
#: modules/class.su-module.php:992
|
354 |
#, php-format
|
355 |
msgid "%1$s | %2$s %3$s by %4$s"
|
356 |
msgstr ""
|
357 |
|
358 |
+
#: modules/class.su-module.php:1049
|
359 |
msgid "Name"
|
360 |
msgstr ""
|
361 |
|
362 |
+
#: modules/class.su-module.php:1060
|
363 |
msgid "Your site currently doesn’t have any public items of this type."
|
364 |
msgstr ""
|
365 |
|
366 |
+
#: modules/class.su-module.php:1142
|
367 |
msgid "«"
|
368 |
msgstr ""
|
369 |
|
370 |
+
#: modules/class.su-module.php:1143
|
371 |
msgid "»"
|
372 |
msgstr ""
|
373 |
|
374 |
+
#: modules/class.su-module.php:1150
|
375 |
#, php-format
|
376 |
msgid "Displaying %s–%s of %s"
|
377 |
msgstr ""
|
378 |
|
379 |
+
#: modules/class.su-module.php:1164
|
380 |
msgid "ID"
|
381 |
msgstr ""
|
382 |
|
383 |
+
#: modules/class.su-module.php:1197
|
384 |
msgid "View"
|
385 |
msgstr ""
|
386 |
|
387 |
+
#: modules/class.su-module.php:1197
|
388 |
msgid "Edit"
|
389 |
msgstr ""
|
390 |
|
391 |
+
#: modules/class.su-module.php:1350
|
392 |
msgid "Settings updated."
|
393 |
msgstr ""
|
394 |
|
395 |
+
#: modules/class.su-module.php:1370
|
396 |
msgid "Save Changes"
|
397 |
msgstr ""
|
398 |
|
399 |
+
#: modules/class.su-module.php:1858
|
400 |
msgid ""
|
401 |
"Are you sure you want to replace the textbox contents with this default "
|
402 |
"value?"
|
403 |
msgstr ""
|
404 |
|
405 |
+
#: modules/class.su-module.php:1873 modules/settings/settings-data.php:23
|
406 |
msgid "Reset"
|
407 |
msgstr ""
|
408 |
|
541 |
msgid "File Editor"
|
542 |
msgstr ""
|
543 |
|
544 |
+
#: modules/files/files.php:53
|
545 |
msgid ""
|
546 |
"A .htaccess file exists, but it’s not writable. You can edit it here "
|
547 |
"once the file permissions are corrected."
|
548 |
msgstr ""
|
549 |
|
550 |
+
#: modules/files/files.php:59
|
551 |
msgid ""
|
552 |
"WordPress won’t be able to display your robots.txt file because the "
|
553 |
"default <a href=\"options-permalink.php\" target=\"_blank\">permalink "
|
554 |
"structure</a> is in use."
|
555 |
msgstr ""
|
556 |
|
557 |
+
#: modules/files/files.php:66
|
558 |
#, php-format
|
559 |
msgid "robots.txt [<a href=\"%s\" target=\"_blank\">Open</a>]"
|
560 |
msgstr ""
|
561 |
|
562 |
+
#: modules/files/files.php:70
|
563 |
msgid "Enable this custom robots.txt file and disable the default file"
|
564 |
msgstr ""
|
565 |
|
566 |
+
#: modules/files/files.php:71
|
567 |
msgid "Let other plugins add rules to my custom robots.txt file"
|
568 |
msgstr ""
|
569 |
|
570 |
+
#: modules/files/files.php:72
|
571 |
msgid "robots.txt Settings"
|
572 |
msgstr ""
|
573 |
|
574 |
+
#: modules/files/files.php:75
|
575 |
msgid ""
|
576 |
"Please realize that incorrectly editing your robots.txt file could block "
|
577 |
"search engines from your site."
|
578 |
msgstr ""
|
579 |
|
580 |
+
#: modules/files/files.php:79
|
581 |
msgid ".htaccess"
|
582 |
msgstr ""
|
583 |
|
584 |
+
#: modules/files/files.php:82
|
585 |
msgid ""
|
586 |
"Also, incorrectly editing your .htaccess file could disable your entire "
|
587 |
"website. Edit with caution!"
|
588 |
msgstr ""
|
589 |
|
590 |
+
#: modules/files/files.php:132
|
591 |
#, php-format
|
592 |
msgid ""
|
593 |
"Please note that your privacy settings won’t have any effect on your "
|
818 |
|
819 |
#: modules/meta/meta.php:94
|
820 |
msgid ""
|
821 |
+
"<strong>Description</strong> — The value of the meta description tag. "
|
822 |
"The description will often appear underneath the title in search engine "
|
823 |
"results. Writing an accurate, attention-grabbing description for every post "
|
824 |
"is important to ensuring a good search results clickthrough rate."
|
826 |
|
827 |
#: modules/meta/meta.php:95
|
828 |
msgid ""
|
829 |
+
"<strong>Keywords</strong> — The value of the meta keywords tag. The "
|
830 |
"keywords list gives search engines a hint as to what this post/page is "
|
831 |
"about. Be sure to separate keywords with commas, like so: <samp>one,two,"
|
832 |
"three</samp>."
|
1065 |
msgid "SEO Design Solutions Whitepapers"
|
1066 |
msgstr ""
|
1067 |
|
1068 |
+
#. #-#-#-#-# plugin.pot (SEO Ultimate 3.9) #-#-#-#-#
|
1069 |
#. Author of the plugin/theme
|
1070 |
#: modules/sds-blog/sds-blog.php:49
|
1071 |
msgid "SEO Design Solutions"
|
1371 |
msgid "SEO Ultimate Plugin Settings"
|
1372 |
msgstr ""
|
1373 |
|
1374 |
+
#. #-#-#-#-# plugin.pot (SEO Ultimate 3.9) #-#-#-#-#
|
1375 |
#. Plugin Name of the plugin/theme
|
1376 |
+
#: modules/settings/settings.php:14 plugin/class.seo-ultimate.php:729
|
1377 |
msgid "SEO Ultimate"
|
1378 |
msgstr ""
|
1379 |
|
1381 |
msgid "Uninstaller"
|
1382 |
msgstr ""
|
1383 |
|
1384 |
+
#: modules/settings/uninstall.php:18 plugin/class.seo-ultimate.php:1216
|
1385 |
msgid "Uninstall"
|
1386 |
msgstr ""
|
1387 |
|
1629 |
msgid "Code Inserter module"
|
1630 |
msgstr ""
|
1631 |
|
1632 |
+
#: plugin/class.seo-ultimate.php:729
|
1633 |
msgid "SEO"
|
1634 |
msgstr ""
|
1635 |
|
1636 |
+
#: plugin/class.seo-ultimate.php:1007
|
1637 |
msgid "SEO Settings Help"
|
1638 |
msgstr ""
|
1639 |
|
1640 |
+
#: plugin/class.seo-ultimate.php:1009
|
1641 |
msgid "The SEO Settings box lets you customize these settings:"
|
1642 |
msgstr ""
|
1643 |
|
1644 |
+
#: plugin/class.seo-ultimate.php:1011
|
1645 |
msgid "(The SEO Settings box is part of the SEO Ultimate plugin.)"
|
1646 |
msgstr ""
|
1647 |
|
1648 |
+
#: plugin/class.seo-ultimate.php:1066
|
1649 |
#, php-format
|
1650 |
msgid ""
|
1651 |
"SEO Ultimate includes the functionality of %1$s. You may want to deactivate %"
|
1652 |
"1$s to avoid plugin conflicts."
|
1653 |
msgstr ""
|
1654 |
|
1655 |
+
#: plugin/class.seo-ultimate.php:1107
|
1656 |
msgid "new feature"
|
1657 |
msgstr ""
|
1658 |
|
1659 |
+
#: plugin/class.seo-ultimate.php:1107
|
1660 |
msgid "new features"
|
1661 |
msgstr ""
|
1662 |
|
1663 |
+
#: plugin/class.seo-ultimate.php:1108
|
1664 |
msgid "bugfix"
|
1665 |
msgstr ""
|
1666 |
|
1667 |
+
#: plugin/class.seo-ultimate.php:1108
|
1668 |
msgid "bugfixes"
|
1669 |
msgstr ""
|
1670 |
|
1671 |
+
#: plugin/class.seo-ultimate.php:1109
|
1672 |
msgid "improvement"
|
1673 |
msgstr ""
|
1674 |
|
1675 |
+
#: plugin/class.seo-ultimate.php:1109
|
1676 |
msgid "improvements"
|
1677 |
msgstr ""
|
1678 |
|
1679 |
+
#: plugin/class.seo-ultimate.php:1110
|
1680 |
msgid "security fix"
|
1681 |
msgstr ""
|
1682 |
|
1683 |
+
#: plugin/class.seo-ultimate.php:1110
|
1684 |
msgid "security fixes"
|
1685 |
msgstr ""
|
1686 |
|
1687 |
+
#: plugin/class.seo-ultimate.php:1141
|
1688 |
#, php-format
|
1689 |
msgid "%d %s"
|
1690 |
msgstr ""
|
1691 |
|
1692 |
+
#: plugin/class.seo-ultimate.php:1147
|
1693 |
#, php-format
|
1694 |
msgid "Upgrade now to get %s. %s."
|
1695 |
msgstr ""
|
1696 |
|
1697 |
+
#: plugin/class.seo-ultimate.php:1149
|
1698 |
msgid "View changelog"
|
1699 |
msgstr ""
|
1700 |
|
1701 |
+
#: plugin/class.seo-ultimate.php:1236
|
1702 |
msgid "Active Modules: "
|
1703 |
msgstr ""
|
1704 |
|
1705 |
+
#: plugin/class.seo-ultimate.php:1297
|
1706 |
msgid ""
|
1707 |
"<strong>SEO Ultimate Notice:</strong> Your blog is configured to block "
|
1708 |
"search engine spiders. To resolve this, <a href=\"options-privacy.php\" "
|
1710 |
"to everyone."
|
1711 |
msgstr ""
|
1712 |
|
1713 |
+
#: plugin/class.seo-ultimate.php:1407
|
1714 |
msgid "SEO Settings"
|
1715 |
msgstr ""
|
1716 |
|