SEO Ultimate - Version 7.0

Version Description

Download this release

Release Info

Developer JohnLamansky
Plugin Icon 128x128 SEO Ultimate
Version 7.0
Comparing to
See all releases

Code changes from version 6.9.8 to 7.0

includes/jlfunctions/jlfunctions.php CHANGED
@@ -4,7 +4,7 @@ JLFunctions Library
4
  Copyright (c)2009-2011 John Lamansky
5
  */
6
 
7
- foreach (array('arr', 'date', 'html', 'io', 'md', 'num', 'str', 'url', 'web') as $jlfuncfile) {
8
  include dirname(__FILE__)."/$jlfuncfile.php";
9
  }
10
 
4
  Copyright (c)2009-2011 John Lamansky
5
  */
6
 
7
+ foreach (array('arr', 'date', 'html', 'io', 'num', 'str', 'url', 'web') as $jlfuncfile) {
8
  include dirname(__FILE__)."/$jlfuncfile.php";
9
  }
10
 
includes/jlfunctions/md.php DELETED
@@ -1,89 +0,0 @@
1
- <?php
2
- /*
3
- JLFunctions MD Class
4
- Copyright (c)2009-2011 John Lamansky
5
- */
6
-
7
- class sumd {
8
-
9
- /**
10
- * Retrieves the content of a specific section of an MD document.
11
- *
12
- * @param string $md The MD document, with Windows-style newlines.
13
- * @param string $path The header of the section to retrieve. Nested headers are separated by slashes. If headers contain actual slashes, escape those slashes with backslashes. For example: "Header/Subheader/Sub-sub-header/Regarding A and\\/or B". If the number of headers is greater than $nms, the extra headers will be ignored.
14
- * @param int $nms The number of minus signs that top-level headers will have. If $nms=2, then top header will look like <code>== Header ==</code>.
15
- * @return string The section specified by the $path.
16
- */
17
- function get_section($md, $path, $nms=2) {
18
-
19
- //Permit escaped slashes.
20
- $path = str_replace("\\/", "<SLASH>", $path);
21
-
22
- //Break up the path into header levels
23
- $levels = explode("/", $path);
24
-
25
- //Cycle through the header levels
26
- foreach ($levels as $level) {
27
-
28
- //Add in escaped slashes again
29
- $level = str_replace("<SLASH>", "/", $level);
30
-
31
- //Create the string that will prefix and suffix the header text
32
- $m = str_repeat("=", $nms);
33
-
34
- //If the document contains the header specified...
35
- if ($levelstart = strpos($md, $levelheader = "\r\n\r\n$m $level $m\r\n\r\n")) {
36
-
37
- //Lop off everything in the document that comes before the header
38
- $md = substr($md, $levelstart + strlen($levelheader));
39
-
40
- //If another sibling (i.e. non-child) header comes afterwards, remove it and everything proceding so that we just have the section we want.
41
- //If no other sibling headers follow, then the section we want must continue to the end of the document.
42
- if ($levelend = strpos($md, "\r\n\r\n$m "))
43
- $md = substr($md, 0, $levelend);
44
- } else
45
- //One of the headers wasn't found, so this specific path must not exist. Return empty string.
46
- return '';
47
-
48
- //Now we'll go one header level down.
49
- $nms--;
50
-
51
- //If we've reached the end, break the loop.
52
- if ($nms == 0) break;
53
- }
54
-
55
- return $md;
56
- }
57
-
58
- /**
59
- * Gets all sections of an MD document and returns them in an array.
60
- *
61
- * @param string $md The MD document.
62
- * @return array An array of header text => section content.
63
- */
64
- function get_sections($md) {
65
-
66
- $md = "\r\n$md";
67
-
68
- $sections = array();
69
-
70
- //Get MD sections
71
- $preg_sections = preg_split("|\r\n=+ ([^=]+) =+\r\n|", $md, null, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
72
- $preg_sections = array_chunk($preg_sections, 2);
73
-
74
- foreach ($preg_sections as $preg_section) {
75
- $header = isset($preg_section[0]) ? trim($preg_section[0]) : '';
76
- $content = isset($preg_section[1]) ? trim($preg_section[1]) : '';
77
- if (strlen($header))
78
- $sections[$header] = $content;
79
- }
80
-
81
- return $sections;
82
- }
83
-
84
- function convert_headers($md, $h) {
85
- return trim(preg_replace('|\r\n=+ ([^=]+) =+\r\n|', "<$h>\\1</$h>", "\r\n$md\r\n"));
86
- }
87
- }
88
-
89
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/jlwp/jlwp.php CHANGED
@@ -1,6 +1,5 @@
1
  <?php
2
 
3
  include dirname(__FILE__).'/functions.php';
4
- include dirname(__FILE__).'/screen-meta.php';
5
 
6
  ?>
1
  <?php
2
 
3
  include dirname(__FILE__).'/functions.php';
 
4
 
5
  ?>
includes/jlwp/screen-meta.php DELETED
@@ -1,134 +0,0 @@
1
- <?php
2
- /********** DROPDOWN CODE **********/
3
-
4
- //Special thanks to the Drafts Dropdown plugin for the abstracted code
5
- //http://alexking.org/projects/wordpress
6
-
7
- if (!function_exists('screen_meta_html')) {
8
-
9
- function screen_meta_html($meta) {
10
- extract($meta);
11
- if (function_exists($content)) {
12
- $content = $content();
13
- }
14
- echo '
15
- <div id="screen-meta-'.$key.'-wrap" class="jlwp-screen-meta-content screen-meta-wrap hidden">
16
- <div class="screen-meta-content">'.$content.'</div>
17
- </div>
18
- <div id="screen-meta-'.$key.'-link-wrap" class="jlwp-screen-meta-toggle hide-if-no-js screen-meta-toggle cf">
19
- <a href="#screen-meta-'.$key.'-wrap" id="screen-meta-'.$key.'-link" class="show-settings">'.$label.'</a>
20
- </div>
21
- ';
22
- }
23
-
24
- }
25
-
26
- if (!function_exists('screen_meta_output')) {
27
-
28
- function screen_meta_output() {
29
- global $screen_meta;
30
- /*
31
- expected format:
32
- $screen_meta = array(
33
- array(
34
- 'key' => 'drafts',
35
- 'label' => 'Drafts',
36
- 'content' => 'screen_meta_drafts_content' // can be content or function name
37
- )
38
- );
39
- */
40
- if (!$screen_meta) $screen_meta = array();
41
- $screen_meta = apply_filters('screen_meta', $screen_meta);
42
- if (!$screen_meta) return;
43
- echo '<div id="screen-meta-extra-content">';
44
- foreach ($screen_meta as $meta) {
45
- screen_meta_html($meta);
46
- }
47
- echo '</div>';
48
- ?>
49
- <style type="text/css">
50
- .screen-meta-toggle {
51
- float: right;
52
- height: 22px;
53
- padding: 0;
54
- margin: 0 0 0 6px;
55
- border-bottom-left-radius: 3px;
56
- border-bottom-right-radius: 3px;
57
- }
58
-
59
- .screen-meta-wrap h5 {
60
- margin: 8px 0;
61
- font-size: 13px;
62
- }
63
- .screen-meta-wrap {
64
- border-style: none solid solid;
65
- border-top: 0 none;
66
- border-width: 0 1px 1px;
67
- margin: 0 15px;
68
- padding: 8px 12px 12px;
69
- -moz-border-radius: 0 0 0 4px;
70
- -webkit-border-bottom-left-radius: 4px;
71
- -khtml-border-bottom-left-radius: 4px;
72
- border-bottom-left-radius: 4px;
73
- }
74
- </style>
75
- <script type="text/javascript">
76
- jQuery(function($) {
77
-
78
- // These hacks not needed if adopted into core
79
- // move tabs into place
80
- $('#screen-meta-extra-content .screen-meta-toggle.cf').each(function() {
81
- $('#screen-meta-links').append($(this));
82
- });
83
- // Move content into place
84
- $('#screen-meta-extra-content .screen-meta-wrap').each(function() {
85
- $('#screen-meta-links').before($(this));
86
- });
87
- // end hacks
88
-
89
- // simplified generic code to handle all screen meta tabs
90
-
91
- $('#screen-meta-links a.show-settings').unbind().click(function() {
92
- var link = $(this);
93
-
94
- var content;
95
- if ($(link.attr('href') + '-wrap').length)
96
- content = $(link.attr('href') + '-wrap');
97
- else
98
- content = $(link.attr('href'));
99
-
100
- content.slideToggle('fast', function() {
101
- if (link.parents('.screen-meta-toggle').hasClass('screen-meta-active')) {
102
- link.parents('.screen-meta-toggle').removeClass('screen-meta-active');
103
- $('a.show-settings').parents('.screen-meta-toggle').not('.screen-meta-active').animate({opacity: 1});
104
- } else {
105
- link.parents('.screen-meta-toggle').addClass('screen-meta-active');
106
- link.css('visibility', 'visible');
107
- $('a.show-settings').parents('.screen-meta-toggle').not('.screen-meta-active').animate({opacity: 0});
108
- }
109
- });
110
- return false;
111
- });
112
-
113
- var copy = $('#contextual-help-wrap');
114
- $('.screen-meta-wrap').css({
115
- 'background-color': copy.css('background-color'),
116
- 'border-color': copy.css('border-bottom-color')
117
- });
118
-
119
- var linkcopy = $('#contextual-help-link-wrap');
120
- $('.screen-meta-toggle').css({
121
- 'background-color': linkcopy.css('background-color'),
122
- 'background-image': linkcopy.css('background-image'),
123
- 'font-family': linkcopy.css('font-family'),
124
- });
125
-
126
- });
127
- </script>
128
-
129
- <?php
130
- }
131
- add_action('admin_footer', 'screen_meta_output');
132
-
133
- }
134
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/markdown/index.php DELETED
@@ -1,4 +0,0 @@
1
- <?php
2
- header('Status: 403 Forbidden');
3
- header('HTTP/1.1 403 Forbidden');
4
- ?>
 
 
 
 
includes/markdown/markdown.php DELETED
@@ -1,1732 +0,0 @@
1
- <?php
2
- #
3
- # Markdown - A text-to-HTML conversion tool for web writers
4
- #
5
- # PHP Markdown
6
- # Copyright (c) 2004-2009 Michel Fortin
7
- # <http://michelf.com/projects/php-markdown/>
8
- #
9
- # Original Markdown
10
- # Copyright (c) 2004-2006 John Gruber
11
- # <http://daringfireball.net/projects/markdown/>
12
- #
13
-
14
-
15
- define( 'MARKDOWN_VERSION', "1.0.1n" ); # Sat 10 Oct 2009
16
-
17
-
18
- #
19
- # Global default settings:
20
- #
21
-
22
- # Change to ">" for HTML output
23
- @define( 'MARKDOWN_EMPTY_ELEMENT_SUFFIX', " />");
24
-
25
- # Define the width of a tab for code blocks.
26
- @define( 'MARKDOWN_TAB_WIDTH', 4 );
27
-
28
-
29
- #
30
- # WordPress settings:
31
- #
32
-
33
- # Change to false to remove Markdown from posts and/or comments.
34
- @define( 'MARKDOWN_WP_POSTS', false );
35
- @define( 'MARKDOWN_WP_COMMENTS', false );
36
-
37
-
38
-
39
- ### Standard Function Interface ###
40
-
41
- @define( 'MARKDOWN_PARSER_CLASS', 'Markdown_Parser' );
42
-
43
- function Markdown($text) {
44
- #
45
- # Initialize the parser and return the result of its transform method.
46
- #
47
- # Setup static parser variable.
48
- static $parser;
49
- if (!isset($parser)) {
50
- $parser_class = MARKDOWN_PARSER_CLASS;
51
- $parser = new $parser_class;
52
- }
53
-
54
- # Transform text using parser.
55
- return $parser->transform($text);
56
- }
57
-
58
-
59
- ### WordPress Plugin Interface ###
60
-
61
- /*
62
- Plugin Name: Markdown
63
- Plugin URI: http://michelf.com/projects/php-markdown/
64
- Description: <a href="http://daringfireball.net/projects/markdown/syntax">Markdown syntax</a> allows you to write using an easy-to-read, easy-to-write plain text format. Based on the original Perl version by <a href="http://daringfireball.net/">John Gruber</a>. <a href="http://michelf.com/projects/php-markdown/">More...</a>
65
- Version: 1.0.1n
66
- Author: Michel Fortin
67
- Author URI: http://michelf.com/
68
- */
69
-
70
- if (isset($wp_version)) {
71
- # More details about how it works here:
72
- # <http://michelf.com/weblog/2005/wordpress-text-flow-vs-markdown/>
73
-
74
- # Post content and excerpts
75
- # - Remove WordPress paragraph generator.
76
- # - Run Markdown on excerpt, then remove all tags.
77
- # - Add paragraph tag around the excerpt, but remove it for the excerpt rss.
78
- if (MARKDOWN_WP_POSTS) {
79
- remove_filter('the_content', 'wpautop');
80
- remove_filter('the_content_rss', 'wpautop');
81
- remove_filter('the_excerpt', 'wpautop');
82
- add_filter('the_content', 'Markdown', 6);
83
- add_filter('the_content_rss', 'Markdown', 6);
84
- add_filter('get_the_excerpt', 'Markdown', 6);
85
- add_filter('get_the_excerpt', 'trim', 7);
86
- add_filter('the_excerpt', 'mdwp_add_p');
87
- add_filter('the_excerpt_rss', 'mdwp_strip_p');
88
-
89
- remove_filter('content_save_pre', 'balanceTags', 50);
90
- remove_filter('excerpt_save_pre', 'balanceTags', 50);
91
- add_filter('the_content', 'balanceTags', 50);
92
- add_filter('get_the_excerpt', 'balanceTags', 9);
93
- }
94
-
95
- # Comments
96
- # - Remove WordPress paragraph generator.
97
- # - Remove WordPress auto-link generator.
98
- # - Scramble important tags before passing them to the kses filter.
99
- # - Run Markdown on excerpt then remove paragraph tags.
100
- if (MARKDOWN_WP_COMMENTS) {
101
- remove_filter('comment_text', 'wpautop', 30);
102
- remove_filter('comment_text', 'make_clickable');
103
- add_filter('pre_comment_content', 'Markdown', 6);
104
- add_filter('pre_comment_content', 'mdwp_hide_tags', 8);
105
- add_filter('pre_comment_content', 'mdwp_show_tags', 12);
106
- add_filter('get_comment_text', 'Markdown', 6);
107
- add_filter('get_comment_excerpt', 'Markdown', 6);
108
- add_filter('get_comment_excerpt', 'mdwp_strip_p', 7);
109
-
110
- global $mdwp_hidden_tags, $mdwp_placeholders;
111
- $mdwp_hidden_tags = explode(' ',
112
- '<p> </p> <pre> </pre> <ol> </ol> <ul> </ul> <li> </li>');
113
- $mdwp_placeholders = explode(' ', str_rot13(
114
- 'pEj07ZbbBZ U1kqgh4w4p pre2zmeN6K QTi31t9pre ol0MP1jzJR '.
115
- 'ML5IjmbRol ulANi1NsGY J7zRLJqPul liA8ctl16T K9nhooUHli'));
116
- }
117
-
118
- function mdwp_add_p($text) {
119
- if (!preg_match('{^$|^<(p|ul|ol|dl|pre|blockquote)>}i', $text)) {
120
- $text = '<p>'.$text.'</p>';
121
- $text = preg_replace('{\n{2,}}', "</p>\n\n<p>", $text);
122
- }
123
- return $text;
124
- }
125
-
126
- function mdwp_strip_p($t) { return preg_replace('{</?p>}i', '', $t); }
127
-
128
- function mdwp_hide_tags($text) {
129
- global $mdwp_hidden_tags, $mdwp_placeholders;
130
- return str_replace($mdwp_hidden_tags, $mdwp_placeholders, $text);
131
- }
132
- function mdwp_show_tags($text) {
133
- global $mdwp_hidden_tags, $mdwp_placeholders;
134
- return str_replace($mdwp_placeholders, $mdwp_hidden_tags, $text);
135
- }
136
- }
137
-
138
-
139
- ### bBlog Plugin Info ###
140
-
141
- function identify_modifier_markdown() {
142
- return array(
143
- 'name' => 'markdown',
144
- 'type' => 'modifier',
145
- 'nicename' => 'Markdown',
146
- 'description' => 'A text-to-HTML conversion tool for web writers',
147
- 'authors' => 'Michel Fortin and John Gruber',
148
- 'licence' => 'BSD-like',
149
- 'version' => MARKDOWN_VERSION,
150
- 'help' => '<a href="http://daringfireball.net/projects/markdown/syntax">Markdown syntax</a> allows you to write using an easy-to-read, easy-to-write plain text format. Based on the original Perl version by <a href="http://daringfireball.net/">John Gruber</a>. <a href="http://michelf.com/projects/php-markdown/">More...</a>'
151
- );
152
- }
153
-
154
-
155
- ### Smarty Modifier Interface ###
156
-
157
- function smarty_modifier_markdown($text) {
158
- return Markdown($text);
159
- }
160
-
161
-
162
- ### Textile Compatibility Mode ###
163
-
164
- # Rename this file to "classTextile.php" and it can replace Textile everywhere.
165
-
166
- if (strcasecmp(substr(__FILE__, -16), "classTextile.php") == 0) {
167
- # Try to include PHP SmartyPants. Should be in the same directory.
168
- @include_once 'smartypants.php';
169
- # Fake Textile class. It calls Markdown instead.
170
- class Textile {
171
- function TextileThis($text, $lite='', $encode='') {
172
- if ($lite == '' && $encode == '') $text = Markdown($text);
173
- if (function_exists('SmartyPants')) $text = SmartyPants($text);
174
- return $text;
175
- }
176
- # Fake restricted version: restrictions are not supported for now.
177
- function TextileRestricted($text, $lite='', $noimage='') {
178
- return $this->TextileThis($text, $lite);
179
- }
180
- # Workaround to ensure compatibility with TextPattern 4.0.3.
181
- function blockLite($text) { return $text; }
182
- }
183
- }
184
-
185
-
186
-
187
- #
188
- # Markdown Parser Class
189
- #
190
-
191
- class Markdown_Parser {
192
-
193
- # Regex to match balanced [brackets].
194
- # Needed to insert a maximum bracked depth while converting to PHP.
195
- var $nested_brackets_depth = 6;
196
- var $nested_brackets_re;
197
-
198
- var $nested_url_parenthesis_depth = 4;
199
- var $nested_url_parenthesis_re;
200
-
201
- # Table of hash values for escaped characters:
202
- var $escape_chars = '\`*_{}[]()>#+-.!';
203
- var $escape_chars_re;
204
-
205
- # Change to ">" for HTML output.
206
- var $empty_element_suffix = MARKDOWN_EMPTY_ELEMENT_SUFFIX;
207
- var $tab_width = MARKDOWN_TAB_WIDTH;
208
-
209
- # Change to `true` to disallow markup or entities.
210
- var $no_markup = false;
211
- var $no_entities = false;
212
-
213
- # Predefined urls and titles for reference links and images.
214
- var $predef_urls = array();
215
- var $predef_titles = array();
216
-
217
-
218
- function Markdown_Parser() {
219
- #
220
- # Constructor function. Initialize appropriate member variables.
221
- #
222
- $this->_initDetab();
223
- $this->prepareItalicsAndBold();
224
-
225
- $this->nested_brackets_re =
226
- str_repeat('(?>[^\[\]]+|\[', $this->nested_brackets_depth).
227
- str_repeat('\])*', $this->nested_brackets_depth);
228
-
229
- $this->nested_url_parenthesis_re =
230
- str_repeat('(?>[^()\s]+|\(', $this->nested_url_parenthesis_depth).
231
- str_repeat('(?>\)))*', $this->nested_url_parenthesis_depth);
232
-
233
- $this->escape_chars_re = '['.preg_quote($this->escape_chars).']';
234
-
235
- # Sort document, block, and span gamut in ascendent priority order.
236
- asort($this->document_gamut);
237
- asort($this->block_gamut);
238
- asort($this->span_gamut);
239
- }
240
-
241
-
242
- # Internal hashes used during transformation.
243
- var $urls = array();
244
- var $titles = array();
245
- var $html_hashes = array();
246
-
247
- # Status flag to avoid invalid nesting.
248
- var $in_anchor = false;
249
-
250
-
251
- function setup() {
252
- #
253
- # Called before the transformation process starts to setup parser
254
- # states.
255
- #
256
- # Clear global hashes.
257
- $this->urls = $this->predef_urls;
258
- $this->titles = $this->predef_titles;
259
- $this->html_hashes = array();
260
-
261
- $in_anchor = false;
262
- }
263
-
264
- function teardown() {
265
- #
266
- # Called after the transformation process to clear any variable
267
- # which may be taking up memory unnecessarly.
268
- #
269
- $this->urls = array();
270
- $this->titles = array();
271
- $this->html_hashes = array();
272
- }
273
-
274
-
275
- function transform($text) {
276
- #
277
- # Main function. Performs some preprocessing on the input text
278
- # and pass it through the document gamut.
279
- #
280
- $this->setup();
281
-
282
- # Remove UTF-8 BOM and marker character in input, if present.
283
- $text = preg_replace('{^\xEF\xBB\xBF|\x1A}', '', $text);
284
-
285
- # Standardize line endings:
286
- # DOS to Unix and Mac to Unix
287
- $text = preg_replace('{\r\n?}', "\n", $text);
288
-
289
- # Make sure $text ends with a couple of newlines:
290
- $text .= "\n\n";
291
-
292
- # Convert all tabs to spaces.
293
- $text = $this->detab($text);
294
-
295
- # Turn block-level HTML blocks into hash entries
296
- $text = $this->hashHTMLBlocks($text);
297
-
298
- # Strip any lines consisting only of spaces and tabs.
299
- # This makes subsequent regexen easier to write, because we can
300
- # match consecutive blank lines with /\n+/ instead of something
301
- # contorted like /[ ]*\n+/ .
302
- $text = preg_replace('/^[ ]+$/m', '', $text);
303
-
304
- # Run document gamut methods.
305
- foreach ($this->document_gamut as $method => $priority) {
306
- $text = $this->$method($text);
307
- }
308
-
309
- $this->teardown();
310
-
311
- return $text . "\n";
312
- }
313
-
314
- var $document_gamut = array(
315
- # Strip link definitions, store in hashes.
316
- "stripLinkDefinitions" => 20,
317
-
318
- "runBasicBlockGamut" => 30,
319
- );
320
-
321
-
322
- function stripLinkDefinitions($text) {
323
- #
324
- # Strips link definitions from text, stores the URLs and titles in
325
- # hash references.
326
- #
327
- $less_than_tab = $this->tab_width - 1;
328
-
329
- # Link defs are in the form: ^[id]: url "optional title"
330
- $text = preg_replace_callback('{
331
- ^[ ]{0,'.$less_than_tab.'}\[(.+)\][ ]?: # id = $1
332
- [ ]*
333
- \n? # maybe *one* newline
334
- [ ]*
335
- (?:
336
- <(.+?)> # url = $2
337
- |
338
- (\S+?) # url = $3
339
- )
340
- [ ]*
341
- \n? # maybe one newline
342
- [ ]*
343
- (?:
344
- (?<=\s) # lookbehind for whitespace
345
- ["(]
346
- (.*?) # title = $4
347
- [")]
348
- [ ]*
349
- )? # title is optional
350
- (?:\n+|\Z)
351
- }xm',
352
- array(&$this, '_stripLinkDefinitions_callback'),
353
- $text);
354
- return $text;
355
- }
356
- function _stripLinkDefinitions_callback($matches) {
357
- $link_id = strtolower($matches[1]);
358
- $url = $matches[2] == '' ? $matches[3] : $matches[2];
359
- $this->urls[$link_id] = $url;
360
- $this->titles[$link_id] =& $matches[4];
361
- return ''; # String that will replace the block
362
- }
363
-
364
-
365
- function hashHTMLBlocks($text) {
366
- if ($this->no_markup) return $text;
367
-
368
- $less_than_tab = $this->tab_width - 1;
369
-
370
- # Hashify HTML blocks:
371
- # We only want to do this for block-level HTML tags, such as headers,
372
- # lists, and tables. That's because we still want to wrap <p>s around
373
- # "paragraphs" that are wrapped in non-block-level tags, such as anchors,
374
- # phrase emphasis, and spans. The list of tags we're looking for is
375
- # hard-coded:
376
- #
377
- # * List "a" is made of tags which can be both inline or block-level.
378
- # These will be treated block-level when the start tag is alone on
379
- # its line, otherwise they're not matched here and will be taken as
380
- # inline later.
381
- # * List "b" is made of tags which are always block-level;
382
- #
383
- $block_tags_a_re = 'ins|del';
384
- $block_tags_b_re = 'p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|address|'.
385
- 'script|noscript|form|fieldset|iframe|math';
386
-
387
- # Regular expression for the content of a block tag.
388
- $nested_tags_level = 4;
389
- $attr = '
390
- (?> # optional tag attributes
391
- \s # starts with whitespace
392
- (?>
393
- [^>"/]+ # text outside quotes
394
- |
395
- /+(?!>) # slash not followed by ">"
396
- |
397
- "[^"]*" # text inside double quotes (tolerate ">")
398
- |
399
- \'[^\']*\' # text inside single quotes (tolerate ">")
400
- )*
401
- )?
402
- ';
403
- $content =
404
- str_repeat('
405
- (?>
406
- [^<]+ # content without tag
407
- |
408
- <\2 # nested opening tag
409
- '.$attr.' # attributes
410
- (?>
411
- />
412
- |
413
- >', $nested_tags_level). # end of opening tag
414
- '.*?'. # last level nested tag content
415
- str_repeat('
416
- </\2\s*> # closing nested tag
417
- )
418
- |
419
- <(?!/\2\s*> # other tags with a different name
420
- )
421
- )*',
422
- $nested_tags_level);
423
- $content2 = str_replace('\2', '\3', $content);
424
-
425
- # First, look for nested blocks, e.g.:
426
- # <div>
427
- # <div>
428
- # tags for inner block must be indented.
429
- # </div>
430
- # </div>
431
- #
432
- # The outermost tags must start at the left margin for this to match, and
433
- # the inner nested divs must be indented.
434
- # We need to do this before the next, more liberal match, because the next
435
- # match will start at the first `<div>` and stop at the first `</div>`.
436
- $text = preg_replace_callback('{(?>
437
- (?>
438
- (?<=\n\n) # Starting after a blank line
439
- | # or
440
- \A\n? # the beginning of the doc
441
- )
442
- ( # save in $1
443
-
444
- # Match from `\n<tag>` to `</tag>\n`, handling nested tags
445
- # in between.
446
-
447
- [ ]{0,'.$less_than_tab.'}
448
- <('.$block_tags_b_re.')# start tag = $2
449
- '.$attr.'> # attributes followed by > and \n
450
- '.$content.' # content, support nesting
451
- </\2> # the matching end tag
452
- [ ]* # trailing spaces/tabs
453
- (?=\n+|\Z) # followed by a newline or end of document
454
-
455
- | # Special version for tags of group a.
456
-
457
- [ ]{0,'.$less_than_tab.'}
458
- <('.$block_tags_a_re.')# start tag = $3
459
- '.$attr.'>[ ]*\n # attributes followed by >
460
- '.$content2.' # content, support nesting
461
- </\3> # the matching end tag
462
- [ ]* # trailing spaces/tabs
463
- (?=\n+|\Z) # followed by a newline or end of document
464
-
465
- | # Special case just for <hr />. It was easier to make a special
466
- # case than to make the other regex more complicated.
467
-
468
- [ ]{0,'.$less_than_tab.'}
469
- <(hr) # start tag = $2
470
- '.$attr.' # attributes
471
- /?> # the matching end tag
472
- [ ]*
473
- (?=\n{2,}|\Z) # followed by a blank line or end of document
474
-
475
- | # Special case for standalone HTML comments:
476
-
477
- [ ]{0,'.$less_than_tab.'}
478
- (?s:
479
- <!-- .*? -->
480
- )
481
- [ ]*
482
- (?=\n{2,}|\Z) # followed by a blank line or end of document
483
-
484
- | # PHP and ASP-style processor instructions (<? and <%)
485
-
486
- [ ]{0,'.$less_than_tab.'}
487
- (?s:
488
- <([?%]) # $2
489
- .*?
490
- \2>
491
- )
492
- [ ]*
493
- (?=\n{2,}|\Z) # followed by a blank line or end of document
494
-
495
- )
496
- )}Sxmi',
497
- array(&$this, '_hashHTMLBlocks_callback'),
498
- $text);
499
-
500
- return $text;
501
- }
502
- function _hashHTMLBlocks_callback($matches) {
503
- $text = $matches[1];
504
- $key = $this->hashBlock($text);
505
- return "\n\n$key\n\n";
506
- }
507
-
508
-
509
- function hashPart($text, $boundary = 'X') {
510
- #
511
- # Called whenever a tag must be hashed when a function insert an atomic
512
- # element in the text stream. Passing $text to through this function gives
513
- # a unique text-token which will be reverted back when calling unhash.
514
- #
515
- # The $boundary argument specify what character should be used to surround
516
- # the token. By convension, "B" is used for block elements that needs not
517
- # to be wrapped into paragraph tags at the end, ":" is used for elements
518
- # that are word separators and "X" is used in the general case.
519
- #
520
- # Swap back any tag hash found in $text so we do not have to `unhash`
521
- # multiple times at the end.
522
- $text = $this->unhash($text);
523
-
524
- # Then hash the block.
525
- static $i = 0;
526
- $key = "$boundary\x1A" . ++$i . $boundary;
527
- $this->html_hashes[$key] = $text;
528
- return $key; # String that will replace the tag.
529
- }
530
-
531
-
532
- function hashBlock($text) {
533
- #
534
- # Shortcut function for hashPart with block-level boundaries.
535
- #
536
- return $this->hashPart($text, 'B');
537
- }
538
-
539
-
540
- var $block_gamut = array(
541
- #
542
- # These are all the transformations that form block-level
543
- # tags like paragraphs, headers, and list items.
544
- #
545
- "doHeaders" => 10,
546
- "doHorizontalRules" => 20,
547
-
548
- "doLists" => 40,
549
- "doCodeBlocks" => 50,
550
- "doBlockQuotes" => 60,
551
- );
552
-
553
- function runBlockGamut($text) {
554
- #
555
- # Run block gamut tranformations.
556
- #
557
- # We need to escape raw HTML in Markdown source before doing anything
558
- # else. This need to be done for each block, and not only at the
559
- # begining in the Markdown function since hashed blocks can be part of
560
- # list items and could have been indented. Indented blocks would have
561
- # been seen as a code block in a previous pass of hashHTMLBlocks.
562
- $text = $this->hashHTMLBlocks($text);
563
-
564
- return $this->runBasicBlockGamut($text);
565
- }
566
-
567
- function runBasicBlockGamut($text) {
568
- #
569
- # Run block gamut tranformations, without hashing HTML blocks. This is
570
- # useful when HTML blocks are known to be already hashed, like in the first
571
- # whole-document pass.
572
- #
573
- foreach ($this->block_gamut as $method => $priority) {
574
- $text = $this->$method($text);
575
- }
576
-
577
- # Finally form paragraph and restore hashed blocks.
578
- $text = $this->formParagraphs($text);
579
-
580
- return $text;
581
- }
582
-
583
-
584
- function doHorizontalRules($text) {
585
- # Do Horizontal Rules:
586
- return preg_replace(
587
- '{
588
- ^[ ]{0,3} # Leading space
589
- ([-*_]) # $1: First marker
590
- (?> # Repeated marker group
591
- [ ]{0,2} # Zero, one, or two spaces.
592
- \1 # Marker character
593
- ){2,} # Group repeated at least twice
594
- [ ]* # Tailing spaces
595
- $ # End of line.
596
- }mx',
597
- "\n".$this->hashBlock("<hr$this->empty_element_suffix")."\n",
598
- $text);
599
- }
600
-
601
-
602
- var $span_gamut = array(
603
- #
604
- # These are all the transformations that occur *within* block-level
605
- # tags like paragraphs, headers, and list items.
606
- #
607
- # Process character escapes, code spans, and inline HTML
608
- # in one shot.
609
- "parseSpan" => -30,
610
-
611
- # Process anchor and image tags. Images must come first,
612
- # because ![foo][f] looks like an anchor.
613
- "doImages" => 10,
614
- "doAnchors" => 20,
615
-
616
- # Make links out of things like `<http://example.com/>`
617
- # Must come after doAnchors, because you can use < and >
618
- # delimiters in inline links like [this](<url>).
619
- "doAutoLinks" => 30,
620
- "encodeAmpsAndAngles" => 40,
621
-
622
- "doItalicsAndBold" => 50,
623
- "doHardBreaks" => 60,
624
- );
625
-
626
- function runSpanGamut($text) {
627
- #
628
- # Run span gamut tranformations.
629
- #
630
- foreach ($this->span_gamut as $method => $priority) {
631
- $text = $this->$method($text);
632
- }
633
-
634
- return $text;
635
- }
636
-
637
-
638
- function doHardBreaks($text) {
639
- # Do hard breaks:
640
- return preg_replace_callback('/ {2,}\n/',
641
- array(&$this, '_doHardBreaks_callback'), $text);
642
- }
643
- function _doHardBreaks_callback($matches) {
644
- return $this->hashPart("<br$this->empty_element_suffix\n");
645
- }
646
-
647
-
648
- function doAnchors($text) {
649
- #
650
- # Turn Markdown link shortcuts into XHTML <a> tags.
651
- #
652
- if ($this->in_anchor) return $text;
653
- $this->in_anchor = true;
654
-
655
- #
656
- # First, handle reference-style links: [link text] [id]
657
- #
658
- $text = preg_replace_callback('{
659
- ( # wrap whole match in $1
660
- \[
661
- ('.$this->nested_brackets_re.') # link text = $2
662
- \]
663
-
664
- [ ]? # one optional space
665
- (?:\n[ ]*)? # one optional newline followed by spaces
666
-
667
- \[
668
- (.*?) # id = $3
669
- \]
670
- )
671
- }xs',
672
- array(&$this, '_doAnchors_reference_callback'), $text);
673
-
674
- #
675
- # Next, inline-style links: [link text](url "optional title")
676
- #
677
- $text = preg_replace_callback('{
678
- ( # wrap whole match in $1
679
- \[
680
- ('.$this->nested_brackets_re.') # link text = $2
681
- \]
682
- \( # literal paren
683
- [ \n]*
684
- (?:
685
- <(.+?)> # href = $3
686
- |
687
- ('.$this->nested_url_parenthesis_re.') # href = $4
688
- )
689
- [ \n]*
690
- ( # $5
691
- ([\'"]) # quote char = $6
692
- (.*?) # Title = $7
693
- \6 # matching quote
694
- [ \n]* # ignore any spaces/tabs between closing quote and )
695
- )? # title is optional
696
- \)
697
- )
698
- }xs',
699
- array(&$this, '_doAnchors_inline_callback'), $text);
700
-
701
- #
702
- # Last, handle reference-style shortcuts: [link text]
703
- # These must come last in case you've also got [link text][1]
704
- # or [link text](/foo)
705
- #
706
- $text = preg_replace_callback('{
707
- ( # wrap whole match in $1
708
- \[
709
- ([^\[\]]+) # link text = $2; can\'t contain [ or ]
710
- \]
711
- )
712
- }xs',
713
- array(&$this, '_doAnchors_reference_callback'), $text);
714
-
715
- $this->in_anchor = false;
716
- return $text;
717
- }
718
- function _doAnchors_reference_callback($matches) {
719
- $whole_match = $matches[1];
720
- $link_text = $matches[2];
721
- $link_id =& $matches[3];
722
-
723
- if ($link_id == "") {
724
- # for shortcut links like [this][] or [this].
725
- $link_id = $link_text;
726
- }
727
-
728
- # lower-case and turn embedded newlines into spaces
729
- $link_id = strtolower($link_id);
730
- $link_id = preg_replace('{[ ]?\n}', ' ', $link_id);
731
-
732
- if (isset($this->urls[$link_id])) {
733
- $url = $this->urls[$link_id];
734
- $url = $this->encodeAttribute($url);
735
-
736
- $result = "<a href=\"$url\"";
737
- if ( isset( $this->titles[$link_id] ) ) {
738
- $title = $this->titles[$link_id];
739
- $title = $this->encodeAttribute($title);
740
- $result .= " title=\"$title\"";
741
- }
742
-
743
- $link_text = $this->runSpanGamut($link_text);
744
- $result .= ">$link_text</a>";
745
- $result = $this->hashPart($result);
746
- }
747
- else {
748
- $result = $whole_match;
749
- }
750
- return $result;
751
- }
752
- function _doAnchors_inline_callback($matches) {
753
- $whole_match = $matches[1];
754
- $link_text = $this->runSpanGamut($matches[2]);
755
- $url = $matches[3] == '' ? $matches[4] : $matches[3];
756
- $title =& $matches[7];
757
-
758
- $url = $this->encodeAttribute($url);
759
-
760
- $result = "<a href=\"$url\"";
761
- if (isset($title)) {
762
- $title = $this->encodeAttribute($title);
763
- $result .= " title=\"$title\"";
764
- }
765
-
766
- $link_text = $this->runSpanGamut($link_text);
767
- $result .= ">$link_text</a>";
768
-
769
- return $this->hashPart($result);
770
- }
771
-
772
-
773
- function doImages($text) {
774
- #
775
- # Turn Markdown image shortcuts into <img> tags.
776
- #
777
- #
778
- # First, handle reference-style labeled images: ![alt text][id]
779
- #
780
- $text = preg_replace_callback('{
781
- ( # wrap whole match in $1
782
- !\[
783
- ('.$this->nested_brackets_re.') # alt text = $2
784
- \]
785
-
786
- [ ]? # one optional space
787
- (?:\n[ ]*)? # one optional newline followed by spaces
788
-
789
- \[
790
- (.*?) # id = $3
791
- \]
792
-
793
- )
794
- }xs',
795
- array(&$this, '_doImages_reference_callback'), $text);
796
-
797
- #
798
- # Next, handle inline images: ![alt text](url "optional title")
799
- # Don't forget: encode * and _
800
- #
801
- $text = preg_replace_callback('{
802
- ( # wrap whole match in $1
803
- !\[
804
- ('.$this->nested_brackets_re.') # alt text = $2
805
- \]
806
- \s? # One optional whitespace character
807
- \( # literal paren
808
- [ \n]*
809
- (?:
810
- <(\S*)> # src url = $3
811
- |
812
- ('.$this->nested_url_parenthesis_re.') # src url = $4
813
- )
814
- [ \n]*
815
- ( # $5
816
- ([\'"]) # quote char = $6
817
- (.*?) # title = $7
818
- \6 # matching quote
819
- [ \n]*
820
- )? # title is optional
821
- \)
822
- )
823
- }xs',
824
- array(&$this, '_doImages_inline_callback'), $text);
825
-
826
- return $text;
827
- }
828
- function _doImages_reference_callback($matches) {
829
- $whole_match = $matches[1];
830
- $alt_text = $matches[2];
831
- $link_id = strtolower($matches[3]);
832
-
833
- if ($link_id == "") {
834
- $link_id = strtolower($alt_text); # for shortcut links like ![this][].
835
- }
836
-
837
- $alt_text = $this->encodeAttribute($alt_text);
838
- if (isset($this->urls[$link_id])) {
839
- $url = $this->encodeAttribute($this->urls[$link_id]);
840
- $result = "<img src=\"$url\" alt=\"$alt_text\"";
841
- if (isset($this->titles[$link_id])) {
842
- $title = $this->titles[$link_id];
843
- $title = $this->encodeAttribute($title);
844
- $result .= " title=\"$title\"";
845
- }
846
- $result .= $this->empty_element_suffix;
847
- $result = $this->hashPart($result);
848
- }
849
- else {
850
- # If there's no such link ID, leave intact:
851
- $result = $whole_match;
852
- }
853
-
854
- return $result;
855
- }
856
- function _doImages_inline_callback($matches) {
857
- $whole_match = $matches[1];
858
- $alt_text = $matches[2];
859
- $url = $matches[3] == '' ? $matches[4] : $matches[3];
860
- $title =& $matches[7];
861
-
862
- $alt_text = $this->encodeAttribute($alt_text);
863
- $url = $this->encodeAttribute($url);
864
- $result = "<img src=\"$url\" alt=\"$alt_text\"";
865
- if (isset($title)) {
866
- $title = $this->encodeAttribute($title);
867
- $result .= " title=\"$title\""; # $title already quoted
868
- }
869
- $result .= $this->empty_element_suffix;
870
-
871
- return $this->hashPart($result);
872
- }
873
-
874
-
875
- function doHeaders($text) {
876
- # Setext-style headers:
877
- # Header 1
878
- # ========
879
- #
880
- # Header 2
881
- # --------
882
- #
883
- $text = preg_replace_callback('{ ^(.+?)[ ]*\n(=+|-+)[ ]*\n+ }mx',
884
- array(&$this, '_doHeaders_callback_setext'), $text);
885
-
886
- # atx-style headers:
887
- # # Header 1
888
- # ## Header 2
889
- # ## Header 2 with closing hashes ##
890
- # ...
891
- # ###### Header 6
892
- #
893
- $text = preg_replace_callback('{
894
- ^(\#{1,6}) # $1 = string of #\'s
895
- [ ]*
896
- (.+?) # $2 = Header text
897
- [ ]*
898
- \#* # optional closing #\'s (not counted)
899
- \n+
900
- }xm',
901
- array(&$this, '_doHeaders_callback_atx'), $text);
902
-
903
- return $text;
904
- }
905
- function _doHeaders_callback_setext($matches) {
906
- # Terrible hack to check we haven't found an empty list item.
907
- if ($matches[2] == '-' && preg_match('{^-(?: |$)}', $matches[1]))
908
- return $matches[0];
909
-
910
- $level = $matches[2]{0} == '=' ? 1 : 2;
911
- $block = "<h$level>".$this->runSpanGamut($matches[1])."</h$level>";
912
- return "\n" . $this->hashBlock($block) . "\n\n";
913
- }
914
- function _doHeaders_callback_atx($matches) {
915
- $level = strlen($matches[1]);
916
- $block = "<h$level>".$this->runSpanGamut($matches[2])."</h$level>";
917
- return "\n" . $this->hashBlock($block) . "\n\n";
918
- }
919
-
920
-
921
- function doLists($text) {
922
- #
923
- # Form HTML ordered (numbered) and unordered (bulleted) lists.
924
- #
925
- $less_than_tab = $this->tab_width - 1;
926
-
927
- # Re-usable patterns to match list item bullets and number markers:
928
- $marker_ul_re = '[*+-]';
929
- $marker_ol_re = '\d+[.]';
930
- $marker_any_re = "(?:$marker_ul_re|$marker_ol_re)";
931
-
932
- $markers_relist = array(
933
- $marker_ul_re => $marker_ol_re,
934
- $marker_ol_re => $marker_ul_re,
935
- );
936
-
937
- foreach ($markers_relist as $marker_re => $other_marker_re) {
938
- # Re-usable pattern to match any entirel ul or ol list:
939
- $whole_list_re = '
940
- ( # $1 = whole list
941
- ( # $2
942
- ([ ]{0,'.$less_than_tab.'}) # $3 = number of spaces
943
- ('.$marker_re.') # $4 = first list item marker
944
- [ ]+
945
- )
946
- (?s:.+?)
947
- ( # $5
948
- \z
949
- |
950
- \n{2,}
951
- (?=\S)
952
- (?! # Negative lookahead for another list item marker
953
- [ ]*
954
- '.$marker_re.'[ ]+
955
- )
956
- |
957
- (?= # Lookahead for another kind of list
958
- \n
959
- \3 # Must have the same indentation
960
- '.$other_marker_re.'[ ]+
961
- )
962
- )
963
- )
964
- '; // mx
965
-
966
- # We use a different prefix before nested lists than top-level lists.
967
- # See extended comment in _ProcessListItems().
968
-
969
- if ($this->list_level) {
970
- $text = preg_replace_callback('{
971
- ^
972
- '.$whole_list_re.'
973
- }mx',
974
- array(&$this, '_doLists_callback'), $text);
975
- }
976
- else {
977
- $text = preg_replace_callback('{
978
- (?:(?<=\n)\n|\A\n?) # Must eat the newline
979
- '.$whole_list_re.'
980
- }mx',
981
- array(&$this, '_doLists_callback'), $text);
982
- }
983
- }
984
-
985
- return $text;
986
- }
987
- function _doLists_callback($matches) {
988
- # Re-usable patterns to match list item bullets and number markers:
989
- $marker_ul_re = '[*+-]';
990
- $marker_ol_re = '\d+[.]';
991
- $marker_any_re = "(?:$marker_ul_re|$marker_ol_re)";
992
-
993
- $list = $matches[1];
994
- $list_type = preg_match("/$marker_ul_re/", $matches[4]) ? "ul" : "ol";
995
-
996
- $marker_any_re = ( $list_type == "ul" ? $marker_ul_re : $marker_ol_re );
997
-
998
- $list .= "\n";
999
- $result = $this->processListItems($list, $marker_any_re);
1000
-
1001
- $result = $this->hashBlock("<$list_type>\n" . $result . "</$list_type>");
1002
- return "\n". $result ."\n\n";
1003
- }
1004
-
1005
- var $list_level = 0;
1006
-
1007
- function processListItems($list_str, $marker_any_re) {
1008
- #
1009
- # Process the contents of a single ordered or unordered list, splitting it
1010
- # into individual list items.
1011
- #
1012
- # The $this->list_level global keeps track of when we're inside a list.
1013
- # Each time we enter a list, we increment it; when we leave a list,
1014
- # we decrement. If it's zero, we're not in a list anymore.
1015
- #
1016
- # We do this because when we're not inside a list, we want to treat
1017
- # something like this:
1018
- #
1019
- # I recommend upgrading to version
1020
- # 8. Oops, now this line is treated
1021
- # as a sub-list.
1022
- #
1023
- # As a single paragraph, despite the fact that the second line starts
1024
- # with a digit-period-space sequence.
1025
- #
1026
- # Whereas when we're inside a list (or sub-list), that line will be
1027
- # treated as the start of a sub-list. What a kludge, huh? This is
1028
- # an aspect of Markdown's syntax that's hard to parse perfectly
1029
- # without resorting to mind-reading. Perhaps the solution is to
1030
- # change the syntax rules such that sub-lists must start with a
1031
- # starting cardinal number; e.g. "1." or "a.".
1032
-
1033
- $this->list_level++;
1034
-
1035
- # trim trailing blank lines:
1036
- $list_str = preg_replace("/\n{2,}\\z/", "\n", $list_str);
1037
-
1038
- $list_str = preg_replace_callback('{
1039
- (\n)? # leading line = $1
1040
- (^[ ]*) # leading whitespace = $2
1041
- ('.$marker_any_re.' # list marker and space = $3
1042
- (?:[ ]+|(?=\n)) # space only required if item is not empty
1043
- )
1044
- ((?s:.*?)) # list item text = $4
1045
- (?:(\n+(?=\n))|\n) # tailing blank line = $5
1046
- (?= \n* (\z | \2 ('.$marker_any_re.') (?:[ ]+|(?=\n))))
1047
- }xm',
1048
- array(&$this, '_processListItems_callback'), $list_str);
1049
-
1050
- $this->list_level--;
1051
- return $list_str;
1052
- }
1053
- function _processListItems_callback($matches) {
1054
- $item = $matches[4];
1055
- $leading_line =& $matches[1];
1056
- $leading_space =& $matches[2];
1057
- $marker_space = $matches[3];
1058
- $tailing_blank_line =& $matches[5];
1059
-
1060
- if ($leading_line || $tailing_blank_line ||
1061
- preg_match('/\n{2,}/', $item))
1062
- {
1063
- # Replace marker with the appropriate whitespace indentation
1064
- $item = $leading_space . str_repeat(' ', strlen($marker_space)) . $item;
1065
- $item = $this->runBlockGamut($this->outdent($item)."\n");
1066
- }
1067
- else {
1068
- # Recursion for sub-lists:
1069
- $item = $this->doLists($this->outdent($item));
1070
- $item = preg_replace('/\n+$/', '', $item);
1071
- $item = $this->runSpanGamut($item);
1072
- }
1073
-
1074
- return "<li>" . $item . "</li>\n";
1075
- }
1076
-
1077
-
1078
- function doCodeBlocks($text) {
1079
- #
1080
- # Process Markdown `<pre><code>` blocks.
1081
- #
1082
- $text = preg_replace_callback('{
1083
- (?:\n\n|\A\n?)
1084
- ( # $1 = the code block -- one or more lines, starting with a space/tab
1085
- (?>
1086
- [ ]{'.$this->tab_width.'} # Lines must start with a tab or a tab-width of spaces
1087
- .*\n+
1088
- )+
1089
- )
1090
- ((?=^[ ]{0,'.$this->tab_width.'}\S)|\Z) # Lookahead for non-space at line-start, or end of doc
1091
- }xm',
1092
- array(&$this, '_doCodeBlocks_callback'), $text);
1093
-
1094
- return $text;
1095
- }
1096
- function _doCodeBlocks_callback($matches) {
1097
- $codeblock = $matches[1];
1098
-
1099
- $codeblock = $this->outdent($codeblock);
1100
- $codeblock = htmlspecialchars($codeblock, ENT_NOQUOTES);
1101
-
1102
- # trim leading newlines and trailing newlines
1103
- $codeblock = preg_replace('/\A\n+|\n+\z/', '', $codeblock);
1104
-
1105
- $codeblock = "<pre><code>$codeblock\n</code></pre>";
1106
- return "\n\n".$this->hashBlock($codeblock)."\n\n";
1107
- }
1108
-
1109
-
1110
- function makeCodeSpan($code) {
1111
- #
1112
- # Create a code span markup for $code. Called from handleSpanToken.
1113
- #
1114
- $code = htmlspecialchars(trim($code), ENT_NOQUOTES);
1115
- return $this->hashPart("<code>$code</code>");
1116
- }
1117
-
1118
-
1119
- var $em_relist = array(
1120
- '' => '(?:(?<!\*)\*(?!\*)|(?<!_)_(?!_))(?=\S|$)(?![.,:;]\s)',
1121
- '*' => '(?<=\S|^)(?<!\*)\*(?!\*)',
1122
- '_' => '(?<=\S|^)(?<!_)_(?!_)',
1123
- );
1124
- var $strong_relist = array(
1125
- '' => '(?:(?<!\*)\*\*(?!\*)|(?<!_)__(?!_))(?=\S|$)(?![.,:;]\s)',
1126
- '**' => '(?<=\S|^)(?<!\*)\*\*(?!\*)',
1127
- '__' => '(?<=\S|^)(?<!_)__(?!_)',
1128
- );
1129
- var $em_strong_relist = array(
1130
- '' => '(?:(?<!\*)\*\*\*(?!\*)|(?<!_)___(?!_))(?=\S|$)(?![.,:;]\s)',
1131
- '***' => '(?<=\S|^)(?<!\*)\*\*\*(?!\*)',
1132
- '___' => '(?<=\S|^)(?<!_)___(?!_)',
1133
- );
1134
- var $em_strong_prepared_relist;
1135
-
1136
- function prepareItalicsAndBold() {
1137
- #
1138
- # Prepare regular expressions for searching emphasis tokens in any
1139
- # context.
1140
- #
1141
- foreach ($this->em_relist as $em => $em_re) {
1142
- foreach ($this->strong_relist as $strong => $strong_re) {
1143
- # Construct list of allowed token expressions.
1144
- $token_relist = array();
1145
- if (isset($this->em_strong_relist["$em$strong"])) {
1146
- $token_relist[] = $this->em_strong_relist["$em$strong"];
1147
- }
1148
- $token_relist[] = $em_re;
1149
- $token_relist[] = $strong_re;
1150
-
1151
- # Construct master expression from list.
1152
- $token_re = '{('. implode('|', $token_relist) .')}';
1153
- $this->em_strong_prepared_relist["$em$strong"] = $token_re;
1154
- }
1155
- }
1156
- }
1157
-
1158
- function doItalicsAndBold($text) {
1159
- $token_stack = array('');
1160
- $text_stack = array('');
1161
- $em = '';
1162
- $strong = '';
1163
- $tree_char_em = false;
1164
-
1165
- while (1) {
1166
- #
1167
- # Get prepared regular expression for seraching emphasis tokens
1168
- # in current context.
1169
- #
1170
- $token_re = $this->em_strong_prepared_relist["$em$strong"];
1171
-
1172
- #
1173
- # Each loop iteration search for the next emphasis token.
1174
- # Each token is then passed to handleSpanToken.
1175
- #
1176
- $parts = preg_split($token_re, $text, 2, PREG_SPLIT_DELIM_CAPTURE);
1177
- $text_stack[0] .= $parts[0];
1178
- $token =& $parts[1];
1179
- $text =& $parts[2];
1180
-
1181
- if (empty($token)) {
1182
- # Reached end of text span: empty stack without emitting.
1183
- # any more emphasis.
1184
- while ($token_stack[0]) {
1185
- $text_stack[1] .= array_shift($token_stack);
1186
- $text_stack[0] .= array_shift($text_stack);
1187
- }
1188
- break;
1189
- }
1190
-
1191
- $token_len = strlen($token);
1192
- if ($tree_char_em) {
1193
- # Reached closing marker while inside a three-char emphasis.
1194
- if ($token_len == 3) {
1195
- # Three-char closing marker, close em and strong.
1196
- array_shift($token_stack);
1197
- $span = array_shift($text_stack);
1198
- $span = $this->runSpanGamut($span);
1199
- $span = "<strong><em>$span</em></strong>";
1200
- $text_stack[0] .= $this->hashPart($span);
1201
- $em = '';
1202
- $strong = '';
1203
- } else {
1204
- # Other closing marker: close one em or strong and
1205
- # change current token state to match the other
1206
- $token_stack[0] = str_repeat($token{0}, 3-$token_len);
1207
- $tag = $token_len == 2 ? "strong" : "em";
1208
- $span = $text_stack[0];
1209
- $span = $this->runSpanGamut($span);
1210
- $span = "<$tag>$span</$tag>";
1211
- $text_stack[0] = $this->hashPart($span);
1212
- $$tag = ''; # $$tag stands for $em or $strong
1213
- }
1214
- $tree_char_em = false;
1215
- } else if ($token_len == 3) {
1216
- if ($em) {
1217
- # Reached closing marker for both em and strong.
1218
- # Closing strong marker:
1219
- for ($i = 0; $i < 2; ++$i) {
1220
- $shifted_token = array_shift($token_stack);
1221
- $tag = strlen($shifted_token) == 2 ? "strong" : "em";
1222
- $span = array_shift($text_stack);
1223
- $span = $this->runSpanGamut($span);
1224
- $span = "<$tag>$span</$tag>";
1225
- $text_stack[0] .= $this->hashPart($span);
1226
- $$tag = ''; # $$tag stands for $em or $strong
1227
- }
1228
- } else {
1229
- # Reached opening three-char emphasis marker. Push on token
1230
- # stack; will be handled by the special condition above.
1231
- $em = $token{0};
1232
- $strong = "$em$em";
1233
- array_unshift($token_stack, $token);
1234
- array_unshift($text_stack, '');
1235
- $tree_char_em = true;
1236
- }
1237
- } else if ($token_len == 2) {
1238
- if ($strong) {
1239
- # Unwind any dangling emphasis marker:
1240
- if (strlen($token_stack[0]) == 1) {
1241
- $text_stack[1] .= array_shift($token_stack);
1242
- $text_stack[0] .= array_shift($text_stack);
1243
- }
1244
- # Closing strong marker:
1245
- array_shift($token_stack);
1246
- $span = array_shift($text_stack);
1247
- $span = $this->runSpanGamut($span);
1248
- $span = "<strong>$span</strong>";
1249
- $text_stack[0] .= $this->hashPart($span);
1250
- $strong = '';
1251
- } else {
1252
- array_unshift($token_stack, $token);
1253
- array_unshift($text_stack, '');
1254
- $strong = $token;
1255
- }
1256
- } else {
1257
- # Here $token_len == 1
1258
- if ($em) {
1259
- if (strlen($token_stack[0]) == 1) {
1260
- # Closing emphasis marker:
1261
- array_shift($token_stack);
1262
- $span = array_shift($text_stack);
1263
- $span = $this->runSpanGamut($span);
1264
- $span = "<em>$span</em>";
1265
- $text_stack[0] .= $this->hashPart($span);
1266
- $em = '';
1267
- } else {
1268
- $text_stack[0] .= $token;
1269
- }
1270
- } else {
1271
- array_unshift($token_stack, $token);
1272
- array_unshift($text_stack, '');
1273
- $em = $token;
1274
- }
1275
- }
1276
- }
1277
- return $text_stack[0];
1278
- }
1279
-
1280
-
1281
- function doBlockQuotes($text) {
1282
- $text = preg_replace_callback('/
1283
- ( # Wrap whole match in $1
1284
- (?>
1285
- ^[ ]*>[ ]? # ">" at the start of a line
1286
- .+\n # rest of the first line
1287
- (.+\n)* # subsequent consecutive lines
1288
- \n* # blanks
1289
- )+
1290
- )
1291
- /xm',
1292
- array(&$this, '_doBlockQuotes_callback'), $text);
1293
-
1294
- return $text;
1295
- }
1296
- function _doBlockQuotes_callback($matches) {
1297
- $bq = $matches[1];
1298
- # trim one level of quoting - trim whitespace-only lines
1299
- $bq = preg_replace('/^[ ]*>[ ]?|^[ ]+$/m', '', $bq);
1300
- $bq = $this->runBlockGamut($bq); # recurse
1301
-
1302
- $bq = preg_replace('/^/m', " ", $bq);
1303
- # These leading spaces cause problem with <pre> content,
1304
- # so we need to fix that:
1305
- $bq = preg_replace_callback('{(\s*<pre>.+?</pre>)}sx',
1306
- array(&$this, '_doBlockQuotes_callback2'), $bq);
1307
-
1308
- return "\n". $this->hashBlock("<blockquote>\n$bq\n</blockquote>")."\n\n";
1309
- }
1310
- function _doBlockQuotes_callback2($matches) {
1311
- $pre = $matches[1];
1312
- $pre = preg_replace('/^ /m', '', $pre);
1313
- return $pre;
1314
- }
1315
-
1316
-
1317
- function formParagraphs($text) {
1318
- #
1319
- # Params:
1320
- # $text - string to process with html <p> tags
1321
- #
1322
- # Strip leading and trailing lines:
1323
- $text = preg_replace('/\A\n+|\n+\z/', '', $text);
1324
-
1325
- $grafs = preg_split('/\n{2,}/', $text, -1, PREG_SPLIT_NO_EMPTY);
1326
-
1327
- #
1328
- # Wrap <p> tags and unhashify HTML blocks
1329
- #
1330
- foreach ($grafs as $key => $value) {
1331
- if (!preg_match('/^B\x1A[0-9]+B$/', $value)) {
1332
- # Is a paragraph.
1333
- $value = $this->runSpanGamut($value);
1334
- $value = preg_replace('/^([ ]*)/', "<p>", $value);
1335
- $value .= "</p>";
1336
- $grafs[$key] = $this->unhash($value);
1337
- }
1338
- else {
1339
- # Is a block.
1340
- # Modify elements of @grafs in-place...
1341
- $graf = $value;
1342
- $block = $this->html_hashes[$graf];
1343
- $graf = $block;
1344
- // if (preg_match('{
1345
- // \A
1346
- // ( # $1 = <div> tag
1347
- // <div \s+
1348
- // [^>]*
1349
- // \b
1350
- // markdown\s*=\s* ([\'"]) # $2 = attr quote char
1351
- // 1
1352
- // \2
1353
- // [^>]*
1354
- // >
1355
- // )
1356
- // ( # $3 = contents
1357
- // .*
1358
- // )
1359
- // (</div>) # $4 = closing tag
1360
- // \z
1361
- // }xs', $block, $matches))
1362
- // {
1363
- // list(, $div_open, , $div_content, $div_close) = $matches;
1364
- //
1365
- // # We can't call Markdown(), because that resets the hash;
1366
- // # that initialization code should be pulled into its own sub, though.
1367
- // $div_content = $this->hashHTMLBlocks($div_content);
1368
- //
1369
- // # Run document gamut methods on the content.
1370
- // foreach ($this->document_gamut as $method => $priority) {
1371
- // $div_content = $this->$method($div_content);
1372
- // }
1373
- //
1374
- // $div_open = preg_replace(
1375
- // '{\smarkdown\s*=\s*([\'"]).+?\1}', '', $div_open);
1376
- //
1377
- // $graf = $div_open . "\n" . $div_content . "\n" . $div_close;
1378
- // }
1379
- $grafs[$key] = $graf;
1380
- }
1381
- }
1382
-
1383
- return implode("\n\n", $grafs);
1384
- }
1385
-
1386
-
1387
- function encodeAttribute($text) {
1388
- #
1389
- # Encode text for a double-quoted HTML attribute. This function
1390
- # is *not* suitable for attributes enclosed in single quotes.
1391
- #
1392
- $text = $this->encodeAmpsAndAngles($text);
1393
- $text = str_replace('"', '&quot;', $text);
1394
- return $text;
1395
- }
1396
-
1397
-
1398
- function encodeAmpsAndAngles($text) {
1399
- #
1400
- # Smart processing for ampersands and angle brackets that need to
1401
- # be encoded. Valid character entities are left alone unless the
1402
- # no-entities mode is set.
1403
- #
1404
- if ($this->no_entities) {
1405
- $text = str_replace('&', '&amp;', $text);
1406
- } else {
1407
- # Ampersand-encoding based entirely on Nat Irons's Amputator
1408
- # MT plugin: <http://bumppo.net/projects/amputator/>
1409
- $text = preg_replace('/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/',
1410
- '&amp;', $text);;
1411
- }
1412
- # Encode remaining <'s
1413
- $text = str_replace('<', '&lt;', $text);
1414
-
1415
- return $text;
1416
- }
1417
-
1418
-
1419
- function doAutoLinks($text) {
1420
- $text = preg_replace_callback('{<((https?|ftp|dict):[^\'">\s]+)>}i',
1421
- array(&$this, '_doAutoLinks_url_callback'), $text);
1422
-
1423
- # Email addresses: <address@domain.foo>
1424
- $text = preg_replace_callback('{
1425
- <
1426
- (?:mailto:)?
1427
- (
1428
- (?:
1429
- [-!#$%&\'*+/=?^_`.{|}~\w\x80-\xFF]+
1430
- |
1431
- ".*?"
1432
- )
1433
- \@
1434
- (?:
1435
- [-a-z0-9\x80-\xFF]+(\.[-a-z0-9\x80-\xFF]+)*\.[a-z]+
1436
- |
1437
- \[[\d.a-fA-F:]+\] # IPv4 & IPv6
1438
- )
1439
- )
1440
- >
1441
- }xi',
1442
- array(&$this, '_doAutoLinks_email_callback'), $text);
1443
-
1444
- return $text;
1445
- }
1446
- function _doAutoLinks_url_callback($matches) {
1447
- $url = $this->encodeAttribute($matches[1]);
1448
- $link = "<a href=\"$url\">$url</a>";
1449
- return $this->hashPart($link);
1450
- }
1451
- function _doAutoLinks_email_callback($matches) {
1452
- $address = $matches[1];
1453
- $link = $this->encodeEmailAddress($address);
1454
- return $this->hashPart($link);
1455
- }
1456
-
1457
-
1458
- function encodeEmailAddress($addr) {
1459
- #
1460
- # Input: an email address, e.g. "foo@example.com"
1461
- #
1462
- # Output: the email address as a mailto link, with each character
1463
- # of the address encoded as either a decimal or hex entity, in
1464
- # the hopes of foiling most address harvesting spam bots. E.g.:
1465
- #
1466
- # <p><a href="&#109;&#x61;&#105;&#x6c;&#116;&#x6f;&#58;&#x66;o&#111;
1467
- # &#x40;&#101;&#x78;&#97;&#x6d;&#112;&#x6c;&#101;&#46;&#x63;&#111;
1468
- # &#x6d;">&#x66;o&#111;&#x40;&#101;&#x78;&#97;&#x6d;&#112;&#x6c;
1469
- # &#101;&#46;&#x63;&#111;&#x6d;</a></p>
1470
- #
1471
- # Based by a filter by Matthew Wickline, posted to BBEdit-Talk.
1472
- # With some optimizations by Milian Wolff.
1473
- #
1474
- $addr = "mailto:" . $addr;
1475
- $chars = preg_split('/(?<!^)(?!$)/', $addr);
1476
- $seed = (int)abs(crc32($addr) / strlen($addr)); # Deterministic seed.
1477
-
1478
- foreach ($chars as $key => $char) {
1479
- $ord = ord($char);
1480
- # Ignore non-ascii chars.
1481
- if ($ord < 128) {
1482
- $r = ($seed * (1 + $key)) % 100; # Pseudo-random function.
1483
- # roughly 10% raw, 45% hex, 45% dec
1484
- # '@' *must* be encoded. I insist.
1485
- if ($r > 90 && $char != '@') /* do nothing */;
1486
- else if ($r < 45) $chars[$key] = '&#x'.dechex($ord).';';
1487
- else $chars[$key] = '&#'.$ord.';';
1488
- }
1489
- }
1490
-
1491
- $addr = implode('', $chars);
1492
- $text = implode('', array_slice($chars, 7)); # text without `mailto:`
1493
- $addr = "<a href=\"$addr\">$text</a>";
1494
-
1495
- return $addr;
1496
- }
1497
-
1498
-
1499
- function parseSpan($str) {
1500
- #
1501
- # Take the string $str and parse it into tokens, hashing embeded HTML,
1502
- # escaped characters and handling code spans.
1503
- #
1504
- $output = '';
1505
-
1506
- $span_re = '{
1507
- (
1508
- \\\\'.$this->escape_chars_re.'
1509
- |
1510
- (?<![`\\\\])
1511
- `+ # code span marker
1512
- '.( $this->no_markup ? '' : '
1513
- |
1514
- <!-- .*? --> # comment
1515
- |
1516
- <\?.*?\?> | <%.*?%> # processing instruction
1517
- |
1518
- <[/!$]?[-a-zA-Z0-9:_]+ # regular tags
1519
- (?>
1520
- \s
1521
- (?>[^"\'>]+|"[^"]*"|\'[^\']*\')*
1522
- )?
1523
- >
1524
- ').'
1525
- )
1526
- }xs';
1527
-
1528
- while (1) {
1529
- #
1530
- # Each loop iteration seach for either the next tag, the next
1531
- # openning code span marker, or the next escaped character.
1532
- # Each token is then passed to handleSpanToken.
1533
- #
1534
- $parts = preg_split($span_re, $str, 2, PREG_SPLIT_DELIM_CAPTURE);
1535
-
1536
- # Create token from text preceding tag.
1537
- if ($parts[0] != "") {
1538
- $output .= $parts[0];
1539
- }
1540
-
1541
- # Check if we reach the end.
1542
- if (isset($parts[1])) {
1543
- $output .= $this->handleSpanToken($parts[1], $parts[2]);
1544
- $str = $parts[2];
1545
- }
1546
- else {
1547
- break;
1548
- }
1549
- }
1550
-
1551
- return $output;
1552
- }
1553
-
1554
-
1555
- function handleSpanToken($token, &$str) {
1556
- #
1557
- # Handle $token provided by parseSpan by determining its nature and
1558
- # returning the corresponding value that should replace it.
1559
- #
1560
- switch ($token{0}) {
1561
- case "\\":
1562
- return $this->hashPart("&#". ord($token{1}). ";");
1563
- case "`":
1564
- # Search for end marker in remaining text.
1565
- if (preg_match('/^(.*?[^`])'.preg_quote($token).'(?!`)(.*)$/sm',
1566
- $str, $matches))
1567
- {
1568
- $str = $matches[2];
1569
- $codespan = $this->makeCodeSpan($matches[1]);
1570
- return $this->hashPart($codespan);
1571
- }
1572
- return $token; // return as text since no ending marker found.
1573
- default:
1574
- return $this->hashPart($token);
1575
- }
1576
- }
1577
-
1578
-
1579
- function outdent($text) {
1580
- #
1581
- # Remove one level of line-leading tabs or spaces
1582
- #
1583
- return preg_replace('/^(\t|[ ]{1,'.$this->tab_width.'})/m', '', $text);
1584
- }
1585
-
1586
-
1587
- # String length function for detab. `_initDetab` will create a function to
1588
- # hanlde UTF-8 if the default function does not exist.
1589
- var $utf8_strlen = 'mb_strlen';
1590
-
1591
- function detab($text) {
1592
- #
1593
- # Replace tabs with the appropriate amount of space.
1594
- #
1595
- # For each line we separate the line in blocks delemited by
1596
- # tab characters. Then we reconstruct every line by adding the
1597
- # appropriate number of space between each blocks.
1598
-
1599
- $text = preg_replace_callback('/^.*\t.*$/m',
1600
- array(&$this, '_detab_callback'), $text);
1601
-
1602
- return $text;
1603
- }
1604
- function _detab_callback($matches) {
1605
- $line = $matches[0];
1606
- $strlen = $this->utf8_strlen; # strlen function for UTF-8.
1607
-
1608
- # Split in blocks.
1609
- $blocks = explode("\t", $line);
1610
- # Add each blocks to the line.
1611
- $line = $blocks[0];
1612
- unset($blocks[0]); # Do not add first block twice.
1613
- foreach ($blocks as $block) {
1614
- # Calculate amount of space, insert spaces, insert block.
1615
- $amount = $this->tab_width -
1616
- $strlen($line, 'UTF-8') % $this->tab_width;
1617
- $line .= str_repeat(" ", $amount) . $block;
1618
- }
1619
- return $line;
1620
- }
1621
- function _initDetab() {
1622
- #
1623
- # Check for the availability of the function in the `utf8_strlen` property
1624
- # (initially `mb_strlen`). If the function is not available, create a
1625
- # function that will loosely count the number of UTF-8 characters with a
1626
- # regular expression.
1627
- #
1628
- if (function_exists($this->utf8_strlen)) return;
1629
- $this->utf8_strlen = create_function('$text', 'return preg_match_all(
1630
- "/[\\\\x00-\\\\xBF]|[\\\\xC0-\\\\xFF][\\\\x80-\\\\xBF]*/",
1631
- $text, $m);');
1632
- }
1633
-
1634
-
1635
- function unhash($text) {
1636
- #
1637
- # Swap back in all the tags hashed by _HashHTMLBlocks.
1638
- #
1639
- return preg_replace_callback('/(.)\x1A[0-9]+\1/',
1640
- array(&$this, '_unhash_callback'), $text);
1641
- }
1642
- function _unhash_callback($matches) {
1643
- return $this->html_hashes[$matches[0]];
1644
- }
1645
-
1646
- }
1647
-
1648
- /*
1649
-
1650
- PHP Markdown
1651
- ============
1652
-
1653
- Description
1654
- -----------
1655
-
1656
- This is a PHP translation of the original Markdown formatter written in
1657
- Perl by John Gruber.
1658
-
1659
- Markdown is a text-to-HTML filter; it translates an easy-to-read /
1660
- easy-to-write structured text format into HTML. Markdown's text format
1661
- is most similar to that of plain text email, and supports features such
1662
- as headers, *emphasis*, code blocks, blockquotes, and links.
1663
-
1664
- Markdown's syntax is designed not as a generic markup language, but
1665
- specifically to serve as a front-end to (X)HTML. You can use span-level
1666
- HTML tags anywhere in a Markdown document, and you can use block level
1667
- HTML tags (like <div> and <table> as well).
1668
-
1669
- For more information about Markdown's syntax, see:
1670
-
1671
- <http://daringfireball.net/projects/markdown/>
1672
-
1673
-
1674
- Bugs
1675
- ----
1676
-
1677
- To file bug reports please send email to:
1678
-
1679
- <michel.fortin@michelf.com>
1680
-
1681
- Please include with your report: (1) the example input; (2) the output you
1682
- expected; (3) the output Markdown actually produced.
1683
-
1684
-
1685
- Version History
1686
- ---------------
1687
-
1688
- See the readme file for detailed release notes for this version.
1689
-
1690
-
1691
- Copyright and License
1692
- ---------------------
1693
-
1694
- PHP Markdown
1695
- Copyright (c) 2004-2009 Michel Fortin
1696
- <http://michelf.com/>
1697
- All rights reserved.
1698
-
1699
- Based on Markdown
1700
- Copyright (c) 2003-2006 John Gruber
1701
- <http://daringfireball.net/>
1702
- All rights reserved.
1703
-
1704
- Redistribution and use in source and binary forms, with or without
1705
- modification, are permitted provided that the following conditions are
1706
- met:
1707
-
1708
- * Redistributions of source code must retain the above copyright notice,
1709
- this list of conditions and the following disclaimer.
1710
-
1711
- * Redistributions in binary form must reproduce the above copyright
1712
- notice, this list of conditions and the following disclaimer in the
1713
- documentation and/or other materials provided with the distribution.
1714
-
1715
- * Neither the name "Markdown" nor the names of its contributors may
1716
- be used to endorse or promote products derived from this software
1717
- without specific prior written permission.
1718
-
1719
- This software is provided by the copyright holders and contributors "as
1720
- is" and any express or implied warranties, including, but not limited
1721
- to, the implied warranties of merchantability and fitness for a
1722
- particular purpose are disclaimed. In no event shall the copyright owner
1723
- or contributors be liable for any direct, indirect, incidental, special,
1724
- exemplary, or consequential damages (including, but not limited to,
1725
- procurement of substitute goods or services; loss of use, data, or
1726
- profits; or business interruption) however caused and on any theory of
1727
- liability, whether in contract, strict liability, or tort (including
1728
- negligence or otherwise) arising in any way out of the use of this
1729
- software, even if advised of the possibility of such damage.
1730
-
1731
- */
1732
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
modules/404s/fofs.php CHANGED
@@ -11,6 +11,77 @@ class SU_Fofs extends SU_Module {
11
  function get_module_title() { return __('404 Monitor', 'seo-ultimate'); }
12
  function has_menu_count() { return true; }
13
  function admin_page_contents() { $this->children_admin_page_tabs(); }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  }
15
 
16
  }
11
  function get_module_title() { return __('404 Monitor', 'seo-ultimate'); }
12
  function has_menu_count() { return true; }
13
  function admin_page_contents() { $this->children_admin_page_tabs(); }
14
+
15
+ function add_help_tabs($screen) {
16
+
17
+ $screen->add_help_tab(array(
18
+ 'id' => 'su-fofs-overview'
19
+ , 'title' => __('Overview', 'seo-ultimate')
20
+ , 'content' => __("
21
+ <ul>
22
+ <li><strong>What it does:</strong> The 404 Monitor keeps track of non-existent URLs that generated 404 errors. 404 errors are when a search engine or visitor comes to a URL on your site but nothing exists at that URL.</li>
23
+ <li><strong>Why it helps:</strong> The 404 Monitor helps you spot 404 errors; then you can take steps to correct them to reduce link-juice loss from broken links.</li>
24
+ <li><strong>How to use it:</strong> Check the 404 Monitor occasionally for errors. (A numeric bubble will appear next to the &#8220;404 Monitor&#8221; item on the menu if there are any newly-logged URLs that you haven't seen yet. These new URLs will also be highlighted green in the table.) If a 404 error's referring URL is located on your site, try locating and fixing the broken URL. If moved content was previously located at the requested URL, try using a redirection plugin to point the old URL to the new one.</li>
25
+ </ul>
26
+
27
+ <p>If there are no 404 errors in the log, this is good and means there's no action required on your part.</p>
28
+ ", 'seo-ultimate')));
29
+
30
+ $screen->add_help_tab(array(
31
+ 'id' => 'su-fofs-log'
32
+ , 'title' => __('Log Help', 'seo-ultimate')
33
+ , 'content' => __("
34
+ <p>You can perform the following actions on each entry in the log:</p>
35
+
36
+ <ul>
37
+ <li>The &#8220;View&#8221; button will open the URL in a new window. This is useful for testing whether or not a redirect is working.</li>
38
+ <li>The &#8220;Google Cache&#8221; button will open Google's archived version of the URL in a new window. This is useful for determining what content, if any, used to be located at that URL.</li>
39
+ <li>Once you've taken care of a 404 error, you can click the &#8220;Remove&#8221; button to remove it from the list. The URL will reappear on the list if it triggers a 404 error in the future.</li>
40
+ </ul>
41
+ ", 'seo-ultimate')));
42
+
43
+ $screen->add_help_tab(array(
44
+ 'id' => 'su-fofs-settings'
45
+ , 'title' => __('Settings Help', 'seo-ultimate')
46
+ , 'content' => __("
47
+ <p>The following options are available on the Settings tab:</p>
48
+
49
+ <ul>
50
+ <li>
51
+ <strong>Monitoring Settings</strong>
52
+ <ul>
53
+ <li><strong>Continue monitoring for new 404 errors</strong> &mdash; If disabled, 404 Monitor will keep existing 404 errors in the log but won't add any new ones.</li>
54
+ </ul>
55
+ </li>
56
+ <li>
57
+ <strong>Log Restrictions</strong>
58
+ <ul>
59
+ <li><strong>Only log these types of 404 errors</strong> &mdash; Check this option to log a 404 error <em>only</em> if it meets at least one of the criteria you specify. If you don't enable any criteria, no 404 errors will be logged.
60
+ <ul>
61
+ <li><strong>404s generated by search engine spiders</strong> &mdash; When logging restriction is enabled, this option will make an exception for 404 errors generated by one of the top search engines (Google, Yahoo, Baidu, Bing, Yandex, Soso, Ask.com, Sogou, or AltaVista).</li>
62
+ <li><strong>404s with referring URLs</strong> &mdash; When logging restriction is enabled, this option will make an exception for 404 errors generated by users who click a link on your site or another site first before ending up at a 404 page on your site.</li>
63
+ </ul>
64
+ </li>
65
+ </ul>
66
+ </li>
67
+ <li><strong>Maximum Log Entries</strong> &mdash; Here you can set the maximum number of log entries that 404 Monitor will keep at a time. Setting this to a reasonable number will help keep database usage under control. If you change this setting, it will take effect the next time a 404 is logged.</li>
68
+ <li><strong>URLs to Ignore</strong> &mdash; URLs entered here will be ignored whenever they generate 404 errors in the future. You can use asterisks (*) as wildcards.</li>
69
+ </ul>
70
+ ", 'seo-ultimate')));
71
+
72
+ $screen->add_help_tab(array(
73
+ 'id' => 'su-fofs-troubleshooting'
74
+ , 'title' => __('Troubleshooting', 'seo-ultimate')
75
+ , 'content' => __("
76
+ <p>404 Monitor doesn't appear to work? Take these notes into consideration:</p>
77
+
78
+ <ul>
79
+ <li>The 404 Monitor doesn't record 404 errors generated by logged-in users.</li>
80
+ <li>In order for the 404 Monitor to track 404 errors, you must have non-default permalinks enabled under <a href='options-permalink.php' target='_blank'>Settings &rArr; Permalinks</a>.</li>
81
+ <li>Some parts of your website may not be under WordPress's control; the 404 Monitor can't track 404 errors on non-WordPress website areas.</li>
82
+ </ul>
83
+ ", 'seo-ultimate')));
84
+ }
85
  }
86
 
87
  }
modules/canonical/canonical.php CHANGED
@@ -193,6 +193,24 @@ class SU_Canonical extends SU_Module {
193
  }
194
  }
195
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
  }
197
 
198
  }
193
  }
194
  }
195
  }
196
+
197
+ function add_help_tabs($screen) {
198
+
199
+ $screen->add_help_tab(array(
200
+ 'id' => 'su-canonical-overview'
201
+ , 'title' => $this->has_enabled_parent() ? __('Canonicalizer', 'seo-ultimate') : __('Overview', 'seo-ultimate')
202
+ , 'content' => __("
203
+ <ul>
204
+ <li>
205
+ <p><strong>What it does:</strong> Canonicalizer improves on two WordPress features to minimize possible exact-content duplication penalties. The <code>&lt;link rel=&quot;canonical&quot; /&gt;</code> tags setting improves on the canonical tags feature of WordPress 2.9 and above by encompassing much more of your site than just your posts and Pages.</p>
206
+ <p>The nonexistent pagination redirect feature fills a gap in WordPress's built-in canonicalization functionality: for example, if a URL request is made for page 6 of a category archive, and that category doesn't have a page 6, then by default, depending on the context, WordPress will display a blank page, or it will display the content of the closest page number available, without issuing a 404 error or a 301 redirect (thus creating two or more identical webpages). This duplicate-content situation can happen when you, for example, remove many posts from a category, thus reducing the amount of pagination needed in the category's archive. The Canonicalizer's feature fixes that behavior by issuing 301 redirects to page 1 of the paginated section in question.</p>
207
+ </li>
208
+ <li><strong>Why it helps:</strong> These features will point Google to the correct URL for your homepage and each of your posts, Pages, categories, tags, date archives, and author archives. That way, if Google comes across an alternate URL by which one of those items can be accessed, it will be able to find the correct URL and won't penalize you for having two identical pages on your site.</li>
209
+ <li><strong>How to use it:</strong> Just check all three checkboxes and click Save Changes. SEO Ultimate will do the rest.</li>
210
+ </ul>
211
+ ", 'seo-ultimate')));
212
+
213
+ }
214
  }
215
 
216
  }
modules/class.su-module.php CHANGED
@@ -348,63 +348,18 @@ class SU_Module {
348
  }
349
 
350
  /**
351
- * Returns an array of custom contextual help dropdowns; internationalized titles are the array keys and contents are the array values.
352
- *
353
- * @since 1.5
354
- * @uses sumd::get_sections()
355
- * @uses sumd::get_section()
356
- * @uses SEO_Ultimate::get_translated_mdoc_path()
357
- * @uses SEO_Ultimate::get_mdoc_path()
358
- *
359
- * @return array
360
  */
361
- function get_admin_dropdowns() {
362
-
363
- $paths = array($this->plugin->get_translated_mdoc_path(), $this->plugin->get_mdoc_path());
364
-
365
- foreach ($paths as $path) {
366
- if (is_readable($path)) {
367
- $readme = file_get_contents($path);
368
- $sections = sumd::get_sections(sumd::get_section($readme, $this->get_module_title()));
369
- if (count($sections)) {
370
-
371
- if (sustr::has($path, '/translations/') && preg_match("|\nStable tag: ([a-zA-Z0-9. ]+)|i", $readme, $matches)) {
372
- $version = $matches[1];
373
- if (version_compare($version, SU_VERSION, '<'))
374
- $sections = suarr::aprintf(false, '%s<p><em>'
375
- . __('(Note: This translated documentation was designed for an older version of SEO Ultimate and may be outdated.)', 'seo-ultimate')
376
- . '</em></p>'
377
- , $sections);
378
- }
379
-
380
- return $sections;
381
-
382
- } elseif (count($this->modules)) {
383
- $sections = array();
384
- foreach ($this->modules as $key => $x_module) {
385
- $module_title = $this->modules[$key]->get_module_title();
386
- $section = trim(sumd::get_section($readme, $module_title));
387
-
388
- if ($section) {
389
- $section_html = '';
390
- $subsections = sumd::get_sections($section);
391
- foreach ($subsections as $subsection_header => $subsection) {
392
- $section_html .= '<h6>' . trim($subsection_header, "\r\n= ") . "</h6>\n" . $subsection . "\n\n";
393
- }
394
-
395
- $sections[$module_title] = $section_html;
396
- }
397
- }
398
-
399
- if (count($sections))
400
- return $sections;
401
- }
402
- }
403
- }
404
-
405
- return array();
406
  }
407
 
 
 
 
 
 
408
  /**
409
  * Adds the module's post meta box field HTML to the array.
410
  *
@@ -461,7 +416,14 @@ class SU_Module {
461
  * @return string
462
  */
463
  function get_module_or_parent_key() {
464
- return (strlen($p = $this->get_parent_module()) && $this->plugin->module_exists($p)) ? $p : $this->get_module_key();
 
 
 
 
 
 
 
465
  }
466
 
467
  /**
@@ -856,7 +818,6 @@ class SU_Module {
856
  *
857
  * @since 0.1
858
  * @uses admin_footer() Hooked into WordPress's in_admin_footer action.
859
- * @uses screen_meta_filter() Hooked into our screen_meta filter
860
  * @uses get_module_key()
861
  * @uses get_page_title()
862
  *
@@ -867,9 +828,6 @@ class SU_Module {
867
  //Add our custom footer attribution
868
  add_action('in_admin_footer', array(&$this, 'admin_footer'));
869
 
870
- //Add our custom contextual help
871
- add_filter('screen_meta', array(&$this, 'screen_meta_filter'));
872
-
873
  //Output the beginning of the admin screen
874
  echo "<div class=\"wrap\">\n";
875
 
@@ -998,40 +956,6 @@ class SU_Module {
998
  wp_enqueue_script('jquery-ui-tabs');
999
  }
1000
 
1001
- /**
1002
- * Adds the module's custom screen meta, if present.
1003
- *
1004
- * @since 0.9
1005
- * @uses get_admin_dropdowns()
1006
- */
1007
- function screen_meta_filter($screen_meta) {
1008
-
1009
- $sections = array_reverse($this->get_admin_dropdowns());
1010
-
1011
- if (is_array($sections) && count($sections)) {
1012
- foreach ($sections as $label => $text) {
1013
- $key = preg_replace('|[^a-z]|', '', strtolower($label));
1014
- $label = htmlspecialchars($label);
1015
- $content = "<div class='su-help'>\n";
1016
-
1017
- $header = sprintf(_x('%s &mdash; %s', 'Dropdown Title', 'seo-ultimate'), $this->get_module_title(), $label);
1018
- $header = sustr::remove_double_words($header);
1019
-
1020
- $text = wptexturize(Markdown($text));
1021
- $text = str_replace('<a ', '<a target="_blank" ', $text);
1022
-
1023
- $content .= "<h5>$header</h5>\n\n";
1024
- $content .= $text;
1025
- $content .= "\n</div>\n";
1026
- $screen_meta[] = compact('key', 'label', 'content');
1027
- }
1028
-
1029
- echo "<script type='text/javascript'>jQuery(function($) { $('#contextual-help-link').css('display', 'none'); });</script>";
1030
- }
1031
-
1032
- return $screen_meta;
1033
- }
1034
-
1035
  /**
1036
  * Adds plugin/module information to the admin footer.
1037
  *
@@ -1150,17 +1074,19 @@ class SU_Module {
1150
 
1151
  //Save meta if applicable
1152
  if ($is_update = ($this->is_action('update') && !strlen(trim($search)))) {
1153
- foreach ($_POST as $key => $value)
 
1154
  if (sustr::startswith($key, $genus.'_'))
1155
  foreach ($fields as $field)
1156
  if (preg_match("/{$genus}_([0-9]+)_{$field['name']}/", $key, $matches)) {
1157
  $id = (int)$matches[1];
1158
  switch ($genus) {
1159
- case 'post': update_post_meta($id, "_su_{$field['name']}", $_POST[$key]); break;
1160
- case 'term': $this->update_setting($field['term_settings_key'], $_POST[$key], null, $id); break;
1161
  }
1162
  continue 2; //Go to next $_POST item
1163
  }
 
1164
  }
1165
 
1166
  $pagenum = isset( $_GET[$type . '_paged'] ) ? absint( $_GET[$type . '_paged'] ) : 0;
@@ -1944,7 +1870,12 @@ class SU_Module {
1944
  * @param array $defaults An array of default textbox values that trigger "Reset" links. (The field/setting ID is the key, and the default value is the value.) Optional.
1945
  * @param mixed $grouptext The text to display in a table cell to the left of the one containing the textboxes. Optional.
1946
  */
1947
- function textboxes($textboxes, $defaults=array(), $grouptext=false) {
 
 
 
 
 
1948
 
1949
  if ($this->is_action('update')) {
1950
  foreach ($textboxes as $id => $title) {
@@ -1953,6 +1884,20 @@ class SU_Module {
1953
  }
1954
  }
1955
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1956
  if ($grouptext) $this->admin_form_group_start($grouptext, false);
1957
 
1958
  foreach ($textboxes as $id => $title) {
@@ -1964,12 +1909,15 @@ class SU_Module {
1964
  if ($grouptext)
1965
  echo "<div class='field'><label for='$id'>$title</label><br />\n";
1966
  elseif (strpos($title, '</a>') === false)
1967
- echo "<tr valign='top'>\n<th scope='row'><label for='$id'>$title</label></th>\n<td>";
1968
  else
1969
- echo "<tr valign='top'>\n<td>$title</td>\n<td>";
1970
 
1971
  echo "<input name='$id' id='$id' type='text' value='$value' class='regular-text' ";
1972
- if (isset($defaults[$id])) {
 
 
 
1973
  $default = su_esc_editable_html($defaults[$id]);
1974
  echo "onkeyup=\"javascript:su_textbox_value_changed(this, '$default', '{$id}_reset')\" />";
1975
  echo "&nbsp;<a href=\"#\" id=\"{$id}_reset\" onclick=\"javascript:su_reset_textbox('$id', '$default', '$resetmessage', this); return false;\"";
@@ -1977,10 +1925,19 @@ class SU_Module {
1977
  echo ">";
1978
  _e('Reset', 'seo-ultimate');
1979
  echo "</a>";
 
 
 
1980
  } else {
1981
  echo "/>";
1982
  }
1983
 
 
 
 
 
 
 
1984
  if ($grouptext)
1985
  echo "</div>\n";
1986
  else
@@ -2001,9 +1958,9 @@ class SU_Module {
2001
  * @param string|false $default The default textbox value. Setting this will trigger a "Reset" link. Optional.
2002
  * @return string The HTML that would render the textbox.
2003
  */
2004
- function textbox($id, $title, $default=false, $grouptext=false) {
2005
  if ($default === false) $default = array(); else $default = array($id => $default);
2006
- $this->textboxes(array($id => $title), $default, $grouptext);
2007
  }
2008
 
2009
  /**
@@ -2468,9 +2425,9 @@ class SU_Module {
2468
  * @uses get_module_key()
2469
  *
2470
  * @param string $function The name of the module function that should be run.
2471
- * @param string $recurrance How often the job should be run. Valid values are hourly, twicedaily, and daily.
2472
  */
2473
- function cron($function, $recurrance) {
2474
 
2475
  $mk = $this->get_module_key();
2476
 
@@ -2481,11 +2438,11 @@ class SU_Module {
2481
  //This is a new cron job
2482
 
2483
  //Schedule the event
2484
- wp_schedule_event($start, $recurrance, $hook);
2485
 
2486
  //Make a record of it
2487
  $psdata = (array)get_option('seo_ultimate', array());
2488
- $psdata['cron'][$mk][$function] = array($hook, $start, $recurrance);
2489
  update_option('seo_ultimate', $psdata);
2490
 
2491
  //Run the event now
348
  }
349
 
350
  /**
351
+ * @since 7.0
 
 
 
 
 
 
 
 
352
  */
353
+ function load_hook() {
354
+ if (method_exists('WP_Screen', 'add_help_tab'))
355
+ $this->add_help_tabs(get_current_screen());
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
356
  }
357
 
358
+ /**
359
+ * @since 7.0
360
+ */
361
+ function add_help_tabs($screen) { }
362
+
363
  /**
364
  * Adds the module's post meta box field HTML to the array.
365
  *
416
  * @return string
417
  */
418
  function get_module_or_parent_key() {
419
+ return $this->has_enabled_parent() ? $this->get_parent_module() : $this->get_module_key();
420
+ }
421
+
422
+ /**
423
+ * @since 7.0
424
+ */
425
+ function has_enabled_parent() {
426
+ return (strlen($p = $this->get_parent_module()) && $this->plugin->module_exists($p));
427
  }
428
 
429
  /**
818
  *
819
  * @since 0.1
820
  * @uses admin_footer() Hooked into WordPress's in_admin_footer action.
 
821
  * @uses get_module_key()
822
  * @uses get_page_title()
823
  *
828
  //Add our custom footer attribution
829
  add_action('in_admin_footer', array(&$this, 'admin_footer'));
830
 
 
 
 
831
  //Output the beginning of the admin screen
832
  echo "<div class=\"wrap\">\n";
833
 
956
  wp_enqueue_script('jquery-ui-tabs');
957
  }
958
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
959
  /**
960
  * Adds plugin/module information to the admin footer.
961
  *
1074
 
1075
  //Save meta if applicable
1076
  if ($is_update = ($this->is_action('update') && !strlen(trim($search)))) {
1077
+ foreach ($_POST as $key => $value) {
1078
+ $value = stripslashes($value);
1079
  if (sustr::startswith($key, $genus.'_'))
1080
  foreach ($fields as $field)
1081
  if (preg_match("/{$genus}_([0-9]+)_{$field['name']}/", $key, $matches)) {
1082
  $id = (int)$matches[1];
1083
  switch ($genus) {
1084
+ case 'post': update_post_meta($id, "_su_{$field['name']}", $value); break;
1085
+ case 'term': $this->update_setting($field['term_settings_key'], $value, null, $id); break;
1086
  }
1087
  continue 2; //Go to next $_POST item
1088
  }
1089
+ }
1090
  }
1091
 
1092
  $pagenum = isset( $_GET[$type . '_paged'] ) ? absint( $_GET[$type . '_paged'] ) : 0;
1870
  * @param array $defaults An array of default textbox values that trigger "Reset" links. (The field/setting ID is the key, and the default value is the value.) Optional.
1871
  * @param mixed $grouptext The text to display in a table cell to the left of the one containing the textboxes. Optional.
1872
  */
1873
+ function textboxes($textboxes, $defaults=array(), $grouptext=false, $args=array()) {
1874
+
1875
+ $is_tree_parent = isset($args['is_tree_parent']) ? $args['is_tree_parent'] : false;
1876
+ $is_ec_tree = isset($args['is_ec_tree']) ? $args['is_ec_tree'] : false;
1877
+ $tree_level = isset($args['tree_level']) ? $args['tree_level'] : false;
1878
+ $disabled = isset($args['disabled']) ? $args['disabled'] : false;
1879
 
1880
  if ($this->is_action('update')) {
1881
  foreach ($textboxes as $id => $title) {
1884
  }
1885
  }
1886
 
1887
+ $indentattrs = $indenttoggle = $hidden = '';
1888
+ if ($tree_level !== false) {
1889
+ $indentattrs = " class='su-indent su-indent-level-{$tree_level}'";
1890
+ if ($is_ec_tree) {
1891
+ if ($is_tree_parent)
1892
+ $indenttoggle = "<span class='su-child-fields-toggle'>+</span> ";
1893
+ else
1894
+ $indenttoggle = "<span class='su-child-fields-toggle-filler'> </span> ";
1895
+
1896
+ if ($tree_level > 1)
1897
+ $hidden = " style='display: none;'";
1898
+ }
1899
+ }
1900
+
1901
  if ($grouptext) $this->admin_form_group_start($grouptext, false);
1902
 
1903
  foreach ($textboxes as $id => $title) {
1909
  if ($grouptext)
1910
  echo "<div class='field'><label for='$id'>$title</label><br />\n";
1911
  elseif (strpos($title, '</a>') === false)
1912
+ echo "<tr valign='top'$indentattrs$hidden>\n<th scope='row' class='su-field-label'>$indenttoggle<label for='$id'><span class='su-field-label-text'>$title</span></label></th>\n<td>";
1913
  else
1914
+ echo "<tr valign='top'$indentattrs$hidden>\n<td class='su-field-label'>$indenttoggle<span class='su-field-label-text'>$title</span></td>\n<td>";
1915
 
1916
  echo "<input name='$id' id='$id' type='text' value='$value' class='regular-text' ";
1917
+
1918
+ if ($disabled)
1919
+ echo "disabled='disabled' />";
1920
+ elseif (isset($defaults[$id])) {
1921
  $default = su_esc_editable_html($defaults[$id]);
1922
  echo "onkeyup=\"javascript:su_textbox_value_changed(this, '$default', '{$id}_reset')\" />";
1923
  echo "&nbsp;<a href=\"#\" id=\"{$id}_reset\" onclick=\"javascript:su_reset_textbox('$id', '$default', '$resetmessage', this); return false;\"";
1925
  echo ">";
1926
  _e('Reset', 'seo-ultimate');
1927
  echo "</a>";
1928
+
1929
+ if (isset($args['open_url_value_link']))
1930
+ echo ' |';
1931
  } else {
1932
  echo "/>";
1933
  }
1934
 
1935
+ if (isset($args['open_url_value_link'])) {
1936
+ echo " <a href='#' onclick=\"javascript:window.open(document.getElementById('$id').value);return false;\">";
1937
+ echo su_esc_html($args['open_url_value_link']);
1938
+ echo '</a>';
1939
+ }
1940
+
1941
  if ($grouptext)
1942
  echo "</div>\n";
1943
  else
1958
  * @param string|false $default The default textbox value. Setting this will trigger a "Reset" link. Optional.
1959
  * @return string The HTML that would render the textbox.
1960
  */
1961
+ function textbox($id, $title, $default=false, $grouptext=false, $args=array()) {
1962
  if ($default === false) $default = array(); else $default = array($id => $default);
1963
+ $this->textboxes(array($id => $title), $default, $grouptext, $args);
1964
  }
1965
 
1966
  /**
2425
  * @uses get_module_key()
2426
  *
2427
  * @param string $function The name of the module function that should be run.
2428
+ * @param string $recurrence How often the job should be run. Valid values are hourly, twicedaily, and daily.
2429
  */
2430
+ function cron($function, $recurrence) {
2431
 
2432
  $mk = $this->get_module_key();
2433
 
2438
  //This is a new cron job
2439
 
2440
  //Schedule the event
2441
+ wp_schedule_event($start, $recurrence, $hook);
2442
 
2443
  //Make a record of it
2444
  $psdata = (array)get_option('seo_ultimate', array());
2445
+ $psdata['cron'][$mk][$function] = array($hook, $start, $recurrence);
2446
  update_option('seo_ultimate', $psdata);
2447
 
2448
  //Run the event now
modules/competition-queries/competition-queries.js DELETED
@@ -1,8 +0,0 @@
1
- function su_competition_queries_show_step2(type, showminimal) {
2
- document.getElementById('methodtype').innerHTML=type;
3
-
4
- if (showminimal)
5
- document.getElementById('minimal-checkbox').style.visibility='visible';
6
- else
7
- document.getElementById('minimal-checkbox').style.visibility='hidden';
8
- }
 
 
 
 
 
 
 
 
modules/competition-queries/competition-queries.php DELETED
@@ -1,81 +0,0 @@
1
- <?php
2
- /**
3
- * Competition Researcher Module
4
- *
5
- * @since 1.2
6
- */
7
-
8
- if (class_exists('SU_Module')) {
9
-
10
- class SU_CompetitionQueries extends SU_Module {
11
-
12
- function get_module_title() { return __('Competition Researcher', 'seo-ultimate'); }
13
- function get_menu_title() { return __('Comp. Researcher', 'seo-ultimate'); }
14
-
15
- function admin_page_contents() {
16
- echo '<p>';
17
- _e('The Competition Researcher provides you with easy access to various search engine tools which you can use to research multiple search queries or URLs.', 'seo-ultimate');
18
- echo "</p>\n";
19
- ?>
20
- <form method="get" action="http://www.seodesignsolutions.com/blog/ultimate-seo-toolkit/result.php" target="_blank">
21
- <h3><?php _e('Step 1: Choose Your Research Tool', 'seo-ultimate'); ?></h3>
22
- <?php
23
-
24
- $methods = array(
25
- __('Keywords', 'seo-ultimate') => array( __('Normal Search', 'seo-ultimate') => __('Find out how many pages contain the words in each query', 'seo-ultimate')
26
- ,__('Phrase Match', 'seo-ultimate') => __('Find out how many &#8220;actual&#8221; pages are competing for each query', 'seo-ultimate')
27
- ,__('Allinanchor', 'seo-ultimate') => __('Find out which sites have the most links for each query', 'seo-ultimate')
28
- ,__('Allintitle', 'seo-ultimate') => __('Find out which sites have the highest relevance in the title for each query', 'seo-ultimate')
29
- ,__('Allintext', 'seo-ultimate') => __('Find out which sites have the most relevant content/text on their pages', 'seo-ultimate')
30
- ,__('Allinurl', 'seo-ultimate') => __('Find out which sites have the most relevant naming conventions for each keyword', 'seo-ultimate')
31
- ),
32
- __('URLs', 'seo-ultimate') => array( __('Site', 'seo-ultimate') => __('Find out how many pages are indexed for each domain', 'seo-ultimate')
33
- ,__('Inbound Links', 'seo-ultimate') => __('Find out how many sites link to the domains', 'seo-ultimate')
34
- ,__('Outbound Links', 'seo-ultimate') => __('Find out how many sites the domains link to', 'seo-ultimate')
35
- )
36
- );
37
-
38
- $nominimal = array(__('Inbound Links', 'seo-ultimate'), __('Outbound Links', 'seo-ultimate'));
39
-
40
- $first=true; $i=0;
41
- foreach ($methods as $type => $tools) {
42
- foreach ($tools as $title => $desc) {
43
- $value = strtolower(str_replace(array(' ', '-'), '', $title));
44
-
45
- if ($desc) $desc = " &ndash; <i>$desc</i>";
46
-
47
- if (in_array($title, $nominimal)) $showminimal='false'; else $showminimal='true';
48
-
49
- if ($first) { $checked=" checked='checked'"; $first=false; } else $checked='';
50
- echo "<label><input type='radio' name='method' value='$value' id='method$i' onclick='javascript:su_competition_queries_show_step2(\"$type\", $showminimal)'$checked /> ".
51
- "<span class='title'>$title</span>$desc</label><br />\n";
52
-
53
- $i++;
54
- }
55
- }
56
- ?>
57
- <h3><?php _e('Step 2: Enter the <span id="methodtype">Keywords</span> To Research', 'seo-ultimate'); ?></h3>
58
- <div><textarea id="queries" name="queries" rows="10" cols="60"></textarea></div>
59
- <div><em><?php _e('(Type in one per line)', 'seo-ultimate'); ?></em></div>
60
-
61
- <h3><?php _e('Step 3: Set Options and Submit', 'seo-ultimate'); ?></h3>
62
- <div>
63
- <label><input type="checkbox" name="r100" value="1" /> <?php _e('Show 100 results per page', 'seo-ultimate'); ?></label><br />
64
- <label id="minimal-checkbox"><input type="checkbox" name="minimal" value="1" /> <?php
65
- _e('Use Google&#8217;s minimal mode', 'seo-ultimate'); ?></label><br /><br />
66
- </div>
67
- <input type="hidden" name="mixing" id="mixing" value="0" />
68
- <input type="hidden" name="showback" id="showback" value="0" />
69
- <input type="hidden" name="client" id="client" value="su-<?php echo SU_VERSION; ?>" />
70
-
71
- <div id="submit"><input type="submit" value="<?php _e('Submit', 'seo-ultimate'); ?>" class="button-primary" /></div>
72
- </form>
73
-
74
- <!--Load the blog's homepage so that it shows up as a purple link in Google's minimal mode-->
75
- <iframe src="<?php bloginfo('url') ?>" style="width: 0; height: 0; display: none; visibility: hidden;"></iframe>
76
- <?php
77
- }
78
- }
79
-
80
- }
81
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
modules/competition-queries/index.php DELETED
@@ -1,4 +0,0 @@
1
- <?php
2
- header('Status: 403 Forbidden');
3
- header('HTTP/1.1 403 Forbidden');
4
- ?>
 
 
 
 
modules/documentation.txt DELETED
@@ -1,570 +0,0 @@
1
- === Documentation for SEO Ultimate Modules ===
2
-
3
- == 404 Monitor ==
4
-
5
- = Overview =
6
-
7
- * **What it does:** The 404 Monitor keeps track of non-existent URLs that generated 404 errors. 404 errors are when a search engine or visitor comes to a URL on your site but nothing exists at that URL.
8
-
9
- * **Why it helps:** The 404 Monitor helps you spot 404 errors; then you can take steps to correct them to reduce link-juice loss from broken links.
10
-
11
- * **How to use it:** Check the 404 Monitor occasionally for errors. (A numeric bubble will appear next to the "404 Monitor" item on the menu if there are any newly-logged URLs that you haven't seen yet. These new URLs will also be highlighted green in the table.) If a 404 error's referring URL is located on your site, try locating and fixing the broken URL. If moved content was previously located at the requested URL, try using a redirection plugin to point the old URL to the new one.
12
-
13
- If there are no 404 errors in the log, this is good and means there's no action required on your part.
14
-
15
- = Log Help =
16
-
17
- You can perform the following actions on each entry in the log:
18
-
19
- * The "View" button will open the URL in a new window. This is useful for testing whether or not a redirect is working.
20
- * The "Google Cache" button will open Google's archived version of the URL in a new window. This is useful for determining what content, if any, used to be located at that URL.
21
- * Once you've taken care of a 404 error, you can click the "Remove" button to remove it from the list. The URL will reappear on the list if it triggers a 404 error in the future.
22
-
23
- = Settings Help =
24
-
25
- The following options are available on the Settings tab:
26
-
27
- * **Monitoring Settings**
28
-
29
- * **Continue monitoring for new 404 errors** -- If disabled, 404 Monitor will keep existing 404 errors in the log but won't add any new ones.
30
-
31
- * **Log Restrictions**
32
-
33
- * **Only log these types of 404 errors** -- Check this option to log a 404 error _only_ if it meets at least one of the criteria you specify. If you don't enable any criteria, no 404 errors will be logged.
34
-
35
- * **404s generated by search engine spiders** -- When logging restriction is enabled, this option will make an exception for 404 errors generated by one of the top search engines (Google, Yahoo, Baidu, Bing, Yandex, Soso, Ask.com, Sogou, or AltaVista).
36
- * **404s with referring URLs** -- When logging restriction is enabled, this option will make an exception for 404 errors generated by users who click a link on your site or another site first before ending up at a 404 page on your site.
37
-
38
- * **Maximum Log Entries** -- Here you can set the maximum number of log entries that 404 Monitor will keep at a time. Setting this to a reasonable number will help keep database usage under control. If you change this setting, it will take effect the next time a 404 is logged.
39
-
40
- * **URLs to Ignore** -- URLs entered here will be ignored whenever they generate 404 errors in the future. You can use asterisks (*) as wildcards.
41
-
42
- = Troubleshooting =
43
-
44
- 404 Monitor doesn't appear to work? Take these notes into consideration:
45
-
46
- * The 404 Monitor doesn't record 404 errors generated by logged-in users.
47
- * In order for the 404 Monitor to track 404 errors, you must have "Pretty Permalinks" enabled under `Settings > Permalinks`.
48
- * Some parts of your website may not be under WordPress's control; the 404 Monitor can't track 404 errors on non-WordPress website areas.
49
-
50
-
51
-
52
- == Canonicalizer ==
53
-
54
- = Overview =
55
-
56
- * **What it does:** Canonicalizer improves on two WordPress features to minimize possible exact-content duplication penalties. The `<link rel="canonical" />` tags setting improves on the canonical tags feature of WordPress 2.9 and above by encompassing much more of your site than just your posts and Pages.
57
-
58
- The nonexistent pagination redirect feature fills a gap in WordPress's built-in canonicalization functionality: for example, if a URL request is made for page 6 of a category archive, and that category doesn't have a page 6, then by default, depending on the context, WordPress will display a blank page, or it will display the content of the closest page number available, without issuing a 404 error or a 301 redirect (thus creating two or more identical webpages). This duplicate-content situation can happen when you, for example, remove many posts from a category, thus reducing the amount of pagination needed in the category's archive. The Canonicalizer's feature fixes that behavior by issuing 301 redirects to page 1 of the paginated section in question.
59
-
60
- * **Why it helps:** These features will point Google to the correct URL for your homepage and each of your posts, Pages, categories, tags, date archives, and author archives. That way, if Google comes across an alternate URL by which one of those items can be accessed, it will be able to find the correct URL and won't penalize you for having two identical pages on your site.
61
-
62
- * **How to use it:** Just check both checkboxes and click Save Changes. SEO Ultimate will do the rest.
63
-
64
-
65
-
66
- == Code Inserter ==
67
-
68
- = Overview =
69
-
70
- * **What it does:** Code Inserter can add custom HTML code to various parts of your site.
71
-
72
- * **Why it helps:** Code Inserter is useful for inserting third-party code that can improve the SEO or user experience of your site. For example, you can use Code Inserter to add Google Analytics code to your footer, Feedburner FeedFlares or social media widgets after your posts, or Google AdSense section targeting code before/after your content.
73
-
74
- Using Code Inserter is easier than editing your theme manually because your custom code is stored in one convenient location and will be added to your site even if you change your site's theme.
75
-
76
- * **How to use it:** Just paste the desired HTML code into the appropriate fields and then click Save Changes.
77
-
78
- = Troubleshooting =
79
-
80
- * **Why doesn't my code appear on my site?** It's possible that your theme doesn't have the proper "hooks," which are pieces of code that let WordPress plugins insert custom HTML into your theme. [Click here](http://johnlamansky.com/wordpress/theme-plugin-hooks/) for information on how to check your theme and add the hooks if needed.
81
-
82
-
83
- == Competition Researcher ==
84
-
85
- = Overview =
86
-
87
- * **What it does:** The Competition Researcher opens Google search results in iframes based on the parameters you specify. The Competition Researcher does _not_ scrape/crawl Google's search results or use other illicit automated methods; it just opens the Google search results in your browser.
88
-
89
- The Competition Researcher lets you find out the following information:
90
- * How many webpages are competing for the keywords you specify.
91
- * The keyword relevance in competing webpages' titles, body content, or anchor text.
92
- * How many pages of a competing website are in Google's index.
93
- * The incoming links profile of competing websites.
94
- * The external websites that your competitors are linking to.
95
-
96
- * **Why it helps:** The Competition Researcher gives you quick access to specially-constructed search queries. You can study the search results to glean information about the general competition for specific keywords or information about specific competitors' websites. Knowledge of the competition is an essential component of any SEO strategy.
97
-
98
- * **How to use it:** Choose a tool based on the information you'd like to obtain, enter the keywords or competitors' domain names that you'd like to research, select options if desired, and then click Submit. The results will open in a new window.
99
-
100
-
101
-
102
- == File Editor ==
103
-
104
- = Overview =
105
-
106
- * **What it does:** The File Editor module lets you edit two important SEO-related files: robots.txt and .htaccess.
107
-
108
- * **Why it helps:** You can use the [robots.txt file](http://www.robotstxt.org/robotstxt.html) to give instructions to search engine spiders. You can use the [.htaccess file](http://httpd.apache.org/docs/2.2/howto/htaccess.html) to implement advanced SEO strategies (URL rewriting, regex redirects, etc.). SEO Ultimate makes editing these files easier than ever.
109
-
110
- * **How to use it:** Edit the files as desired, then click Save Changes. If you create a custom robots.txt file, be sure to enable it with the checkbox.
111
-
112
- = FAQ =
113
-
114
- * **Will my robots.txt edits remain if I disable the File Editor?**
115
- No. On a WordPress blog, the robots.txt file is dynamically generated just like your posts and Pages. If you disable the File Editor module or the entire SEO Ultimate plugin, the File Editor won't be able to insert your custom code into the robots.txt file anymore.
116
-
117
- * **Will my .htaccess edits remain if I disable the File Editor?**
118
- Yes. The .htaccess file is static. Your edits will remain even if you disable SEO Ultimate or its File Editor module.
119
-
120
- = Troubleshooting =
121
-
122
- * **Why do I get a "500 Server Error" after using the File Editor?**
123
- You may have inserted code into your .htaccess file that your web server can't understand. As the File Editor warns, incorrectly editing your .htaccess file can disable your entire website in this way. To restore your site, you'll need to use an FTP client (or your web host's File Manager) to edit or rename your .htaccess file. If you need help, please contact your web host.
124
-
125
- * **Where did my .htaccess edits go?**
126
- The .htaccess file is static, so SEO Ultimate doesn't have total control over it. It's possible that WordPress, another plugin, or other software may overwrite your .htaccess file. If you have a backup of your blog's files, you can try recovering your edits from there.
127
-
128
-
129
-
130
- == Internal Relevance Researcher ==
131
-
132
- = Overview =
133
-
134
- * **What it does:** The Internal Relevance Researcher (IRR) opens Google search results in iframes based on the keywords you specify. For each keyword, IRR queries Google in this format: `site:example.com keyword`. IRR does _not_ scrape/crawl Google's search results or use other illicit automated methods; it just opens the Google search results in your browser.
135
-
136
- * **Why it helps:** Internal Relevance Researcher lets you determine which of your webpages Google most strongly associates with the keywords you specify. You can ascertain this by observing which of your pages rank the highest for each keyword. You can then use this information to determine ideal targets for incoming links or ideal sources of outgoing links.
137
-
138
- * **How to use it:** Enter the keywords you'd like to research, select options if desired, and then click Submit. The results will open in a new window.
139
-
140
-
141
-
142
- == Linkbox Inserter ==
143
-
144
- = Overview =
145
-
146
- * **What it does:** Linkbox Inserter can add linkboxes to your posts/pages.
147
-
148
- * **Why it helps:** Linkboxes contain HTML code that visitors can use to link to your site. This is a great way to encourage SEO-beneficial linking activity.
149
-
150
- * **How to use it:** Use the checkboxes to enable the Linkbox Inserter in various areas of your site. Customize the HTML if desired. Click "Save Changes" when finished.
151
-
152
-
153
- = Settings Help =
154
-
155
- Here's information on the various settings:
156
-
157
- * **Display linkboxes...**
158
-
159
- * **At the end of posts** -- Adds the linkbox HTML to the end of all posts (whether they're displayed on the blog homepage, in archives, or by themselves).
160
-
161
- * **At the end of pages** -- Adds the linkbox HTML to the end of all Pages.
162
-
163
- * **When called by the su_linkbox hook** -- For more fine-tuned control over where linkboxes appear, enable this option and add `<?php do_action('su_linkbox'); ?>` to your theme. You can also add an ID parameter to display the linkbox of a particular post/page; for example: `<?php do_action('su_linkbox', 123); ?>`
164
-
165
- * **HTML** -- The HTML that will be outputted to display the linkboxes. The HTML field supports these variables:
166
-
167
- * {id} -- The ID of the current post/page, or the ID passed to the action hook call.
168
- * {url} -- The permalink URL of the post/page.
169
- * {title} -- The title of the post/page.
170
-
171
-
172
-
173
- == Meta Description Editor ==
174
-
175
- = Overview =
176
-
177
- * **What it does:** Meta Descriptions Editor lets you customize the text that you want to appear under your webpages' titles in search results.
178
-
179
- * **Why it helps:** Getting ranked isn't enough; once you're ranked, you need visitors to click on your site in the results. That's where meta descriptions can help. When you provide text that makes searchers want to visit your site, you can increase your SERP clickthrough rate and thus increase search traffic.
180
-
181
- * **How to use it:** Enter meta descriptions for your homepage, posts, pages, etc. as desired, and then click Save Changes. You can also customize the meta data of an individual post or page by using the textboxes that Meta Editor adds to the post/page editors.
182
-
183
- = Settings Help =
184
-
185
- Here's information on the various settings:
186
-
187
- * **Blog Homepage Meta Description** -- When your blog homepage appears in search results, it'll have a title and a description. When you insert content into the description field below, the Meta Editor will add code to your blog homepage (the `<meta name="description" />` tag) that asks search engines to use what you've entered as the homepage's search results description.
188
-
189
- * **Use this blog's tagline as the default homepage description.** -- If this box is checked and if the Blog Homepage Meta Description field is empty, Meta Editor will use your blog's tagline as the meta description. You can edit the blog's tagline under `Settings > General`.
190
-
191
- = FAQ =
192
-
193
- * **How do I edit the meta description of my homepage?**
194
- If you are using a "blog homepage" (the default option of showing your blog posts on your homepage), just use the Blog Homepage field.
195
-
196
- If you have configured your `Settings > Reading` section to use a "frontpage" (i.e. a Page as your homepage), just edit that Page's meta description on the "Pages" tab.
197
-
198
- = Troubleshooting =
199
-
200
- * **What do I do if my site has multiple meta tags?**
201
- First, try removing your theme's built-in meta tags if it has them. Go to `Appearance > Editor` and edit `header.php`. Delete or comment-out any `<meta>` tags.
202
-
203
- If the problem persists, try disabling other SEO plugins that may be generating meta tags.
204
-
205
- Troubleshooting tip: Go to `Settings > SEO Ultimate` and enable the "Insert comments around HTML code insertions" option. This will mark SEO Ultimate's meta tags with comments, allowing you to see which meta tags are generated by SEO Ultimate and which aren't.
206
-
207
-
208
-
209
- == Meta Keywords Editor ==
210
-
211
- = Overview =
212
-
213
- Meta Keywords Editor lets you tell search engines what keywords are associated with the various pages on your site. Most modern search engines don't give meta keywords much weight, but the option is there if you want to use it. You can customize the meta keywords of an individual post or page by using the textboxes that Meta Editor adds to the post/page editors.
214
-
215
- = Settings Help =
216
-
217
- * **Sitewide Keywords** -- Here you can enter keywords that describe the overall subject matter of your entire blog. Use commas to separate keywords. These keywords will be put in the `<meta name="keywords" />` tags of all webpages on the site (homepage, posts, pages, archives, etc.).
218
-
219
- * **Blog Homepage Meta Keywords** -- These keywords will be applied only to the _blog_ homepage. Note that if you've specified a "front page" under `Settings > Reading`, you'll need to edit your frontpage and set your frontpage keywords there.
220
-
221
- = FAQ =
222
-
223
- * **How do I edit the meta keywords of my homepage?**
224
- If you are using a "blog homepage" (the default option of showing your blog posts on your homepage), just use the Blog Homepage field.
225
-
226
- If you have configured your `Settings > Reading` section to use a "frontpage" (i.e. a Page as your homepage), just edit that Page under `Pages > Edit` and use the "Meta Keywords" field in the "SEO Settings" box.
227
-
228
- * **What happens if I add a global keyword that I previously assigned to individual posts or pages?**
229
- Don't worry; Meta Keywords Editor will remove duplicate keywords automatically.
230
-
231
-
232
- = Troubleshooting =
233
-
234
- * **What do I do if my site has multiple meta tags?**
235
- First, try removing your theme's built-in meta tags if it has them. Go to `Appearance > Editor` and edit `header.php`. Delete or comment-out any `<meta>` tags.
236
-
237
- If the problem persists, try disabling other SEO plugins that may be generating meta tags.
238
-
239
- Troubleshooting tip: Go to `Settings > SEO Ultimate` and enable the "Insert comments around HTML code insertions" option. This will mark SEO Ultimate's meta tags with comments, allowing you to see which meta tags are generated by SEO Ultimate and which aren't.
240
-
241
-
242
-
243
-
244
- == Meta Robot Tags Editor ==
245
-
246
- = Overview =
247
-
248
- * **What it does:** Meta Robot Tags Editor lets you convey instructions to search engine spiders, as well as prohibit the spiders from indexing certain webpages on your blog using the `<meta name="robots" content="noindex" />` tag.
249
-
250
- * **Why it helps:** The "Global" tab lets you stop DMOZ or Yahoo! Directory from overriding your custom meta descriptions, as well as prevent spiders from caching your site if you so desire. The "Default Values" tab lets you deindex entire sections of your site that contain content unimportant to visitors (e.g. the administration section), or sections of your site that mostly contain duplicate content (e.g. date archives). The editor tabs can do something similar, but for individual content items. By removing webpages from search results that visitors find unhelpful, you can help increase the focus on your more useful content.
251
-
252
- * **How to use it:** Adjust the settings as desired, and then click Save Changes. You can refer to the "Settings Help" tab for information on the settings available. You can also use the editor tabs to deindex individual content items on your site as well as enable the "nofollow" meta parameter that will nullify all outgoing links on a specific webpage.
253
-
254
-
255
- = Settings Help =
256
-
257
- Here's information on the various settings:
258
-
259
- * **Global: Spider Instructions**
260
-
261
- * **Don't use this site's Open Directory / Yahoo! Directory description in search results.** -- If your site is listed in the [Open Directory (DMOZ)](http://www.dmoz.org/) or the [Yahoo! Directory](http://dir.yahoo.com/), some search engines may use your directory listing as the meta description. These boxes tell search engines not to do that and will give you full control over your meta descriptions. These settings have no effect if your site isn't listed in the Open Directory or Yahoo! Directory respectively.
262
-
263
- * **Don't cache or archive this site.** -- When you check this box, Meta Editor will ask search engines (Google, Yahoo!, Bing, etc.) and archivers (Archive.org, etc.) to _not_ make cached or archived "copies" of your site.
264
-
265
- * **Default Values: Prevent indexing of...**
266
-
267
- * **Administration back-end pages** -- Tells spiders not to index the administration area (the part you're in now), in the unlikely event a spider somehow gains access to the administration. Recommended.
268
-
269
- * **Author archives** -- Tells spiders not to index author archives. Useful if your blog only has one author.
270
-
271
- * **Blog search pages** -- Tells spiders not to index the result pages of WordPress's blog search function. Recommended.
272
-
273
- * **Category archives** -- Tells spiders not to index category archives. Recommended only if you don't use categories.
274
-
275
- * **Comment feeds** -- Tells spiders not to index the RSS feeds that exist for every post's comments. (These comment feeds are totally separate from your normal blog feeds.)
276
-
277
- * **Comment subpages** -- Tells spiders not to index posts' comment subpages.
278
-
279
- * **Date-based archives** -- Tells spiders not to index day/month/year archives. Recommended, since these pages have little keyword value.
280
-
281
- * **Subpages of the homepage** -- Tells spiders not to index the homepage's subpages (page 2, page 3, etc). Recommended.
282
-
283
- * **Tag archives** -- Tells spiders not to index tag archives. Recommended only if you don't use tags.
284
-
285
- * **User login/registration pages** -- Tells spiders not to index WordPress's user login and registration pages. Recommended.
286
-
287
- * **Editor Tabs (Posts/Pages/etc.)**
288
-
289
- * **Noindex** -- Checking this for an item will ask search engines to remove that item's webpage from their indices. Use this to remove pages that you don't want showing up in search results (such as a Privacy Policy page, for example).
290
-
291
- * **Nofollow** -- Checking this for an item will tell search engines to ignore the links to other webpages that are on that item's webpage. Note: this is page-level "meta nofollow," not to be confused with link-level "rel nofollow."
292
-
293
- = Troubleshooting =
294
-
295
- * **What do I do if my site has multiple meta tags?**
296
- First, try removing your theme's built-in meta tags if it has them. Go to `Appearance > Editor` and edit `header.php`. Delete or comment-out any `<meta>` tags.
297
-
298
- If the problem persists, try disabling other SEO plugins that may be generating meta tags.
299
-
300
- Troubleshooting tip: Go to `Settings > SEO Ultimate` and enable the "Insert comments around HTML code insertions" option. This will mark SEO Ultimate's meta tags with comments, allowing you to see which meta tags are generated by SEO Ultimate and which aren't.
301
-
302
-
303
-
304
-
305
- == Module Manager ==
306
-
307
- = Options Help =
308
-
309
- The Module Manager lets you customize the visibility and accessibility of each module; here are the options available:
310
-
311
- * **Enabled** -- The default option. The module will be fully enabled and accessible.
312
- * **Silenced** -- The module will be enabled and accessible, but it won't be allowed to display numeric bubble alerts on the menu.
313
- * **Hidden** -- The module's functionality will be enabled, but the module won't be visible on the SEO menu. You will still be able to access the module's admin page by clicking on its title in the Module Manager table.
314
- * **Disabled** -- The module will be completely disabled and inaccessible.
315
-
316
- = FAQ =
317
-
318
- * **What are modules?**
319
- SEO Ultimate's features are divided into groups called "modules." SEO Ultimate's "Module Manager" lets you enable or disable each of these groups of features. This way, you can pick-and-choose which SEO Ultimate features you want.
320
-
321
- * **Can I access a module again after I've hidden it?**
322
- Yes. Just go to the Module Manager and click the module's title to open its admin page. If you'd like to put the module back in the "SEO" menu, just re-enable the module in the Module Manager and click "Save Changes."
323
-
324
- * **How do I disable the number bubbles on the "SEO" menu?**
325
- Just go to the Module Manager and select the "Silenced" option for any modules generating number bubbles. Then click "Save Changes."
326
-
327
-
328
-
329
- == More Link Customizer ==
330
-
331
- = Overview =
332
-
333
- * **What it does:** More Link Customizer lets you modify the anchor text of your posts' ["more" links](http://codex.wordpress.org/Customizing_the_Read_More).
334
-
335
- * **Why it helps:** On the typical WordPress setup, the "more link" always has the same anchor text (e.g. "Read more of this entry"). Since internal anchor text conveys web page topicality to search engines, the "read more" phrase isn't a desirable anchor phrase. More Link Customizer lets you replace the boilerplate text with a new anchor that, by default, integrates your post titles (which will ideally be keyword-oriented).
336
-
337
- * **How to use it:** On this page you can set the anchor text you'd like to use by default. The `{post}` variable will be replaced with the post's title. HTML and encoded entities are supported. If instead you decide that you'd like to use the default anchor text specified by your currently-active theme, just erase the contents of the textbox. The anchor text can be overridden on a per-post basis via the "More Link Text" box in the "SEO Settings" section of the WordPress post editor.
338
-
339
- = FAQ =
340
-
341
- * **Why is the More Link Customizer an improvement over WordPress's built-in functionality?**
342
- Although WordPress does allow basic [custom "more" anchors](http://codex.wordpress.org/Customizing_the_Read_More#Having_a_custom_text_for_each_post), the SEO Ultimate approach has several benefits:
343
-
344
- * More Link Customizer (MLC) lets you set a custom default anchor text. WordPress, on the other hand, leaves this up to the currently-active theme.
345
- * MLC lets you dynamically incorporate the post's title into the anchor text.
346
- * MLC lets you include HTML tags in your anchor, whereas WordPress strips these out.
347
- * MLC's functionality is much more prominent than WordPress's unintuitive, barely-documented approach.
348
- * Unlike WordPress's method, MLC doesn't require you to utilize the HTML editor.
349
-
350
- If you've already specified custom anchors via WordPress's method, SEO Ultimate will import those anchors automatically into the More Link Customizer.
351
-
352
-
353
-
354
- == Nofollow Manager ==
355
-
356
- = Overview =
357
-
358
- * **What it does:** Nofollow Manager adds the `rel="nofollow"` attribute to types of links that you specify. The `rel="nofollow"` attribute prevents a link from passing PageRank.
359
-
360
- * **Why it helps:** If you're migrating to SEO Ultimate from another plugin, Nofollow Manager can help you maintain your existing settings (as part of an "if it ain't broke don't fix it" strategy). In other cases, however, we recommend not using the Nofollow Manager because in 2008 Google disabled the ability to use the `rel="nofollow"` attribute for PageRank sculpting.
361
-
362
- * **How it works:** Select the types of links you'd like to nofollow, then click Save Changes. You can also nofollow links to individual Pages using the checkbox that Nofollow Manager adds to the "SEO Settings" box below the Page editor.
363
-
364
-
365
- == Rich Snippet Creator ==
366
-
367
- = Overview =
368
-
369
- * **What it does:** Rich Snippet Creator adds special code to your posts that asks Google to display special pertinent information (known as <a href="http://www.google.com/support/webmasters/bin/topic.py?hl=en&topic=219">Rich Snippets</a>) in search results for certain types of content. For example, if you've written a product review, you can use Rich Snippet Creator to ask Google to display the star rating that you gave the product in your review next to your review webpage when it appears in search results.
370
-
371
- * **Why it helps:** Rich Snippet Creator enhances the search engine results for your content by asking Google to add extra, eye-catching info that could help draw in more search engine visitors.
372
-
373
- * **How it works:** When editing one of your posts or pages, see if your content fits one of the available rich snippet types (for example, a review). If so, select that type from the "Rich Snippet Type" dropdown box. Once you select the applicable type, additional options will appear that vary based on the type selected. For example, a "Star Rating" field will appear if you select the "Review" type.
374
-
375
- Once you save the post/page, Rich Snippet Creator will add the special code to it. You can remove this code at any time by selecting "None" from the "Rich Snippet Type" dropdown and resaving the post/page.
376
-
377
- = Settings Help =
378
-
379
- * **Data Format** -- This lets you select the "language" that Rich Snippet Creator uses to communicate the rich snippet data to Google. Google supports all three options. We recommend "Microformats" because it's compatible with the greatest number of HTML/XHTML variants. This option will likely be of interest only to advanced users.
380
-
381
- * **Categories/Tags That Indicate Reviews** -- If you haven't set the "Rich Snippet Type" setting for an old post or page, then Rich Snippet Creator will automatically set its default type to "Review" (instead of "None") if it has a category or tag whose name is in this list (the default list is "Reviews" and "Review"). Put one category/tag name per line.
382
-
383
- = Troubleshooting =
384
-
385
- * **Why aren't rich snippets showing up in Google search results for my site?** -- Enter the URL of your post/page into <a href="http://www.google.com/webmasters/tools/richsnippets">Google's testing tool</a> to make sure Google can find the rich snippet code on your site. If no code is found, check and make sure you've enabled rich snippets for that particular post/page.
386
-
387
- Note that having the code on a post/page doesn't guarantee that Google will actually use it to create a rich snippet. If Google is able to read your code but isn't using it to generate rich snippets, you can ask Google to do so using <a href="http://www.google.com/support/webmasters/bin/request.py?contact_type=rich_snippets_feedback">this form</a>.
388
-
389
-
390
-
391
- == Sharing Facilitator ==
392
-
393
- = Overview =
394
-
395
- * **What it does:** Sharing Facilitator adds buttons to your posts/pages that make it easy for visitors to share your content.
396
-
397
- * **Why it helps:** When visitors share your content on social networking sites, this can build links to your site. Sharing Facilitator makes it easy for visitors to do this.
398
-
399
- * **How to use it:** Pick which button type you'd like to use (ShareThis or AddThis) and click Save Changes. Try enabling each button on your site and see which one you like better.
400
-
401
-
402
-
403
- == Slug Optimizer ==
404
-
405
- = Overview =
406
-
407
- * **What it does:** Slug Optimizer removes common words from the portion of a post's or Page's URL that is based on its title. (This portion is also known as the "slug.")
408
-
409
- * **Why it helps:** Slug Optimizer increases keyword potency because there are fewer words in your URLs competing for relevance.
410
-
411
- * **How to use it:** Slug Optimizer goes to work when you're editing a post or Page, with no action required on your part. If needed, you can use the textbox on the Slug Optimizer admin page to customize which words are removed.
412
-
413
- = FAQ =
414
-
415
- * **What's a slug?**
416
- The slug of a post or page is the portion of its URL that is based on its title.
417
-
418
- When you edit a post or Page in WordPress, the slug is the yellow-highlighted portion of the Permalink beneath the Title textbox.
419
-
420
- * **Does the Slug Optimizer change my existing URLs?**
421
- No. Slug Optimizer will not relocate your content by changing existing URLs. Slug Optimizer only takes effect on new posts and pages.
422
-
423
- * **How do I see Slug Optimizer in action?**
424
- 1. Create a new post/Page in WordPress.
425
- 2. Type in a title containing some common words.
426
- 3. Click outside the Title box. WordPress will insert a URL labeled "Permalink" below the Title textbox. The Slug Optimizer will have removed the common words from the URL.
427
-
428
- * **What if I want to include a common word in my slug?**
429
- When editing the post or page in question, just click the "Edit" button next to the permalink and change the slug as desired. The Slug Optimizer won't remove words from a manually-edited slug.
430
-
431
- * **How do I revert back to the optimized slug after making changes?**
432
- When editing the post or page in question, just click the "Edit" button next to the permalink; a "Save" button will appear in its place. Next erase the contents of the textbox, and then click the aforementioned "Save" button.
433
-
434
- = Troubleshooting =
435
-
436
- * **Why didn't the Slug Optimizer remove common words from my slug?**
437
- It's possible that every word in your post title is in the list of words to remove. In this case, Slug Optimizer doesn't remove the words, because if it did, you'd end up with a blank slug.
438
-
439
-
440
-
441
- == Title Tag Rewriter ==
442
-
443
- = Overview =
444
-
445
- * **What it does:** Title Tag Rewriter helps you customize the contents of your website's `<title>` tags. The tag contents are displayed in web browser title bars and in search engine result pages.
446
-
447
- * **Why it helps:** Proper title rewriting ensures that the keywords in your post/Page titles have greater prominence for search engine spiders and users. This is an important foundation for WordPress SEO.
448
-
449
- * **How to use it:** Title Tag Rewriter enables recommended settings automatically, so you shouldn't need to change anything. If you do wish to edit the rewriting formats, you can do so using the textboxes below (the "Settings & Variables" tab includes additional information on this). You also have the option of overriding the `<title>` tag of an individual post or page by using the textboxes under the "Post" and "Page" tabs below, or by using the "Title Tag" textbox that Title Tag Rewriter adds to the post/page editors.
450
-
451
- = Formats & Variables =
452
-
453
- Various variables, surrounded in {curly brackets}, are provided for use in the title formats. All settings support the {blog} variable, which is replaced with the name of the blog, and the {tagline} variable, which is replaced with the blog tagline as set under `Settings > General`.
454
-
455
- Here's information on each of the settings and its supported variables:
456
-
457
- * **Blog Homepage Title** -- Displays on the main blog posts page.
458
-
459
- * **Post Title Format** -- Displays on single-post pages. Supports these variables:
460
-
461
- * {post} -- The post's title.
462
- * {category} -- The title of the post category with the lowest ID number.
463
- * {categories} -- A natural-language list of the post's categories (e.g. "Category A, Category B, and Category C").
464
- * {tags} -- A natural-language list of the post's tags (e.g. "Tag A, Tag B, and Tag C").
465
- * {author} -- The Display Name of the post's author.
466
- * {author\_username}, {author\_firstname}, {author\_lastname}, {author\_nickname} -- The username, first name, last name, and nickname of the post's author, respectively, as set in his or her profile.
467
-
468
- * **Page Title Format** -- Displays on WordPress Pages. Supports these variables:
469
-
470
- * {page} -- The page's title.
471
- * {page_parent} -- The title of the page's parent page.
472
- * {author} -- The Display Name of the page's author.
473
- * {author\_username}, {author\_firstname}, {author\_lastname}, {author\_nickname} -- The username, first name, last name, and nickname of the page's author, respectively, as set in his or her profile.
474
-
475
- * **Category Title Format** -- Displays on category archives. The {category} variable is replaced with the name of the category, and {category\_description} is replaced with its description.
476
-
477
- * **Tag Title Format** -- Displays on tag archives. The {tag} variable is replaced with the name of the tag, and {tag\_description} is replaced with its description.
478
-
479
- * **Day Archive Title Format** -- Displays on day archives. Supports these variables:
480
-
481
- * {day} -- The day number, with ordinal suffix, e.g. 23rd
482
- * {daynum} -- The two-digit day number, e.g. 23
483
- * {month} -- The name of the month, e.g. April
484
- * {monthnum} -- The two-digit number of the month, e.g. 04
485
- * {year} -- The year, e.g. 2009
486
-
487
- * **Month Archive Title Format** -- Displays on month archives. Supports {month}, {monthnum}, and {year}.
488
-
489
- * **Year Archive Title Format** -- Displays on year archives. Supports the {year} variable.
490
-
491
- * **Author Archive Title Format** -- Displays on author archives. Supports the same author variables as the Post Title Format box, i.e. {author}, {author\_username}, {author\_firstname}, {author\_lastname}, and {author\_nickname}.
492
-
493
- * **Search Title Format** -- Displays on the result pages for WordPress's blog search function. The {query} variable is replaced with the search query as-is. The {ucwords} variable returns the search query with the first letter of each word capitalized.
494
-
495
- * **404 Title Format** -- Displays whenever a URL doesn't go anywhere. Supports this variable:
496
-
497
- * {url_words} -- The words used in the error-generating URL. The first letter of each word will be capitalized.
498
-
499
- * **Pagination Title Format** -- Displays whenever the visitor is on a subpage (page 2, page 3, etc). Supports these variables:
500
-
501
- * {title} -- The title that would normally be displayed on page 1.
502
- * {num} -- The current page number (2, 3, etc).
503
- * {max} -- The total number of subpages available. Would usually be used like this: Page {num} of {max}
504
-
505
- = Settings Help =
506
-
507
- Here's documentation for the options on the "Settings" tab.
508
-
509
- * **Rewrite Method** -- This setting controls the method by which Title Tag Rewriter edits your site's `<title>` tags.
510
-
511
- * **Use output buffering** -- This is the "traditional" method that most SEO plugins use. With this method, SEO Ultimate will intercept your site's `<head>` tag section as it's being outputted, locate the `<title>` tag, edit its value, and then output the `<head>` data. The good thing about this method is that you don't have to edit your theme in any way, as SEO Ultimate will overwrite whatever your theme puts in your `<title>` tag. The bad thing is that this output interception takes a few extra milliseconds to complete. If you are concerned about performance, are comfortable editing your theme's `header.php` file, and will remember to edit the `header.php` file of any new themes you activate, you may want to try the filtering rewrite method.
512
-
513
- * **Use filtering** -- With this method, SEO Ultimate will register itself with WordPress and will replace WordPress's `<title>` tag output with its own. This method can only edit the text that WordPress itself generates for the `<title>` tag; the filtering method can't edit anything extra your theme may add. For this reason, you need to edit your theme to make sure it's only pulling `<title>` tag data from WordPress and is not adding anything else.
514
-
515
- Here's how to set up filtering:
516
- 1. Click "Editor" under the "Appearance" menu (if you don't see this option, you may be on a WordPress multi-site environment and may not be able to use the filtering rewrite method)
517
- 2. Click "Header (header.php)"
518
- 3. Look for the `<title>` start tag and the `</title>` end tag
519
- 4. Edit the text in between those tags so that it looks like this: `<title><?php wp_title(''); ?></title>`.
520
- 5. Click "Update File"
521
- 6. Return to the "Settings" tab of Title Tag Rewriter, select "Use filtering," and click "Save Changes"
522
-
523
- = FAQ =
524
-
525
- * **Does the Title Tag Rewriter edit my post/page titles?**
526
- No. The Title Tag Rewriter edits the `<title>` tags of your site, not your post/page titles.
527
-
528
- * **What's the difference between the "title" and the "title tag" of a post/page?**
529
- The "title" is the title of your post or page, and is displayed on your site and in your RSS feed. The title is also used in your `<title>` tag by default; however, you can override the value of just the `<title>` tag by using the "Title Tag" field in the "SEO Settings" box.
530
-
531
- = Troubleshooting =
532
-
533
- * **Why isn't Title Tag Rewriter changing my `<title>` tags?**
534
- Try disabling other SEO plugins, as they may be conflicting with SEO Ultimate. If you're using the default "output buffering" rewrite method, check to make sure your theme is [plugin-friendly](http://johnlamansky.com/wordpress/theme-plugin-hooks/). If you're using the "filtering" rewrite method, check your theme's `header.php` file and make sure the `<title>` tag looks like this: `<title><?php wp_title(''); ?></title>`.
535
-
536
-
537
-
538
- == Webmaster Verification Assistant ==
539
-
540
- = Overview =
541
-
542
- * **What it does:** Webmaster Verification Assistant lets you enter in verification codes for the webmaster portals of the 3 leading search engines.
543
-
544
- * **Why it helps:** Webmaster Verification Assistant assists you in obtaining access to webmaster portals, which can provide you with valuable SEO tools.
545
-
546
- * **How to use it:** Use a search engine to locate the webmaster portal you're interested in, sign up at the portal, and then obtain a verification code. Once you have the code, you can paste it in here, click Save Changes, then return to the portal to verify that you own the site. Once that's done, you'll have access to the portal's SEO tools.
547
-
548
-
549
-
550
- == Plugin Settings ==
551
-
552
- = Overview =
553
-
554
- The Settings module lets you manage settings related to the SEO Ultimate plugin as a whole.
555
-
556
- = Global Settings Help =
557
-
558
- Here's information on some of the settings:
559
-
560
- * **Enable nofollow'd attribution link** -- If enabled, the plugin will display an attribution link on your site.
561
-
562
- * **Notify me about unnecessary active plugins** -- If enabled, SEO Ultimate will add notices to your "Plugins" administration page if you have any other plugins installed whose functionality SEO Ultimate replaces.
563
-
564
- * **Insert comments around HTML code insertions** -- If enabled, SEO Ultimate will use HTML comments to identify all code it inserts into your `<head>` tag. This is useful if you&#8217;re trying to figure out whether or not SEO Ultimate is inserting a certain piece of header code.
565
-
566
- = FAQ =
567
-
568
- * **Why doesn't the settings exporter include all my data in an export?** -- The settings export/import system is designed to facilitate moving settings between sites. It is NOT a replacement for keeping your database backed up. The settings exporter doesn't include data that is specific to your site. For example, logged 404 errors are not included because those 404 errors only apply to your site, not another site. Also, post/page titles/meta are not included because the site into which you import the file could have totally different posts/pages located under the same ID numbers.
569
-
570
- If you're moving a site to a different server or restoring a crashed site, you should do so with database backup/restore.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
modules/files/files.php CHANGED
@@ -136,6 +136,42 @@ class SU_Files extends SU_Module {
136
  ));
137
  }
138
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
  }
140
 
141
  }
136
  ));
137
  }
138
  }
139
+
140
+ function add_help_tabs($screen) {
141
+
142
+ $screen->add_help_tab(array(
143
+ 'id' => 'su-files-overview'
144
+ , 'title' => __('Overview', 'seo-ultimate')
145
+ , 'content' => __("
146
+ <ul>
147
+ <li><strong>What it does:</strong> The File Editor module lets you edit two important SEO-related files: robots.txt and .htaccess.</li>
148
+ <li><strong>Why it helps:</strong> You can use the <a href='http://www.robotstxt.org/robotstxt.html' target='_blank'>robots.txt file</a> to give instructions to search engine spiders. You can use the <a href='http://httpd.apache.org/docs/2.2/howto/htaccess.html' target='_blank'>.htaccess file</a> to implement advanced SEO strategies (URL rewriting, regex redirects, etc.). SEO Ultimate makes editing these files easier than ever.</li>
149
+ <li><strong>How to use it:</strong> Edit the files as desired, then click Save Changes. If you create a custom robots.txt file, be sure to enable it with the checkbox.</li>
150
+ </ul>
151
+ ", 'seo-ultimate')));
152
+
153
+ $screen->add_help_tab(array(
154
+ 'id' => 'su-files-faq'
155
+ , 'title' => __('FAQ', 'seo-ultimate')
156
+ , 'content' => __("
157
+ <ul>
158
+ <li><strong>Will my robots.txt edits remain if I disable the File Editor?</strong><br />No. On a WordPress blog, the robots.txt file is dynamically generated just like your posts and Pages. If you disable the File Editor module or the entire SEO Ultimate plugin, the File Editor won&#8217;t be able to insert your custom code into the robots.txt file anymore.</li>
159
+ <li><strong>Will my .htaccess edits remain if I disable the File Editor?</strong><br />Yes. The .htaccess file is static. Your edits will remain even if you disable SEO Ultimate or its File Editor module.</li>
160
+ </ul>
161
+ ", 'seo-ultimate')));
162
+
163
+ $screen->add_help_tab(array(
164
+ 'id' => 'su-files-troubleshooting'
165
+ , 'title' => __('Troubleshooting', 'seo-ultimate')
166
+ , 'content' => __("
167
+ <ul>
168
+ <li><strong>Why do I get a &#8220;500 Server Error&#8221; after using the File Editor?</strong><br />You may have inserted code into your .htaccess file that your web server can't understand. As the File Editor warns, incorrectly editing your .htaccess file can disable your entire website in this way. To restore your site, you'll need to use an FTP client (or your web host's File Manager) to edit or rename your .htaccess file. If you need help, please contact your web host.</li>
169
+ <li><strong>Where did my .htaccess edits go?</strong><br />The .htaccess file is static, so SEO Ultimate doesn't have total control over it. It&#8217;s possible that WordPress, another plugin, or other software may overwrite your .htaccess file. If you have a backup of your blog&#8217;s files, you can try recovering your edits from there.</li>
170
+ </ul>
171
+ ", 'seo-ultimate')));
172
+
173
+
174
+ }
175
  }
176
 
177
  }
modules/link-nofollow/link-nofollow.php CHANGED
@@ -123,6 +123,17 @@ class SU_LinkNofollow extends SU_Module {
123
  return "<a $html>";
124
  }
125
 
 
 
 
 
 
 
 
 
 
 
 
126
  }
127
 
128
  }
123
  return "<a $html>";
124
  }
125
 
126
+ function add_help_tabs($screen) {
127
+
128
+ $screen->add_help_tab(array(
129
+ 'id' => 'su-link-nofollow-overview'
130
+ , 'title' => __('Overview', 'seo-ultimate')
131
+ , 'content' => __("
132
+ <p>Nofollow Manager adds the <code>rel=&quot;nofollow&quot;</code> attribute to types of links that you specify. The <code>rel=&quot;nofollow&quot;</code> attribute prevents a link from passing PageRank.</p>
133
+ <p>If you&#8217;re migrating to SEO Ultimate from another plugin, Nofollow Manager can help you maintain your existing settings (as part of an &#8220;if it ain&#8217;t broke don&#8217;t fix it&#8221; strategy). In other cases, however, we recommend not using the Nofollow Manager because in 2008 Google disabled the ability to use the <code>rel=&quot;nofollow&quot;</code> attribute for PageRank sculpting.</p>
134
+ ", 'seo-ultimate')));
135
+ }
136
+
137
  }
138
 
139
  }
modules/linkbox/linkbox.php CHANGED
@@ -83,6 +83,46 @@ class SU_Linkbox extends SU_Module {
83
  function linkbox_action($id = false) {
84
  echo $this->linkbox_filter('', $id);
85
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  }
87
 
88
  }
83
  function linkbox_action($id = false) {
84
  echo $this->linkbox_filter('', $id);
85
  }
86
+
87
+ function add_help_tabs($screen) {
88
+
89
+ $screen->add_help_tab(array(
90
+ 'id' => 'su-linkbox-overview'
91
+ , 'title' => __('Overview', 'seo-ultimate')
92
+ , 'content' => __("
93
+ <ul>
94
+ <li><strong>What it does:</strong> Linkbox Inserter can add linkboxes to your posts/pages.</li>
95
+ <li><strong>Why it helps:</strong> Linkboxes contain HTML code that visitors can use to link to your site. This is a great way to encourage SEO-beneficial linking activity.</li>
96
+ <li><strong>How to use it:</strong> Use the checkboxes to enable the Linkbox Inserter in various areas of your site. Customize the HTML if desired. Click &#8220;Save Changes&#8221; when finished.</li>
97
+ </ul>
98
+ ", 'seo-ultimate')));
99
+
100
+ $screen->add_help_tab(array(
101
+ 'id' => 'su-linkbox-settings'
102
+ , 'title' => __('Settings Help', 'seo-ultimate')
103
+ , 'content' => __("
104
+ <p>Here&#8217;s information on the various settings:</p>
105
+
106
+ <ul>
107
+ <li>
108
+ <strong>Display linkboxes...</strong>
109
+ <ul>
110
+ <li><strong>At the end of posts</strong> &mdash; Adds the linkbox HTML to the end of all posts (whether they're displayed on the blog homepage, in archives, or by themselves).</li>
111
+ <li><strong>At the end of pages</strong> &mdash; Adds the linkbox HTML to the end of all Pages.</li>
112
+ <li><strong>When called by the su_linkbox hook</strong> &mdash; For more fine-tuned control over where linkboxes appear, enable this option and add <code>&lt;?php do_action('su_linkbox'); ?&gt;</code> to your theme. You can also add an ID parameter to display the linkbox of a particular post/page; for example: <code>&lt;?php do_action('su_linkbox', 123); ?&gt;</code>.</li>
113
+ </ul>
114
+ </li>
115
+ <li>
116
+ <strong>HTML</strong> &mdash; The HTML that will be outputted to display the linkboxes. The HTML field supports these variables:
117
+ <ul>
118
+ <li>{id} &mdash; The ID of the current post/page, or the ID passed to the action hook call.</li>
119
+ <li>{url} &mdash; The permalink URL of the post/page.</li>
120
+ <li>{title} &mdash; The title of the post/page.</li>
121
+ </ul>
122
+ </li>
123
+ </ul>
124
+ ", 'seo-ultimate')));
125
+ }
126
  }
127
 
128
  }
modules/meta/meta-descriptions.php CHANGED
@@ -37,8 +37,10 @@ class SU_MetaDescriptions extends SU_Module {
37
  return array(
38
  'home_description_tagline_default' => true
39
  , 'description_posttype_post' => '{excerpt}'
 
40
  , 'description_taxonomy_category' => '{description}'
41
  , 'description_taxonomy_post_tag' => '{description}'
 
42
  );
43
  }
44
 
@@ -46,9 +48,12 @@ class SU_MetaDescriptions extends SU_Module {
46
  $this->admin_form_table_start();
47
  $this->textboxes(array(
48
  'description_posttype_post' => __('Post Description Format', 'seo-ultimate')
 
49
  , 'description_taxonomy_category' => __('Category Description Format', 'seo-ultimate')
50
  , 'description_taxonomy_post_tag' => __('Post Tag Description Format', 'seo-ultimate')
 
51
  ), $this->get_default_settings());
 
52
  $this->admin_form_table_end();
53
  }
54
 
@@ -109,11 +114,39 @@ class SU_MetaDescriptions extends SU_Module {
109
 
110
  //Do we have a description? If so, output it.
111
  if ($desc) {
 
112
  $desc = su_esc_attr($desc);
113
  echo "\t<meta name=\"description\" content=\"$desc\" />\n";
114
  }
115
  }
116
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
117
  function postmeta_fields($fields) {
118
  $id = "_su_description";
119
  $value = su_esc_attr($this->get_postmeta('description'));
@@ -134,6 +167,55 @@ class SU_MetaDescriptions extends SU_Module {
134
  return $help;
135
  }
136
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
137
  }
138
 
139
  }
37
  return array(
38
  'home_description_tagline_default' => true
39
  , 'description_posttype_post' => '{excerpt}'
40
+ , 'description_posttype_page' => ''
41
  , 'description_taxonomy_category' => '{description}'
42
  , 'description_taxonomy_post_tag' => '{description}'
43
+ , 'description_paged' => '{meta_description} - Page {num}'
44
  );
45
  }
46
 
48
  $this->admin_form_table_start();
49
  $this->textboxes(array(
50
  'description_posttype_post' => __('Post Description Format', 'seo-ultimate')
51
+ , 'description_posttype_page' => __('Page Description Format', 'seo-ultimate')
52
  , 'description_taxonomy_category' => __('Category Description Format', 'seo-ultimate')
53
  , 'description_taxonomy_post_tag' => __('Post Tag Description Format', 'seo-ultimate')
54
+ , 'description_paged' => __('Pagination Description Format', 'seo-ultimate')
55
  ), $this->get_default_settings());
56
+
57
  $this->admin_form_table_end();
58
  }
59
 
114
 
115
  //Do we have a description? If so, output it.
116
  if ($desc) {
117
+ $desc = $this->get_desc_paged($desc);
118
  $desc = su_esc_attr($desc);
119
  echo "\t<meta name=\"description\" content=\"$desc\" />\n";
120
  }
121
  }
122
 
123
+ function get_desc_paged($desc) {
124
+
125
+ global $wp_query, $numpages;
126
+
127
+ if (is_paged() || get_query_var('page')) {
128
+
129
+ if (is_paged()) {
130
+ $num = absint(get_query_var('paged'));
131
+ $max = absint($wp_query->max_num_pages);
132
+ } else {
133
+ $num = absint(get_query_var('page'));
134
+
135
+ if (is_singular()) {
136
+ $post = $wp_query->get_queried_object();
137
+ $max = count(explode('<!--nextpage-->', $post->post_content));
138
+ } else
139
+ $max = '';
140
+ }
141
+
142
+ return str_replace(
143
+ array('{meta_description}', '{num}', '{max}'),
144
+ array( $desc, $num, $max ),
145
+ $this->get_setting('description_paged'));
146
+ } else
147
+ return $desc;
148
+ }
149
+
150
  function postmeta_fields($fields) {
151
  $id = "_su_description";
152
  $value = su_esc_attr($this->get_postmeta('description'));
167
  return $help;
168
  }
169
 
170
+ function add_help_tabs($screen) {
171
+
172
+ $screen->add_help_tab(array(
173
+ 'id' => 'su-meta-descriptions-overview'
174
+ , 'title' => __('Overview', 'seo-ultimate')
175
+ , 'content' => __("
176
+ <ul>
177
+ <li><strong>What it does:</strong> Meta Descriptions Editor lets you customize the text that you want to appear under your webpages&#8217; titles in search results.</li>
178
+ <li><strong>Why it helps:</strong> Getting ranked isn&#8217;t enough; once you're ranked, you need visitors to click on your site in the results. That&#8217;s where meta descriptions can help. When you provide text that makes searchers want to visit your site, you can increase your SERP clickthrough rate and thus increase search traffic.</li>
179
+ <li><strong>How to use it:</strong> Enter meta descriptions for your homepage, posts, pages, etc. as desired, and then click Save Changes. You can also customize the meta data of an individual post or page by using the textboxes that Meta Editor adds to the post/page editors.</li>
180
+ </ul>
181
+ ", 'seo-ultimate')));
182
+
183
+ $screen->add_help_tab(array(
184
+ 'id' => 'su-meta-descriptions-settings'
185
+ , 'title' => __('Settings Help', 'seo-ultimate')
186
+ , 'content' => __("
187
+ <p>Here&#8217;s information on the various settings:</p>
188
+
189
+ <ul>
190
+ <li><strong>Blog Homepage Meta Description</strong> &mdash; When your blog homepage appears in search results, it&#8217;ll have a title and a description. When you insert content into the description field below, the Meta Editor will add code to your blog homepage (the <code>&lt;meta name=&quot;description&quot; /&gt;</code> tag) that asks search engines to use what you&#8217;ve entered as the homepage&#8217;s search results description.</li>
191
+ <li><strong>Use this blog&#8217;s tagline as the default homepage description.</strong> &mdash; If this box is checked and if the Blog Homepage Meta Description field is empty, Meta Editor will use your blog&#8217;s tagline as the meta description. You can edit the blog&#8217;s tagline under <a href='options-general.php'>Settings &rArr; General</a>.</li>
192
+ </ul>
193
+ ", 'seo-ultimate')));
194
+
195
+ $screen->add_help_tab(array(
196
+ 'id' => 'su-meta-descriptions-faq'
197
+ , 'title' => __('FAQ', 'seo-ultimate')
198
+ , 'content' => __("
199
+ <ul>
200
+ <li><strong>How do I edit the meta description of my homepage?</strong><br />If you are using a &#8220;blog homepage&#8221; (the default option of showing your blog posts on your homepage), just use the Blog Homepage field. If you have configured your <a href='options-reading.php'>Settings &rArr; Reading</a> section to use a &#8220;frontpage&#8221; (i.e. a Page as your homepage), just edit that Page&#8217;s meta description on the &#8220;Pages&#8221; tab.</li>
201
+ </ul>
202
+ ", 'seo-ultimate')));
203
+
204
+ $screen->add_help_tab(array(
205
+ 'id' => 'su-meta-descriptions-troubleshooting'
206
+ , 'title' => __('Troubleshooting', 'seo-ultimate')
207
+ , 'content' => __("
208
+ <ul>
209
+ <li>
210
+ <p><strong>What do I do if my site has multiple meta tags?</strong><br />First, try removing your theme&#8217;s built-in meta tags if it has them. Go to <a href='theme-editor.php' target='_blank'>Appearance &rArr; Editor</a> and edit <code>header.php</code>. Delete or comment-out any <code>&lt;meta&gt;</code> tags.</p>
211
+ <p>If the problem persists, try disabling other SEO plugins that may be generating meta tags.</p>
212
+ <p>Troubleshooting tip: Go to <a href='options-general.php?page=seo-ultimate'>Settings &rArr; SEO Ultimate</a> and enable the &#8220;Insert comments around HTML code insertions&#8221; option. This will mark SEO Ultimate&#8217;s meta tags with comments, allowing you to see which meta tags are generated by SEO Ultimate and which aren&#8217;t.</p>
213
+ </li>
214
+ </ul>
215
+ ", 'seo-ultimate')));
216
+
217
+ }
218
+
219
  }
220
 
221
  }
modules/meta/meta-keywords.php CHANGED
@@ -159,6 +159,51 @@ class SU_MetaKeywords extends SU_Module {
159
  return $help;
160
  }
161
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
162
  }
163
 
164
  }
159
  return $help;
160
  }
161
 
162
+ function add_help_tabs($screen) {
163
+
164
+ $screen->add_help_tab(array(
165
+ 'id' => 'su-meta-keywords-overview'
166
+ , 'title' => __('Overview', 'seo-ultimate')
167
+ , 'content' => __("
168
+ <p>Meta Keywords Editor lets you tell search engines what keywords are associated with the various pages on your site. Modern search engines don&#8217;t give meta keywords much weight, but the option is there if you want to use it. You can customize the meta keywords of an individual post or page by using the textboxes that Meta Editor adds to the post/page editors.</p>
169
+ ", 'seo-ultimate')));
170
+
171
+ $screen->add_help_tab(array(
172
+ 'id' => 'su-meta-keywords-settings'
173
+ , 'title' => __('Settings Help', 'seo-ultimate')
174
+ , 'content' => __("
175
+ <ul>
176
+ <li><strong>Sitewide Keywords</strong> &mdash; Here you can enter keywords that describe the overall subject matter of your entire blog. Use ommas to separate keywords. These keywords will be put in the <code>&gt;meta name=&quot;keywords&quot; /&gt;</code> tags of all webpages on the site (homepage, posts, pages, archives, etc.).</li>
177
+ <li><strong>Blog Homepage Meta Keywords</strong> &mdash; These keywords will be applied only to the <em>blog</em> homepage. Note that if you&#8217;ve specified a &#8220;front page&#8221; under <a href='options-reading.php'>Settings &rArr; Reading</a>, you&#8217;ll need to edit your frontpage and set your frontpage keywords there.</li>
178
+ </ul>
179
+ ", 'seo-ultimate')));
180
+
181
+ $screen->add_help_tab(array(
182
+ 'id' => 'su-meta-keywords-faq'
183
+ , 'title' => __('FAQ', 'seo-ultimate')
184
+ , 'content' => __("
185
+ <ul>
186
+ <li>
187
+ <p><strong>How do I edit the meta keywords of my homepage?</strong><br />If you are using a &#8220;blog homepage&#8221; (the default option of showing your blog posts on your homepage), just use the Blog Homepage field.</p>
188
+ <p>If you have configured your <a href='options-reading.php'>Settings &rArr; Reading</a> section to use a &#8220;frontpage&#8221; (i.e. a Page as your homepage), just edit that Page and use the &#8220;Meta Keywords&#8221; field in the &#8220;SEO Settings&#8221; box.</p>
189
+ </li>
190
+ <li><strong>What happens if I add a global keyword that I previously assigned to individual posts or pages?</strong><br />Don&#8217;t worry; Meta Keywords Editor will remove duplicate keywords automatically.</li>
191
+ </ul>
192
+ ", 'seo-ultimate')));
193
+
194
+ $screen->add_help_tab(array(
195
+ 'id' => 'su-meta-keywords-troubleshooting'
196
+ , 'title' => __('Troubleshooting', 'seo-ultimate')
197
+ , 'content' => __("
198
+ <ul>
199
+ <li>
200
+ <p><strong>What do I do if my site has multiple meta tags?</strong><br />First, try removing your theme&#8217;s built-in meta tags if it has them. Go to <a href='theme-editor.php' target='_blank'>Appearance &rArr; Editor</a> and edit <code>header.php</code>. Delete or comment-out any <code>&lt;meta&gt;</code> tags.</p>
201
+ <p>If the problem persists, try disabling other SEO plugins that may be generating meta tags.</p>
202
+ <p>Troubleshooting tip: Go to <a href='options-general.php?page=seo-ultimate'>Settings &rArr; SEO Ultimate</a> and enable the &#8220;Insert comments around HTML code insertions&#8221; option. This will mark SEO Ultimate&#8217;s meta tags with comments, allowing you to see which meta tags are generated by SEO Ultimate and which aren&#8217;t.</p>
203
+ </li>
204
+ </ul>
205
+ ", 'seo-ultimate')));
206
+ }
207
  }
208
 
209
  }
modules/meta/meta-robots.php CHANGED
@@ -45,6 +45,74 @@ class SU_MetaRobots extends SU_Module {
45
 
46
  return $commands;
47
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
  }
49
 
50
  }
45
 
46
  return $commands;
47
  }
48
+
49
+ function add_help_tabs($screen) {
50
+
51
+ $screen->add_help_tab(array(
52
+ 'id' => 'su-meta-robots-overview'
53
+ , 'title' => __('Overview', 'seo-ultimate')
54
+ , 'content' => __("
55
+ <ul>
56
+ <li><strong>What it does:</strong> Meta Robot Tags Editor lets you convey instructions to search engine spiders, as well as prohibit the spiders from indexing certain webpages on your blog using the <code>&lt;meta name=&quot;robots&quot; content=&quot;noindex&quot; /&gt;</code> tag.</li>
57
+ <li><strong>Why it helps:</strong> The &#8220;Global&#8221; tab lets you stop DMOZ or Yahoo! Directory from overriding your custom meta descriptions, as well as prevent spiders from caching your site if you so desire. The &#8220;Default Values&#8221; tab lets you deindex entire sections of your site that contain content unimportant to visitors (e.g. the administration section), or sections of your site that mostly contain duplicate content (e.g. date archives). The editor tabs can do something similar, but for individual content items. By removing webpages from search results that visitors find unhelpful, you can help increase the focus on your more useful content.</li>
58
+ <li><strong>How to use it:</strong> Adjust the settings as desired, and then click Save Changes. You can refer to the &#8220;Settings Help&#8221; tab for information on the settings available. You can also use the editor tabs to deindex individual content items on your site as well as enable the &#8220;nofollow&#8221; meta parameter that will nullify all outgoing links on a specific webpage.</li>
59
+ </ul>
60
+ ", 'seo-ultimate')));
61
+
62
+ $screen->add_help_tab(array(
63
+ 'id' => 'su-meta-robots-settings'
64
+ , 'title' => __('Settings Help', 'seo-ultimate')
65
+ , 'content' => __("
66
+ <p>Here&#8217;s information on the various settings:</p>
67
+
68
+ <ul>
69
+ <li>
70
+ <strong>Global: Spider Instructions</strong>
71
+ <ul>
72
+ <li><strong>Don't use this site's Open Directory / Yahoo! Directory description in search results.</strong> &mdash; If your site is listed in the <a href='http://www.dmoz.org/' target='_blank'>Open Directory (DMOZ)</a> or the <a href='http://dir.yahoo.com/' target='_blank'>Yahoo! Directory</a>, some search engines may use your directory listing as the meta description. These boxes tell search engines not to do that and will give you full control over your meta descriptions. These settings have no effect if your site isn&#8217;t listed in the Open Directory or Yahoo! Directory respectively.</li>
73
+ <li>Don&#8217;t cache or archive this site.</li> &mdash; When you check this box, Meta Editor will ask search engines (Google, Yahoo!, Bing, etc.) and archivers (Archive.org, etc.) to <em>not</em> make cached or archived &#8220;copies&#8221; of your site.</li>
74
+ </ul>
75
+ </li>
76
+ <li>
77
+ <strong>Default Values: Prevent indexing of...</strong>
78
+ <ul>
79
+ <li><strong>Administration back-end pages</strong> &mdash; Tells spiders not to index the administration area (the part you&#8217;re in now), in the unlikely event a spider somehow gains access to the administration. Recommended.</li>
80
+ <li><strong>Author archives</strong> &mdash; Tells spiders not to index author archives. Useful if your blog only has one author.</li>
81
+ <li><strong>Blog search pages</strong> &mdash; Tells spiders not to index the result pages of WordPress's blog search function. Recommended.</li>
82
+ <li><strong>Category archives</strong> &mdash; Tells spiders not to index category archives. Recommended only if you don't use categories.</li>
83
+ <li><strong>Comment feeds</strong> &mdash; Tells spiders not to index the RSS feeds that exist for every post's comments. (These comment feeds are totally separate from your normal blog feeds.)</li>
84
+ <li><strong>Comment subpages</strong> &mdash; Tells spiders not to index posts' comment subpages.</li>
85
+ <li><strong>Date-based archives</strong> &mdash; Tells spiders not to index day/month/year archives. Recommended, since these pages have little keyword value.</li>
86
+ <li><strong>Subpages of the homepage</strong> &mdash; Tells spiders not to index the homepage's subpages (page 2, page 3, etc). Recommended.</li>
87
+ <li><strong>Tag archives</strong> &mdash; Tells spiders not to index tag archives. Recommended only if you don't use tags.</li>
88
+ <li>User login/registration pages</strong> &mdash; Tells spiders not to index WordPress's user login and registration pages. Recommended.</li>
89
+ </ul>
90
+ </li>
91
+ <li>
92
+ <strong>Editor Tabs (Posts/Pages/etc.)</strong>
93
+ <ul>
94
+ <li><strong>Noindex</strong> &mdash; Checking this for an item will ask search engines to remove that item&#8217;s webpage from their indices. Use this to remove pages that you don&#8217;t want showing up in search results (such as a Privacy Policy page, for example).</li>
95
+ <li><strong>Nofollow</strong> &mdash; Checking this for an item will tell search engines to ignore the links to other webpages that are on that item&#8217;s webpage. Note: this is page-level &#8220;meta nofollow,&#8221; not to be confused with link-level &#8220;rel nofollow.&#8221;</li>
96
+ </ul>
97
+ </li>
98
+ </ul>
99
+ ", 'seo-ultimate')));
100
+
101
+ $screen->add_help_tab(array(
102
+ 'id' => 'su-meta-robots-troubleshooting'
103
+ , 'title' => __('Troubleshooting', 'seo-ultimate')
104
+ , 'content' => __("
105
+ <ul>
106
+ <li>
107
+ <p><strong>What do I do if my site has multiple meta tags?</strong><br />First, try removing your theme&#8217;s built-in meta tags if it has them. Go to <a href='theme-editor.php' target='_blank'>Appearance &rArr; Editor</a> and edit <code>header.php</code>. Delete or comment-out any <code>&lt;meta&gt;</code> tags.</p>
108
+ <p>If the problem persists, try disabling other SEO plugins that may be generating meta tags.</p>
109
+ <p>Troubleshooting tip: Go to <a href='options-general.php?page=seo-ultimate'>Settings &rArr; SEO Ultimate</a> and enable the &#8220;Insert comments around HTML code insertions&#8221; option. This will mark SEO Ultimate&#8217;s meta tags with comments, allowing you to see which meta tags are generated by SEO Ultimate and which aren&#8217;t.</p>
110
+ </li>
111
+ </ul>
112
+ ", 'seo-ultimate')));
113
+
114
+
115
+ }
116
  }
117
 
118
  }
modules/meta/webmaster-verify.php CHANGED
@@ -50,6 +50,21 @@ class SU_WebmasterVerify extends SU_Module {
50
  ));
51
  $this->child_admin_form_end();
52
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  }
54
 
55
  }
50
  ));
51
  $this->child_admin_form_end();
52
  }
53
+
54
+ function add_help_tabs($screen) {
55
+
56
+ $screen->add_help_tab(array(
57
+ 'id' => 'su-webmaster-verify-overview'
58
+ , 'title' => $this->has_enabled_parent() ? __('Webmaster Verification Assistant', 'seo-ultimate') : __('Overview', 'seo-ultimate')
59
+ , 'content' => __("
60
+ <ul>
61
+ <li><strong>What it does:</strong> Webmaster Verification Assistant lets you enter in verification codes for the webmaster portals of the 3 leading search engines.</li>
62
+ <li><strong>Why it helps:</strong> Webmaster Verification Assistant assists you in obtaining access to webmaster portals, which can provide you with valuable SEO tools.</li>
63
+ <li><strong>How to use it:</strong> Use a search engine to locate the webmaster portal you&#8217;re interested in, sign up at the portal, and then obtain a verification code. Once you have the code, you can paste it in here, click Save Changes, then return to the portal to verify that you own the site. Once that&#8217;s done, you'll have access to the portal&#8217;s SEO tools.</li>
64
+ </ul>
65
+ ", 'seo-ultimate')));
66
+ }
67
+
68
  }
69
 
70
  }
modules/modules.css CHANGED
@@ -76,6 +76,35 @@ div.su-module table.form-table table.su-indent th {
76
 
77
  div.su-module table.su-indent th:after { content: ":"; }
78
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
  div.su-importmodule div.su-status {
80
  padding-top: 0.5em;
81
  padding-bottom: 0.5em;
@@ -129,7 +158,7 @@ div.su-module .su-tabs ul.ui-tabs-nav li.ui-tabs-selected a {
129
  border-top-left-radius: 4px;
130
  border-top-right-radius: 4px;
131
  border: 1px solid #dfdfdf;
132
- border-bottom-color: #f9f9f9;
133
  color: #333333;
134
  font-weight: normal;
135
  padding: 0 9px;
76
 
77
  div.su-module table.su-indent th:after { content: ":"; }
78
 
79
+ div.su-module table tr.su-indent-level-1 .su-field-label { padding-left: 1em; }
80
+ div.su-module table tr.su-indent-level-2 .su-field-label { padding-left: 3em; }
81
+ div.su-module table tr.su-indent-level-3 .su-field-label { padding-left: 5em; }
82
+ div.su-module table tr.su-indent-level-4 .su-field-label { padding-left: 7em; }
83
+
84
+ div.su-module table tr.su-indent .su-field-label {
85
+ line-height: 1em;
86
+ }
87
+
88
+ div.su-module table tr.su-indent .su-child-fields-toggle,
89
+ div.su-module table tr.su-indent .su-child-fields-toggle-filler {
90
+ display: block;
91
+ float: left;
92
+ width: 1em;
93
+ }
94
+
95
+ div.su-module table tr.su-indent .su-child-fields-toggle {
96
+ text-align: center;
97
+ cursor: pointer;
98
+ border: 1px solid #666;
99
+ border-radius: 2px;
100
+ background-color: #eee;
101
+ }
102
+
103
+ div.su-module table tr.su-indent .su-field-label-text {
104
+ display: block;
105
+ padding-left: 2em;
106
+ }
107
+
108
  div.su-importmodule div.su-status {
109
  padding-top: 0.5em;
110
  padding-bottom: 0.5em;
158
  border-top-left-radius: 4px;
159
  border-top-right-radius: 4px;
160
  border: 1px solid #dfdfdf;
161
+ border-bottom-color: #ffffff;
162
  color: #333333;
163
  font-weight: normal;
164
  padding: 0 9px;
modules/modules/modules.php CHANGED
@@ -153,6 +153,33 @@ STR;
153
 
154
  $this->admin_form_end(null, false);
155
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
156
  }
157
 
158
  }
153
 
154
  $this->admin_form_end(null, false);
155
  }
156
+
157
+ function add_help_tabs($screen) {
158
+
159
+ $screen->add_help_tab(array(
160
+ 'id' => 'su-modules-options'
161
+ , 'title' => __('Options Help', 'seo-ultimate')
162
+ , 'content' => __("
163
+ <p>The Module Manager lets you customize the visibility and accessibility of each module; here are the options available:</p>
164
+ <ul>
165
+ <li><strong>Enabled</strong> &mdash; The default option. The module will be fully enabled and accessible.</li>
166
+ <li><strong>Silenced</strong> &mdash; The module will be enabled and accessible, but it won't be allowed to display numeric bubble alerts on the menu.</li>
167
+ <li><strong>Hidden</strong> &mdash; The module's functionality will be enabled, but the module won't be visible on the SEO menu. You will still be able to access the module's admin page by clicking on its title in the Module Manager table.</li>
168
+ <li><strong>Disabled</strong> &mdash; The module will be completely disabled and inaccessible.</li>
169
+ </ul>
170
+ ", 'seo-ultimate')));
171
+
172
+ $screen->add_help_tab(array(
173
+ 'id' => 'su-modules-faq'
174
+ , 'title' => __('FAQ', 'seo-ultimate')
175
+ , 'content' => __("
176
+ <ul>
177
+ <li><strong>What are modules?</strong><br />SEO Ultimate&#8217;s features are divided into groups called &#8220;modules.&#8221; SEO Ultimate&#8217;s &#8220;Module Manager&#8221; lets you enable or disable each of these groups of features. This way, you can pick-and-choose which SEO Ultimate features you want.</li>
178
+ <li><strong>Can I access a module again after I&#8217;ve hidden it?</strong><br />Yes. Just go to the Module Manager and click the module&#8217;s title to open its admin page. If you&#8217;d like to put the module back in the &#8220;SEO&#8221; menu, just re-enable the module in the Module Manager and click &#8220;Save Changes.&#8221;</li>
179
+ <li><strong>How do I disable the number bubbles on the &#8220;SEO&#8221; menu?</strong><br />Just go to the Module Manager and select the &#8220;Silenced&#8221; option for any modules generating number bubbles. Then click &#8220;Save Changes.&#8221;</li>
180
+ </ul>
181
+ ", 'seo-ultimate')));
182
+ }
183
  }
184
 
185
  }
modules/more-links/more-links.php CHANGED
@@ -69,6 +69,54 @@ class SU_MoreLinks extends SU_Module {
69
 
70
  return $value;
71
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  }
73
 
74
  }
69
 
70
  return $value;
71
  }
72
+
73
+ function add_help_tabs($screen) {
74
+
75
+ $overview = __("
76
+ <ul>
77
+ <li><strong>What it does:</strong> More Link Customizer lets you modify the anchor text of your posts&#8217; <a href='http://codex.wordpress.org/Customizing_the_Read_More' target='_blank'>&#8220;more&#8221; links</a>.</li>
78
+ <li><strong>Why it helps:</strong> On the typical WordPress setup, the &#8220;more link&#8221; always has the same anchor text (e.g. &#8220;Read more of this entry&#8221;). Since internal anchor text conveys web page topicality to search engines, the &#8220;read more&#8221; phrase isn&#8217;t a desirable anchor phrase. More Link Customizer lets you replace the boilerplate text with a new anchor that, by default, integrates your post titles (which will ideally be keyword-oriented).</li>
79
+ <li><strong>How to use it:</strong> On this page you can set the anchor text you&#8217;d like to use by default. The <code>{post}</code> variable will be replaced with the post&#8217;s title. HTML and encoded entities are supported. If instead you decide that you&#8217;d like to use the default anchor text specified by your currently-active theme, just erase the contents of the textbox. The anchor text can be overridden on a per-post basis via the &#8220;More Link Text&#8221; box in the &#8220;SEO Settings&#8221; section of the WordPress post editor.</li>
80
+ </ul>
81
+ ", 'seo-ultimate');
82
+
83
+ $faq = __("
84
+ <ul>
85
+ <li>
86
+ <p><strong>Why is the More Link Customizer an improvement over WordPress&#8217;s built-in functionality?</strong><br />Although WordPress does allow basic <a href='http://codex.wordpress.org/Customizing_the_Read_More#Having_a_custom_text_for_each_post' target='_blank'>custom &#8220;more&#8221; anchors</a>, the SEO Ultimate approach has several benefits:</p>
87
+ <ul>
88
+ <li>More Link Customizer (MLC) lets you set a custom default anchor text. WordPress, on the other hand, leaves this up to the currently-active theme.</li>
89
+ <li>MLC lets you dynamically incorporate the post&#8217;s title into the anchor text.</li>
90
+ <li>MLC lets you include HTML tags in your anchor, whereas WordPress strips these out.</li>
91
+ <li>MLC&#8217;s functionality is much more prominent than WordPress&#8217;s unintuitive, barely-documented approach.</li>
92
+ <li>Unlike WordPress's method, MLC doesn't require you to utilize the HTML editor.</li>
93
+ </ul>
94
+ <p>If you&#8217;ve already specified custom anchors via WordPress&#8217;s method, SEO Ultimate will import those anchors automatically into the More Link Customizer.</p>
95
+ </li>
96
+ </ul>
97
+ ", 'seo-ultimate');
98
+
99
+ if ($this->has_enabled_parent()) {
100
+ $screen->add_help_tab(array(
101
+ 'id' => 'su-more-links-overview'
102
+ , 'title' => __('More Link Customizer', 'seo-ultimate')
103
+ , 'content' =>
104
+ '<h3>' . __('Overview', 'seo-ultimate') . '</h3>' . $overview .
105
+ '<h3>' . __('FAQ', 'seo-ultimate') . '</h3>' . $faq
106
+ ));
107
+ } else {
108
+
109
+ $screen->add_help_tab(array(
110
+ 'id' => 'su-more-links-overview'
111
+ , 'title' => __('Overview', 'seo-ultimate')
112
+ , 'content' => $overview));
113
+
114
+ $screen->add_help_tab(array(
115
+ 'id' => 'su-more-links-faq'
116
+ , 'title' => __('FAQ', 'seo-ultimate')
117
+ , 'content' => $faq));
118
+ }
119
+ }
120
  }
121
 
122
  }
modules/rich-snippets/rich-snippets.php CHANGED
@@ -246,6 +246,39 @@ class SU_RichSnippets extends SU_Module {
246
 
247
  return $fields;
248
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
249
  }
250
 
251
  }
246
 
247
  return $fields;
248
  }
249
+
250
+ function add_help_tabs($screen) {
251
+
252
+ $screen->add_help_tab(array(
253
+ 'id' => 'su-rich-snippets-overview'
254
+ , 'title' => __('Overview', 'seo-ultimate')
255
+ , 'content' => __("
256
+ <ul>
257
+ <li><strong>What it does:</strong> Rich Snippet Creator adds special code to your posts that asks Google to display special pertinent information (known as <a href='http://www.google.com/support/webmasters/bin/topic.py?hl=en&topic=219' target='_blank'>Rich Snippets</a>) in search results for certain types of content. For example, if you&#8217;ve written a product review, you can use Rich Snippet Creator to ask Google to display the star rating that you gave the product in your review next to your review webpage when it appears in search results.</li>
258
+ <li><strong>Why it helps:</strong> Rich Snippet Creator enhances the search engine results for your content by asking Google to add extra, eye-catching info that could help draw in more search engine visitors.</li>
259
+ <li><p><strong>How it works:</strong> When editing one of your posts or pages, see if your content fits one of the available rich snippet types (for example, a review). If so, select that type from the &#8220;Rich Snippet Type&#8221; dropdown box. Once you select the applicable type, additional options will appear that vary based on the type selected. For example, a &#8220;Star Rating&#8221; field will appear if you select the &#8220;Review&#8221; type.</p><p>Once you save the post/page, Rich Snippet Creator will add the special code to it. You can remove this code at any time by selecting &#8220;None&#8221; from the &#8220;Rich Snippet Type&#8221; dropdown and resaving the post/page.</p></li>
260
+ </ul>
261
+ ", 'seo-ultimate')));
262
+
263
+ $screen->add_help_tab(array(
264
+ 'id' => 'su-rich-snippets-settings'
265
+ , 'title' => __('Settings Help', 'seo-ultimate')
266
+ , 'content' => __("
267
+ <ul>
268
+ <li><strong>Data Format</strong> &mdash; This lets you select the &#8220;language&#8221; that Rich Snippet Creator uses to communicate the rich snippet data to Google. Google supports all three options. We recommend &#8220;Microformats&#8221; because it&#8217;s compatible with the greatest number of HTML/XHTML variants. This option will likely be of interest only to advanced users.</li>
269
+ <li><strong>Categories/Tags That Indicate Reviews</strong> &mdash; If you haven&#8217;t set the &#8220;Rich Snippet Type&#8221; setting for an old post or page, then Rich Snippet Creator will automatically set its default type to &#8220;Review&#8221; (instead of &#8220;None&#8221;) if it has a category or tag whose name is in this list (the default list is &#8220;Reviews&#8221; and &#8220;Review&#8221;). Put one category/tag name per line.</li>
270
+ </ul>
271
+ ", 'seo-ultimate')));
272
+
273
+ $screen->add_help_tab(array(
274
+ 'id' => 'su-rich-snippets-troubleshooting'
275
+ , 'title' => __('Troubleshooting', 'seo-ultimate')
276
+ , 'content' => __("
277
+ <ul>
278
+ <li><p><strong>Why aren&#8217;t rich snippets showing up in Google search results for my site?</strong><br />Enter the URL of your post/page into <a href='http://www.google.com/webmasters/tools/richsnippets' target='_blank'>Google&#8217;s testing tool</a> to make sure Google can find the rich snippet code on your site. If no code is found, check and make sure you've enabled rich snippets for that particular post/page.</p><p>Note that having the code on a post/page doesn&#8217;t guarantee that Google will actually use it to create a rich snippet. If Google is able to read your code but isn&#8217;t using it to generate rich snippets, you can ask Google to do so using <a href='http://www.google.com/support/webmasters/bin/request.py?contact_type=rich_snippets_feedback' target='_blank'>this form</a>.</p></li>
279
+ </ul>
280
+ ", 'seo-ultimate')));
281
+ }
282
  }
283
 
284
  }
modules/settings/settings.php CHANGED
@@ -14,6 +14,40 @@ class SU_Settings extends SU_Module {
14
  function get_menu_title() { return __('SEO Ultimate', 'seo-ultimate'); }
15
  function get_menu_parent(){ return 'options-general.php'; }
16
  function admin_page_contents() { $this->children_admin_page_tabs(); }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  }
18
 
19
  }
14
  function get_menu_title() { return __('SEO Ultimate', 'seo-ultimate'); }
15
  function get_menu_parent(){ return 'options-general.php'; }
16
  function admin_page_contents() { $this->children_admin_page_tabs(); }
17
+
18
+ function add_help_tabs($screen) {
19
+
20
+ $screen->add_help_tab(array(
21
+ 'id' => 'su-settings-overview'
22
+ , 'title' => __('Overview', 'seo-ultimate')
23
+ , 'content' => __("
24
+ <p>The Settings module lets you manage settings related to the SEO Ultimate plugin as a whole.</p>
25
+ ", 'seo-ultimate')));
26
+
27
+ $screen->add_help_tab(array(
28
+ 'id' => 'su-settings-settings'
29
+ , 'title' => __('Global Settings', 'seo-ultimate')
30
+ , 'content' => __("
31
+ <p>Here&#8217;s information on some of the settings:</p>
32
+ <ul>
33
+ <li><strong>Enable nofollow&#8217;d attribution link</strong> &mdash; If enabled, the plugin will display an attribution link on your site.</li>
34
+ <li><strong>Notify me about unnecessary active plugins</strong> &mdash; If enabled, SEO Ultimate will add notices to your &#8220;Plugins&#8221; administration page if you have any other plugins installed whose functionality SEO Ultimate replaces.</li>
35
+ <li><strong>Insert comments around HTML code insertions</strong> &mdash; If enabled, SEO Ultimate will use HTML comments to identify all code it inserts into your <code>&lt;head&gt;</code> tag. This is useful if you&#8217;re trying to figure out whether or not SEO Ultimate is inserting a certain piece of header code.</li>
36
+ </ul>
37
+ ", 'seo-ultimate')));
38
+
39
+ $screen->add_help_tab(array(
40
+ 'id' => 'su-settings-faq'
41
+ , 'title' => __('FAQ', 'seo-ultimate')
42
+ , 'content' => __("
43
+ <ul>
44
+ <li>
45
+ <p><strong>Why doesn&#8217;t the settings exporter include all my data in an export?</strong><br />The settings export/import system is designed to facilitate moving settings between sites. It is NOT a replacement for keeping your database backed up. The settings exporter doesn&#8217;t include data that is specific to your site. For example, logged 404 errors are not included because those 404 errors only apply to your site, not another site. Also, post/page titles/meta are not included because the site into which you import the file could have totally different posts/pages located under the same ID numbers.</p>
46
+ <p>If you&#8217;re moving a site to a different server or restoring a crashed site, you should do so with database backup/restore.</p>
47
+ </li>
48
+ </ul>
49
+ ", 'seo-ultimate')));
50
+ }
51
  }
52
 
53
  }
modules/sharing-buttons/sharing-buttons.php CHANGED
@@ -64,6 +64,21 @@ class SU_SharingButtons extends SU_Module {
64
  }
65
  return $content;
66
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  }
68
 
69
  }
64
  }
65
  return $content;
66
  }
67
+
68
+ function add_help_tabs($screen) {
69
+
70
+ $screen->add_help_tab(array(
71
+ 'id' => 'su-sharing-buttons-overview'
72
+ , 'title' => $this->has_enabled_parent() ? __('Sharing Facilitator', 'seo-ultimate') : __('Overview', 'seo-ultimate')
73
+ , 'content' => __("
74
+ <ul>
75
+ <li><strong>What it does:</strong> Sharing Facilitator adds buttons to your posts/pages that make it easy for visitors to share your content.</li>
76
+ <li><strong>Why it helps:</strong> When visitors share your content on social networking sites, this can build links to your site. Sharing Facilitator makes it easy for visitors to do this.</li>
77
+ <li><strong>How to use it:</strong> Pick which button type you&#8217;d like to use (ShareThis or AddThis) and click Save Changes. Try enabling each button on your site and see which one you like better.</li>
78
+ </ul>
79
+ ", 'seo-ultimate')));
80
+ }
81
+
82
  }
83
 
84
  }
modules/site-keyword-queries/index.php DELETED
@@ -1,4 +0,0 @@
1
- <?php
2
- header('Status: 403 Forbidden');
3
- header('HTTP/1.1 403 Forbidden');
4
- ?>
 
 
 
 
modules/site-keyword-queries/site-keyword-queries.php DELETED
@@ -1,41 +0,0 @@
1
- <?php
2
- /**
3
- * Internal Relevance Researcher Module
4
- *
5
- * @since 1.4
6
- */
7
-
8
- if (class_exists('SU_Module')) {
9
-
10
- class SU_SiteKeywordQueries extends SU_Module {
11
-
12
- function get_module_title() { return __('Internal Relevance Researcher', 'seo-ultimate'); }
13
- function get_menu_title() { return __('Int. Rel. Researcher', 'seo-ultimate'); }
14
-
15
- function admin_page_contents() {
16
- ?>
17
- <form method="get" action="http://www.seodesignsolutions.com/blog/ultimate-linkbuilding-toolkit/result.php" target="_blank">
18
- <input type="hidden" id="showback" name="showback" value="0" />
19
- <input type="hidden" id="queries" name="queries" value="<?php echo su_esc_attr(trailingslashit(get_bloginfo('url'))); ?>" />
20
-
21
- <h3><?php _e('Step 1: Enter Keywords', 'seo-ultimate'); ?></h3>
22
- <div><textarea id="queries2" name="queries2" rows="10" cols="60"></textarea></div>
23
- <div><em><?php _e('(Type one keyword per line)', 'seo-ultimate'); ?></em></div>
24
-
25
- <h3><?php _e('Step 2: Set Options and Submit', 'seo-ultimate'); ?></h3>
26
- <div>
27
- <label><input type="checkbox" name="quotes" value="1" /> <?php _e('Put keywords in quotes', 'seo-ultimate'); ?></label><br />
28
- <label><input type="checkbox" name="r100" value="1" /> <?php _e('Show 100 results per page', 'seo-ultimate'); ?></label><br />
29
- <label id="minimal-checkbox"><input type="checkbox" name="minimal" value="1" /> <?php
30
- _e('Use Google&#8217;s minimal mode', 'seo-ultimate'); ?></label><br /><br />
31
- </div>
32
-
33
- <div id="submit"><input type="submit" value="<?php _e('Submit', 'seo-ultimate'); ?>" class="button-primary" /></div>
34
- </form>
35
- <?php
36
- }
37
-
38
- }
39
-
40
- }
41
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
modules/slugs/slugs.php CHANGED
@@ -61,17 +61,56 @@ class SU_Slugs extends SU_Module {
61
  //Special thanks to the "SEO Slugs" plugin for the stopwords array.
62
  //http://wordpress.org/extend/plugins/seo-slugs/
63
  $defaults = array ("a", "able", "about", "above", "abroad", "according", "accordingly", "across", "actually", "adj", "after", "afterwards", "again", "against", "ago", "ahead", "ain't", "all", "allow", "allows", "almost", "alone", "along", "alongside", "already", "also", "although", "always", "am", "amid", "amidst", "among", "amongst", "an", "and", "another", "any", "anybody", "anyhow", "anyone", "anything", "anyway", "anyways", "anywhere", "apart", "appear", "appreciate", "appropriate", "are", "aren't", "around", "as", "a's", "aside", "ask", "asking", "associated", "at", "available", "away", "awfully", "b", "back", "backward", "backwards", "be", "became", "because", "become", "becomes", "becoming", "been", "before", "beforehand", "begin", "behind", "being", "believe", "below", "beside", "besides", "best", "better", "between", "beyond", "both", "brief", "but", "by", "c", "came", "can", "cannot", "cant", "can't", "caption", "cause", "causes", "certain", "certainly", "changes", "clearly", "c'mon", "co", "co.", "com", "come", "comes", "concerning", "consequently", "consider", "considering", "contain", "containing", "contains", "corresponding", "could", "couldn't", "course", "c's", "currently", "d", "dare", "daren't", "definitely", "described", "despite", "did", "didn't", "different", "directly", "do", "does", "doesn't", "doing", "done", "don't", "down", "downwards", "during", "e", "each", "edu", "eg", "eight", "eighty", "either", "else", "elsewhere", "end", "ending", "enough", "entirely", "especially", "et", "etc", "even", "ever", "evermore", "every", "everybody", "everyone", "everything", "everywhere", "ex", "exactly", "example", "except", "f", "fairly", "far", "farther", "few", "fewer", "fifth", "first", "five", "followed", "following", "follows", "for", "forever", "former", "formerly", "forth", "forward", "found", "four", "from", "further", "furthermore", "g", "get", "gets", "getting", "given", "gives", "go", "goes", "going", "gone", "got", "gotten", "greetings", "h", "had", "hadn't", "half", "happens", "hardly", "has", "hasn't", "have", "haven't", "having", "he", "he'd", "he'll", "hello", "help", "hence", "her", "here", "hereafter", "hereby", "herein", "here's", "hereupon", "hers", "herself", "he's", "hi", "him", "himself", "his", "hither", "hopefully", "how", "howbeit", "however", "hundred", "i", "i'd", "ie", "if", "ignored", "i'll", "i'm", "immediate", "in", "inasmuch", "inc", "inc.", "indeed", "indicate", "indicated", "indicates", "inner", "inside", "insofar", "instead", "into", "inward", "is", "isn't", "it", "it'd", "it'll", "its", "it's", "itself", "i've", "j", "just", "k", "keep", "keeps", "kept", "know", "known", "knows", "l", "last", "lately", "later", "latter", "latterly", "least", "less", "lest", "let", "let's", "like", "liked", "likely", "likewise", "little", "look", "looking", "looks", "low", "lower", "ltd", "m", "made", "mainly", "make", "makes", "many", "may", "maybe", "mayn't", "me", "mean", "meantime", "meanwhile", "merely", "might", "mightn't", "mine", "minus", "miss", "more", "moreover", "most", "mostly", "mr", "mrs", "much", "must", "mustn't", "my", "myself", "n", "name", "namely", "nd", "near", "nearly", "necessary", "need", "needn't", "needs", "neither", "never", "neverf", "neverless", "nevertheless", "new", "next", "nine", "ninety", "no", "nobody", "non", "none", "nonetheless", "noone", "no-one", "nor", "normally", "not", "nothing", "notwithstanding", "novel", "now", "nowhere", "o", "obviously", "of", "off", "often", "oh", "ok", "okay", "old", "on", "once", "one", "ones", "one's", "only", "onto", "opposite", "or", "other", "others", "otherwise", "ought", "oughtn't", "our", "ours", "ourselves", "out", "outside", "over", "overall", "own", "p", "particular", "particularly", "past", "per", "perhaps", "placed", "please", "plus", "possible", "presumably", "probably", "provided", "provides", "q", "que", "quite", "qv", "r", "rather", "rd", "re", "really", "reasonably", "recent", "recently", "regarding", "regardless", "regards", "relatively", "respectively", "right", "round", "s", "said", "same", "saw", "say", "saying", "says", "second", "secondly", "see", "seeing", "seem", "seemed", "seeming", "seems", "seen", "self", "selves", "sensible", "sent", "serious", "seriously", "seven", "several", "shall", "shan't", "she", "she'd", "she'll", "she's", "should", "shouldn't", "since", "six", "so", "some", "somebody", "someday", "somehow", "someone", "something", "sometime", "sometimes", "somewhat", "somewhere", "soon", "sorry", "specified", "specify", "specifying", "still", "sub", "such", "sup", "sure", "t", "take", "taken", "taking", "tell", "tends", "th", "than", "thank", "thanks", "thanx", "that", "that'll", "thats", "that's", "that've", "the", "their", "theirs", "them", "themselves", "then", "thence", "there", "thereafter", "thereby", "there'd", "therefore", "therein", "there'll", "there're", "theres", "there's", "thereupon", "there've", "these", "they", "they'd", "they'll", "they're", "they've", "thing", "things", "think", "third", "thirty", "this", "thorough", "thoroughly", "those", "though", "three", "through", "throughout", "thru", "thus", "till", "to", "together", "too", "took", "toward", "towards", "tried", "tries", "truly", "try", "trying", "t's", "twice", "two", "u", "un", "under", "underneath", "undoing", "unfortunately", "unless", "unlike", "unlikely", "until", "unto", "up", "upon", "upwards", "us", "use", "used", "useful", "uses", "using", "usually", "v", "value", "various", "versus", "very", "via", "viz", "vs", "w", "want", "wants", "was", "wasn't", "way", "we", "we'd", "welcome", "well", "we'll", "went", "were", "we're", "weren't", "we've", "what", "whatever", "what'll", "what's", "what've", "when", "whence", "whenever", "where", "whereafter", "whereas", "whereby", "wherein", "where's", "whereupon", "wherever", "whether", "which", "whichever", "while", "whilst", "whither", "who", "who'd", "whoever", "whole", "who'll", "whom", "whomever", "who's", "whose", "why", "will", "willing", "wish", "with", "within", "without", "wonder", "won't", "would", "wouldn't", "x", "y", "yes", "yet", "you", "you'd", "you'll", "your", "you're", "yours", "yourself", "yourselves", "you've", "z", "zero");
64
-
65
-
66
-
67
  return array(
68
-
69
  'words_to_remove' => implode("\n", $defaults)
70
-
71
  );
72
-
73
  }
74
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  }
76
 
77
 
61
  //Special thanks to the "SEO Slugs" plugin for the stopwords array.
62
  //http://wordpress.org/extend/plugins/seo-slugs/
63
  $defaults = array ("a", "able", "about", "above", "abroad", "according", "accordingly", "across", "actually", "adj", "after", "afterwards", "again", "against", "ago", "ahead", "ain't", "all", "allow", "allows", "almost", "alone", "along", "alongside", "already", "also", "although", "always", "am", "amid", "amidst", "among", "amongst", "an", "and", "another", "any", "anybody", "anyhow", "anyone", "anything", "anyway", "anyways", "anywhere", "apart", "appear", "appreciate", "appropriate", "are", "aren't", "around", "as", "a's", "aside", "ask", "asking", "associated", "at", "available", "away", "awfully", "b", "back", "backward", "backwards", "be", "became", "because", "become", "becomes", "becoming", "been", "before", "beforehand", "begin", "behind", "being", "believe", "below", "beside", "besides", "best", "better", "between", "beyond", "both", "brief", "but", "by", "c", "came", "can", "cannot", "cant", "can't", "caption", "cause", "causes", "certain", "certainly", "changes", "clearly", "c'mon", "co", "co.", "com", "come", "comes", "concerning", "consequently", "consider", "considering", "contain", "containing", "contains", "corresponding", "could", "couldn't", "course", "c's", "currently", "d", "dare", "daren't", "definitely", "described", "despite", "did", "didn't", "different", "directly", "do", "does", "doesn't", "doing", "done", "don't", "down", "downwards", "during", "e", "each", "edu", "eg", "eight", "eighty", "either", "else", "elsewhere", "end", "ending", "enough", "entirely", "especially", "et", "etc", "even", "ever", "evermore", "every", "everybody", "everyone", "everything", "everywhere", "ex", "exactly", "example", "except", "f", "fairly", "far", "farther", "few", "fewer", "fifth", "first", "five", "followed", "following", "follows", "for", "forever", "former", "formerly", "forth", "forward", "found", "four", "from", "further", "furthermore", "g", "get", "gets", "getting", "given", "gives", "go", "goes", "going", "gone", "got", "gotten", "greetings", "h", "had", "hadn't", "half", "happens", "hardly", "has", "hasn't", "have", "haven't", "having", "he", "he'd", "he'll", "hello", "help", "hence", "her", "here", "hereafter", "hereby", "herein", "here's", "hereupon", "hers", "herself", "he's", "hi", "him", "himself", "his", "hither", "hopefully", "how", "howbeit", "however", "hundred", "i", "i'd", "ie", "if", "ignored", "i'll", "i'm", "immediate", "in", "inasmuch", "inc", "inc.", "indeed", "indicate", "indicated", "indicates", "inner", "inside", "insofar", "instead", "into", "inward", "is", "isn't", "it", "it'd", "it'll", "its", "it's", "itself", "i've", "j", "just", "k", "keep", "keeps", "kept", "know", "known", "knows", "l", "last", "lately", "later", "latter", "latterly", "least", "less", "lest", "let", "let's", "like", "liked", "likely", "likewise", "little", "look", "looking", "looks", "low", "lower", "ltd", "m", "made", "mainly", "make", "makes", "many", "may", "maybe", "mayn't", "me", "mean", "meantime", "meanwhile", "merely", "might", "mightn't", "mine", "minus", "miss", "more", "moreover", "most", "mostly", "mr", "mrs", "much", "must", "mustn't", "my", "myself", "n", "name", "namely", "nd", "near", "nearly", "necessary", "need", "needn't", "needs", "neither", "never", "neverf", "neverless", "nevertheless", "new", "next", "nine", "ninety", "no", "nobody", "non", "none", "nonetheless", "noone", "no-one", "nor", "normally", "not", "nothing", "notwithstanding", "novel", "now", "nowhere", "o", "obviously", "of", "off", "often", "oh", "ok", "okay", "old", "on", "once", "one", "ones", "one's", "only", "onto", "opposite", "or", "other", "others", "otherwise", "ought", "oughtn't", "our", "ours", "ourselves", "out", "outside", "over", "overall", "own", "p", "particular", "particularly", "past", "per", "perhaps", "placed", "please", "plus", "possible", "presumably", "probably", "provided", "provides", "q", "que", "quite", "qv", "r", "rather", "rd", "re", "really", "reasonably", "recent", "recently", "regarding", "regardless", "regards", "relatively", "respectively", "right", "round", "s", "said", "same", "saw", "say", "saying", "says", "second", "secondly", "see", "seeing", "seem", "seemed", "seeming", "seems", "seen", "self", "selves", "sensible", "sent", "serious", "seriously", "seven", "several", "shall", "shan't", "she", "she'd", "she'll", "she's", "should", "shouldn't", "since", "six", "so", "some", "somebody", "someday", "somehow", "someone", "something", "sometime", "sometimes", "somewhat", "somewhere", "soon", "sorry", "specified", "specify", "specifying", "still", "sub", "such", "sup", "sure", "t", "take", "taken", "taking", "tell", "tends", "th", "than", "thank", "thanks", "thanx", "that", "that'll", "thats", "that's", "that've", "the", "their", "theirs", "them", "themselves", "then", "thence", "there", "thereafter", "thereby", "there'd", "therefore", "therein", "there'll", "there're", "theres", "there's", "thereupon", "there've", "these", "they", "they'd", "they'll", "they're", "they've", "thing", "things", "think", "third", "thirty", "this", "thorough", "thoroughly", "those", "though", "three", "through", "throughout", "thru", "thus", "till", "to", "together", "too", "took", "toward", "towards", "tried", "tries", "truly", "try", "trying", "t's", "twice", "two", "u", "un", "under", "underneath", "undoing", "unfortunately", "unless", "unlike", "unlikely", "until", "unto", "up", "upon", "upwards", "us", "use", "used", "useful", "uses", "using", "usually", "v", "value", "various", "versus", "very", "via", "viz", "vs", "w", "want", "wants", "was", "wasn't", "way", "we", "we'd", "welcome", "well", "we'll", "went", "were", "we're", "weren't", "we've", "what", "whatever", "what'll", "what's", "what've", "when", "whence", "whenever", "where", "whereafter", "whereas", "whereby", "wherein", "where's", "whereupon", "wherever", "whether", "which", "whichever", "while", "whilst", "whither", "who", "who'd", "whoever", "whole", "who'll", "whom", "whomever", "who's", "whose", "why", "will", "willing", "wish", "with", "within", "without", "wonder", "won't", "would", "wouldn't", "x", "y", "yes", "yet", "you", "you'd", "you'll", "your", "you're", "yours", "yourself", "yourselves", "you've", "z", "zero");
64
+
 
 
65
  return array(
66
+
67
  'words_to_remove' => implode("\n", $defaults)
68
+
69
  );
 
70
  }
71
+
72
+ function add_help_tabs($screen) {
73
+
74
+ $screen->add_help_tab(array(
75
+ 'id' => 'su-rich-snippets-overview'
76
+ , 'title' => __('Overview', 'seo-ultimate')
77
+ , 'content' => __("
78
+ <ul>
79
+ <li><strong>What it does:</strong> Slug Optimizer removes common words from the portion of a post&#8217;s or Page&#8217;s URL that is based on its title. (This portion is also known as the &#8220;slug.&#8221;)</li>
80
+ <li><strong>Why it helps:</strong> Slug Optimizer increases keyword potency because there are fewer words in your URLs competing for relevance.</li>
81
+ <li><strong>How to use it:</strong> Slug Optimizer works without any action required on your part. When you add a new post in your WordPress admin and specify a title for it, WordPress will generate a slug and the new post&#8217;s future URL will appear below the title box. While WordPress is generating the slug, Slug Optimizer takes common words out of it. You can use the textbox on Slug Optimizer&#8217;s admin page to specify which common words are removed.</li>
82
+ </ul>
83
+ ", 'seo-ultimate')));
84
+
85
+ $screen->add_help_tab(array(
86
+ 'id' => 'su-rich-snippets-faq'
87
+ , 'title' => __('FAQ', 'seo-ultimate')
88
+ , 'content' => __("
89
+ <ul>
90
+ <li><strong>What&#8217;s a slug?</strong><br />The slug of a post or page is the portion of its URL that is based on its title. When you edit a post or Page in WordPress, the slug is the yellow-highlighted portion of the Permalink beneath the Title textbox.</li>
91
+ <li><strong>Does the Slug Optimizer change my existing URLs?</strong><br />No. Slug Optimizer will not relocate your content by changing existing URLs. Slug Optimizer only takes effect on new posts and pages.</li>
92
+ <li>
93
+ <p><strong>How do I see Slug Optimizer in action?</strong><br />Follow these steps:</p>
94
+ <ol>
95
+ <li>Create a new post/Page in WordPress.</li>
96
+ <li>Type in a title containing some common and uncommon words.</li>
97
+ <li>Click outside the Title box. WordPress will insert a URL labeled &#8220;Permalink&#8221; below the Title textbox. The Slug Optimizer will have removed the common words from the URL.</li>
98
+ </ol>
99
+ </li>
100
+ <li><strong>What if I want to include a common word in my slug?</strong><br />When editing the post or page in question, just click the &#8220;Edit&#8221; button next to the permalink and change the slug as desired. The Slug Optimizer won&#8217;t remove words from a manually-edited slug.</li>
101
+ <li><strong>If I edit the optimized slug but then change my mind, how do I revert back to the optimized slug?</strong><br />When editing the post or page in question, just click the &#8220;Edit&#8221; button next to the permalink; a &#8220;Save&#8221; button will appear in its place. Next erase the contents of the textbox, and then click the aforementioned &#8220;Save&#8221; button.</li>
102
+ </ul>
103
+ ", 'seo-ultimate')));
104
+
105
+ $screen->add_help_tab(array(
106
+ 'id' => 'su-rich-snippets-troubleshooting'
107
+ , 'title' => __('Troubleshooting', 'seo-ultimate')
108
+ , 'content' => __("
109
+ <ul>
110
+ <li><strong>Why didn&#8217;t the Slug Optimizer remove common words from my slug?</strong><br />It&#8217;s possible that every word in your post title is in the list of words to remove. In this case, Slug Optimizer doesn&#8217;t remove the words, because if it did, you&#8217;d end up with a blank slug.</li>
111
+ </ul>
112
+ ", 'seo-ultimate')));
113
+ }
114
  }
115
 
116
 
modules/titles/titles.php CHANGED
@@ -333,6 +333,130 @@ class SU_Titles extends SU_Module {
333
  $help[] = __('<strong>Title Tag</strong> &mdash; The exact contents of the &lt;title&gt; tag. The title appears in visitors&#8217; title bars and in search engine result titles. If this box is left blank, then the <a href="admin.php?page=su-titles" target="_blank">default post/page titles</a> are used.', 'seo-ultimate');
334
  return $help;
335
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
336
  }
337
 
338
  }
333
  $help[] = __('<strong>Title Tag</strong> &mdash; The exact contents of the &lt;title&gt; tag. The title appears in visitors&#8217; title bars and in search engine result titles. If this box is left blank, then the <a href="admin.php?page=su-titles" target="_blank">default post/page titles</a> are used.', 'seo-ultimate');
334
  return $help;
335
  }
336
+
337
+ function add_help_tabs($screen) {
338
+
339
+ $screen->add_help_tab(array(
340
+ 'id' => 'su-titles-overview'
341
+ , 'title' => __('Overview', 'seo-ultimate')
342
+ , 'content' => __("
343
+ <ul>
344
+ <li><strong>What it does:</strong> Title Tag Rewriter helps you customize the contents of your website&#8217;s <code>&lt;title&gt;</code> tags. The tag contents are displayed in web browser title bars and in search engine result pages.</li>
345
+ <li><strong>Why it helps:</strong> Proper title rewriting ensures that the keywords in your post/Page titles have greater prominence for search engine spiders and users. This is an important foundation for WordPress SEO.</li>
346
+ <li><strong>How to use it:</strong> Title Tag Rewriter enables recommended settings automatically, so you shouldn&#8217;t need to change anything. If you do wish to edit the rewriting formats, you can do so using the textboxes below (the &#8220;Formats & Variables&#8221; help tab includes additional information on this). You also have the option of overriding the <code>&lt;title&gt;</code> tag of an individual post/page/category/tag/etc. using the appropriate tabs below, or by using the &#8220;Title Tag&#8221; textbox that Title Tag Rewriter adds to the post/page editors.</li>
347
+ </ul>
348
+ ", 'seo-ultimate')));
349
+
350
+ $screen->add_help_tab(array(
351
+ 'id' => 'su-titles-vars'
352
+ , 'title' => __('Formats &amp; Variables', 'seo-ultimate')
353
+ , 'content' => __("
354
+ <p>Various variables, surrounded in {curly brackets}, are provided for use in the title formats. All settings support the {blog} variable, which is replaced with the name of the blog, and the {tagline} variable, which is replaced with the blog tagline as set under <a href='options-general.php'>Settings &rArr; General</a>.</p>
355
+
356
+ <p>Here&#8217;s information on each of the settings and its supported variables:</p>
357
+
358
+ <ul>
359
+ <li><strong>Blog Homepage Title</strong> &mdash; Displays on the main blog posts page.</li>
360
+ <li>
361
+ <p><strong>Post Title Format</strong> &mdash; Displays on single-post pages. Supports these variables:</p>
362
+ <ul>
363
+ <li>{post} &mdash; The post&#8217;s title.</li>
364
+ <li>{category} &mdash; The title of the post category with the lowest ID number.</li>
365
+ <li>{categories} &mdash; A natural-language list of the post&#8217;s categories (e.g. &#8220;Category A, Category B, and Category C&#8221;).</li>
366
+ <li>{tags} &mdash; A natural-language list of the post's tags (e.g. &#8220;Tag A, Tag B, and Tag C&#8221;).</li>
367
+ <li>{author} &mdash; The Display Name of the post's author.</li>
368
+ <li>{author_username}, {author_firstname}, {author_lastname}, {author_nickname} &mdash; The username, first name, last name, and nickname of the post&#8217;s author, respectively, as set in his or her profile.</li>
369
+ </ul>
370
+ </li>
371
+ <li>
372
+ <p><strong>Page Title Format</strong> &mdash; Displays on WordPress Pages. Supports these variables:
373
+ <ul>
374
+ <li>{page} &mdash; The page&#8217;s title.</li>
375
+ <li>{page_parent} &mdash; The title of the page&#8217;s parent page.</li>
376
+ <li>{author} &mdash; The Display Name of the page&#8217;s author.</li>
377
+ <li>{author_username}, {author_firstname}, {author_lastname}, {author_nickname} &mdash; The username, first name, last name, and nickname of the page&#8217;s author, respectively, as set in his or her profile.</li>
378
+ </ul>
379
+ </li>
380
+ <li><strong>Category Title Format</strong> &mdash; Displays on category archives. The {category} variable is replaced with the name of the category, and {category_description} is replaced with its description.</li>
381
+ <li><strong>Tag Title Format</strong> &mdash; Displays on tag archives. The {tag} variable is replaced with the name of the tag, and {tag_description} is replaced with its description.</li>
382
+ <li>
383
+ <p><strong>Day Archive Title Format</strong> &mdash; Displays on day archives. Supports these variables:</p>
384
+ <ul>
385
+ <li>{day} &mdash; The day number, with ordinal suffix, e.g. 23rd</li>
386
+ <li>{daynum} &mdash; The two-digit day number, e.g. 23</li>
387
+ <li>{month} &mdash; The name of the month, e.g. April</li>
388
+ <li>{monthnum} &mdash; The two-digit number of the month, e.g. 04</li>
389
+ <li>{year} &mdash; The year, e.g. 2009</li>
390
+ </ul>
391
+ </li>
392
+ <li><strong>Month Archive Title Format</strong> &mdash; Displays on month archives. Supports {month}, {monthnum}, and {year}.</li>
393
+ <li><strong>Year Archive Title Format</strong> &mdash; Displays on year archives. Supports the {year} variable.</li>
394
+ <li><strong>Author Archive Title Format</strong> &mdash; Displays on author archives. Supports the same author variables as the Post Title Format box, i.e. {author}, {author_username}, {author_firstname}, {author_lastname}, and {author_nickname}.</li>
395
+ <li><strong>Search Title Format</strong> &mdash; Displays on the result pages for WordPress&#8217;s blog search function. The {query} variable is replaced with the search query as-is. The {ucwords} variable returns the search query with the first letter of each word capitalized.</li>
396
+ <li>
397
+ <p><strong>404 Title Format</strong> &mdash; Displays whenever a URL doesn&#8217;t go anywhere. Supports this variable:</p>
398
+ <ul>
399
+ <li>{url_words} &mdash; The words used in the error-generating URL. The first letter of each word will be capitalized.</li>
400
+ </ul>
401
+ </li>
402
+ <li>
403
+ <p><strong>Pagination Title Format</strong> &mdash; Displays whenever the visitor is on a subpage (page 2, page 3, etc.) of the homepage or of an archive. Supports these variables:</p>
404
+ <ul>
405
+ <li>{title} &mdash; The title that would normally be displayed on page 1</li>
406
+ <li>{num} &mdash; The current page number (2, 3, etc.)</li>
407
+ <li>{max} &mdash; The total number of subpages available. Would usually be used like this: Page {num} of {max}</li>
408
+ </ul>
409
+ </li>
410
+ </ul>
411
+ ", 'seo-ultimate')));
412
+
413
+ $screen->add_help_tab(array(
414
+ 'id' => 'su-titles-settings'
415
+ , 'title' => __('Settings Help', 'seo-ultimate')
416
+ , 'content' => __("
417
+ <p>Here&#8217;s documentation for the options on the &#8220;Settings&#8221; tab.</p>
418
+ <ul>
419
+ <li>
420
+ <p><strong>Rewrite Method</strong> &mdash; This setting controls the method by which Title Tag Rewriter edits your site&#8217;s <code>&lt;title&gt;</code> tags.</p>
421
+ <ul>
422
+ <li><strong>Use output buffering</strong> &mdash; This is the &#8220;traditional&#8221; method that most SEO plugins use. With this method, SEO Ultimate will intercept your site&#8217;s <code>&lt;head&gt;</code> tag section as it&#8217;s being outputted, locate the <code>&lt;title&gt;</code> tag, edit its value, and then output the edited <code>&lt;head&gt;</code> data. The good thing about this method is that you don&#8217;t have to edit your theme in any way, as SEO Ultimate will overwrite whatever your theme puts in your <code>&lt;title&gt;</code> tag. The bad thing is that this output interception takes a few extra milliseconds to complete. If you are concerned about performance, are comfortable editing your theme&#8217;s `header.php` file, and will remember to edit the `header.php` file of any new themes you activate, you may want to try the filtering rewrite method.</li>
423
+ <li>
424
+ <p><strong>Use filtering</strong> &mdash; With this method, SEO Ultimate will register itself with WordPress and will replace WordPress&#8217;s <code>&lt;title&gt;</code> tag output with its own. This method can only edit the text that WordPress itself generates for the <code>&lt;title&gt;</code> tag; the filtering method can&#8217;t edit anything extra your theme may add. For this reason, you need to edit your theme to make sure it&#8217;s only pulling <code>&lt;title&gt;</code> tag data from WordPress and is not adding anything else.</p>
425
+ <p>Here&#8217;s how to set up filtering:</p>
426
+ <ol>
427
+ <li>Go to <a href='theme-editor.php'>Appearance &rArr; Editor</a> (if you get a permissions error, you may be on a WordPress multi-site environment and may not be able to use the filtering rewrite method)</li>
428
+ <li>Click &#8220;Header (header.php)&#8221;</li>
429
+ <li>Look for the <code>&lt;title&gt;</code> start tag and the <code>&lt;/title&gt;</code> end tag</li>
430
+ <li>Edit the text in between those tags so that it looks like this: <code>&lt;title&gt;&lt;?php wp_title(''); ?&gt;&lt;/title&gt;</code></li>
431
+ <li>Click &#8220;Update File&#8221;</li>
432
+ <li>Return to the &#8220;Settings&#8221; tab of Title Tag Rewriter, select &#8220;Use filtering,&#8221; and click &#8220;Save Changes&#8221;</li>
433
+ </ol>
434
+ </li>
435
+ </ul>
436
+ </li>
437
+ </ul>
438
+ ", 'seo-ultimate')));
439
+
440
+ $screen->add_help_tab(array(
441
+ 'id' => 'su-titles-faq'
442
+ , 'title' => __('FAQ', 'seo-ultimate')
443
+ , 'content' => __("
444
+ <ul>
445
+ <li><strong>Does the Title Tag Rewriter edit my post/page titles?</strong><br />No. The Title Tag Rewriter edits the <code>&lt;title&gt;</code> tags of your site, not your post/page titles.</li>
446
+ <li><strong>Will rewriting the title tags of my posts change their permalinks/URLs?</strong><br />No.</li>
447
+ <li><strong>What&#8217;s the difference between the &#8220;title&#8221; and the &#8220;title tag&#8221; of a post/page?</strong><br />The &#8220;title&#8221; is the title of your post or page that&#8217;s used in your site&#8217;s theme, in your site&#8217;s admin, in your site&#8217;s RSS feeds, and in your site&#8217;s <code>&lt;title&gt;</code> tags. A <code>&lt;title&gt;</code> tag is the title of a specific webpage, and it appears in your browser&#8217;s title bar and in search result listings. Title Tag Rewriter lets you edit your post&#8217;s <code>&lt;title&gt;</code> tags without editing their actual titles. This means you can edit a post&#8217;s title as it appears in search results, but not as it appears on your site.</li>
448
+ </ul>
449
+ ", 'seo-ultimate')));
450
+
451
+ $screen->add_help_tab(array(
452
+ 'id' => 'su-titles-troubleshooting'
453
+ , 'title' => __('Troubleshooting', 'seo-ultimate')
454
+ , 'content' => __("
455
+ <ul>
456
+ <li><strong>Why isn&#8217;t Title Tag Rewriter changing my <code>&lt;title&gt;</code> tags?</strong><br />Try disabling other SEO plugins, as they may be conflicting with SEO Ultimate. If you&#8217;re using the default &#8220;output buffering&#8221; rewrite method, check to make sure your theme is <a href='http://johnlamansky.com/wordpress/theme-plugin-hooks/' target='_blank'>plugin-friendly</a>. If you're using the &#8220;filtering&#8221; rewrite method, check your theme&#8217;s <code>header.php</code> file and make sure the <code>&lt;title&gt;</code> tag looks like this: <code>&lt;title&gt;&lt;?php wp_title(''); ?&gt;&lt;/title&gt;</code>.</li>
457
+ </ul>
458
+ ", 'seo-ultimate')));
459
+ }
460
  }
461
 
462
  }
modules/user-code/user-code.php CHANGED
@@ -63,6 +63,32 @@ class SU_UserCode extends SU_Module {
63
  return $this->get_usercode('the_content_before') . $content . $this->get_usercode('the_content_after');
64
  }
65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  }
67
 
68
  }
63
  return $this->get_usercode('the_content_before') . $content . $this->get_usercode('the_content_after');
64
  }
65
 
66
+ function add_help_tabs($screen) {
67
+
68
+ $screen->add_help_tab(array(
69
+ 'id' => 'su-user-code-overview'
70
+ , 'title' => __('Overview', 'seo-ultimate')
71
+ , 'content' => __("
72
+ <ul>
73
+ <li><strong>What it does:</strong> Code Inserter can add custom HTML code to various parts of your site.</li>
74
+ <li>
75
+ <p><strong>Why it helps:</strong> Code Inserter is useful for inserting third-party code that can improve the SEO or user experience of your site. For example, you can use Code Inserter to add Google Analytics code to your footer, Feedburner FeedFlares or social media widgets after your posts, or Google AdSense section targeting code before/after your content.</p>
76
+ <p>Using Code Inserter is easier than editing your theme manually because your custom code is stored in one convenient location and will be added to your site even if you change your site&#8217;s theme.</p>
77
+ </li>
78
+ <li><strong>How to use it:</strong> Just paste the desired HTML code into the appropriate fields and then click Save Changes.</li>
79
+ </ul>
80
+ ", 'seo-ultimate')));
81
+
82
+ $screen->add_help_tab(array(
83
+ 'id' => 'su-user-code-troubleshooting'
84
+ , 'title' => __('Troubleshooting', 'seo-ultimate')
85
+ , 'content' => __("
86
+ <ul>
87
+ <li><strong>Why doesn't my code appear on my site?</strong><br />It&#8217;s possible that your theme doesn't have the proper &#8220;hooks,&#8221; which are pieces of code that let WordPress plugins insert custom HTML into your theme. <a href='http://johnlamansky.com/wordpress/theme-plugin-hooks/' target='_blank'>Click here</a> for information on how to check your theme and add the hooks if needed.</li>
88
+ </ul>
89
+ ", 'seo-ultimate')));
90
+
91
+ }
92
  }
93
 
94
  }
plugin/class.seo-ultimate.php CHANGED
@@ -573,9 +573,20 @@ class SEO_Ultimate {
573
  $this->remove_cron_jobs();
574
 
575
  //Tell the modules what their plugin page hooks are
576
- foreach ($this->modules as $key => $module)
577
- $this->modules[$key]->plugin_page_hook =
578
- $this->modules[$key]->get_menu_parent_hook().'_page_'.$this->key_to_hook($this->modules[$key]->get_module_or_parent_key());
 
 
 
 
 
 
 
 
 
 
 
579
 
580
  if (!$this->module_exists($this->default_menu_module)) {
581
  foreach ($this->modules as $key => $module) {
@@ -1639,35 +1650,6 @@ class SEO_Ultimate {
1639
  return $this->plugin_dir_path.'readme.txt';
1640
  }
1641
 
1642
- /**
1643
- * Returns the full server path to the main documentation.txt file.
1644
- *
1645
- * @since 2.7
1646
- * @return string
1647
- */
1648
- function get_mdoc_path() {
1649
- return $this->plugin_dir_path.'modules/documentation.txt';
1650
- }
1651
-
1652
- /**
1653
- * Returns the full server path to the main documentation.txt file, or a translated documentation.txt file if it exists for the current WPLANG.
1654
- *
1655
- * @since 2.7
1656
- * @return string
1657
- */
1658
- function get_translated_mdoc_path() {
1659
- if (defined('WPLANG') && strlen(WPLANG)) {
1660
- $wplang = sustr::preg_filter('a-zA-Z0-9_', WPLANG);
1661
- $langvars = array($wplang, array_shift(explode('_', $wplang)));
1662
- foreach ($langvars as $langvar) {
1663
- $path = $this->plugin_dir_path."translations/documentation-$langvar.txt";
1664
- if (is_readable($path)) return $path;
1665
- }
1666
- }
1667
-
1668
- return $this->plugin_dir_path.'modules/documentation.txt';
1669
- }
1670
-
1671
  /********** JLSUGGEST **********/
1672
 
1673
  /**
573
  $this->remove_cron_jobs();
574
 
575
  //Tell the modules what their plugin page hooks are
576
+ foreach ($this->modules as $key => $module) {
577
+ $menu_parent_hook = $this->modules[$key]->get_menu_parent_hook();
578
+
579
+ if ($this->modules[$key]->is_menu_default())
580
+ $this->modules[$key]->plugin_page_hook = $plugin_page_hook = "toplevel_page_$menu_parent_hook";
581
+ elseif ('options-general.php' == $menu_parent_hook)
582
+ $this->modules[$key]->plugin_page_hook = $plugin_page_hook = 'settings_page_' .
583
+ $this->key_to_hook($this->modules[$key]->get_module_or_parent_key());
584
+ else
585
+ $this->modules[$key]->plugin_page_hook = $plugin_page_hook = $menu_parent_hook . '_page_' .
586
+ $this->key_to_hook($this->modules[$key]->get_module_or_parent_key());
587
+
588
+ add_action("load-$plugin_page_hook", array($this->modules[$key], 'load_hook'));
589
+ }
590
 
591
  if (!$this->module_exists($this->default_menu_module)) {
592
  foreach ($this->modules as $key => $module) {
1650
  return $this->plugin_dir_path.'readme.txt';
1651
  }
1652
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1653
  /********** JLSUGGEST **********/
1654
 
1655
  /**
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === SEO Ultimate ===
2
  Contributors: SEO Design Solutions, JohnLamansky
3
  Tags: seo, SEO Ultimate, suite, google, yahoo, bing, search engines, admin, post, page, custom post types, categories, tags, terms, custom taxonomies, base, title, title tag, wp_title, meta, robots, noindex, nofollow, canonical, HTTP headers, 404, robots.txt, htaccess, slugs, url, anchor, more, link, excerpt, permalink, links, autolinks, code, footer, settings, redirect, 301, 302, 307, modules, uninstallable, reinstallable, downgradable, import, export, CSV, affiliate
4
- Requires at least: 3.2
5
- Tested up to: 3.2
6
- Stable tag: 6.9.8
7
 
8
  This all-in-one SEO plugin gives you control over title tags, noindex, meta tags, slugs, canonical, autolinks, 404 errors, rich snippets, and more.
9
 
@@ -11,11 +11,11 @@ This all-in-one SEO plugin gives you control over title tags, noindex, meta tags
11
 
12
  = Recent Releases =
13
 
 
14
  * Version 6.9 adds the Settings Monitor module
15
  * Version 6.8 adds rewrite method selection for Title Tag Rewriter
16
  * Version 6.7 adds 3 more features to Deeplink Juggernaut
17
  * Version 6.6 adds the SEO Ultimate Widgets module
18
- * Version 6.5 features Deeplink Juggernaut 3.0
19
 
20
  = Features =
21
 
@@ -28,7 +28,7 @@ SEO Ultimate is an all-in-one [SEO](http://www.seodesignsolutions.com/) plugin w
28
  * Format the `<title>` tags of posts, pages, categories, tags, archives, search results, and more!
29
  * Choose between two rewrite methods: "output buffering" or "filtering"
30
 
31
- * **Meta Description Editor**
32
  * Edit the `<meta>` description tags for posts, pages, attachments, categories, tags, post format archives, and the homepage.
33
  * Increase SERP clickthrough rates by influencing search engine result snippets.
34
  * Mass-editor makes it a cinch to go back and add descriptions to old posts.
@@ -84,23 +84,11 @@ SEO Ultimate is an all-in-one [SEO](http://www.seodesignsolutions.com/) plugin w
84
  * Increase in-URL keyword potency by removing "filler words" (like "the," "with," "and," etc.) from post/page URLs.
85
  * Lets you customize the "filler words" list as desired.
86
 
87
- * **Competition Researcher**
88
- * Investigate multiple keywords or URLs with quick access to search engine tools. Competition Researcher does this without illicit scraping/automation methods.
89
- * Find out how many webpages are competing for the keywords you specify.
90
- * Choose to analyze the keyword relevance in competing webpages' titles, body content, URLs, or anchor text.
91
- * Find out how many pages of a competing website are in Google's index.
92
- * Access competitors' incoming links profile.
93
- * Find out what external websites your competitors are linking to.
94
-
95
  * **More Link Customizer**
96
  * SEO your posts' "read more" links by including the posts' keyword-rich titles in the anchor text.
97
  * Override the "read more" link on a per-post basis.
98
  * Include `<strong>` or `<em>` tags in the anchor text if so desired.
99
 
100
- * **Internal Relevance Researcher**
101
- * Determine which of your webpages Google most strongly associates with the keywords you specify.
102
- * Use the information to determine ideal targets for incoming links or ideal sources of outgoing links.
103
-
104
  * **Code Inserter**
105
  * Easily insert custom HTML into your site's `<head>` tag, footer, or item content.
106
  * Use to add Google Analytics, Feedburner FeedFlare, Google AdSense section targeting, and other SEO/SEM-enhancing code snippets.
@@ -191,6 +179,11 @@ To install the plugin manually:
191
  * **I upgraded SEO Ultimate and something broke. What do I do?**
192
  If a new version of SEO Ultimate introduces a bug, you can easily revert back to the previous version you were using. Just go to the `Settings > SEO Ultimate` page and click on the "Downgrade" tab. (Downgrading is available most of the time, but if the new version upgraded the plugin's settings infrastructure, SEO Ultimate won't let you downgrade, since doing so would cause you to lose your settings. There may be other cases in which downgrading isn't available or causes problems; it's an unsupported feature, but should work in most cases.)
193
 
 
 
 
 
 
194
  = General FAQ =
195
 
196
  * **Why "SEO Ultimate" instead of "Ultimate SEO"?**
@@ -265,6 +258,14 @@ Frequently asked questions, settings help, and troubleshooting tips for SEO Ulti
265
 
266
  == Changelog ==
267
 
 
 
 
 
 
 
 
 
268
  = Version 6.9.8 (December 1, 2011) =
269
  * Bugfix: Title Tag Rewriter now applies the Pagination Title Format to custom category/tag/taxonomy title tags
270
 
1
  === SEO Ultimate ===
2
  Contributors: SEO Design Solutions, JohnLamansky
3
  Tags: seo, SEO Ultimate, suite, google, yahoo, bing, search engines, admin, post, page, custom post types, categories, tags, terms, custom taxonomies, base, title, title tag, wp_title, meta, robots, noindex, nofollow, canonical, HTTP headers, 404, robots.txt, htaccess, slugs, url, anchor, more, link, excerpt, permalink, links, autolinks, code, footer, settings, redirect, 301, 302, 307, modules, uninstallable, reinstallable, downgradable, import, export, CSV, affiliate
4
+ Requires at least: 3.3
5
+ Tested up to: 3.3
6
+ Stable tag: 7.0
7
 
8
  This all-in-one SEO plugin gives you control over title tags, noindex, meta tags, slugs, canonical, autolinks, 404 errors, rich snippets, and more.
9
 
11
 
12
  = Recent Releases =
13
 
14
+ * Version 7.0 adds meta description pagination and WP 3.3 compatibility
15
  * Version 6.9 adds the Settings Monitor module
16
  * Version 6.8 adds rewrite method selection for Title Tag Rewriter
17
  * Version 6.7 adds 3 more features to Deeplink Juggernaut
18
  * Version 6.6 adds the SEO Ultimate Widgets module
 
19
 
20
  = Features =
21
 
28
  * Format the `<title>` tags of posts, pages, categories, tags, archives, search results, and more!
29
  * Choose between two rewrite methods: "output buffering" or "filtering"
30
 
31
+ * **Meta Description Editor** -- UPDATED in Version 7.0
32
  * Edit the `<meta>` description tags for posts, pages, attachments, categories, tags, post format archives, and the homepage.
33
  * Increase SERP clickthrough rates by influencing search engine result snippets.
34
  * Mass-editor makes it a cinch to go back and add descriptions to old posts.
84
  * Increase in-URL keyword potency by removing "filler words" (like "the," "with," "and," etc.) from post/page URLs.
85
  * Lets you customize the "filler words" list as desired.
86
 
 
 
 
 
 
 
 
 
87
  * **More Link Customizer**
88
  * SEO your posts' "read more" links by including the posts' keyword-rich titles in the anchor text.
89
  * Override the "read more" link on a per-post basis.
90
  * Include `<strong>` or `<em>` tags in the anchor text if so desired.
91
 
 
 
 
 
92
  * **Code Inserter**
93
  * Easily insert custom HTML into your site's `<head>` tag, footer, or item content.
94
  * Use to add Google Analytics, Feedburner FeedFlare, Google AdSense section targeting, and other SEO/SEM-enhancing code snippets.
179
  * **I upgraded SEO Ultimate and something broke. What do I do?**
180
  If a new version of SEO Ultimate introduces a bug, you can easily revert back to the previous version you were using. Just go to the `Settings > SEO Ultimate` page and click on the "Downgrade" tab. (Downgrading is available most of the time, but if the new version upgraded the plugin's settings infrastructure, SEO Ultimate won't let you downgrade, since doing so would cause you to lose your settings. There may be other cases in which downgrading isn't available or causes problems; it's an unsupported feature, but should work in most cases.)
181
 
182
+ = Compatibility =
183
+
184
+ * **What's the minimum version of WordPress required to run SEO Ultimate?**
185
+ In order for all the features to work, you need to be using WordPress 3.3 or above. SEO Ultimate will run on WordPress 3.1.3 or above, but a few features might not work. If you're using a WordPress version older than 3.1.3, SEO Ultimate will refuse to activate.
186
+
187
  = General FAQ =
188
 
189
  * **Why "SEO Ultimate" instead of "Ultimate SEO"?**
258
 
259
  == Changelog ==
260
 
261
+ = Version 7.0 (December 19, 2011) =
262
+ * Compatibility: SEO Ultimate now supports and requires WordPress 3.3
263
+ * Improvement: SEO Ultimate now uses the new help tabs system of WordPress 3.3
264
+ * Feature: Meta Description Editor now supports page and pagination formats
265
+ * Bugfix: Title Tag Rewriter's mass-editors no longer add backslashes before special characters in custom titles
266
+ * Removed the Competition Researcher and Internal Relevance Researcher modules (due to Google website changes that make these tools unusable)
267
+ * New Translation: Italian (partial) by [gidibao](http://gidibao.net)
268
+
269
  = Version 6.9.8 (December 1, 2011) =
270
  * Bugfix: Title Tag Rewriter now applies the Pagination Title Format to custom category/tag/taxonomy title tags
271
 
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, autolinks, 404 errors, rich snippets, and more.
6
- Version: 6.9.8
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 6.9.8
16
  * @link http://www.seodesignsolutions.com/wordpress-seo/ SEO Ultimate Homepage
17
  */
18
 
@@ -47,10 +47,10 @@ define('SU_MINIMUM_WP_VER', '3.1.3');
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', '6.9.8');
51
  define('SU_AUTHOR', 'SEO Design Solutions');
52
  define('SU_AUTHOR_URI', 'http://www.seodesignsolutions.com/');
53
- define('SU_USER_AGENT', 'SeoUltimate/6.9.8');
54
 
55
  /********** INCLUDES **********/
56
 
@@ -59,12 +59,6 @@ include 'includes/backcompat.php';
59
  include 'includes/jlfunctions/jlfunctions.php';
60
  include 'includes/jlwp/jlwp.php';
61
 
62
- function su_load_markdown() {
63
- if (!class_exists('Markdown') && !class_exists('Markdown_Parser'))
64
- include_once 'includes/markdown/markdown.php';
65
- }
66
- add_action('plugins_loaded', 'su_load_markdown');
67
-
68
  //Plugin files
69
  include 'plugin/su-constants.php';
70
  include 'plugin/su-functions.php';
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, autolinks, 404 errors, rich snippets, and more.
6
+ Version: 7.0
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 7.0
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', '7.0');
51
  define('SU_AUTHOR', 'SEO Design Solutions');
52
  define('SU_AUTHOR_URI', 'http://www.seodesignsolutions.com/');
53
+ define('SU_USER_AGENT', 'SeoUltimate/7.0');
54
 
55
  /********** INCLUDES **********/
56
 
59
  include 'includes/jlfunctions/jlfunctions.php';
60
  include 'includes/jlwp/jlwp.php';
61
 
 
 
 
 
 
 
62
  //Plugin files
63
  include 'plugin/su-constants.php';
64
  include 'plugin/su-functions.php';
seo-ultimate.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the SEO Ultimate package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: SEO Ultimate 6.9.2\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/seo-ultimate\n"
7
- "POT-Creation-Date: 2011-08-20 18:36:26+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -12,102 +12,91 @@ msgstr ""
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
- #: seo-ultimate.php:90
16
  msgid ""
17
  "SEO Ultimate requires WordPress %s or above. Please upgrade to the latest "
18
  "version of WordPress to enable SEO Ultimate on your blog, or deactivate SEO "
19
  "Ultimate to remove this notice."
20
  msgstr ""
21
 
22
- #: modules/class.su-module.php:375
23
- msgid ""
24
- "(Note: This translated documentation was designed for an older version of "
25
- "SEO Ultimate and may be outdated.)"
26
- msgstr ""
27
-
28
- #: modules/class.su-module.php:658
29
  msgid ""
30
  "All the modules on this page have been disabled. You can re-enable them "
31
  "using the <a href=\"%s\">Module Manager</a>."
32
  msgstr ""
33
 
34
- #: modules/class.su-module.php:1017
35
- msgctxt "Dropdown Title"
36
- msgid "%s &mdash; %s"
37
- msgstr ""
38
-
39
- #: modules/class.su-module.php:1045
40
  msgid "%1$s | %2$s %3$s by %4$s"
41
  msgstr ""
42
 
43
- #: modules/class.su-module.php:1124
44
  msgid "Your site currently doesn&#8217;t have any public items of this type."
45
  msgstr ""
46
 
47
- #: modules/class.su-module.php:1208
48
  msgid "&laquo;"
49
  msgstr ""
50
 
51
- #: modules/class.su-module.php:1209
52
  msgid "&raquo;"
53
  msgstr ""
54
 
55
- #: modules/class.su-module.php:1216
56
  msgid "Displaying %s&#8211;%s of %s"
57
  msgstr ""
58
 
59
- #: modules/class.su-module.php:1229 modules/404s/fofs-log.php:113
60
  msgid "Actions"
61
  msgstr ""
62
 
63
- #: modules/class.su-module.php:1230
64
  msgid "ID"
65
  msgstr ""
66
 
67
- #: modules/class.su-module.php:1264
68
  msgid "View"
69
  msgstr ""
70
 
71
- #: modules/class.su-module.php:1266
72
  msgid "Edit"
73
  msgstr ""
74
 
75
- #: modules/class.su-module.php:1430
76
  msgid "Settings updated."
77
  msgstr ""
78
 
79
- #: modules/class.su-module.php:1451
80
  msgid "Save Changes"
81
  msgstr ""
82
 
83
- #: modules/class.su-module.php:1962
84
  msgid ""
85
  "Are you sure you want to replace the textbox contents with this default "
86
  "value?"
87
  msgstr ""
88
 
89
- #: modules/class.su-module.php:1978 modules/settings/settings-data.php:23
90
  msgid "Reset"
91
  msgstr ""
92
 
93
- #: modules/class.su-module.php:2588 modules/meta/meta-keywords.php:34
94
- #: modules/meta/meta-descriptions.php:25 plugin/class.seo-ultimate.php:1680
95
  msgid "Blog Homepage"
96
  msgstr ""
97
 
98
- #: modules/class.su-module.php:2592 plugin/class.seo-ultimate.php:1754
99
  msgid "Author"
100
  msgstr ""
101
 
102
- #: modules/class.su-module.php:2612
103
  msgid "Type a URL or start typing the name of the item you want to link to"
104
  msgstr ""
105
 
106
- #: modules/class.su-module.php:2624
107
  msgid "Remove this destination"
108
  msgstr ""
109
 
110
- #: modules/class.su-module.php:2624
111
  msgid "X"
112
  msgstr ""
113
 
@@ -254,7 +243,7 @@ msgid "RDFa"
254
  msgstr ""
255
 
256
  #: modules/rich-snippets/rich-snippets.php:62
257
- #: modules/rich-snippets/rich-snippets.php:224
258
  msgid "Review"
259
  msgstr ""
260
 
@@ -274,63 +263,158 @@ msgstr ""
274
  msgid "Date Reviewed"
275
  msgstr ""
276
 
277
- #: modules/rich-snippets/rich-snippets.php:223
278
- #: modules/rich-snippets/rich-snippets.php:232
279
  msgid "None"
280
  msgstr ""
281
 
282
- #: modules/rich-snippets/rich-snippets.php:225
283
  msgid "Rich Snippet Type:"
284
  msgstr ""
285
 
286
- #: modules/rich-snippets/rich-snippets.php:229
287
  msgid "Name of Reviewed Item:"
288
  msgstr ""
289
 
290
- #: modules/rich-snippets/rich-snippets.php:233
291
  msgid "0.5 stars"
292
  msgstr ""
293
 
294
- #: modules/rich-snippets/rich-snippets.php:234
295
  msgid "1 star"
296
  msgstr ""
297
 
298
- #: modules/rich-snippets/rich-snippets.php:235
299
  msgid "1.5 stars"
300
  msgstr ""
301
 
302
- #: modules/rich-snippets/rich-snippets.php:236
303
  msgid "2 stars"
304
  msgstr ""
305
 
306
- #: modules/rich-snippets/rich-snippets.php:237
307
  msgid "2.5 stars"
308
  msgstr ""
309
 
310
- #: modules/rich-snippets/rich-snippets.php:238
311
  msgid "3 stars"
312
  msgstr ""
313
 
314
- #: modules/rich-snippets/rich-snippets.php:239
315
  msgid "3.5 stars"
316
  msgstr ""
317
 
318
- #: modules/rich-snippets/rich-snippets.php:240
319
  msgid "4 stars"
320
  msgstr ""
321
 
322
- #: modules/rich-snippets/rich-snippets.php:241
323
  msgid "4.5 stars"
324
  msgstr ""
325
 
326
- #: modules/rich-snippets/rich-snippets.php:242
327
  msgid "5 stars"
328
  msgstr ""
329
 
330
- #: modules/rich-snippets/rich-snippets.php:243
331
  msgid "Star Rating for Reviewed Item:"
332
  msgstr ""
333
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
334
  #: modules/site-keyword-queries/site-keyword-queries.php:12
335
  msgid "Internal Relevance Researcher"
336
  msgstr ""
@@ -618,6 +702,239 @@ msgid ""
618
  "page=su-titles\" target=\"_blank\">default post/page titles</a> are used."
619
  msgstr ""
620
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
621
  #: modules/competition-queries/competition-queries.php:12
622
  msgid "Competition Researcher"
623
  msgstr ""
@@ -802,6 +1119,20 @@ msgstr ""
802
  msgid "Nofollow:"
803
  msgstr ""
804
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
805
  #: modules/meta/meta-keywords.php:12
806
  msgid "Meta Keywords Editor"
807
  msgstr ""
@@ -842,7 +1173,77 @@ msgid ""
842
  "three</samp>."
843
  msgstr ""
844
 
845
- #: modules/meta/webmaster-verify.php:12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
846
  msgid "Webmaster Verification Assistant"
847
  msgstr ""
848
 
@@ -862,6 +1263,25 @@ msgstr ""
862
  msgid "Bing Webmaster Center"
863
  msgstr ""
864
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
865
  #: modules/meta/meta-robots.php:12
866
  msgid "Meta Robot Tags Editor"
867
  msgstr ""
@@ -893,6 +1313,105 @@ msgstr ""
893
  msgid "Don&#8217t cache or archive this site."
894
  msgstr ""
895
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
896
  #: modules/meta/meta-descriptions.php:12
897
  msgid "Meta Description Editor"
898
  msgstr ""
@@ -905,39 +1424,47 @@ msgstr ""
905
  msgid "Meta Description"
906
  msgstr ""
907
 
908
- #: modules/meta/meta-descriptions.php:48
909
  msgid "Post Description Format"
910
  msgstr ""
911
 
912
- #: modules/meta/meta-descriptions.php:49
 
 
 
 
913
  msgid "Category Description Format"
914
  msgstr ""
915
 
916
- #: modules/meta/meta-descriptions.php:50
917
  msgid "Post Tag Description Format"
918
  msgstr ""
919
 
920
- #: modules/meta/meta-descriptions.php:57
 
 
 
 
921
  msgid "Blog Homepage Meta Description"
922
  msgstr ""
923
 
924
- #: modules/meta/meta-descriptions.php:59
925
  msgid "Use this blog&#8217s tagline as the default homepage description."
926
  msgstr ""
927
 
928
- #: modules/meta/meta-descriptions.php:60
929
  msgid "Default Value"
930
  msgstr ""
931
 
932
- #: modules/meta/meta-descriptions.php:122
933
  msgid "Meta Description:"
934
  msgstr ""
935
 
936
- #: modules/meta/meta-descriptions.php:125
937
  msgid "You&#8217;ve entered %s characters. Most search engines use up to 140."
938
  msgstr ""
939
 
940
- #: modules/meta/meta-descriptions.php:133
941
  msgid ""
942
  "<strong>Description</strong> &mdash; The value of the meta description tag. "
943
  "The description will often appear underneath the title in search engine "
@@ -945,6 +1472,61 @@ msgid ""
945
  "is important to ensuring a good search results clickthrough rate."
946
  msgstr ""
947
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
948
  #: modules/import-aiosp/import-aiosp.php:12
949
  msgid "Import from All in One SEO Pack"
950
  msgstr ""
@@ -989,7 +1571,7 @@ msgstr ""
989
  msgid "SEO Design Solutions Whitepapers"
990
  msgstr ""
991
 
992
- #. #-#-#-#-# plugin.pot (SEO Ultimate 6.9.2) #-#-#-#-#
993
  #. Author of the plugin/theme
994
  #: modules/sds-blog/sds-blog.php:49
995
  msgid "SEO Design Solutions"
@@ -1053,6 +1635,51 @@ msgstr ""
1053
  msgid "Disabled"
1054
  msgstr ""
1055
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1056
  #: modules/slugs/slugs.php:12
1057
  msgid "Slug Optimizer"
1058
  msgstr ""
@@ -1061,10 +1688,185 @@ msgstr ""
1061
  msgid "Words to Remove"
1062
  msgstr ""
1063
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1064
  #: modules/404s/fofs.php:11
1065
  msgid "404 Monitor"
1066
  msgstr ""
1067
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1068
  #: modules/404s/fofs-settings.php:16
1069
  msgid "404 Monitor Settings"
1070
  msgstr ""
@@ -1223,7 +2025,57 @@ msgstr ""
1223
  msgid "Linkbox HTML"
1224
  msgstr ""
1225
 
1226
- #: modules/more-links/more-links.php:12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1227
  msgid "More Link Customizer"
1228
  msgstr ""
1229
 
@@ -1235,6 +2087,63 @@ msgstr ""
1235
  msgid "More Link Text:"
1236
  msgstr ""
1237
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1238
  #: modules/permalinks/permalinks.php:15
1239
  msgid "Permalink Tweaker"
1240
  msgstr ""
@@ -1318,7 +2227,59 @@ msgid ""
1318
  "robots.txt file, since you&#8217;re using <a href=\"%s\">a custom one</a>."
1319
  msgstr ""
1320
 
1321
- #: modules/canonical/canonical.php:12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1322
  msgid "Canonicalizer"
1323
  msgstr ""
1324
 
@@ -1335,6 +2296,39 @@ msgstr ""
1335
  msgid "Redirect requests for nonexistent pagination."
1336
  msgstr ""
1337
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1338
  #: modules/user-code/user-code.php:12
1339
  msgid "Code Inserter"
1340
  msgstr ""
@@ -1363,6 +2357,40 @@ msgstr ""
1363
  msgid "Code Inserter module"
1364
  msgstr ""
1365
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1366
  #: modules/settings/settings-data.php:16
1367
  msgid "Settings Data Manager"
1368
  msgstr ""
@@ -1399,30 +2427,30 @@ msgid ""
1399
  "click the &#8220;Browse&#8221; button and select a file to import."
1400
  msgstr ""
1401
 
1402
- #: modules/settings/settings-data.php:140
1403
  msgid ""
1404
  "The uploaded file is not in the proper format. Links could not be imported."
1405
  msgstr ""
1406
 
1407
- #: modules/settings/settings-data.php:182
1408
  msgid "Links successfully imported."
1409
  msgstr ""
1410
 
1411
- #: modules/settings/settings-data.php:185
1412
  msgid "The CSV file could not be uploaded successfully."
1413
  msgstr ""
1414
 
1415
- #: modules/settings/settings-data.php:188
1416
  msgid ""
1417
  "Links could not be imported because no CSV file was selected. Please click "
1418
  "the &#8220;Browse&#8221; button and select a file to import."
1419
  msgstr ""
1420
 
1421
- #: modules/settings/settings-data.php:198
1422
  msgid "Import SEO Ultimate Settings File"
1423
  msgstr ""
1424
 
1425
- #: modules/settings/settings-data.php:200
1426
  msgid ""
1427
  "You can use this form to upload and import an SEO Ultimate settings file "
1428
  "stored on your computer. (These files can be created using the Export tool.) "
@@ -1430,21 +2458,21 @@ msgid ""
1430
  "in the file."
1431
  msgstr ""
1432
 
1433
- #: modules/settings/settings-data.php:204
1434
  msgid ""
1435
  "Are you sure you want to import this settings file? This will overwrite your "
1436
  "current settings and cannot be undone."
1437
  msgstr ""
1438
 
1439
- #: modules/settings/settings-data.php:205
1440
  msgid "Import Settings File"
1441
  msgstr ""
1442
 
1443
- #: modules/settings/settings-data.php:211
1444
  msgid "Import Deeplink Juggernaut CSV File"
1445
  msgstr ""
1446
 
1447
- #: modules/settings/settings-data.php:213
1448
  msgid ""
1449
  "You can use this form to upload and import a Deeplink Juggernaut CSV file "
1450
  "stored on your computer. (These files can be created using the Export tool.) "
@@ -1452,38 +2480,38 @@ msgid ""
1452
  "the file."
1453
  msgstr ""
1454
 
1455
- #: modules/settings/settings-data.php:217
1456
  msgid ""
1457
  "Are you sure you want to import this CSV file? This will overwrite your "
1458
  "current Deeplink Juggernaut links and cannot be undone."
1459
  msgstr ""
1460
 
1461
- #: modules/settings/settings-data.php:218
1462
  msgid "Import CSV File"
1463
  msgstr ""
1464
 
1465
- #: modules/settings/settings-data.php:233
1466
  msgid "Import from Other Plugins"
1467
  msgstr ""
1468
 
1469
- #: modules/settings/settings-data.php:235
1470
  msgid ""
1471
  "You can import settings and data from these plugins. Clicking a plugin&#8217;"
1472
  "s name will take you to the importer page, where you can customize "
1473
  "parameters and start the import."
1474
  msgstr ""
1475
 
1476
- #: modules/settings/settings-data.php:255
1477
  msgid "Export SEO Ultimate Settings File"
1478
  msgstr ""
1479
 
1480
- #: modules/settings/settings-data.php:257
1481
  msgid ""
1482
  "You can use this export tool to download an SEO Ultimate settings file to "
1483
  "your computer."
1484
  msgstr ""
1485
 
1486
- #: modules/settings/settings-data.php:259
1487
  msgid ""
1488
  "A settings file includes the data of every checkbox and textbox of every "
1489
  "installed module. It does NOT include site-specific data like logged 404s or "
@@ -1491,15 +2519,15 @@ msgid ""
1491
  "database backup, however)."
1492
  msgstr ""
1493
 
1494
- #: modules/settings/settings-data.php:262
1495
  msgid "Download Settings File"
1496
  msgstr ""
1497
 
1498
- #: modules/settings/settings-data.php:267
1499
  msgid "Export Deeplink Juggernaut CSV File"
1500
  msgstr ""
1501
 
1502
- #: modules/settings/settings-data.php:269
1503
  msgid ""
1504
  "You can use this export tool to download a CSV file (comma-separated values "
1505
  "file) that contains your Deeplink Juggernaut links. Once you download this "
@@ -1508,30 +2536,30 @@ msgid ""
1508
  "the Import tool."
1509
  msgstr ""
1510
 
1511
- #: modules/settings/settings-data.php:272
1512
  msgid "Download CSV File"
1513
  msgstr ""
1514
 
1515
- #: modules/settings/settings-data.php:279
1516
  msgid "All settings have been erased and defaults have been restored."
1517
  msgstr ""
1518
 
1519
- #: modules/settings/settings-data.php:281
1520
  msgid ""
1521
  "You can erase all your SEO Ultimate settings and restore them to &#8220;"
1522
  "factory defaults&#8221; by clicking the button below."
1523
  msgstr ""
1524
 
1525
- #: modules/settings/settings-data.php:284
1526
  msgid ""
1527
  "Are you sure you want to erase all module settings? This cannot be undone."
1528
  msgstr ""
1529
 
1530
- #: modules/settings/settings-data.php:285
1531
  msgid "Restore Default Settings"
1532
  msgstr ""
1533
 
1534
- #: modules/settings/global-settings.php:18
1535
  msgid "Global Settings"
1536
  msgstr ""
1537
 
@@ -1559,17 +2587,63 @@ msgstr ""
1559
  msgid "SEO Ultimate Plugin Settings"
1560
  msgstr ""
1561
 
1562
- #. #-#-#-#-# plugin.pot (SEO Ultimate 6.9.2) #-#-#-#-#
1563
  #. Plugin Name of the plugin/theme
1564
- #: modules/settings/settings.php:14 plugin/class.seo-ultimate.php:775
1565
  msgid "SEO Ultimate"
1566
  msgstr ""
1567
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1568
  #: modules/settings/uninstall.php:17
1569
  msgid "Uninstaller"
1570
  msgstr ""
1571
 
1572
- #: modules/settings/uninstall.php:18 plugin/class.seo-ultimate.php:1258
1573
  msgid "Uninstall"
1574
  msgstr ""
1575
 
@@ -1705,6 +2779,7 @@ msgid "Upgrade to SEO Ultimate %s"
1705
  msgstr ""
1706
 
1707
  #: modules/sharing-buttons/sharing-buttons.php:12
 
1708
  msgid "Sharing Facilitator"
1709
  msgstr ""
1710
 
@@ -1728,6 +2803,22 @@ msgstr ""
1728
  msgid "Use the AddThis button"
1729
  msgstr ""
1730
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1731
  #: modules/wp-settings/wp-settings.php:14
1732
  msgid "Settings Monitor (Beta)"
1733
  msgstr ""
@@ -1815,7 +2906,7 @@ msgid "Noindex"
1815
  msgstr ""
1816
 
1817
  #: modules/noindex/noindex.php:54 modules/noindex/noindex.php:78
1818
- #: modules/autolinks/content-autolinks.php:367
1819
  #: modules/autolinks/footer-autolinks.php:214
1820
  msgid "Nofollow"
1821
  msgstr ""
@@ -1924,70 +3015,70 @@ msgstr ""
1924
  msgid "Content Links"
1925
  msgstr ""
1926
 
1927
- #: modules/autolinks/content-autolinks.php:259
1928
  #: modules/autolinks/footer-autolinks.php:129
1929
  msgid ""
1930
  "The Content Links section of Deeplink Juggernaut lets you automatically link "
1931
  "a certain word or phrase in your post/page content to a URL you specify."
1932
  msgstr ""
1933
 
1934
- #: modules/autolinks/content-autolinks.php:313
1935
  #: modules/autolinks/footer-autolinks.php:161
1936
  msgid "Edit Existing Links"
1937
  msgstr ""
1938
 
1939
- #: modules/autolinks/content-autolinks.php:317
1940
  #: modules/autolinks/footer-autolinks.php:165
1941
  msgid "Add a New Link"
1942
  msgstr ""
1943
 
1944
- #: modules/autolinks/content-autolinks.php:328
1945
  #: modules/autolinks/footer-autolinks.php:175
1946
  msgid "Anchor Text"
1947
  msgstr ""
1948
 
1949
- #: modules/autolinks/content-autolinks.php:329
1950
  #: modules/autolinks/footer-autolinks.php:176
1951
  msgid "Destination"
1952
  msgstr ""
1953
 
1954
- #: modules/autolinks/content-autolinks.php:330
1955
  #: modules/autolinks/footer-autolinks.php:177
1956
  msgid "Title Attribute"
1957
  msgstr ""
1958
 
1959
- #: modules/autolinks/content-autolinks.php:332
1960
  msgid "Site Cap"
1961
  msgstr ""
1962
 
1963
- #: modules/autolinks/content-autolinks.php:333
1964
  #: modules/autolinks/footer-autolinks.php:178
1965
  msgid "Options"
1966
  msgstr ""
1967
 
1968
- #: modules/autolinks/content-autolinks.php:335
1969
  #: modules/autolinks/footer-autolinks.php:180
1970
  msgid "Delete"
1971
  msgstr ""
1972
 
1973
- #: modules/autolinks/content-autolinks.php:369
1974
  #: modules/autolinks/footer-autolinks.php:216
1975
  msgid "New window"
1976
  msgstr ""
1977
 
1978
- #: modules/autolinks/content-autolinks.php:434
1979
  msgid "Incoming Autolink Anchors:<br /><em>(one per line)</em>"
1980
  msgstr ""
1981
 
1982
- #: modules/autolinks/content-autolinks.php:437
1983
  msgid "Don&#8217;t add autolinks to anchor texts found in this post."
1984
  msgstr ""
1985
 
1986
- #: modules/autolinks/content-autolinks.php:437
1987
  msgid "Autolink Exclusion:"
1988
  msgstr ""
1989
 
1990
- #: modules/autolinks/content-autolinks.php:443
1991
  msgid ""
1992
  "<strong>Incoming Autolink Anchors</strong> &mdash; When you enter anchors "
1993
  "into this box, Deeplink Juggernaut will search for that anchor in all your "
@@ -2195,91 +3286,107 @@ msgstr ""
2195
  msgid "%s, and %s"
2196
  msgstr ""
2197
 
2198
- #: plugin/class.seo-ultimate.php:775
2199
  msgid "SEO"
2200
  msgstr ""
2201
 
2202
- #: plugin/class.seo-ultimate.php:964
2203
  msgid ""
2204
  "It looks like you made changes to the settings of this SEO Ultimate module. "
2205
  "If you leave before saving, those changes will be lost."
2206
  msgstr ""
2207
 
2208
- #: plugin/class.seo-ultimate.php:1058
2209
  msgid "SEO Settings Help"
2210
  msgstr ""
2211
 
2212
- #: plugin/class.seo-ultimate.php:1060
2213
  msgid "The SEO Settings box lets you customize these settings:"
2214
  msgstr ""
2215
 
2216
- #: plugin/class.seo-ultimate.php:1062
2217
  msgid "(The SEO Settings box is part of the SEO Ultimate plugin.)"
2218
  msgstr ""
2219
 
2220
- #: plugin/class.seo-ultimate.php:1117
2221
  msgid ""
2222
  "SEO Ultimate includes the functionality of %1$s. You may want to deactivate %"
2223
  "1$s to avoid plugin conflicts."
2224
  msgstr ""
2225
 
2226
- #: plugin/class.seo-ultimate.php:1159
2227
  msgid "new module"
2228
  msgstr ""
2229
 
2230
- #: plugin/class.seo-ultimate.php:1159
2231
  msgid "new modules"
2232
  msgstr ""
2233
 
2234
- #: plugin/class.seo-ultimate.php:1160
2235
  msgid "new feature"
2236
  msgstr ""
2237
 
2238
- #: plugin/class.seo-ultimate.php:1160
2239
  msgid "new features"
2240
  msgstr ""
2241
 
2242
- #: plugin/class.seo-ultimate.php:1161
2243
  msgid "bugfix"
2244
  msgstr ""
2245
 
2246
- #: plugin/class.seo-ultimate.php:1161
2247
  msgid "bugfixes"
2248
  msgstr ""
2249
 
2250
- #: plugin/class.seo-ultimate.php:1162
2251
  msgid "improvement"
2252
  msgstr ""
2253
 
2254
- #: plugin/class.seo-ultimate.php:1162
2255
  msgid "improvements"
2256
  msgstr ""
2257
 
2258
- #: plugin/class.seo-ultimate.php:1163
2259
  msgid "security fix"
2260
  msgstr ""
2261
 
2262
- #: plugin/class.seo-ultimate.php:1163
2263
  msgid "security fixes"
2264
  msgstr ""
2265
 
2266
- #: plugin/class.seo-ultimate.php:1194
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2267
  msgid "%d %s"
2268
  msgstr ""
2269
 
2270
- #: plugin/class.seo-ultimate.php:1200
2271
  msgid "Upgrade now to get %s. %s."
2272
  msgstr ""
2273
 
2274
- #: plugin/class.seo-ultimate.php:1202
2275
  msgid "View changelog"
2276
  msgstr ""
2277
 
2278
- #: plugin/class.seo-ultimate.php:1278
2279
  msgid "Active Modules: "
2280
  msgstr ""
2281
 
2282
- #: plugin/class.seo-ultimate.php:1339
2283
  msgid ""
2284
  "<strong>SEO Ultimate Notice:</strong> Your blog is configured to block "
2285
  "search engine spiders. To resolve this, <a href=\"options-privacy.php\" "
@@ -2287,15 +3394,15 @@ msgid ""
2287
  "to everyone."
2288
  msgstr ""
2289
 
2290
- #: plugin/class.seo-ultimate.php:1461
2291
  msgid "SEO Settings"
2292
  msgstr ""
2293
 
2294
- #: plugin/class.seo-ultimate.php:1679
2295
  msgid "Home"
2296
  msgstr ""
2297
 
2298
- #: plugin/class.seo-ultimate.php:1748
2299
  msgid "Author Archives"
2300
  msgstr ""
2301
 
2
  # This file is distributed under the same license as the SEO Ultimate package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: SEO Ultimate 7.0\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/seo-ultimate\n"
7
+ "POT-Creation-Date: 2011-12-19 19:26:12+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
+ #: seo-ultimate.php:84
16
  msgid ""
17
  "SEO Ultimate requires WordPress %s or above. Please upgrade to the latest "
18
  "version of WordPress to enable SEO Ultimate on your blog, or deactivate SEO "
19
  "Ultimate to remove this notice."
20
  msgstr ""
21
 
22
+ #: modules/class.su-module.php:620
 
 
 
 
 
 
23
  msgid ""
24
  "All the modules on this page have been disabled. You can re-enable them "
25
  "using the <a href=\"%s\">Module Manager</a>."
26
  msgstr ""
27
 
28
+ #: modules/class.su-module.php:969
 
 
 
 
 
29
  msgid "%1$s | %2$s %3$s by %4$s"
30
  msgstr ""
31
 
32
+ #: modules/class.su-module.php:1048
33
  msgid "Your site currently doesn&#8217;t have any public items of this type."
34
  msgstr ""
35
 
36
+ #: modules/class.su-module.php:1134
37
  msgid "&laquo;"
38
  msgstr ""
39
 
40
+ #: modules/class.su-module.php:1135
41
  msgid "&raquo;"
42
  msgstr ""
43
 
44
+ #: modules/class.su-module.php:1142
45
  msgid "Displaying %s&#8211;%s of %s"
46
  msgstr ""
47
 
48
+ #: modules/class.su-module.php:1155 modules/404s/fofs-log.php:113
49
  msgid "Actions"
50
  msgstr ""
51
 
52
+ #: modules/class.su-module.php:1156
53
  msgid "ID"
54
  msgstr ""
55
 
56
+ #: modules/class.su-module.php:1190
57
  msgid "View"
58
  msgstr ""
59
 
60
+ #: modules/class.su-module.php:1192
61
  msgid "Edit"
62
  msgstr ""
63
 
64
+ #: modules/class.su-module.php:1356
65
  msgid "Settings updated."
66
  msgstr ""
67
 
68
+ #: modules/class.su-module.php:1377
69
  msgid "Save Changes"
70
  msgstr ""
71
 
72
+ #: modules/class.su-module.php:1907
73
  msgid ""
74
  "Are you sure you want to replace the textbox contents with this default "
75
  "value?"
76
  msgstr ""
77
 
78
+ #: modules/class.su-module.php:1926 modules/settings/settings-data.php:23
79
  msgid "Reset"
80
  msgstr ""
81
 
82
+ #: modules/class.su-module.php:2545 modules/meta/meta-keywords.php:34
83
+ #: modules/meta/meta-descriptions.php:25 plugin/class.seo-ultimate.php:1671
84
  msgid "Blog Homepage"
85
  msgstr ""
86
 
87
+ #: modules/class.su-module.php:2549 plugin/class.seo-ultimate.php:1745
88
  msgid "Author"
89
  msgstr ""
90
 
91
+ #: modules/class.su-module.php:2569
92
  msgid "Type a URL or start typing the name of the item you want to link to"
93
  msgstr ""
94
 
95
+ #: modules/class.su-module.php:2581
96
  msgid "Remove this destination"
97
  msgstr ""
98
 
99
+ #: modules/class.su-module.php:2581
100
  msgid "X"
101
  msgstr ""
102
 
243
  msgstr ""
244
 
245
  #: modules/rich-snippets/rich-snippets.php:62
246
+ #: modules/rich-snippets/rich-snippets.php:225
247
  msgid "Review"
248
  msgstr ""
249
 
263
  msgid "Date Reviewed"
264
  msgstr ""
265
 
266
+ #: modules/rich-snippets/rich-snippets.php:224
267
+ #: modules/rich-snippets/rich-snippets.php:233
268
  msgid "None"
269
  msgstr ""
270
 
271
+ #: modules/rich-snippets/rich-snippets.php:226
272
  msgid "Rich Snippet Type:"
273
  msgstr ""
274
 
275
+ #: modules/rich-snippets/rich-snippets.php:230
276
  msgid "Name of Reviewed Item:"
277
  msgstr ""
278
 
279
+ #: modules/rich-snippets/rich-snippets.php:234
280
  msgid "0.5 stars"
281
  msgstr ""
282
 
283
+ #: modules/rich-snippets/rich-snippets.php:235
284
  msgid "1 star"
285
  msgstr ""
286
 
287
+ #: modules/rich-snippets/rich-snippets.php:236
288
  msgid "1.5 stars"
289
  msgstr ""
290
 
291
+ #: modules/rich-snippets/rich-snippets.php:237
292
  msgid "2 stars"
293
  msgstr ""
294
 
295
+ #: modules/rich-snippets/rich-snippets.php:238
296
  msgid "2.5 stars"
297
  msgstr ""
298
 
299
+ #: modules/rich-snippets/rich-snippets.php:239
300
  msgid "3 stars"
301
  msgstr ""
302
 
303
+ #: modules/rich-snippets/rich-snippets.php:240
304
  msgid "3.5 stars"
305
  msgstr ""
306
 
307
+ #: modules/rich-snippets/rich-snippets.php:241
308
  msgid "4 stars"
309
  msgstr ""
310
 
311
+ #: modules/rich-snippets/rich-snippets.php:242
312
  msgid "4.5 stars"
313
  msgstr ""
314
 
315
+ #: modules/rich-snippets/rich-snippets.php:243
316
  msgid "5 stars"
317
  msgstr ""
318
 
319
+ #: modules/rich-snippets/rich-snippets.php:244
320
  msgid "Star Rating for Reviewed Item:"
321
  msgstr ""
322
 
323
+ #: modules/rich-snippets/rich-snippets.php:254 modules/titles/titles.php:341
324
+ #: modules/link-nofollow/link-nofollow.php:130
325
+ #: modules/meta/meta-keywords.php:166 modules/meta/webmaster-verify.php:58
326
+ #: modules/meta/meta-robots.php:53 modules/meta/meta-descriptions.php:174
327
+ #: modules/slugs/slugs.php:76 modules/404s/fofs.php:19
328
+ #: modules/linkbox/linkbox.php:91 modules/more-links/more-links.php:104
329
+ #: modules/more-links/more-links.php:111 modules/files/files.php:144
330
+ #: modules/canonical/canonical.php:201 modules/user-code/user-code.php:70
331
+ #: modules/settings/settings.php:22
332
+ #: modules/sharing-buttons/sharing-buttons.php:72
333
+ msgid "Overview"
334
+ msgstr ""
335
+
336
+ #: modules/rich-snippets/rich-snippets.php:255
337
+ msgid ""
338
+ "\r\n"
339
+ "<ul>\r\n"
340
+ "\t<li><strong>What it does:</strong> Rich Snippet Creator adds special code "
341
+ "to your posts that asks Google to display special pertinent information "
342
+ "(known as <a href='http://www.google.com/support/webmasters/bin/topic.py?"
343
+ "hl=en&topic=219' target='_blank'>Rich Snippets</a>) in search results for "
344
+ "certain types of content. For example, if you&#8217;ve written a product "
345
+ "review, you can use Rich Snippet Creator to ask Google to display the star "
346
+ "rating that you gave the product in your review next to your review webpage "
347
+ "when it appears in search results.</li>\r\n"
348
+ "\t<li><strong>Why it helps:</strong> Rich Snippet Creator enhances the "
349
+ "search engine results for your content by asking Google to add extra, eye-"
350
+ "catching info that could help draw in more search engine visitors.</li>\r\n"
351
+ "\t<li><p><strong>How it works:</strong> When editing one of your posts or "
352
+ "pages, see if your content fits one of the available rich snippet types (for "
353
+ "example, a review). If so, select that type from the &#8220;Rich Snippet "
354
+ "Type&#8221; dropdown box. Once you select the applicable type, additional "
355
+ "options will appear that vary based on the type selected. For example, a "
356
+ "&#8220;Star Rating&#8221; field will appear if you select the &#8220;"
357
+ "Review&#8221; type.</p><p>Once you save the post/page, Rich Snippet Creator "
358
+ "will add the special code to it. You can remove this code at any time by "
359
+ "selecting &#8220;None&#8221; from the &#8220;Rich Snippet Type&#8221; "
360
+ "dropdown and resaving the post/page.</p></li>\r\n"
361
+ "</ul>\r\n"
362
+ msgstr ""
363
+
364
+ #: modules/rich-snippets/rich-snippets.php:265 modules/titles/titles.php:415
365
+ #: modules/meta/meta-keywords.php:173 modules/meta/meta-robots.php:64
366
+ #: modules/meta/meta-descriptions.php:185 modules/404s/fofs.php:45
367
+ #: modules/linkbox/linkbox.php:102
368
+ msgid "Settings Help"
369
+ msgstr ""
370
+
371
+ #: modules/rich-snippets/rich-snippets.php:266
372
+ msgid ""
373
+ "\r\n"
374
+ "<ul>\r\n"
375
+ "\t<li><strong>Data Format</strong> &mdash; This lets you select the &#8220;"
376
+ "language&#8221; that Rich Snippet Creator uses to communicate the rich "
377
+ "snippet data to Google. Google supports all three options. We recommend "
378
+ "&#8220;Microformats&#8221; because it&#8217;s compatible with the greatest "
379
+ "number of HTML/XHTML variants. This option will likely be of interest only "
380
+ "to advanced users.</li>\r\n"
381
+ "\t<li><strong>Categories/Tags That Indicate Reviews</strong> &mdash; If you "
382
+ "haven&#8217;t set the &#8220;Rich Snippet Type&#8221; setting for an old "
383
+ "post or page, then Rich Snippet Creator will automatically set its default "
384
+ "type to &#8220;Review&#8221; (instead of &#8220;None&#8221;) if it has a "
385
+ "category or tag whose name is in this list (the default list is &#8220;"
386
+ "Reviews&#8221; and &#8220;Review&#8221;). Put one category/tag name per line."
387
+ "</li>\r\n"
388
+ "</ul>\r\n"
389
+ msgstr ""
390
+
391
+ #: modules/rich-snippets/rich-snippets.php:275 modules/titles/titles.php:453
392
+ #: modules/meta/meta-keywords.php:196 modules/meta/meta-robots.php:103
393
+ #: modules/meta/meta-descriptions.php:206 modules/slugs/slugs.php:107
394
+ #: modules/404s/fofs.php:74 modules/files/files.php:165
395
+ #: modules/user-code/user-code.php:84
396
+ msgid "Troubleshooting"
397
+ msgstr ""
398
+
399
+ #: modules/rich-snippets/rich-snippets.php:276
400
+ msgid ""
401
+ "\r\n"
402
+ "<ul>\r\n"
403
+ "\t<li><p><strong>Why aren&#8217;t rich snippets showing up in Google search "
404
+ "results for my site?</strong><br />Enter the URL of your post/page into <a "
405
+ "href='http://www.google.com/webmasters/tools/richsnippets' "
406
+ "target='_blank'>Google&#8217;s testing tool</a> to make sure Google can find "
407
+ "the rich snippet code on your site. If no code is found, check and make sure "
408
+ "you've enabled rich snippets for that particular post/page.</p><p>Note that "
409
+ "having the code on a post/page doesn&#8217;t guarantee that Google will "
410
+ "actually use it to create a rich snippet. If Google is able to read your "
411
+ "code but isn&#8217;t using it to generate rich snippets, you can ask Google "
412
+ "to do so using <a href='http://www.google.com/support/webmasters/bin/request."
413
+ "py?contact_type=rich_snippets_feedback' target='_blank'>this form</a>.</p></"
414
+ "li>\r\n"
415
+ "</ul>\r\n"
416
+ msgstr ""
417
+
418
  #: modules/site-keyword-queries/site-keyword-queries.php:12
419
  msgid "Internal Relevance Researcher"
420
  msgstr ""
702
  "page=su-titles\" target=\"_blank\">default post/page titles</a> are used."
703
  msgstr ""
704
 
705
+ #: modules/titles/titles.php:342
706
+ msgid ""
707
+ "\r\n"
708
+ "<ul>\r\n"
709
+ "\t<li><strong>What it does:</strong> Title Tag Rewriter helps you customize "
710
+ "the contents of your website&#8217;s <code>&lt;title&gt;</code> tags. The "
711
+ "tag contents are displayed in web browser title bars and in search engine "
712
+ "result pages.</li>\r\n"
713
+ "\t<li><strong>Why it helps:</strong> Proper title rewriting ensures that the "
714
+ "keywords in your post/Page titles have greater prominence for search engine "
715
+ "spiders and users. This is an important foundation for WordPress SEO.</li>"
716
+ "\r\n"
717
+ "\t<li><strong>How to use it:</strong> Title Tag Rewriter enables recommended "
718
+ "settings automatically, so you shouldn&#8217;t need to change anything. If "
719
+ "you do wish to edit the rewriting formats, you can do so using the textboxes "
720
+ "below (the &#8220;Formats & Variables&#8221; help tab includes additional "
721
+ "information on this). You also have the option of overriding the <code>&lt;"
722
+ "title&gt;</code> tag of an individual post/page/category/tag/etc. using the "
723
+ "appropriate tabs below, or by using the &#8220;Title Tag&#8221; textbox that "
724
+ "Title Tag Rewriter adds to the post/page editors.</li>\r\n"
725
+ "</ul>\r\n"
726
+ msgstr ""
727
+
728
+ #: modules/titles/titles.php:352
729
+ msgid "Formats &amp; Variables"
730
+ msgstr ""
731
+
732
+ #: modules/titles/titles.php:353
733
+ msgid ""
734
+ "\r\n"
735
+ "<p>Various variables, surrounded in {curly brackets}, are provided for use "
736
+ "in the title formats. All settings support the {blog} variable, which is "
737
+ "replaced with the name of the blog, and the {tagline} variable, which is "
738
+ "replaced with the blog tagline as set under <a href='options-general."
739
+ "php'>Settings &rArr; General</a>.</p>\r\n"
740
+ "\r\n"
741
+ "<p>Here&#8217;s information on each of the settings and its supported "
742
+ "variables:</p>\r\n"
743
+ "\r\n"
744
+ "<ul>\r\n"
745
+ "\t<li><strong>Blog Homepage Title</strong> &mdash; Displays on the main blog "
746
+ "posts page.</li>\r\n"
747
+ "\t<li>\r\n"
748
+ "\t\t<p><strong>Post Title Format</strong> &mdash; Displays on single-post "
749
+ "pages. Supports these variables:</p>\r\n"
750
+ "\t\t<ul>\r\n"
751
+ "\t\t\t<li>{post} &mdash; The post&#8217;s title.</li>\r\n"
752
+ "\t\t\t<li>{category} &mdash; The title of the post category with the lowest "
753
+ "ID number.</li>\r\n"
754
+ "\t\t\t<li>{categories} &mdash; A natural-language list of the post&#8217;s "
755
+ "categories (e.g. &#8220;Category A, Category B, and Category C&#8221;).</li>"
756
+ "\r\n"
757
+ "\t\t\t<li>{tags} &mdash; A natural-language list of the post's tags (e.g. "
758
+ "&#8220;Tag A, Tag B, and Tag C&#8221;).</li>\r\n"
759
+ "\t\t\t<li>{author} &mdash; The Display Name of the post's author.</li>\r\n"
760
+ "\t\t\t<li>{author_username}, {author_firstname}, {author_lastname}, "
761
+ "{author_nickname} &mdash; The username, first name, last name, and nickname "
762
+ "of the post&#8217;s author, respectively, as set in his or her profile.</li>"
763
+ "\r\n"
764
+ "\t\t</ul>\r\n"
765
+ "\t</li>\r\n"
766
+ "\t<li>\r\n"
767
+ "\t\t<p><strong>Page Title Format</strong> &mdash; Displays on WordPress "
768
+ "Pages. Supports these variables:\r\n"
769
+ "\t\t<ul>\r\n"
770
+ "\t\t\t<li>{page} &mdash; The page&#8217;s title.</li>\r\n"
771
+ "\t\t\t<li>{page_parent} &mdash; The title of the page&#8217;s parent page.</"
772
+ "li>\r\n"
773
+ "\t\t\t<li>{author} &mdash; The Display Name of the page&#8217;s author.</li>"
774
+ "\r\n"
775
+ "\t\t\t<li>{author_username}, {author_firstname}, {author_lastname}, "
776
+ "{author_nickname} &mdash; The username, first name, last name, and nickname "
777
+ "of the page&#8217;s author, respectively, as set in his or her profile.</li>"
778
+ "\r\n"
779
+ "\t\t</ul>\r\n"
780
+ "\t</li>\r\n"
781
+ "\t<li><strong>Category Title Format</strong> &mdash; Displays on category "
782
+ "archives. The {category} variable is replaced with the name of the category, "
783
+ "and {category_description} is replaced with its description.</li>\r\n"
784
+ "\t<li><strong>Tag Title Format</strong> &mdash; Displays on tag archives. "
785
+ "The {tag} variable is replaced with the name of the tag, and "
786
+ "{tag_description} is replaced with its description.</li>\r\n"
787
+ "\t<li>\r\n"
788
+ "\t\t<p><strong>Day Archive Title Format</strong> &mdash; Displays on day "
789
+ "archives. Supports these variables:</p>\r\n"
790
+ "\t\t<ul>\r\n"
791
+ "\t\t\t<li>{day} &mdash; The day number, with ordinal suffix, e.g. 23rd</li>"
792
+ "\r\n"
793
+ "\t\t\t<li>{daynum} &mdash; The two-digit day number, e.g. 23</li>\r\n"
794
+ "\t\t\t<li>{month} &mdash; The name of the month, e.g. April</li>\r\n"
795
+ "\t\t\t<li>{monthnum} &mdash; The two-digit number of the month, e.g. 04</li>"
796
+ "\r\n"
797
+ "\t\t\t<li>{year} &mdash; The year, e.g. 2009</li>\r\n"
798
+ "\t\t</ul>\r\n"
799
+ "\t</li>\r\n"
800
+ "\t<li><strong>Month Archive Title Format</strong> &mdash; Displays on month "
801
+ "archives. Supports {month}, {monthnum}, and {year}.</li>\r\n"
802
+ "\t<li><strong>Year Archive Title Format</strong> &mdash; Displays on year "
803
+ "archives. Supports the {year} variable.</li>\r\n"
804
+ "\t<li><strong>Author Archive Title Format</strong> &mdash; Displays on "
805
+ "author archives. Supports the same author variables as the Post Title Format "
806
+ "box, i.e. {author}, {author_username}, {author_firstname}, "
807
+ "{author_lastname}, and {author_nickname}.</li>\r\n"
808
+ "\t<li><strong>Search Title Format</strong> &mdash; Displays on the result "
809
+ "pages for WordPress&#8217;s blog search function. The {query} variable is "
810
+ "replaced with the search query as-is. The {ucwords} variable returns the "
811
+ "search query with the first letter of each word capitalized.</li>\r\n"
812
+ "\t<li>\r\n"
813
+ "\t\t<p><strong>404 Title Format</strong> &mdash; Displays whenever a URL "
814
+ "doesn&#8217;t go anywhere. Supports this variable:</p>\r\n"
815
+ "\t\t<ul>\r\n"
816
+ "\t\t\t<li>{url_words} &mdash; The words used in the error-generating URL. "
817
+ "The first letter of each word will be capitalized.</li>\r\n"
818
+ "\t\t</ul>\r\n"
819
+ "\t</li>\r\n"
820
+ "\t<li>\r\n"
821
+ "\t\t<p><strong>Pagination Title Format</strong> &mdash; Displays whenever "
822
+ "the visitor is on a subpage (page 2, page 3, etc.) of the homepage or of an "
823
+ "archive. Supports these variables:</p>\r\n"
824
+ "\t\t<ul>\r\n"
825
+ "\t\t\t<li>{title} &mdash; The title that would normally be displayed on page "
826
+ "1</li>\r\n"
827
+ "\t\t\t<li>{num} &mdash; The current page number (2, 3, etc.)</li>\r\n"
828
+ "\t\t\t<li>{max} &mdash; The total number of subpages available. Would "
829
+ "usually be used like this: Page {num} of {max}</li>\r\n"
830
+ "\t\t</ul>\r\n"
831
+ "\t</li>\r\n"
832
+ "</ul>\r\n"
833
+ msgstr ""
834
+
835
+ #: modules/titles/titles.php:416
836
+ msgid ""
837
+ "\r\n"
838
+ "<p>Here&#8217;s documentation for the options on the &#8220;Settings&#8221; "
839
+ "tab.</p>\r\n"
840
+ "<ul>\r\n"
841
+ "\t<li>\r\n"
842
+ "\t\t<p><strong>Rewrite Method</strong> &mdash; This setting controls the "
843
+ "method by which Title Tag Rewriter edits your site&#8217;s <code>&lt;"
844
+ "title&gt;</code> tags.</p>\r\n"
845
+ "\t\t<ul>\r\n"
846
+ "\t\t\t<li><strong>Use output buffering</strong> &mdash; This is the &#8220;"
847
+ "traditional&#8221; method that most SEO plugins use. With this method, SEO "
848
+ "Ultimate will intercept your site&#8217;s <code>&lt;head&gt;</code> tag "
849
+ "section as it&#8217;s being outputted, locate the <code>&lt;title&gt;</code> "
850
+ "tag, edit its value, and then output the edited <code>&lt;head&gt;</code> "
851
+ "data. The good thing about this method is that you don&#8217;t have to edit "
852
+ "your theme in any way, as SEO Ultimate will overwrite whatever your theme "
853
+ "puts in your <code>&lt;title&gt;</code> tag. The bad thing is that this "
854
+ "output interception takes a few extra milliseconds to complete. If you are "
855
+ "concerned about performance, are comfortable editing your theme&#8217;s "
856
+ "`header.php` file, and will remember to edit the `header.php` file of any "
857
+ "new themes you activate, you may want to try the filtering rewrite method.</"
858
+ "li>\r\n"
859
+ "\t\t\t<li>\r\n"
860
+ "\t\t\t\t<p><strong>Use filtering</strong> &mdash; With this method, SEO "
861
+ "Ultimate will register itself with WordPress and will replace "
862
+ "WordPress&#8217;s <code>&lt;title&gt;</code> tag output with its own. This "
863
+ "method can only edit the text that WordPress itself generates for the "
864
+ "<code>&lt;title&gt;</code> tag; the filtering method can&#8217;t edit "
865
+ "anything extra your theme may add. For this reason, you need to edit your "
866
+ "theme to make sure it&#8217;s only pulling <code>&lt;title&gt;</code> tag "
867
+ "data from WordPress and is not adding anything else.</p>\r\n"
868
+ "\t\t\t\t<p>Here&#8217;s how to set up filtering:</p>\r\n"
869
+ "\t\t\t\t<ol>\r\n"
870
+ "\t\t\t\t\t<li>Go to <a href='theme-editor.php'>Appearance &rArr; Editor</a> "
871
+ "(if you get a permissions error, you may be on a WordPress multi-site "
872
+ "environment and may not be able to use the filtering rewrite method)</li>\r\n"
873
+ "\t\t\t\t\t<li>Click &#8220;Header (header.php)&#8221;</li>\r\n"
874
+ "\t\t\t\t\t<li>Look for the <code>&lt;title&gt;</code> start tag and the "
875
+ "<code>&lt;/title&gt;</code> end tag</li>\r\n"
876
+ "\t\t\t\t\t<li>Edit the text in between those tags so that it looks like "
877
+ "this: <code>&lt;title&gt;&lt;?php wp_title(''); ?&gt;&lt;/title&gt;</code></"
878
+ "li>\r\n"
879
+ "\t\t\t\t\t<li>Click &#8220;Update File&#8221;</li>\r\n"
880
+ "\t\t\t\t\t<li>Return to the &#8220;Settings&#8221; tab of Title Tag "
881
+ "Rewriter, select &#8220;Use filtering,&#8221; and click &#8220;Save "
882
+ "Changes&#8221;</li>\r\n"
883
+ "\t\t\t\t</ol>\r\n"
884
+ "\t\t\t</li>\r\n"
885
+ "\t\t</ul>\r\n"
886
+ "\t</li>\r\n"
887
+ "</ul>\r\n"
888
+ msgstr ""
889
+
890
+ #: modules/titles/titles.php:442 modules/meta/meta-keywords.php:183
891
+ #: modules/meta/meta-descriptions.php:197 modules/modules/modules.php:174
892
+ #: modules/slugs/slugs.php:87 modules/more-links/more-links.php:105
893
+ #: modules/more-links/more-links.php:116 modules/files/files.php:155
894
+ #: modules/settings/settings.php:41
895
+ msgid "FAQ"
896
+ msgstr ""
897
+
898
+ #: modules/titles/titles.php:443
899
+ msgid ""
900
+ "\r\n"
901
+ "<ul>\r\n"
902
+ "\t<li><strong>Does the Title Tag Rewriter edit my post/page titles?</"
903
+ "strong><br />No. The Title Tag Rewriter edits the <code>&lt;title&gt;</code> "
904
+ "tags of your site, not your post/page titles.</li>\r\n"
905
+ "\t<li><strong>Will rewriting the title tags of my posts change their "
906
+ "permalinks/URLs?</strong><br />No.</li>\r\n"
907
+ "\t<li><strong>What&#8217;s the difference between the &#8220;title&#8221; "
908
+ "and the &#8220;title tag&#8221; of a post/page?</strong><br />The &#8220;"
909
+ "title&#8221; is the title of your post or page that&#8217;s used in your "
910
+ "site&#8217;s theme, in your site&#8217;s admin, in your site&#8217;s RSS "
911
+ "feeds, and in your site&#8217;s <code>&lt;title&gt;</code> tags. A <code>&lt;"
912
+ "title&gt;</code> tag is the title of a specific webpage, and it appears in "
913
+ "your browser&#8217;s title bar and in search result listings. Title Tag "
914
+ "Rewriter lets you edit your post&#8217;s <code>&lt;title&gt;</code> tags "
915
+ "without editing their actual titles. This means you can edit a post&#8217;s "
916
+ "title as it appears in search results, but not as it appears on your site.</"
917
+ "li>\r\n"
918
+ "</ul>\r\n"
919
+ msgstr ""
920
+
921
+ #: modules/titles/titles.php:454
922
+ msgid ""
923
+ "\r\n"
924
+ "<ul>\r\n"
925
+ "\t<li><strong>Why isn&#8217;t Title Tag Rewriter changing my <code>&lt;"
926
+ "title&gt;</code> tags?</strong><br />Try disabling other SEO plugins, as "
927
+ "they may be conflicting with SEO Ultimate. If you&#8217;re using the default "
928
+ "&#8220;output buffering&#8221; rewrite method, check to make sure your theme "
929
+ "is <a href='http://johnlamansky.com/wordpress/theme-plugin-hooks/' "
930
+ "target='_blank'>plugin-friendly</a>. If you're using the &#8220;"
931
+ "filtering&#8221; rewrite method, check your theme&#8217;s <code>header.php</"
932
+ "code> file and make sure the <code>&lt;title&gt;</code> tag looks like this: "
933
+ "<code>&lt;title&gt;&lt;?php wp_title(''); ?&gt;&lt;/title&gt;</code>.</li>"
934
+ "\r\n"
935
+ "</ul>\r\n"
936
+ msgstr ""
937
+
938
  #: modules/competition-queries/competition-queries.php:12
939
  msgid "Competition Researcher"
940
  msgstr ""
1119
  msgid "Nofollow:"
1120
  msgstr ""
1121
 
1122
+ #: modules/link-nofollow/link-nofollow.php:131
1123
+ msgid ""
1124
+ "\r\n"
1125
+ "<p>Nofollow Manager adds the <code>rel=&quot;nofollow&quot;</code> attribute "
1126
+ "to types of links that you specify. The <code>rel=&quot;nofollow&quot;</"
1127
+ "code> attribute prevents a link from passing PageRank.</p>\r\n"
1128
+ "<p>If you&#8217;re migrating to SEO Ultimate from another plugin, Nofollow "
1129
+ "Manager can help you maintain your existing settings (as part of an &#8220;"
1130
+ "if it ain&#8217;t broke don&#8217;t fix it&#8221; strategy). In other cases, "
1131
+ "however, we recommend not using the Nofollow Manager because in 2008 Google "
1132
+ "disabled the ability to use the <code>rel=&quot;nofollow&quot;</code> "
1133
+ "attribute for PageRank sculpting.</p>\r\n"
1134
+ msgstr ""
1135
+
1136
  #: modules/meta/meta-keywords.php:12
1137
  msgid "Meta Keywords Editor"
1138
  msgstr ""
1173
  "three</samp>."
1174
  msgstr ""
1175
 
1176
+ #: modules/meta/meta-keywords.php:167
1177
+ msgid ""
1178
+ "\r\n"
1179
+ "<p>Meta Keywords Editor lets you tell search engines what keywords are "
1180
+ "associated with the various pages on your site. Modern search engines "
1181
+ "don&#8217;t give meta keywords much weight, but the option is there if you "
1182
+ "want to use it. You can customize the meta keywords of an individual post or "
1183
+ "page by using the textboxes that Meta Editor adds to the post/page editors.</"
1184
+ "p>\r\n"
1185
+ msgstr ""
1186
+
1187
+ #: modules/meta/meta-keywords.php:174
1188
+ msgid ""
1189
+ "\r\n"
1190
+ "<ul>\r\n"
1191
+ "\t<li><strong>Sitewide Keywords</strong> &mdash; Here you can enter keywords "
1192
+ "that describe the overall subject matter of your entire blog. Use ommas to "
1193
+ "separate keywords. These keywords will be put in the <code>&gt;meta "
1194
+ "name=&quot;keywords&quot; /&gt;</code> tags of all webpages on the site "
1195
+ "(homepage, posts, pages, archives, etc.).</li>\r\n"
1196
+ "\t<li><strong>Blog Homepage Meta Keywords</strong> &mdash; These keywords "
1197
+ "will be applied only to the <em>blog</em> homepage. Note that if you&#8217;"
1198
+ "ve specified a &#8220;front page&#8221; under <a href='options-reading."
1199
+ "php'>Settings &rArr; Reading</a>, you&#8217;ll need to edit your frontpage "
1200
+ "and set your frontpage keywords there.</li>\r\n"
1201
+ "</ul>\r\n"
1202
+ msgstr ""
1203
+
1204
+ #: modules/meta/meta-keywords.php:184
1205
+ msgid ""
1206
+ "\r\n"
1207
+ "<ul>\r\n"
1208
+ "\t<li>\r\n"
1209
+ "\t\t<p><strong>How do I edit the meta keywords of my homepage?</strong><br /"
1210
+ ">If you are using a &#8220;blog homepage&#8221; (the default option of "
1211
+ "showing your blog posts on your homepage), just use the Blog Homepage field."
1212
+ "</p>\r\n"
1213
+ "\t\t<p>If you have configured your <a href='options-reading.php'>Settings "
1214
+ "&rArr; Reading</a> section to use a &#8220;frontpage&#8221; (i.e. a Page as "
1215
+ "your homepage), just edit that Page and use the &#8220;Meta Keywords&#8221; "
1216
+ "field in the &#8220;SEO Settings&#8221; box.</p>\r\n"
1217
+ "\t</li>\r\n"
1218
+ "\t<li><strong>What happens if I add a global keyword that I previously "
1219
+ "assigned to individual posts or pages?</strong><br />Don&#8217;t worry; Meta "
1220
+ "Keywords Editor will remove duplicate keywords automatically.</li>\r\n"
1221
+ "</ul>\r\n"
1222
+ msgstr ""
1223
+
1224
+ #: modules/meta/meta-keywords.php:197 modules/meta/meta-robots.php:104
1225
+ #: modules/meta/meta-descriptions.php:207
1226
+ msgid ""
1227
+ "\r\n"
1228
+ "<ul>\r\n"
1229
+ "\t<li>\r\n"
1230
+ "\t\t<p><strong>What do I do if my site has multiple meta tags?</strong><br /"
1231
+ ">First, try removing your theme&#8217;s built-in meta tags if it has them. "
1232
+ "Go to <a href='theme-editor.php' target='_blank'>Appearance &rArr; Editor</"
1233
+ "a> and edit <code>header.php</code>. Delete or comment-out any <code>&lt;"
1234
+ "meta&gt;</code> tags.</p>\r\n"
1235
+ "\t\t<p>If the problem persists, try disabling other SEO plugins that may be "
1236
+ "generating meta tags.</p>\r\n"
1237
+ "\t\t<p>Troubleshooting tip: Go to <a href='options-general.php?page=seo-"
1238
+ "ultimate'>Settings &rArr; SEO Ultimate</a> and enable the &#8220;Insert "
1239
+ "comments around HTML code insertions&#8221; option. This will mark SEO "
1240
+ "Ultimate&#8217;s meta tags with comments, allowing you to see which meta "
1241
+ "tags are generated by SEO Ultimate and which aren&#8217;t.</p>\r\n"
1242
+ "\t</li>\r\n"
1243
+ "</ul>\r\n"
1244
+ msgstr ""
1245
+
1246
+ #: modules/meta/webmaster-verify.php:12 modules/meta/webmaster-verify.php:58
1247
  msgid "Webmaster Verification Assistant"
1248
  msgstr ""
1249
 
1263
  msgid "Bing Webmaster Center"
1264
  msgstr ""
1265
 
1266
+ #: modules/meta/webmaster-verify.php:59
1267
+ msgid ""
1268
+ "\r\n"
1269
+ "<ul>\r\n"
1270
+ "\t<li><strong>What it does:</strong> Webmaster Verification Assistant lets "
1271
+ "you enter in verification codes for the webmaster portals of the 3 leading "
1272
+ "search engines.</li>\r\n"
1273
+ "\t<li><strong>Why it helps:</strong> Webmaster Verification Assistant "
1274
+ "assists you in obtaining access to webmaster portals, which can provide you "
1275
+ "with valuable SEO tools.</li>\r\n"
1276
+ "\t<li><strong>How to use it:</strong> Use a search engine to locate the "
1277
+ "webmaster portal you&#8217;re interested in, sign up at the portal, and then "
1278
+ "obtain a verification code. Once you have the code, you can paste it in "
1279
+ "here, click Save Changes, then return to the portal to verify that you own "
1280
+ "the site. Once that&#8217;s done, you'll have access to the portal&#8217;s "
1281
+ "SEO tools.</li>\r\n"
1282
+ "</ul>\r\n"
1283
+ msgstr ""
1284
+
1285
  #: modules/meta/meta-robots.php:12
1286
  msgid "Meta Robot Tags Editor"
1287
  msgstr ""
1313
  msgid "Don&#8217t cache or archive this site."
1314
  msgstr ""
1315
 
1316
+ #: modules/meta/meta-robots.php:54
1317
+ msgid ""
1318
+ "\r\n"
1319
+ "<ul>\r\n"
1320
+ "\t<li><strong>What it does:</strong> Meta Robot Tags Editor lets you convey "
1321
+ "instructions to search engine spiders, as well as prohibit the spiders from "
1322
+ "indexing certain webpages on your blog using the <code>&lt;meta name=&quot;"
1323
+ "robots&quot; content=&quot;noindex&quot; /&gt;</code> tag.</li>\r\n"
1324
+ "\t<li><strong>Why it helps:</strong> The &#8220;Global&#8221; tab lets you "
1325
+ "stop DMOZ or Yahoo! Directory from overriding your custom meta descriptions, "
1326
+ "as well as prevent spiders from caching your site if you so desire. The "
1327
+ "&#8220;Default Values&#8221; tab lets you deindex entire sections of your "
1328
+ "site that contain content unimportant to visitors (e.g. the administration "
1329
+ "section), or sections of your site that mostly contain duplicate content (e."
1330
+ "g. date archives). The editor tabs can do something similar, but for "
1331
+ "individual content items. By removing webpages from search results that "
1332
+ "visitors find unhelpful, you can help increase the focus on your more useful "
1333
+ "content.</li>\r\n"
1334
+ "\t<li><strong>How to use it:</strong> Adjust the settings as desired, and "
1335
+ "then click Save Changes. You can refer to the &#8220;Settings Help&#8221; "
1336
+ "tab for information on the settings available. You can also use the editor "
1337
+ "tabs to deindex individual content items on your site as well as enable the "
1338
+ "&#8220;nofollow&#8221; meta parameter that will nullify all outgoing links "
1339
+ "on a specific webpage.</li>\r\n"
1340
+ "</ul>\r\n"
1341
+ msgstr ""
1342
+
1343
+ #: modules/meta/meta-robots.php:65
1344
+ msgid ""
1345
+ "\r\n"
1346
+ "<p>Here&#8217;s information on the various settings:</p>\r\n"
1347
+ "\r\n"
1348
+ "<ul>\r\n"
1349
+ "\t<li>\r\n"
1350
+ "\t\t<strong>Global: Spider Instructions</strong>\r\n"
1351
+ "\t\t<ul>\r\n"
1352
+ "\t\t\t<li><strong>Don't use this site's Open Directory / Yahoo! Directory "
1353
+ "description in search results.</strong> &mdash; If your site is listed in "
1354
+ "the <a href='http://www.dmoz.org/' target='_blank'>Open Directory (DMOZ)</a> "
1355
+ "or the <a href='http://dir.yahoo.com/' target='_blank'>Yahoo! Directory</a>, "
1356
+ "some search engines may use your directory listing as the meta description. "
1357
+ "These boxes tell search engines not to do that and will give you full "
1358
+ "control over your meta descriptions. These settings have no effect if your "
1359
+ "site isn&#8217;t listed in the Open Directory or Yahoo! Directory "
1360
+ "respectively.</li>\r\n"
1361
+ "\t\t\t<li>Don&#8217;t cache or archive this site.</li> &mdash; When you "
1362
+ "check this box, Meta Editor will ask search engines (Google, Yahoo!, Bing, "
1363
+ "etc.) and archivers (Archive.org, etc.) to <em>not</em> make cached or "
1364
+ "archived &#8220;copies&#8221; of your site.</li>\r\n"
1365
+ "\t\t</ul>\r\n"
1366
+ "\t</li>\r\n"
1367
+ "\t<li>\r\n"
1368
+ "\t\t<strong>Default Values: Prevent indexing of...</strong>\r\n"
1369
+ "\t\t<ul>\r\n"
1370
+ "\t\t\t<li><strong>Administration back-end pages</strong> &mdash; Tells "
1371
+ "spiders not to index the administration area (the part you&#8217;re in now), "
1372
+ "in the unlikely event a spider somehow gains access to the administration. "
1373
+ "Recommended.</li>\r\n"
1374
+ "\t\t\t<li><strong>Author archives</strong> &mdash; Tells spiders not to "
1375
+ "index author archives. Useful if your blog only has one author.</li>\r\n"
1376
+ "\t\t\t<li><strong>Blog search pages</strong> &mdash; Tells spiders not to "
1377
+ "index the result pages of WordPress's blog search function. Recommended.</li>"
1378
+ "\r\n"
1379
+ "\t\t\t<li><strong>Category archives</strong> &mdash; Tells spiders not to "
1380
+ "index category archives. Recommended only if you don't use categories.</li>"
1381
+ "\r\n"
1382
+ "\t\t\t<li><strong>Comment feeds</strong> &mdash; Tells spiders not to index "
1383
+ "the RSS feeds that exist for every post's comments. (These comment feeds are "
1384
+ "totally separate from your normal blog feeds.)</li>\r\n"
1385
+ "\t\t\t<li><strong>Comment subpages</strong> &mdash; Tells spiders not to "
1386
+ "index posts' comment subpages.</li>\r\n"
1387
+ "\t\t\t<li><strong>Date-based archives</strong> &mdash; Tells spiders not to "
1388
+ "index day/month/year archives. Recommended, since these pages have little "
1389
+ "keyword value.</li>\r\n"
1390
+ "\t\t\t<li><strong>Subpages of the homepage</strong> &mdash; Tells spiders "
1391
+ "not to index the homepage's subpages (page 2, page 3, etc). Recommended.</li>"
1392
+ "\r\n"
1393
+ "\t\t\t<li><strong>Tag archives</strong> &mdash; Tells spiders not to index "
1394
+ "tag archives. Recommended only if you don't use tags.</li>\r\n"
1395
+ "\t\t\t<li>User login/registration pages</strong> &mdash; Tells spiders not "
1396
+ "to index WordPress's user login and registration pages. Recommended.</li>\r\n"
1397
+ "\t\t</ul>\r\n"
1398
+ "\t</li>\r\n"
1399
+ "\t<li>\r\n"
1400
+ "\t\t<strong>Editor Tabs (Posts/Pages/etc.)</strong>\r\n"
1401
+ "\t\t<ul>\r\n"
1402
+ "\t\t\t<li><strong>Noindex</strong> &mdash; Checking this for an item will "
1403
+ "ask search engines to remove that item&#8217;s webpage from their indices. "
1404
+ "Use this to remove pages that you don&#8217;t want showing up in search "
1405
+ "results (such as a Privacy Policy page, for example).</li>\r\n"
1406
+ "\t\t\t<li><strong>Nofollow</strong> &mdash; Checking this for an item will "
1407
+ "tell search engines to ignore the links to other webpages that are on that "
1408
+ "item&#8217;s webpage. Note: this is page-level &#8220;meta nofollow,&#8221; "
1409
+ "not to be confused with link-level &#8220;rel nofollow.&#8221;</li>\r\n"
1410
+ "\t\t</ul>\r\n"
1411
+ "\t</li>\r\n"
1412
+ "</ul>\r\n"
1413
+ msgstr ""
1414
+
1415
  #: modules/meta/meta-descriptions.php:12
1416
  msgid "Meta Description Editor"
1417
  msgstr ""
1424
  msgid "Meta Description"
1425
  msgstr ""
1426
 
1427
+ #: modules/meta/meta-descriptions.php:50
1428
  msgid "Post Description Format"
1429
  msgstr ""
1430
 
1431
+ #: modules/meta/meta-descriptions.php:51
1432
+ msgid "Page Description Format"
1433
+ msgstr ""
1434
+
1435
+ #: modules/meta/meta-descriptions.php:52
1436
  msgid "Category Description Format"
1437
  msgstr ""
1438
 
1439
+ #: modules/meta/meta-descriptions.php:53
1440
  msgid "Post Tag Description Format"
1441
  msgstr ""
1442
 
1443
+ #: modules/meta/meta-descriptions.php:54
1444
+ msgid "Pagination Description Format"
1445
+ msgstr ""
1446
+
1447
+ #: modules/meta/meta-descriptions.php:62
1448
  msgid "Blog Homepage Meta Description"
1449
  msgstr ""
1450
 
1451
+ #: modules/meta/meta-descriptions.php:64
1452
  msgid "Use this blog&#8217s tagline as the default homepage description."
1453
  msgstr ""
1454
 
1455
+ #: modules/meta/meta-descriptions.php:65
1456
  msgid "Default Value"
1457
  msgstr ""
1458
 
1459
+ #: modules/meta/meta-descriptions.php:155
1460
  msgid "Meta Description:"
1461
  msgstr ""
1462
 
1463
+ #: modules/meta/meta-descriptions.php:158
1464
  msgid "You&#8217;ve entered %s characters. Most search engines use up to 140."
1465
  msgstr ""
1466
 
1467
+ #: modules/meta/meta-descriptions.php:166
1468
  msgid ""
1469
  "<strong>Description</strong> &mdash; The value of the meta description tag. "
1470
  "The description will often appear underneath the title in search engine "
1472
  "is important to ensuring a good search results clickthrough rate."
1473
  msgstr ""
1474
 
1475
+ #: modules/meta/meta-descriptions.php:175
1476
+ msgid ""
1477
+ "\r\n"
1478
+ "<ul>\r\n"
1479
+ "\t<li><strong>What it does:</strong> Meta Descriptions Editor lets you "
1480
+ "customize the text that you want to appear under your webpages&#8217; titles "
1481
+ "in search results.</li>\r\n"
1482
+ "\t<li><strong>Why it helps:</strong> Getting ranked isn&#8217;t enough; once "
1483
+ "you're ranked, you need visitors to click on your site in the results. "
1484
+ "That&#8217;s where meta descriptions can help. When you provide text that "
1485
+ "makes searchers want to visit your site, you can increase your SERP "
1486
+ "clickthrough rate and thus increase search traffic.</li>\r\n"
1487
+ "\t<li><strong>How to use it:</strong> Enter meta descriptions for your "
1488
+ "homepage, posts, pages, etc. as desired, and then click Save Changes. You "
1489
+ "can also customize the meta data of an individual post or page by using the "
1490
+ "textboxes that Meta Editor adds to the post/page editors.</li>\r\n"
1491
+ "</ul>\r\n"
1492
+ msgstr ""
1493
+
1494
+ #: modules/meta/meta-descriptions.php:186
1495
+ msgid ""
1496
+ "\r\n"
1497
+ "<p>Here&#8217;s information on the various settings:</p>\r\n"
1498
+ "\r\n"
1499
+ "<ul>\r\n"
1500
+ "\t<li><strong>Blog Homepage Meta Description</strong> &mdash; When your blog "
1501
+ "homepage appears in search results, it&#8217;ll have a title and a "
1502
+ "description. When you insert content into the description field below, the "
1503
+ "Meta Editor will add code to your blog homepage (the <code>&lt;meta "
1504
+ "name=&quot;description&quot; /&gt;</code> tag) that asks search engines to "
1505
+ "use what you&#8217;ve entered as the homepage&#8217;s search results "
1506
+ "description.</li>\r\n"
1507
+ "\t<li><strong>Use this blog&#8217;s tagline as the default homepage "
1508
+ "description.</strong> &mdash; If this box is checked and if the Blog "
1509
+ "Homepage Meta Description field is empty, Meta Editor will use your "
1510
+ "blog&#8217;s tagline as the meta description. You can edit the blog&#8217;s "
1511
+ "tagline under <a href='options-general.php'>Settings &rArr; General</a>.</li>"
1512
+ "\r\n"
1513
+ "</ul>\r\n"
1514
+ msgstr ""
1515
+
1516
+ #: modules/meta/meta-descriptions.php:198
1517
+ msgid ""
1518
+ "\r\n"
1519
+ "<ul>\r\n"
1520
+ "\t<li><strong>How do I edit the meta description of my homepage?</"
1521
+ "strong><br />If you are using a &#8220;blog homepage&#8221; (the default "
1522
+ "option of showing your blog posts on your homepage), just use the Blog "
1523
+ "Homepage field. If you have configured your <a href='options-reading."
1524
+ "php'>Settings &rArr; Reading</a> section to use a &#8220;frontpage&#8221; (i."
1525
+ "e. a Page as your homepage), just edit that Page&#8217;s meta description on "
1526
+ "the &#8220;Pages&#8221; tab.</li>\r\n"
1527
+ "</ul>\r\n"
1528
+ msgstr ""
1529
+
1530
  #: modules/import-aiosp/import-aiosp.php:12
1531
  msgid "Import from All in One SEO Pack"
1532
  msgstr ""
1571
  msgid "SEO Design Solutions Whitepapers"
1572
  msgstr ""
1573
 
1574
+ #. #-#-#-#-# plugin.pot (SEO Ultimate 7.0) #-#-#-#-#
1575
  #. Author of the plugin/theme
1576
  #: modules/sds-blog/sds-blog.php:49
1577
  msgid "SEO Design Solutions"
1635
  msgid "Disabled"
1636
  msgstr ""
1637
 
1638
+ #: modules/modules/modules.php:161
1639
+ msgid "Options Help"
1640
+ msgstr ""
1641
+
1642
+ #: modules/modules/modules.php:162
1643
+ msgid ""
1644
+ "\r\n"
1645
+ "<p>The Module Manager lets you customize the visibility and accessibility of "
1646
+ "each module; here are the options available:</p>\r\n"
1647
+ "<ul>\r\n"
1648
+ "\t<li><strong>Enabled</strong> &mdash; The default option. The module will "
1649
+ "be fully enabled and accessible.</li>\r\n"
1650
+ "\t<li><strong>Silenced</strong> &mdash; The module will be enabled and "
1651
+ "accessible, but it won't be allowed to display numeric bubble alerts on the "
1652
+ "menu.</li>\r\n"
1653
+ "\t<li><strong>Hidden</strong> &mdash; The module's functionality will be "
1654
+ "enabled, but the module won't be visible on the SEO menu. You will still be "
1655
+ "able to access the module's admin page by clicking on its title in the "
1656
+ "Module Manager table.</li>\r\n"
1657
+ "\t<li><strong>Disabled</strong> &mdash; The module will be completely "
1658
+ "disabled and inaccessible.</li>\r\n"
1659
+ "</ul>\r\n"
1660
+ msgstr ""
1661
+
1662
+ #: modules/modules/modules.php:175
1663
+ msgid ""
1664
+ "\r\n"
1665
+ "<ul>\r\n"
1666
+ "\t<li><strong>What are modules?</strong><br />SEO Ultimate&#8217;s features "
1667
+ "are divided into groups called &#8220;modules.&#8221; SEO Ultimate&#8217;s "
1668
+ "&#8220;Module Manager&#8221; lets you enable or disable each of these groups "
1669
+ "of features. This way, you can pick-and-choose which SEO Ultimate features "
1670
+ "you want.</li>\r\n"
1671
+ "\t<li><strong>Can I access a module again after I&#8217;ve hidden it?</"
1672
+ "strong><br />Yes. Just go to the Module Manager and click the module&#8217;s "
1673
+ "title to open its admin page. If you&#8217;d like to put the module back in "
1674
+ "the &#8220;SEO&#8221; menu, just re-enable the module in the Module Manager "
1675
+ "and click &#8220;Save Changes.&#8221;</li>\r\n"
1676
+ "\t<li><strong>How do I disable the number bubbles on the &#8220;SEO&#8221; "
1677
+ "menu?</strong><br />Just go to the Module Manager and select the &#8220;"
1678
+ "Silenced&#8221; option for any modules generating number bubbles. Then click "
1679
+ "&#8220;Save Changes.&#8221;</li>\r\n"
1680
+ "</ul>\r\n"
1681
+ msgstr ""
1682
+
1683
  #: modules/slugs/slugs.php:12
1684
  msgid "Slug Optimizer"
1685
  msgstr ""
1688
  msgid "Words to Remove"
1689
  msgstr ""
1690
 
1691
+ #: modules/slugs/slugs.php:77
1692
+ msgid ""
1693
+ "\r\n"
1694
+ "<ul>\r\n"
1695
+ "\t<li><strong>What it does:</strong> Slug Optimizer removes common words "
1696
+ "from the portion of a post&#8217;s or Page&#8217;s URL that is based on its "
1697
+ "title. (This portion is also known as the &#8220;slug.&#8221;)</li>\r\n"
1698
+ "\t<li><strong>Why it helps:</strong> Slug Optimizer increases keyword "
1699
+ "potency because there are fewer words in your URLs competing for relevance.</"
1700
+ "li>\r\n"
1701
+ "\t<li><strong>How to use it:</strong> Slug Optimizer works without any "
1702
+ "action required on your part. When you add a new post in your WordPress "
1703
+ "admin and specify a title for it, WordPress will generate a slug and the new "
1704
+ "post&#8217;s future URL will appear below the title box. While WordPress is "
1705
+ "generating the slug, Slug Optimizer takes common words out of it. You can "
1706
+ "use the textbox on Slug Optimizer&#8217;s admin page to specify which common "
1707
+ "words are removed.</li>\r\n"
1708
+ "</ul>\r\n"
1709
+ msgstr ""
1710
+
1711
+ #: modules/slugs/slugs.php:88
1712
+ msgid ""
1713
+ "\r\n"
1714
+ "<ul>\r\n"
1715
+ "\t<li><strong>What&#8217;s a slug?</strong><br />The slug of a post or page "
1716
+ "is the portion of its URL that is based on its title. When you edit a post "
1717
+ "or Page in WordPress, the slug is the yellow-highlighted portion of the "
1718
+ "Permalink beneath the Title textbox.</li>\r\n"
1719
+ "\t<li><strong>Does the Slug Optimizer change my existing URLs?</strong><br /"
1720
+ ">No. Slug Optimizer will not relocate your content by changing existing "
1721
+ "URLs. Slug Optimizer only takes effect on new posts and pages.</li>\r\n"
1722
+ "\t<li>\r\n"
1723
+ "\t\t<p><strong>How do I see Slug Optimizer in action?</strong><br />Follow "
1724
+ "these steps:</p>\r\n"
1725
+ "\t\t<ol>\r\n"
1726
+ "\t\t\t<li>Create a new post/Page in WordPress.</li>\r\n"
1727
+ "\t\t\t<li>Type in a title containing some common and uncommon words.</li>\r\n"
1728
+ "\t\t\t<li>Click outside the Title box. WordPress will insert a URL labeled "
1729
+ "&#8220;Permalink&#8221; below the Title textbox. The Slug Optimizer will "
1730
+ "have removed the common words from the URL.</li>\r\n"
1731
+ "\t\t</ol>\r\n"
1732
+ "\t</li>\r\n"
1733
+ "\t<li><strong>What if I want to include a common word in my slug?</"
1734
+ "strong><br />When editing the post or page in question, just click the "
1735
+ "&#8220;Edit&#8221; button next to the permalink and change the slug as "
1736
+ "desired. The Slug Optimizer won&#8217;t remove words from a manually-edited "
1737
+ "slug.</li>\r\n"
1738
+ "\t<li><strong>If I edit the optimized slug but then change my mind, how do I "
1739
+ "revert back to the optimized slug?</strong><br />When editing the post or "
1740
+ "page in question, just click the &#8220;Edit&#8221; button next to the "
1741
+ "permalink; a &#8220;Save&#8221; button will appear in its place. Next erase "
1742
+ "the contents of the textbox, and then click the aforementioned &#8220;"
1743
+ "Save&#8221; button.</li>\r\n"
1744
+ "</ul>\r\n"
1745
+ msgstr ""
1746
+
1747
+ #: modules/slugs/slugs.php:108
1748
+ msgid ""
1749
+ "\r\n"
1750
+ "<ul>\r\n"
1751
+ "\t<li><strong>Why didn&#8217;t the Slug Optimizer remove common words from "
1752
+ "my slug?</strong><br />It&#8217;s possible that every word in your post "
1753
+ "title is in the list of words to remove. In this case, Slug Optimizer "
1754
+ "doesn&#8217;t remove the words, because if it did, you&#8217;d end up with a "
1755
+ "blank slug.</li>\r\n"
1756
+ "</ul>\r\n"
1757
+ msgstr ""
1758
+
1759
  #: modules/404s/fofs.php:11
1760
  msgid "404 Monitor"
1761
  msgstr ""
1762
 
1763
+ #: modules/404s/fofs.php:20
1764
+ msgid ""
1765
+ "\r\n"
1766
+ "<ul>\r\n"
1767
+ "\t<li><strong>What it does:</strong> The 404 Monitor keeps track of non-"
1768
+ "existent URLs that generated 404 errors. 404 errors are when a search engine "
1769
+ "or visitor comes to a URL on your site but nothing exists at that URL.</li>"
1770
+ "\r\n"
1771
+ "\t<li><strong>Why it helps:</strong> The 404 Monitor helps you spot 404 "
1772
+ "errors; then you can take steps to correct them to reduce link-juice loss "
1773
+ "from broken links.</li>\r\n"
1774
+ "\t<li><strong>How to use it:</strong> Check the 404 Monitor occasionally for "
1775
+ "errors. (A numeric bubble will appear next to the &#8220;404 Monitor&#8221; "
1776
+ "item on the menu if there are any newly-logged URLs that you haven't seen "
1777
+ "yet. These new URLs will also be highlighted green in the table.) If a 404 "
1778
+ "error's referring URL is located on your site, try locating and fixing the "
1779
+ "broken URL. If moved content was previously located at the requested URL, "
1780
+ "try using a redirection plugin to point the old URL to the new one.</li>\r\n"
1781
+ "</ul>\r\n"
1782
+ "\r\n"
1783
+ "<p>If there are no 404 errors in the log, this is good and means there's no "
1784
+ "action required on your part.</p>\r\n"
1785
+ msgstr ""
1786
+
1787
+ #: modules/404s/fofs.php:32
1788
+ msgid "Log Help"
1789
+ msgstr ""
1790
+
1791
+ #: modules/404s/fofs.php:33
1792
+ msgid ""
1793
+ "\r\n"
1794
+ "<p>You can perform the following actions on each entry in the log:</p>\r\n"
1795
+ "\r\n"
1796
+ "<ul>\r\n"
1797
+ "\t<li>The &#8220;View&#8221; button will open the URL in a new window. This "
1798
+ "is useful for testing whether or not a redirect is working.</li>\r\n"
1799
+ "\t<li>The &#8220;Google Cache&#8221; button will open Google's archived "
1800
+ "version of the URL in a new window. This is useful for determining what "
1801
+ "content, if any, used to be located at that URL.</li>\r\n"
1802
+ "\t<li>Once you've taken care of a 404 error, you can click the &#8220;"
1803
+ "Remove&#8221; button to remove it from the list. The URL will reappear on "
1804
+ "the list if it triggers a 404 error in the future.</li>\r\n"
1805
+ "</ul>\r\n"
1806
+ msgstr ""
1807
+
1808
+ #: modules/404s/fofs.php:46
1809
+ msgid ""
1810
+ "\r\n"
1811
+ "<p>The following options are available on the Settings tab:</p>\r\n"
1812
+ "\r\n"
1813
+ "<ul>\r\n"
1814
+ "\t<li>\r\n"
1815
+ "\t\t<strong>Monitoring Settings</strong>\r\n"
1816
+ "\t\t<ul>\r\n"
1817
+ "\t\t\t<li><strong>Continue monitoring for new 404 errors</strong> &mdash; If "
1818
+ "disabled, 404 Monitor will keep existing 404 errors in the log but won't add "
1819
+ "any new ones.</li>\r\n"
1820
+ "\t\t</ul>\r\n"
1821
+ "\t</li>\r\n"
1822
+ "\t<li>\r\n"
1823
+ "\t\t<strong>Log Restrictions</strong>\r\n"
1824
+ "\t\t<ul>\r\n"
1825
+ "\t\t\t<li><strong>Only log these types of 404 errors</strong> &mdash; Check "
1826
+ "this option to log a 404 error <em>only</em> if it meets at least one of the "
1827
+ "criteria you specify. If you don't enable any criteria, no 404 errors will "
1828
+ "be logged.\r\n"
1829
+ "\t\t\t\t<ul>\r\n"
1830
+ "\t\t\t\t\t<li><strong>404s generated by search engine spiders</strong> "
1831
+ "&mdash; When logging restriction is enabled, this option will make an "
1832
+ "exception for 404 errors generated by one of the top search engines (Google, "
1833
+ "Yahoo, Baidu, Bing, Yandex, Soso, Ask.com, Sogou, or AltaVista).</li>\r\n"
1834
+ "\t\t\t\t\t<li><strong>404s with referring URLs</strong> &mdash; When logging "
1835
+ "restriction is enabled, this option will make an exception for 404 errors "
1836
+ "generated by users who click a link on your site or another site first "
1837
+ "before ending up at a 404 page on your site.</li>\r\n"
1838
+ "\t\t\t\t</ul>\r\n"
1839
+ "\t\t\t</li>\r\n"
1840
+ "\t\t</ul>\r\n"
1841
+ "\t</li>\r\n"
1842
+ "\t<li><strong>Maximum Log Entries</strong> &mdash; Here you can set the "
1843
+ "maximum number of log entries that 404 Monitor will keep at a time. Setting "
1844
+ "this to a reasonable number will help keep database usage under control. If "
1845
+ "you change this setting, it will take effect the next time a 404 is logged.</"
1846
+ "li>\r\n"
1847
+ "\t<li><strong>URLs to Ignore</strong> &mdash; URLs entered here will be "
1848
+ "ignored whenever they generate 404 errors in the future. You can use "
1849
+ "asterisks (*) as wildcards.</li>\r\n"
1850
+ "</ul>\r\n"
1851
+ msgstr ""
1852
+
1853
+ #: modules/404s/fofs.php:75
1854
+ msgid ""
1855
+ "\r\n"
1856
+ "<p>404 Monitor doesn't appear to work? Take these notes into consideration:</"
1857
+ "p>\r\n"
1858
+ "\r\n"
1859
+ "<ul>\r\n"
1860
+ "\t<li>The 404 Monitor doesn't record 404 errors generated by logged-in users."
1861
+ "</li>\r\n"
1862
+ "\t<li>In order for the 404 Monitor to track 404 errors, you must have non-"
1863
+ "default permalinks enabled under <a href='options-permalink.php' "
1864
+ "target='_blank'>Settings &rArr; Permalinks</a>.</li>\r\n"
1865
+ "\t<li>Some parts of your website may not be under WordPress's control; the "
1866
+ "404 Monitor can't track 404 errors on non-WordPress website areas.</li>\r\n"
1867
+ "</ul>\r\n"
1868
+ msgstr ""
1869
+
1870
  #: modules/404s/fofs-settings.php:16
1871
  msgid "404 Monitor Settings"
1872
  msgstr ""
2025
  msgid "Linkbox HTML"
2026
  msgstr ""
2027
 
2028
+ #: modules/linkbox/linkbox.php:92
2029
+ msgid ""
2030
+ "\r\n"
2031
+ "<ul>\r\n"
2032
+ "\t<li><strong>What it does:</strong> Linkbox Inserter can add linkboxes to "
2033
+ "your posts/pages.</li>\r\n"
2034
+ "\t<li><strong>Why it helps:</strong> Linkboxes contain HTML code that "
2035
+ "visitors can use to link to your site. This is a great way to encourage SEO-"
2036
+ "beneficial linking activity.</li>\r\n"
2037
+ "\t<li><strong>How to use it:</strong> Use the checkboxes to enable the "
2038
+ "Linkbox Inserter in various areas of your site. Customize the HTML if "
2039
+ "desired. Click &#8220;Save Changes&#8221; when finished.</li>\r\n"
2040
+ "</ul>\r\n"
2041
+ msgstr ""
2042
+
2043
+ #: modules/linkbox/linkbox.php:103
2044
+ msgid ""
2045
+ "\r\n"
2046
+ "<p>Here&#8217;s information on the various settings:</p>\r\n"
2047
+ "\r\n"
2048
+ "<ul>\r\n"
2049
+ "\t<li>\r\n"
2050
+ "\t\t<strong>Display linkboxes...</strong>\r\n"
2051
+ "\t\t<ul>\r\n"
2052
+ "\t\t\t<li><strong>At the end of posts</strong> &mdash; Adds the linkbox HTML "
2053
+ "to the end of all posts (whether they're displayed on the blog homepage, in "
2054
+ "archives, or by themselves).</li>\r\n"
2055
+ "\t\t\t<li><strong>At the end of pages</strong> &mdash; Adds the linkbox HTML "
2056
+ "to the end of all Pages.</li>\r\n"
2057
+ "\t\t\t<li><strong>When called by the su_linkbox hook</strong> &mdash; For "
2058
+ "more fine-tuned control over where linkboxes appear, enable this option and "
2059
+ "add <code>&lt;?php do_action('su_linkbox'); ?&gt;</code> to your theme. You "
2060
+ "can also add an ID parameter to display the linkbox of a particular post/"
2061
+ "page; for example: <code>&lt;?php do_action('su_linkbox', 123); ?&gt;</code>."
2062
+ "</li>\r\n"
2063
+ "\t\t</ul>\r\n"
2064
+ "\t</li>\r\n"
2065
+ "\t<li>\r\n"
2066
+ "\t\t<strong>HTML</strong> &mdash; The HTML that will be outputted to display "
2067
+ "the linkboxes. The HTML field supports these variables:\r\n"
2068
+ "\t\t<ul>\r\n"
2069
+ "\t\t\t<li>{id} &mdash; The ID of the current post/page, or the ID passed to "
2070
+ "the action hook call.</li>\r\n"
2071
+ "\t\t\t<li>{url} &mdash; The permalink URL of the post/page.</li>\r\n"
2072
+ "\t\t\t<li>{title} &mdash; The title of the post/page.</li>\r\n"
2073
+ "\t\t</ul>\r\n"
2074
+ "\t</li>\r\n"
2075
+ "</ul>\r\n"
2076
+ msgstr ""
2077
+
2078
+ #: modules/more-links/more-links.php:12 modules/more-links/more-links.php:102
2079
  msgid "More Link Customizer"
2080
  msgstr ""
2081
 
2087
  msgid "More Link Text:"
2088
  msgstr ""
2089
 
2090
+ #: modules/more-links/more-links.php:75
2091
+ msgid ""
2092
+ "\r\n"
2093
+ "<ul>\r\n"
2094
+ "\t<li><strong>What it does:</strong> More Link Customizer lets you modify "
2095
+ "the anchor text of your posts&#8217; <a href='http://codex.wordpress.org/"
2096
+ "Customizing_the_Read_More' target='_blank'>&#8220;more&#8221; links</a>.</li>"
2097
+ "\r\n"
2098
+ "\t<li><strong>Why it helps:</strong> On the typical WordPress setup, the "
2099
+ "&#8220;more link&#8221; always has the same anchor text (e.g. &#8220;Read "
2100
+ "more of this entry&#8221;). Since internal anchor text conveys web page "
2101
+ "topicality to search engines, the &#8220;read more&#8221; phrase isn&#8217;t "
2102
+ "a desirable anchor phrase. More Link Customizer lets you replace the "
2103
+ "boilerplate text with a new anchor that, by default, integrates your post "
2104
+ "titles (which will ideally be keyword-oriented).</li>\r\n"
2105
+ "\t<li><strong>How to use it:</strong> On this page you can set the anchor "
2106
+ "text you&#8217;d like to use by default. The <code>{post}</code> variable "
2107
+ "will be replaced with the post&#8217;s title. HTML and encoded entities are "
2108
+ "supported. If instead you decide that you&#8217;d like to use the default "
2109
+ "anchor text specified by your currently-active theme, just erase the "
2110
+ "contents of the textbox. The anchor text can be overridden on a per-post "
2111
+ "basis via the &#8220;More Link Text&#8221; box in the &#8220;SEO "
2112
+ "Settings&#8221; section of the WordPress post editor.</li>\r\n"
2113
+ "</ul>\r\n"
2114
+ msgstr ""
2115
+
2116
+ #: modules/more-links/more-links.php:83
2117
+ msgid ""
2118
+ "\r\n"
2119
+ "<ul>\r\n"
2120
+ "\t<li>\r\n"
2121
+ "\t\t<p><strong>Why is the More Link Customizer an improvement over "
2122
+ "WordPress&#8217;s built-in functionality?</strong><br />Although WordPress "
2123
+ "does allow basic <a href='http://codex.wordpress.org/"
2124
+ "Customizing_the_Read_More#Having_a_custom_text_for_each_post' "
2125
+ "target='_blank'>custom &#8220;more&#8221; anchors</a>, the SEO Ultimate "
2126
+ "approach has several benefits:</p>\r\n"
2127
+ "\t\t<ul>\r\n"
2128
+ "\t\t\t<li>More Link Customizer (MLC) lets you set a custom default anchor "
2129
+ "text. WordPress, on the other hand, leaves this up to the currently-active "
2130
+ "theme.</li>\r\n"
2131
+ "\t\t\t<li>MLC lets you dynamically incorporate the post&#8217;s title into "
2132
+ "the anchor text.</li>\r\n"
2133
+ "\t\t\t<li>MLC lets you include HTML tags in your anchor, whereas WordPress "
2134
+ "strips these out.</li>\r\n"
2135
+ "\t\t\t<li>MLC&#8217;s functionality is much more prominent than "
2136
+ "WordPress&#8217;s unintuitive, barely-documented approach.</li>\r\n"
2137
+ "\t\t\t<li>Unlike WordPress's method, MLC doesn't require you to utilize the "
2138
+ "HTML editor.</li>\r\n"
2139
+ "\t\t</ul>\r\n"
2140
+ "\t\t<p>If you&#8217;ve already specified custom anchors via WordPress&#8217;"
2141
+ "s method, SEO Ultimate will import those anchors automatically into the More "
2142
+ "Link Customizer.</p>\r\n"
2143
+ "\t</li>\r\n"
2144
+ "</ul>\r\n"
2145
+ msgstr ""
2146
+
2147
  #: modules/permalinks/permalinks.php:15
2148
  msgid "Permalink Tweaker"
2149
  msgstr ""
2227
  "robots.txt file, since you&#8217;re using <a href=\"%s\">a custom one</a>."
2228
  msgstr ""
2229
 
2230
+ #: modules/files/files.php:145
2231
+ msgid ""
2232
+ "\r\n"
2233
+ "<ul>\r\n"
2234
+ "\t<li><strong>What it does:</strong> The File Editor module lets you edit "
2235
+ "two important SEO-related files: robots.txt and .htaccess.</li>\r\n"
2236
+ "\t<li><strong>Why it helps:</strong> You can use the <a href='http://www."
2237
+ "robotstxt.org/robotstxt.html' target='_blank'>robots.txt file</a> to give "
2238
+ "instructions to search engine spiders. You can use the <a href='http://httpd."
2239
+ "apache.org/docs/2.2/howto/htaccess.html' target='_blank'>.htaccess file</a> "
2240
+ "to implement advanced SEO strategies (URL rewriting, regex redirects, etc.). "
2241
+ "SEO Ultimate makes editing these files easier than ever.</li>\r\n"
2242
+ "\t<li><strong>How to use it:</strong> Edit the files as desired, then click "
2243
+ "Save Changes. If you create a custom robots.txt file, be sure to enable it "
2244
+ "with the checkbox.</li>\r\n"
2245
+ "</ul>\r\n"
2246
+ msgstr ""
2247
+
2248
+ #: modules/files/files.php:156
2249
+ msgid ""
2250
+ "\r\n"
2251
+ "<ul>\r\n"
2252
+ "\t<li><strong>Will my robots.txt edits remain if I disable the File Editor?</"
2253
+ "strong><br />No. On a WordPress blog, the robots.txt file is dynamically "
2254
+ "generated just like your posts and Pages. If you disable the File Editor "
2255
+ "module or the entire SEO Ultimate plugin, the File Editor won&#8217;t be "
2256
+ "able to insert your custom code into the robots.txt file anymore.</li>\r\n"
2257
+ "\t<li><strong>Will my .htaccess edits remain if I disable the File Editor?</"
2258
+ "strong><br />Yes. The .htaccess file is static. Your edits will remain even "
2259
+ "if you disable SEO Ultimate or its File Editor module.</li>\r\n"
2260
+ "</ul>\r\n"
2261
+ msgstr ""
2262
+
2263
+ #: modules/files/files.php:166
2264
+ msgid ""
2265
+ "\r\n"
2266
+ "<ul>\r\n"
2267
+ "\t<li><strong>Why do I get a &#8220;500 Server Error&#8221; after using the "
2268
+ "File Editor?</strong><br />You may have inserted code into your .htaccess "
2269
+ "file that your web server can't understand. As the File Editor warns, "
2270
+ "incorrectly editing your .htaccess file can disable your entire website in "
2271
+ "this way. To restore your site, you'll need to use an FTP client (or your "
2272
+ "web host's File Manager) to edit or rename your .htaccess file. If you need "
2273
+ "help, please contact your web host.</li>\r\n"
2274
+ "\t<li><strong>Where did my .htaccess edits go?</strong><br />The .htaccess "
2275
+ "file is static, so SEO Ultimate doesn't have total control over it. It&#8217;"
2276
+ "s possible that WordPress, another plugin, or other software may overwrite "
2277
+ "your .htaccess file. If you have a backup of your blog&#8217;s files, you "
2278
+ "can try recovering your edits from there.</li>\r\n"
2279
+ "</ul>\r\n"
2280
+ msgstr ""
2281
+
2282
+ #: modules/canonical/canonical.php:12 modules/canonical/canonical.php:201
2283
  msgid "Canonicalizer"
2284
  msgstr ""
2285
 
2296
  msgid "Redirect requests for nonexistent pagination."
2297
  msgstr ""
2298
 
2299
+ #: modules/canonical/canonical.php:202
2300
+ msgid ""
2301
+ "\r\n"
2302
+ "<ul>\r\n"
2303
+ "\t<li>\r\n"
2304
+ "\t\t<p><strong>What it does:</strong> Canonicalizer improves on two "
2305
+ "WordPress features to minimize possible exact-content duplication penalties. "
2306
+ "The <code>&lt;link rel=&quot;canonical&quot; /&gt;</code> tags setting "
2307
+ "improves on the canonical tags feature of WordPress 2.9 and above by "
2308
+ "encompassing much more of your site than just your posts and Pages.</p>\r\n"
2309
+ "\t\t<p>The nonexistent pagination redirect feature fills a gap in "
2310
+ "WordPress's built-in canonicalization functionality: for example, if a URL "
2311
+ "request is made for page 6 of a category archive, and that category doesn't "
2312
+ "have a page 6, then by default, depending on the context, WordPress will "
2313
+ "display a blank page, or it will display the content of the closest page "
2314
+ "number available, without issuing a 404 error or a 301 redirect (thus "
2315
+ "creating two or more identical webpages). This duplicate-content situation "
2316
+ "can happen when you, for example, remove many posts from a category, thus "
2317
+ "reducing the amount of pagination needed in the category's archive. The "
2318
+ "Canonicalizer's feature fixes that behavior by issuing 301 redirects to page "
2319
+ "1 of the paginated section in question.</p>\r\n"
2320
+ "\t</li>\r\n"
2321
+ "\t<li><strong>Why it helps:</strong> These features will point Google to the "
2322
+ "correct URL for your homepage and each of your posts, Pages, categories, "
2323
+ "tags, date archives, and author archives. That way, if Google comes across "
2324
+ "an alternate URL by which one of those items can be accessed, it will be "
2325
+ "able to find the correct URL and won't penalize you for having two identical "
2326
+ "pages on your site.</li>\r\n"
2327
+ "\t<li><strong>How to use it:</strong> Just check all three checkboxes and "
2328
+ "click Save Changes. SEO Ultimate will do the rest.</li>\r\n"
2329
+ "</ul>\r\n"
2330
+ msgstr ""
2331
+
2332
  #: modules/user-code/user-code.php:12
2333
  msgid "Code Inserter"
2334
  msgstr ""
2357
  msgid "Code Inserter module"
2358
  msgstr ""
2359
 
2360
+ #: modules/user-code/user-code.php:71
2361
+ msgid ""
2362
+ "\r\n"
2363
+ "<ul>\r\n"
2364
+ "\t<li><strong>What it does:</strong> Code Inserter can add custom HTML code "
2365
+ "to various parts of your site.</li>\r\n"
2366
+ "\t<li>\r\n"
2367
+ "\t\t<p><strong>Why it helps:</strong> Code Inserter is useful for inserting "
2368
+ "third-party code that can improve the SEO or user experience of your site. "
2369
+ "For example, you can use Code Inserter to add Google Analytics code to your "
2370
+ "footer, Feedburner FeedFlares or social media widgets after your posts, or "
2371
+ "Google AdSense section targeting code before/after your content.</p>\r\n"
2372
+ "\t\t<p>Using Code Inserter is easier than editing your theme manually "
2373
+ "because your custom code is stored in one convenient location and will be "
2374
+ "added to your site even if you change your site&#8217;s theme.</p>\r\n"
2375
+ "\t</li>\r\n"
2376
+ "\t<li><strong>How to use it:</strong> Just paste the desired HTML code into "
2377
+ "the appropriate fields and then click Save Changes.</li>\r\n"
2378
+ "</ul>\r\n"
2379
+ msgstr ""
2380
+
2381
+ #: modules/user-code/user-code.php:85
2382
+ msgid ""
2383
+ "\r\n"
2384
+ "<ul>\r\n"
2385
+ "\t<li><strong>Why doesn't my code appear on my site?</strong><br />It&#8217;"
2386
+ "s possible that your theme doesn't have the proper &#8220;hooks,&#8221; "
2387
+ "which are pieces of code that let WordPress plugins insert custom HTML into "
2388
+ "your theme. <a href='http://johnlamansky.com/wordpress/theme-plugin-hooks/' "
2389
+ "target='_blank'>Click here</a> for information on how to check your theme "
2390
+ "and add the hooks if needed.</li>\r\n"
2391
+ "</ul>\r\n"
2392
+ msgstr ""
2393
+
2394
  #: modules/settings/settings-data.php:16
2395
  msgid "Settings Data Manager"
2396
  msgstr ""
2427
  "click the &#8220;Browse&#8221; button and select a file to import."
2428
  msgstr ""
2429
 
2430
+ #: modules/settings/settings-data.php:130
2431
  msgid ""
2432
  "The uploaded file is not in the proper format. Links could not be imported."
2433
  msgstr ""
2434
 
2435
+ #: modules/settings/settings-data.php:172
2436
  msgid "Links successfully imported."
2437
  msgstr ""
2438
 
2439
+ #: modules/settings/settings-data.php:175
2440
  msgid "The CSV file could not be uploaded successfully."
2441
  msgstr ""
2442
 
2443
+ #: modules/settings/settings-data.php:178
2444
  msgid ""
2445
  "Links could not be imported because no CSV file was selected. Please click "
2446
  "the &#8220;Browse&#8221; button and select a file to import."
2447
  msgstr ""
2448
 
2449
+ #: modules/settings/settings-data.php:188
2450
  msgid "Import SEO Ultimate Settings File"
2451
  msgstr ""
2452
 
2453
+ #: modules/settings/settings-data.php:190
2454
  msgid ""
2455
  "You can use this form to upload and import an SEO Ultimate settings file "
2456
  "stored on your computer. (These files can be created using the Export tool.) "
2458
  "in the file."
2459
  msgstr ""
2460
 
2461
+ #: modules/settings/settings-data.php:194
2462
  msgid ""
2463
  "Are you sure you want to import this settings file? This will overwrite your "
2464
  "current settings and cannot be undone."
2465
  msgstr ""
2466
 
2467
+ #: modules/settings/settings-data.php:195
2468
  msgid "Import Settings File"
2469
  msgstr ""
2470
 
2471
+ #: modules/settings/settings-data.php:201
2472
  msgid "Import Deeplink Juggernaut CSV File"
2473
  msgstr ""
2474
 
2475
+ #: modules/settings/settings-data.php:203
2476
  msgid ""
2477
  "You can use this form to upload and import a Deeplink Juggernaut CSV file "
2478
  "stored on your computer. (These files can be created using the Export tool.) "
2480
  "the file."
2481
  msgstr ""
2482
 
2483
+ #: modules/settings/settings-data.php:207
2484
  msgid ""
2485
  "Are you sure you want to import this CSV file? This will overwrite your "
2486
  "current Deeplink Juggernaut links and cannot be undone."
2487
  msgstr ""
2488
 
2489
+ #: modules/settings/settings-data.php:208
2490
  msgid "Import CSV File"
2491
  msgstr ""
2492
 
2493
+ #: modules/settings/settings-data.php:223
2494
  msgid "Import from Other Plugins"
2495
  msgstr ""
2496
 
2497
+ #: modules/settings/settings-data.php:225
2498
  msgid ""
2499
  "You can import settings and data from these plugins. Clicking a plugin&#8217;"
2500
  "s name will take you to the importer page, where you can customize "
2501
  "parameters and start the import."
2502
  msgstr ""
2503
 
2504
+ #: modules/settings/settings-data.php:245
2505
  msgid "Export SEO Ultimate Settings File"
2506
  msgstr ""
2507
 
2508
+ #: modules/settings/settings-data.php:247
2509
  msgid ""
2510
  "You can use this export tool to download an SEO Ultimate settings file to "
2511
  "your computer."
2512
  msgstr ""
2513
 
2514
+ #: modules/settings/settings-data.php:249
2515
  msgid ""
2516
  "A settings file includes the data of every checkbox and textbox of every "
2517
  "installed module. It does NOT include site-specific data like logged 404s or "
2519
  "database backup, however)."
2520
  msgstr ""
2521
 
2522
+ #: modules/settings/settings-data.php:252
2523
  msgid "Download Settings File"
2524
  msgstr ""
2525
 
2526
+ #: modules/settings/settings-data.php:257
2527
  msgid "Export Deeplink Juggernaut CSV File"
2528
  msgstr ""
2529
 
2530
+ #: modules/settings/settings-data.php:259
2531
  msgid ""
2532
  "You can use this export tool to download a CSV file (comma-separated values "
2533
  "file) that contains your Deeplink Juggernaut links. Once you download this "
2536
  "the Import tool."
2537
  msgstr ""
2538
 
2539
+ #: modules/settings/settings-data.php:262
2540
  msgid "Download CSV File"
2541
  msgstr ""
2542
 
2543
+ #: modules/settings/settings-data.php:269
2544
  msgid "All settings have been erased and defaults have been restored."
2545
  msgstr ""
2546
 
2547
+ #: modules/settings/settings-data.php:271
2548
  msgid ""
2549
  "You can erase all your SEO Ultimate settings and restore them to &#8220;"
2550
  "factory defaults&#8221; by clicking the button below."
2551
  msgstr ""
2552
 
2553
+ #: modules/settings/settings-data.php:274
2554
  msgid ""
2555
  "Are you sure you want to erase all module settings? This cannot be undone."
2556
  msgstr ""
2557
 
2558
+ #: modules/settings/settings-data.php:275
2559
  msgid "Restore Default Settings"
2560
  msgstr ""
2561
 
2562
+ #: modules/settings/global-settings.php:18 modules/settings/settings.php:29
2563
  msgid "Global Settings"
2564
  msgstr ""
2565
 
2587
  msgid "SEO Ultimate Plugin Settings"
2588
  msgstr ""
2589
 
2590
+ #. #-#-#-#-# plugin.pot (SEO Ultimate 7.0) #-#-#-#-#
2591
  #. Plugin Name of the plugin/theme
2592
+ #: modules/settings/settings.php:14 plugin/class.seo-ultimate.php:791
2593
  msgid "SEO Ultimate"
2594
  msgstr ""
2595
 
2596
+ #: modules/settings/settings.php:23
2597
+ msgid ""
2598
+ "\r\n"
2599
+ "<p>The Settings module lets you manage settings related to the SEO Ultimate "
2600
+ "plugin as a whole.</p>\r\n"
2601
+ msgstr ""
2602
+
2603
+ #: modules/settings/settings.php:30
2604
+ msgid ""
2605
+ "\r\n"
2606
+ "<p>Here&#8217;s information on some of the settings:</p>\r\n"
2607
+ "<ul>\r\n"
2608
+ "\t<li><strong>Enable nofollow&#8217;d attribution link</strong> &mdash; If "
2609
+ "enabled, the plugin will display an attribution link on your site.</li>\r\n"
2610
+ "\t<li><strong>Notify me about unnecessary active plugins</strong> &mdash; If "
2611
+ "enabled, SEO Ultimate will add notices to your &#8220;Plugins&#8221; "
2612
+ "administration page if you have any other plugins installed whose "
2613
+ "functionality SEO Ultimate replaces.</li>\r\n"
2614
+ "\t<li><strong>Insert comments around HTML code insertions</strong> &mdash; "
2615
+ "If enabled, SEO Ultimate will use HTML comments to identify all code it "
2616
+ "inserts into your <code>&lt;head&gt;</code> tag. This is useful if you&#8217;"
2617
+ "re trying to figure out whether or not SEO Ultimate is inserting a certain "
2618
+ "piece of header code.</li>\r\n"
2619
+ "</ul>\r\n"
2620
+ msgstr ""
2621
+
2622
+ #: modules/settings/settings.php:42
2623
+ msgid ""
2624
+ "\r\n"
2625
+ "<ul>\r\n"
2626
+ "\t<li>\r\n"
2627
+ "\t\t<p><strong>Why doesn&#8217;t the settings exporter include all my data "
2628
+ "in an export?</strong><br />The settings export/import system is designed to "
2629
+ "facilitate moving settings between sites. It is NOT a replacement for "
2630
+ "keeping your database backed up. The settings exporter doesn&#8217;t include "
2631
+ "data that is specific to your site. For example, logged 404 errors are not "
2632
+ "included because those 404 errors only apply to your site, not another site. "
2633
+ "Also, post/page titles/meta are not included because the site into which you "
2634
+ "import the file could have totally different posts/pages located under the "
2635
+ "same ID numbers.</p>\r\n"
2636
+ "\t\t<p>If you&#8217;re moving a site to a different server or restoring a "
2637
+ "crashed site, you should do so with database backup/restore.</p>\r\n"
2638
+ "\t</li>\r\n"
2639
+ "</ul>\r\n"
2640
+ msgstr ""
2641
+
2642
  #: modules/settings/uninstall.php:17
2643
  msgid "Uninstaller"
2644
  msgstr ""
2645
 
2646
+ #: modules/settings/uninstall.php:18 plugin/class.seo-ultimate.php:1278
2647
  msgid "Uninstall"
2648
  msgstr ""
2649
 
2779
  msgstr ""
2780
 
2781
  #: modules/sharing-buttons/sharing-buttons.php:12
2782
+ #: modules/sharing-buttons/sharing-buttons.php:72
2783
  msgid "Sharing Facilitator"
2784
  msgstr ""
2785
 
2803
  msgid "Use the AddThis button"
2804
  msgstr ""
2805
 
2806
+ #: modules/sharing-buttons/sharing-buttons.php:73
2807
+ msgid ""
2808
+ "\r\n"
2809
+ "<ul>\r\n"
2810
+ "\t<li><strong>What it does:</strong> Sharing Facilitator adds buttons to "
2811
+ "your posts/pages that make it easy for visitors to share your content.</li>"
2812
+ "\r\n"
2813
+ "\t<li><strong>Why it helps:</strong> When visitors share your content on "
2814
+ "social networking sites, this can build links to your site. Sharing "
2815
+ "Facilitator makes it easy for visitors to do this.</li>\r\n"
2816
+ "\t<li><strong>How to use it:</strong> Pick which button type you&#8217;d "
2817
+ "like to use (ShareThis or AddThis) and click Save Changes. Try enabling each "
2818
+ "button on your site and see which one you like better.</li>\r\n"
2819
+ "</ul>\r\n"
2820
+ msgstr ""
2821
+
2822
  #: modules/wp-settings/wp-settings.php:14
2823
  msgid "Settings Monitor (Beta)"
2824
  msgstr ""
2906
  msgstr ""
2907
 
2908
  #: modules/noindex/noindex.php:54 modules/noindex/noindex.php:78
2909
+ #: modules/autolinks/content-autolinks.php:394
2910
  #: modules/autolinks/footer-autolinks.php:214
2911
  msgid "Nofollow"
2912
  msgstr ""
3015
  msgid "Content Links"
3016
  msgstr ""
3017
 
3018
+ #: modules/autolinks/content-autolinks.php:281
3019
  #: modules/autolinks/footer-autolinks.php:129
3020
  msgid ""
3021
  "The Content Links section of Deeplink Juggernaut lets you automatically link "
3022
  "a certain word or phrase in your post/page content to a URL you specify."
3023
  msgstr ""
3024
 
3025
+ #: modules/autolinks/content-autolinks.php:337
3026
  #: modules/autolinks/footer-autolinks.php:161
3027
  msgid "Edit Existing Links"
3028
  msgstr ""
3029
 
3030
+ #: modules/autolinks/content-autolinks.php:341
3031
  #: modules/autolinks/footer-autolinks.php:165
3032
  msgid "Add a New Link"
3033
  msgstr ""
3034
 
3035
+ #: modules/autolinks/content-autolinks.php:352
3036
  #: modules/autolinks/footer-autolinks.php:175
3037
  msgid "Anchor Text"
3038
  msgstr ""
3039
 
3040
+ #: modules/autolinks/content-autolinks.php:353
3041
  #: modules/autolinks/footer-autolinks.php:176
3042
  msgid "Destination"
3043
  msgstr ""
3044
 
3045
+ #: modules/autolinks/content-autolinks.php:354
3046
  #: modules/autolinks/footer-autolinks.php:177
3047
  msgid "Title Attribute"
3048
  msgstr ""
3049
 
3050
+ #: modules/autolinks/content-autolinks.php:356
3051
  msgid "Site Cap"
3052
  msgstr ""
3053
 
3054
+ #: modules/autolinks/content-autolinks.php:357
3055
  #: modules/autolinks/footer-autolinks.php:178
3056
  msgid "Options"
3057
  msgstr ""
3058
 
3059
+ #: modules/autolinks/content-autolinks.php:359
3060
  #: modules/autolinks/footer-autolinks.php:180
3061
  msgid "Delete"
3062
  msgstr ""
3063
 
3064
+ #: modules/autolinks/content-autolinks.php:396
3065
  #: modules/autolinks/footer-autolinks.php:216
3066
  msgid "New window"
3067
  msgstr ""
3068
 
3069
+ #: modules/autolinks/content-autolinks.php:461
3070
  msgid "Incoming Autolink Anchors:<br /><em>(one per line)</em>"
3071
  msgstr ""
3072
 
3073
+ #: modules/autolinks/content-autolinks.php:464
3074
  msgid "Don&#8217;t add autolinks to anchor texts found in this post."
3075
  msgstr ""
3076
 
3077
+ #: modules/autolinks/content-autolinks.php:464
3078
  msgid "Autolink Exclusion:"
3079
  msgstr ""
3080
 
3081
+ #: modules/autolinks/content-autolinks.php:470
3082
  msgid ""
3083
  "<strong>Incoming Autolink Anchors</strong> &mdash; When you enter anchors "
3084
  "into this box, Deeplink Juggernaut will search for that anchor in all your "
3286
  msgid "%s, and %s"
3287
  msgstr ""
3288
 
3289
+ #: plugin/class.seo-ultimate.php:791
3290
  msgid "SEO"
3291
  msgstr ""
3292
 
3293
+ #: plugin/class.seo-ultimate.php:980
3294
  msgid ""
3295
  "It looks like you made changes to the settings of this SEO Ultimate module. "
3296
  "If you leave before saving, those changes will be lost."
3297
  msgstr ""
3298
 
3299
+ #: plugin/class.seo-ultimate.php:1074
3300
  msgid "SEO Settings Help"
3301
  msgstr ""
3302
 
3303
+ #: plugin/class.seo-ultimate.php:1076
3304
  msgid "The SEO Settings box lets you customize these settings:"
3305
  msgstr ""
3306
 
3307
+ #: plugin/class.seo-ultimate.php:1078
3308
  msgid "(The SEO Settings box is part of the SEO Ultimate plugin.)"
3309
  msgstr ""
3310
 
3311
+ #: plugin/class.seo-ultimate.php:1133
3312
  msgid ""
3313
  "SEO Ultimate includes the functionality of %1$s. You may want to deactivate %"
3314
  "1$s to avoid plugin conflicts."
3315
  msgstr ""
3316
 
3317
+ #: plugin/class.seo-ultimate.php:1177
3318
  msgid "new module"
3319
  msgstr ""
3320
 
3321
+ #: plugin/class.seo-ultimate.php:1177
3322
  msgid "new modules"
3323
  msgstr ""
3324
 
3325
+ #: plugin/class.seo-ultimate.php:1178
3326
  msgid "new feature"
3327
  msgstr ""
3328
 
3329
+ #: plugin/class.seo-ultimate.php:1178
3330
  msgid "new features"
3331
  msgstr ""
3332
 
3333
+ #: plugin/class.seo-ultimate.php:1179
3334
  msgid "bugfix"
3335
  msgstr ""
3336
 
3337
+ #: plugin/class.seo-ultimate.php:1179
3338
  msgid "bugfixes"
3339
  msgstr ""
3340
 
3341
+ #: plugin/class.seo-ultimate.php:1180
3342
  msgid "improvement"
3343
  msgstr ""
3344
 
3345
+ #: plugin/class.seo-ultimate.php:1180
3346
  msgid "improvements"
3347
  msgstr ""
3348
 
3349
+ #: plugin/class.seo-ultimate.php:1181
3350
  msgid "security fix"
3351
  msgstr ""
3352
 
3353
+ #: plugin/class.seo-ultimate.php:1181
3354
  msgid "security fixes"
3355
  msgstr ""
3356
 
3357
+ #: plugin/class.seo-ultimate.php:1182
3358
+ msgid "new language pack"
3359
+ msgstr ""
3360
+
3361
+ #: plugin/class.seo-ultimate.php:1182
3362
+ msgid "new language packs"
3363
+ msgstr ""
3364
+
3365
+ #: plugin/class.seo-ultimate.php:1183
3366
+ msgid "language pack update"
3367
+ msgstr ""
3368
+
3369
+ #: plugin/class.seo-ultimate.php:1183
3370
+ msgid "language pack updates"
3371
+ msgstr ""
3372
+
3373
+ #: plugin/class.seo-ultimate.php:1214
3374
  msgid "%d %s"
3375
  msgstr ""
3376
 
3377
+ #: plugin/class.seo-ultimate.php:1220
3378
  msgid "Upgrade now to get %s. %s."
3379
  msgstr ""
3380
 
3381
+ #: plugin/class.seo-ultimate.php:1222
3382
  msgid "View changelog"
3383
  msgstr ""
3384
 
3385
+ #: plugin/class.seo-ultimate.php:1298
3386
  msgid "Active Modules: "
3387
  msgstr ""
3388
 
3389
+ #: plugin/class.seo-ultimate.php:1359
3390
  msgid ""
3391
  "<strong>SEO Ultimate Notice:</strong> Your blog is configured to block "
3392
  "search engine spiders. To resolve this, <a href=\"options-privacy.php\" "
3394
  "to everyone."
3395
  msgstr ""
3396
 
3397
+ #: plugin/class.seo-ultimate.php:1481
3398
  msgid "SEO Settings"
3399
  msgstr ""
3400
 
3401
+ #: plugin/class.seo-ultimate.php:1670
3402
  msgid "Home"
3403
  msgstr ""
3404
 
3405
+ #: plugin/class.seo-ultimate.php:1739
3406
  msgid "Author Archives"
3407
  msgstr ""
3408
 
translations/seo-ultimate-it_IT.mo ADDED
Binary file
translations/seo-ultimate-it_IT.po ADDED
@@ -0,0 +1,2183 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (C) 2010 SEO Ultimate
2
+ # This file is distributed under the same license as the SEO Ultimate package.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: SEO Ultimate in italiano\n"
6
+ "Report-Msgid-Bugs-To: http://wordpress.org/tag/seo-ultimate\n"
7
+ "POT-Creation-Date: 2011-08-20 18:36:26+00:00\n"
8
+ "PO-Revision-Date: 2011-08-23 11:46+0100\n"
9
+ "Last-Translator: Gianni Diurno (aka gidibao) <gidibao[at]gmail[dot]com>\n"
10
+ "Language-Team: Gianni Diurno | gidibao.net & charmingpress.com\n"
11
+ "MIME-Version: 1.0\n"
12
+ "Content-Type: text/plain; charset=UTF-8\n"
13
+ "Content-Transfer-Encoding: 8bit\n"
14
+ "X-Poedit-Language: Italian\n"
15
+ "X-Poedit-Country: ITALY\n"
16
+ "X-Poedit-SourceCharset: utf-8\n"
17
+ "X-Poedit-KeywordsList: __;_e\n"
18
+ "X-Poedit-Basepath: ../\n"
19
+ "Plural-Forms: nplurals=2; plural=(n != 1);\\n\n"
20
+ "X-Poedit-SearchPath-0: .\n"
21
+
22
+ #: seo-ultimate.php:90
23
+ msgid "SEO Ultimate requires WordPress %s or above. Please upgrade to the latest version of WordPress to enable SEO Ultimate on your blog, or deactivate SEO Ultimate to remove this notice."
24
+ msgstr "SEO Ultimate richiede una versione di WordPress %s o superiore. Agggiorna alla ultima versione di WordPress per attivare SEO Ultimate nel tuo blog oppure, disattiva SEO Ultimate per rimuovere questo avviso."
25
+
26
+ #: modules/class.su-module.php:375
27
+ msgid "(Note: This translated documentation was designed for an older version of SEO Ultimate and may be outdated.)"
28
+ msgstr "(Nota: questa traduzione della documentazione è stata realizzata per una vecchia versione di SEO Ultimate e potrebbe essere quindi antiquata.)"
29
+
30
+ #: modules/class.su-module.php:658
31
+ msgid "All the modules on this page have been disabled. You can re-enable them using the <a href=\"%s\">Module Manager</a>."
32
+ msgstr "Tutti i moduli di questa pagina sono stati disattivati. Puoi riattivarli usando il <a href=\"%s\">Module Manager</a>."
33
+
34
+ #: modules/class.su-module.php:1017
35
+ msgctxt "Dropdown Title"
36
+ msgid "%s &mdash; %s"
37
+ msgstr "%s &mdash; %s"
38
+
39
+ #: modules/class.su-module.php:1045
40
+ msgid "%1$s | %2$s %3$s by %4$s"
41
+ msgstr "%1$s | %2$s %3$s di %4$s"
42
+
43
+ #: modules/class.su-module.php:1124
44
+ msgid "Your site currently doesn&#8217;t have any public items of this type."
45
+ msgstr "Il tuo sito non ha pubblicato al momento nessun elemento di questo tipo."
46
+
47
+ #: modules/class.su-module.php:1208
48
+ msgid "&laquo;"
49
+ msgstr "&laquo;"
50
+
51
+ #: modules/class.su-module.php:1209
52
+ msgid "&raquo;"
53
+ msgstr "&raquo;"
54
+
55
+ #: modules/class.su-module.php:1216
56
+ msgid "Displaying %s&#8211;%s of %s"
57
+ msgstr "In visione %s&#8211;%s di %s"
58
+
59
+ #: modules/class.su-module.php:1229
60
+ #: modules/404s/fofs-log.php:113
61
+ msgid "Actions"
62
+ msgstr "Azioni"
63
+
64
+ #: modules/class.su-module.php:1230
65
+ msgid "ID"
66
+ msgstr "ID"
67
+
68
+ #: modules/class.su-module.php:1264
69
+ msgid "View"
70
+ msgstr "Vedi"
71
+
72
+ #: modules/class.su-module.php:1266
73
+ msgid "Edit"
74
+ msgstr "Modifica"
75
+
76
+ #: modules/class.su-module.php:1430
77
+ msgid "Settings updated."
78
+ msgstr "Le impostazioni sono state aggiornate."
79
+
80
+ #: modules/class.su-module.php:1451
81
+ msgid "Save Changes"
82
+ msgstr "Salva le modifiche"
83
+
84
+ #: modules/class.su-module.php:1962
85
+ msgid "Are you sure you want to replace the textbox contents with this default value?"
86
+ msgstr "Sei certo di volere sostituire i contenuti nella casella di testo con questi valori predefiniti?"
87
+
88
+ #: modules/class.su-module.php:1978
89
+ #: modules/settings/settings-data.php:23
90
+ msgid "Reset"
91
+ msgstr "Ripristina"
92
+
93
+ #: modules/class.su-module.php:2588
94
+ #: modules/meta/meta-keywords.php:34
95
+ #: modules/meta/meta-descriptions.php:25
96
+ #: plugin/class.seo-ultimate.php:1680
97
+ msgid "Blog Homepage"
98
+ msgstr "Homepage blog"
99
+
100
+ #: modules/class.su-module.php:2592
101
+ #: plugin/class.seo-ultimate.php:1754
102
+ msgid "Author"
103
+ msgstr "Autore"
104
+
105
+ #: modules/class.su-module.php:2612
106
+ msgid "Type a URL or start typing the name of the item you want to link to"
107
+ msgstr "Inserisci un URL o digita il nome dell'elemento al quale desideri puntare il link"
108
+
109
+ #: modules/class.su-module.php:2624
110
+ msgid "Remove this destination"
111
+ msgstr "Rimuovi questa destinazione"
112
+
113
+ #: modules/class.su-module.php:2624
114
+ msgid "X"
115
+ msgstr "X"
116
+
117
+ #: modules/class.su-importmodule.php:49
118
+ msgid "Import Post Fields"
119
+ msgstr "Importa campi articolo"
120
+
121
+ #: modules/class.su-importmodule.php:50
122
+ msgid "Post fields store the SEO data for your posts/pages (i.e. your custom title tags, meta descriptions, and meta keywords). If you provided custom titles/descriptions/keywords to %s, this importer can move that data over to SEO Ultimate."
123
+ msgstr "I campi articolo conservano i dati SEO dei tuoi articoli/pagine (ad esempio: tag titolo personalizzato, descrizioni meta e parole chiave meta). Avessi fornito a %s dei titoli/descrizioni/keyword, questo importatore potrà spostare i dati in SEO Ultimate."
124
+
125
+ #: modules/class.su-importmodule.php:53
126
+ msgid "Conflict Resolution Mode"
127
+ msgstr "Modalità soluzione conflitto"
128
+
129
+ #: modules/class.su-importmodule.php:54
130
+ msgid "What should the import tool do if it tries to move over a post&#8217;s %s data, but different data already exists in the corresponding SEO Ultimate fields?"
131
+ msgstr "Come desideri che si comporti lo strumento di importazione nel caso in cui nel tentativo di spostare i dati %s di un articolo trovasse dei dati già esistenti nei corrispondenti campi di di SEO Ultimate?"
132
+
133
+ #: modules/class.su-importmodule.php:56
134
+ msgid "Skip that post and leave all data as-is (default)."
135
+ msgstr "Salta l'articolo e lascia tutto così come trovi (predefinito)."
136
+
137
+ #: modules/class.su-importmodule.php:57
138
+ msgid "Delete the SEO Ultimate data and replace it with the %s data."
139
+ msgstr "Cancella i dati SEO Ultimate data e sostituiscili con i dati %s."
140
+
141
+ #: modules/class.su-importmodule.php:58
142
+ msgid "Keep the SEO Ultimate data and delete the %s data."
143
+ msgstr "Conserva i dati SEO Ultimate data e cancella i dati %s."
144
+
145
+ #: modules/class.su-importmodule.php:61
146
+ msgid "Deletion Preference"
147
+ msgstr "Preferenze cancellazione"
148
+
149
+ #: modules/class.su-importmodule.php:62
150
+ msgid "When the migration tool successfully copies a post&#8217;s %1$s data over to SEO Ultimate, what should it do with the old %1$s data?"
151
+ msgstr "Una volta che strumento di migrazione avrà copiato i dati %1$s in SEO Ultimate, cosa intendi fare con i vecchi dati %1$s?"
152
+
153
+ #: modules/class.su-importmodule.php:64
154
+ msgid "Delete the %s data."
155
+ msgstr "Cancella i dati %s."
156
+
157
+ #: modules/class.su-importmodule.php:65
158
+ msgid "Leave behind the duplicate %s data (default)."
159
+ msgstr "Lascia i dati del duplicato %s (predefinito)."
160
+
161
+ #: modules/class.su-importmodule.php:72
162
+ msgid "Import Now"
163
+ msgstr "Importa adesso"
164
+
165
+ #: modules/class.su-importmodule.php:75
166
+ msgid "The import cannot be undone. It is your responsibility to <a href=\"%s\" target=\"_blank\">backup your database</a> before proceeding!"
167
+ msgstr "L'importazione è irreversibile. Effettua il backup del tuo <a href=\"%s\" target=\"_blank\">database</a> prima di procedere!"
168
+
169
+ #: modules/class.su-importmodule.php:84
170
+ msgid "Import complete."
171
+ msgstr "Importazione completa."
172
+
173
+ #: modules/class.su-importmodule.php:90
174
+ msgid "Return to import page"
175
+ msgstr "Ritorna alla pagina delle importazioni"
176
+
177
+ #: modules/class.su-importmodule.php:93
178
+ msgid "Return to settings page"
179
+ msgstr "Ritorna alla pagina delle impostazioni"
180
+
181
+ #: modules/class.su-importmodule.php:96
182
+ msgid "Return to SEO page"
183
+ msgstr "Ritorna alla pagina SEO"
184
+
185
+ #: modules/class.su-importmodule.php:116
186
+ msgid "Deactivated %s."
187
+ msgstr "Disattivato %s."
188
+
189
+ #: modules/class.su-importmodule.php:174
190
+ msgid "Imported a total of %d fields for one post/page/revision."
191
+ msgid_plural "Imported a total of %1$d fields for %2$d posts/pages/revisions."
192
+ msgstr[0] "Importato un totale di %d campi per un articolo/pagina/revisione."
193
+ msgstr[1] "Importato un totale di %1$d campi per %2$d articoli/pagine/revisioni."
194
+
195
+ #: modules/class.su-importmodule.php:180
196
+ msgid "Skipped one post with disabled %2$s data."
197
+ msgid_plural "Skipped %1$d posts with disabled %2$s data."
198
+ msgstr[0] "Saltato un articolo con i dati %2$s disabilitati."
199
+ msgstr[1] "Saltati %1$d articoli con i dati %2$s disabilitati."
200
+
201
+ #: modules/class.su-importmodule.php:186
202
+ msgid "Overwrote one SEO Ultimate field with %2$s data, as instructed by the settings you chose."
203
+ msgid_plural "Overwrote %1$d SEO Ultimate fields with %2$s data, as instructed by the settings you chose."
204
+ msgstr[0] "Sovrascrive il campo SEO Ultimate con il dato %2$s,come da tua impostazione."
205
+ msgstr[1] "Sovrascrive i campi %1$d SEO Ultimate con i dati %2$s, come da tua impostazione."
206
+
207
+ #: modules/class.su-importmodule.php:192
208
+ msgid "Deleted one %2$s field, as instructed by the settings you chose."
209
+ msgid_plural "Deleted %1$d %2$s fields, as instructed by the settings you chose."
210
+ msgstr[0] "Cancellato un campo %2$s, così come da tua impostazione."
211
+ msgstr[1] "Cancellati%1$d %2$s campi, così come da tua impostazione."
212
+
213
+ #: modules/rich-snippets/rich-snippets.php:12
214
+ msgid "Rich Snippet Creator"
215
+ msgstr "Rich Snippet Creator"
216
+
217
+ #: modules/rich-snippets/rich-snippets.php:17
218
+ msgid ""
219
+ "Reviews\n"
220
+ "Review"
221
+ msgstr ""
222
+ "Reviews\n"
223
+ "Review"
224
+
225
+ #: modules/rich-snippets/rich-snippets.php:28
226
+ msgid "Data Format"
227
+ msgstr "Formato dati"
228
+
229
+ #: modules/rich-snippets/rich-snippets.php:29
230
+ msgid "Categories/Tags That Indicate Reviews"
231
+ msgstr "Categorie/Tag che indicano revisioni"
232
+
233
+ #: modules/rich-snippets/rich-snippets.php:37
234
+ msgid "Microformats (recommended)"
235
+ msgstr "Microformats (preferibile)"
236
+
237
+ #: modules/rich-snippets/rich-snippets.php:43
238
+ msgid "HTML5 Microdata"
239
+ msgstr "HTML5 Microdata"
240
+
241
+ #: modules/rich-snippets/rich-snippets.php:49
242
+ msgid "RDFa"
243
+ msgstr "RDFa"
244
+
245
+ #: modules/rich-snippets/rich-snippets.php:62
246
+ #: modules/rich-snippets/rich-snippets.php:224
247
+ msgid "Review"
248
+ msgstr "Review"
249
+
250
+ #: modules/rich-snippets/rich-snippets.php:70
251
+ msgid "Item Reviewed"
252
+ msgstr "L'elemento è stato valutato"
253
+
254
+ #: modules/rich-snippets/rich-snippets.php:78
255
+ msgid "Star Rating"
256
+ msgstr "Star Rating"
257
+
258
+ #: modules/rich-snippets/rich-snippets.php:83
259
+ msgid "Review Author"
260
+ msgstr "Autore valutazione"
261
+
262
+ #: modules/rich-snippets/rich-snippets.php:89
263
+ msgid "Date Reviewed"
264
+ msgstr "Data valutazione"
265
+
266
+ #: modules/rich-snippets/rich-snippets.php:223
267
+ #: modules/rich-snippets/rich-snippets.php:232
268
+ msgid "None"
269
+ msgstr "Nessuno"
270
+
271
+ #: modules/rich-snippets/rich-snippets.php:225
272
+ msgid "Rich Snippet Type:"
273
+ msgstr "Tipo Rich Snippet:"
274
+
275
+ #: modules/rich-snippets/rich-snippets.php:229
276
+ msgid "Name of Reviewed Item:"
277
+ msgstr "Nome elemento valutato:"
278
+
279
+ #: modules/rich-snippets/rich-snippets.php:233
280
+ msgid "0.5 stars"
281
+ msgstr "0.5 stelle"
282
+
283
+ #: modules/rich-snippets/rich-snippets.php:234
284
+ msgid "1 star"
285
+ msgstr "1 stella"
286
+
287
+ #: modules/rich-snippets/rich-snippets.php:235
288
+ msgid "1.5 stars"
289
+ msgstr "1.5 stelle"
290
+
291
+ #: modules/rich-snippets/rich-snippets.php:236
292
+ msgid "2 stars"
293
+ msgstr "2 stelle"
294
+
295
+ #: modules/rich-snippets/rich-snippets.php:237
296
+ msgid "2.5 stars"
297
+ msgstr "2.5 stelle"
298
+
299
+ #: modules/rich-snippets/rich-snippets.php:238
300
+ msgid "3 stars"
301
+ msgstr "3 stelle"
302
+
303
+ #: modules/rich-snippets/rich-snippets.php:239
304
+ msgid "3.5 stars"
305
+ msgstr "3.5 stelle"
306
+
307
+ #: modules/rich-snippets/rich-snippets.php:240
308
+ msgid "4 stars"
309
+ msgstr "4 stelle"
310
+
311
+ #: modules/rich-snippets/rich-snippets.php:241
312
+ msgid "4.5 stars"
313
+ msgstr "4.5 stelle"
314
+
315
+ #: modules/rich-snippets/rich-snippets.php:242
316
+ msgid "5 stars"
317
+ msgstr "5 stelle"
318
+
319
+ #: modules/rich-snippets/rich-snippets.php:243
320
+ msgid "Star Rating for Reviewed Item:"
321
+ msgstr "Star Rating per valutazione elemento:"
322
+
323
+ #: modules/site-keyword-queries/site-keyword-queries.php:12
324
+ msgid "Internal Relevance Researcher"
325
+ msgstr "Internal Relevance Researcher"
326
+
327
+ #: modules/site-keyword-queries/site-keyword-queries.php:13
328
+ msgid "Int. Rel. Researcher"
329
+ msgstr "Int. Rel. Researcher"
330
+
331
+ #: modules/site-keyword-queries/site-keyword-queries.php:21
332
+ msgid "Step 1: Enter Keywords"
333
+ msgstr "Passo 1: inserisci parole chiave"
334
+
335
+ #: modules/site-keyword-queries/site-keyword-queries.php:23
336
+ msgid "(Type one keyword per line)"
337
+ msgstr "(una parola chiave per riga)"
338
+
339
+ #: modules/site-keyword-queries/site-keyword-queries.php:25
340
+ msgid "Step 2: Set Options and Submit"
341
+ msgstr "Passo 2: imposta Opzioni e Invia"
342
+
343
+ #: modules/site-keyword-queries/site-keyword-queries.php:27
344
+ msgid "Put keywords in quotes"
345
+ msgstr "Metti parole chiave tra virgolette"
346
+
347
+ #: modules/site-keyword-queries/site-keyword-queries.php:28
348
+ #: modules/competition-queries/competition-queries.php:63
349
+ msgid "Show 100 results per page"
350
+ msgstr "Mostra 100 risultati per pagina"
351
+
352
+ #: modules/site-keyword-queries/site-keyword-queries.php:30
353
+ #: modules/competition-queries/competition-queries.php:65
354
+ msgid "Use Google&#8217;s minimal mode"
355
+ msgstr "Usa modalità Google minimal"
356
+
357
+ #: modules/site-keyword-queries/site-keyword-queries.php:33
358
+ #: modules/competition-queries/competition-queries.php:71
359
+ msgid "Submit"
360
+ msgstr "Invia"
361
+
362
+ #: modules/widgets/widgets.php:12
363
+ msgid "SEO Ultimate Widgets"
364
+ msgstr "Widget SEO Ultimate"
365
+
366
+ #: modules/widgets/widgets.php:36
367
+ msgid "On category archives, displays a list of child categories and/or posts in the category. Displays a list of top-level categories everywhere else. Powered by the SEO Ultimate plugin."
368
+ msgstr "Archivi categoria, mostra un elenco delle categorie figlie e/o gli articoli nella categoria. Mostra ovunque una lista di categorie top-level. Powered by the SEO Ultimate plugin."
369
+
370
+ #: modules/widgets/widgets.php:37
371
+ msgid "Siloed Categories"
372
+ msgstr "Categorie siloed"
373
+
374
+ #: modules/widgets/widgets.php:51
375
+ msgid "Tags"
376
+ msgstr "Tag"
377
+
378
+ #: modules/widgets/widgets.php:130
379
+ msgid "Title:"
380
+ msgstr "Titolo:"
381
+
382
+ #: modules/widgets/widgets.php:134
383
+ msgid "Show post counts"
384
+ msgstr "Mostra conteggio post"
385
+
386
+ #: modules/widgets/widgets.php:136
387
+ msgid "Use term descriptions in title attributes"
388
+ msgstr "Usa descrizioni termine negli attributi titolo"
389
+
390
+ #: modules/widgets/widgets.php:138
391
+ msgid "Taxonomy:"
392
+ msgstr "Tassonomia:"
393
+
394
+ #: modules/widgets/widgets.php:163
395
+ msgid "Add this widget to display Deeplink Juggernaut&#8217;s Footer Links in a widget area of your choosing rather than the default wp_footer section. Powered by the SEO Ultimate plugin."
396
+ msgstr "Aggiungi questo widget per mostrare i link footer di Deeplink Juggernaut in un'area widget di tua preferenza al posto della sezione predefinita wp_footer. Powered by the SEO Ultimate plugin."
397
+
398
+ #: modules/widgets/widgets.php:164
399
+ #: modules/autolinks/footer-autolinks.php:17
400
+ msgid "Footer Links"
401
+ msgstr "Link footer"
402
+
403
+ #: modules/widgets/widgets.php:217
404
+ msgid "Title: <em>(optional)</em>"
405
+ msgstr "Title: <em>(facoltativo)</em>"
406
+
407
+ #: modules/widgets/widgets.php:221
408
+ msgid "Display as a list"
409
+ msgstr "Mostra come lista"
410
+
411
+ #: modules/widgets/widgets.php:224
412
+ msgid "Use my <a href=\"%s\" target=\"_blank\">footer link HTML formats</a>"
413
+ msgstr "Usa i miei formati HTML <a href=\"%s\" target=\"_blank\">link footer</a>"
414
+
415
+ #: modules/internal-link-aliases/internal-link-aliases.php:20
416
+ msgid "Link Mask Generator"
417
+ msgstr "Generatore maschera link"
418
+
419
+ #: modules/internal-link-aliases/internal-link-aliases.php:27
420
+ msgid "Alias Directory"
421
+ msgstr "Cartella alias"
422
+
423
+ #: modules/internal-link-aliases/internal-link-aliases.php:29
424
+ msgid "Nofollow aliased links"
425
+ msgstr "Link Nofollow (aliased)"
426
+
427
+ #: modules/internal-link-aliases/internal-link-aliases.php:29
428
+ msgid "Link Attributes"
429
+ msgstr "Attributi link"
430
+
431
+ #: modules/internal-link-aliases/internal-link-aliases.php:49
432
+ msgid "Link Masks:"
433
+ msgstr "Maschere link:"
434
+
435
+ #: modules/internal-link-aliases/internal-link-aliases.php:52
436
+ msgid "URL"
437
+ msgstr "URL"
438
+
439
+ #: modules/internal-link-aliases/internal-link-aliases.php:52
440
+ msgid "Mask URL"
441
+ msgstr "Maschera URL"
442
+
443
+ #: modules/internal-link-aliases/internal-link-aliases.php:83
444
+ msgid "You can stop search engines from following a link by typing in a mask for its URL."
445
+ msgstr "Puoi fermare i motori di ricerca dal seguire un link inserendolo in una maschera per il suo URL."
446
+
447
+ #: modules/internal-link-aliases/internal-link-aliases.php:160
448
+ msgid "Added by Link Alias Generator (LAG) module"
449
+ msgstr "Aggiunto via modulo Link Alias Generator (LAG)"
450
+
451
+ #: modules/internal-link-aliases/internal-link-aliases.php:171
452
+ msgid "End LAG"
453
+ msgstr "End LAG"
454
+
455
+ #: modules/titles/titles.php:12
456
+ msgid "Title Tag Rewriter"
457
+ msgstr "Title Tag Rewriter"
458
+
459
+ #: modules/titles/titles.php:33
460
+ #: modules/meta/meta-descriptions.php:24
461
+ msgid "Default Formats"
462
+ msgstr "Formati predefiniti"
463
+
464
+ #: modules/titles/titles.php:34
465
+ #: modules/404s/fofs-settings.php:17
466
+ msgid "Settings"
467
+ msgstr "Impostazioni"
468
+
469
+ #: modules/titles/titles.php:40
470
+ msgid "Title Tag"
471
+ msgstr "Tag titolo"
472
+
473
+ #: modules/titles/titles.php:53
474
+ msgid "Convert lowercase category/tag names to title case when used in title tags."
475
+ msgstr "Converte i nomi in minuscolo per categoria/tag mettendo la lettera maiuscola alle parole principali usate per tag titolo."
476
+
477
+ #: modules/titles/titles.php:53
478
+ msgid "Title Tag Variables"
479
+ msgstr "Variabili tag titolo"
480
+
481
+ #: modules/titles/titles.php:55
482
+ msgid "Use output buffering &mdash; no configuration required, but slower (default)"
483
+ msgstr "Usa output buffering &mdash; nessuna configurazione necessaria, poco rapido (predefinito)"
484
+
485
+ #: modules/titles/titles.php:56
486
+ msgid "Use filtering &mdash; faster, but configuration required (see the &#8220;Settings Help&#8221; dropdown for details)"
487
+ msgstr "Usa filtering &mdash; veloce, richiede configurazione (vedi menu &#8220;Aiuto&#8221; per approfondire)"
488
+
489
+ #: modules/titles/titles.php:57
490
+ msgid "Rewrite Method"
491
+ msgstr "Metodo Rewrite"
492
+
493
+ #: modules/titles/titles.php:65
494
+ msgid "{blog}"
495
+ msgstr "{blog}"
496
+
497
+ #: modules/titles/titles.php:66
498
+ msgid "{post} | {blog}"
499
+ msgstr "{post} | {blog}"
500
+
501
+ #: modules/titles/titles.php:67
502
+ msgid "{page} | {blog}"
503
+ msgstr "{page} | {blog}"
504
+
505
+ #: modules/titles/titles.php:68
506
+ msgid "{category} | {blog}"
507
+ msgstr "{category} | {blog}"
508
+
509
+ #: modules/titles/titles.php:69
510
+ msgid "{tag} | {blog}"
511
+ msgstr "{tag} | {blog}"
512
+
513
+ #: modules/titles/titles.php:70
514
+ msgid "Archives for {month} {day}, {year} | {blog}"
515
+ msgstr "Archivi per {month} {day}, {year} | {blog}"
516
+
517
+ #: modules/titles/titles.php:71
518
+ msgid "Archives for {month} {year} | {blog}"
519
+ msgstr "Archivi per {month} {year} | {blog}"
520
+
521
+ #: modules/titles/titles.php:72
522
+ msgid "Archives for {year} | {blog}"
523
+ msgstr "Archivi per {year} | {blog}"
524
+
525
+ #: modules/titles/titles.php:73
526
+ msgid "Posts by {author} | {blog}"
527
+ msgstr "Articoli di {author} | {blog}"
528
+
529
+ #: modules/titles/titles.php:74
530
+ msgid "Search Results for {query} | {blog}"
531
+ msgstr "Risultati della ricerca per {query} | {blog}"
532
+
533
+ #: modules/titles/titles.php:75
534
+ msgid "404 Not Found | {blog}"
535
+ msgstr "404 Not Found | {blog}"
536
+
537
+ #: modules/titles/titles.php:76
538
+ msgid "{title} - Page {num}"
539
+ msgstr "{title} - Pagina {num}"
540
+
541
+ #: modules/titles/titles.php:85
542
+ msgid "Blog Homepage Title"
543
+ msgstr "Titolo homepage blog"
544
+
545
+ #: modules/titles/titles.php:86
546
+ msgid "Post Title Format"
547
+ msgstr "Formato titolo articolo"
548
+
549
+ #: modules/titles/titles.php:87
550
+ msgid "Page Title Format"
551
+ msgstr "Formato titolo pagina"
552
+
553
+ #: modules/titles/titles.php:88
554
+ msgid "Category Title Format"
555
+ msgstr "Formato titolo categoria"
556
+
557
+ #: modules/titles/titles.php:89
558
+ msgid "Tag Title Format"
559
+ msgstr "Formato titolo tag"
560
+
561
+ #: modules/titles/titles.php:90
562
+ msgid "Day Archive Title Format"
563
+ msgstr "Formato titolo archivio giorno"
564
+
565
+ #: modules/titles/titles.php:91
566
+ msgid "Month Archive Title Format"
567
+ msgstr "Formato titolo archivio mese"
568
+
569
+ #: modules/titles/titles.php:92
570
+ msgid "Year Archive Title Format"
571
+ msgstr "Formato titolo archivio anno"
572
+
573
+ #: modules/titles/titles.php:93
574
+ msgid "Author Archive Title Format"
575
+ msgstr "Formato titolo archivio autore"
576
+
577
+ #: modules/titles/titles.php:94
578
+ msgid "Search Title Format"
579
+ msgstr "Formato titolo ricerca"
580
+
581
+ #: modules/titles/titles.php:95
582
+ msgid "404 Title Format"
583
+ msgstr "Formato titolo 404"
584
+
585
+ #: modules/titles/titles.php:96
586
+ msgid "Pagination Title Format"
587
+ msgstr "Formato titolo impaginazione"
588
+
589
+ #: modules/titles/titles.php:328
590
+ msgid "Title Tag:"
591
+ msgstr "Tag titolo"
592
+
593
+ #: modules/titles/titles.php:333
594
+ msgid "<strong>Title Tag</strong> &mdash; The exact contents of the &lt;title&gt; tag. The title appears in visitors&#8217; title bars and in search engine result titles. If this box is left blank, then the <a href=\"admin.php?page=su-titles\" target=\"_blank\">default post/page titles</a> are used."
595
+ msgstr "<strong>Tag titolo</strong> &mdash; il contenuto essatto del tag &lt;title&gt;. Il titolo apparirà ai visitatori nella barra di navigazione del browser e nei risultati dei motori di ricerca come titolo. Qualora lasciassi in bianco questo box, verrà utilizzato il titolo predefinito degli <a href=\"admin.php?page=su-titles\" target=\"_blank\">articoli/pagine</a>."
596
+
597
+ #: modules/competition-queries/competition-queries.php:12
598
+ msgid "Competition Researcher"
599
+ msgstr "Competition Researcher"
600
+
601
+ #: modules/competition-queries/competition-queries.php:13
602
+ msgid "Comp. Researcher"
603
+ msgstr "Comp. Researcher"
604
+
605
+ #: modules/competition-queries/competition-queries.php:17
606
+ msgid "The Competition Researcher provides you with easy access to various search engine tools which you can use to research multiple search queries or URLs."
607
+ msgstr "Il Ricercatore Concorrenza ti fornisce un modo semplice per potere accedere a quei vari strumenti dei motori di ricerca che ti permetteranno di effettuare delle richieste multiple di ricerca oppure di potere trovare degli URL."
608
+
609
+ #: modules/competition-queries/competition-queries.php:21
610
+ msgid "Step 1: Choose Your Research Tool"
611
+ msgstr "Passo 1: scegli il tuo strumento per la ricerca"
612
+
613
+ #: modules/competition-queries/competition-queries.php:25
614
+ msgid "Keywords"
615
+ msgstr "Keyword"
616
+
617
+ #: modules/competition-queries/competition-queries.php:25
618
+ msgid "Normal Search"
619
+ msgstr "Ricerca di base"
620
+
621
+ #: modules/competition-queries/competition-queries.php:25
622
+ msgid "Find out how many pages contain the words in each query"
623
+ msgstr "Trova quante pagine contengono le parole relative ad ogni richiesta"
624
+
625
+ #: modules/competition-queries/competition-queries.php:26
626
+ msgid "Phrase Match"
627
+ msgstr "Corrispondenza frase"
628
+
629
+ #: modules/competition-queries/competition-queries.php:26
630
+ msgid "Find out how many &#8220;actual&#8221; pages are competing for each query"
631
+ msgstr "Trova quante pagine &#8220;realmente&#8221; in concorrenza relative ad ogni richiesta"
632
+
633
+ #: modules/competition-queries/competition-queries.php:27
634
+ msgid "Allinanchor"
635
+ msgstr "Allinanchor"
636
+
637
+ #: modules/competition-queries/competition-queries.php:27
638
+ msgid "Find out which sites have the most links for each query"
639
+ msgstr "Trova quali siti hanno il maggior numero di link relativi ad ogni richiesta"
640
+
641
+ #: modules/competition-queries/competition-queries.php:28
642
+ msgid "Allintitle"
643
+ msgstr "Allintitle"
644
+
645
+ #: modules/competition-queries/competition-queries.php:28
646
+ msgid "Find out which sites have the highest relevance in the title for each query"
647
+ msgstr "Trova quali siti hanno la più alta rilevanza nel titolo relativa ad ogni richiesta"
648
+
649
+ #: modules/competition-queries/competition-queries.php:29
650
+ msgid "Allintext"
651
+ msgstr "Allintext"
652
+
653
+ #: modules/competition-queries/competition-queries.php:29
654
+ msgid "Find out which sites have the most relevant content/text on their pages"
655
+ msgstr "Trova quali siti hanno nelle loro pagine la più alta rilevanza contenuto/testo"
656
+
657
+ #: modules/competition-queries/competition-queries.php:30
658
+ msgid "Allinurl"
659
+ msgstr "Allinurl"
660
+
661
+ #: modules/competition-queries/competition-queries.php:30
662
+ msgid "Find out which sites have the most relevant naming conventions for each keyword"
663
+ msgstr "Trova quali siti hanno delle argomentazioni di maggiore rilevanza in merito ad ogni parola chiave"
664
+
665
+ #: modules/competition-queries/competition-queries.php:32
666
+ msgid "URLs"
667
+ msgstr "URL"
668
+
669
+ #: modules/competition-queries/competition-queries.php:32
670
+ msgid "Site"
671
+ msgstr "Sito"
672
+
673
+ #: modules/competition-queries/competition-queries.php:32
674
+ msgid "Find out how many pages are indexed for each domain"
675
+ msgstr "Trova quante pagine sono state indicizzate per ogni dominio"
676
+
677
+ #: modules/competition-queries/competition-queries.php:33
678
+ #: modules/competition-queries/competition-queries.php:38
679
+ msgid "Inbound Links"
680
+ msgstr "Link in ingresso"
681
+
682
+ #: modules/competition-queries/competition-queries.php:33
683
+ msgid "Find out how many sites link to the domains"
684
+ msgstr "Trova quanti link dei siti puntano ai domini"
685
+
686
+ #: modules/competition-queries/competition-queries.php:34
687
+ #: modules/competition-queries/competition-queries.php:38
688
+ msgid "Outbound Links"
689
+ msgstr "Link in uscita"
690
+
691
+ #: modules/competition-queries/competition-queries.php:34
692
+ msgid "Find out how many sites the domains link to"
693
+ msgstr "Trova a quanti siti puntano i link dei dominii"
694
+
695
+ #: modules/competition-queries/competition-queries.php:57
696
+ msgid "Step 2: Enter the <span id=\"methodtype\">Keywords</span> To Research"
697
+ msgstr "Passo 2: inserisci le <span id=\"methodtype\">parole chiave</span> da ricercare"
698
+
699
+ #: modules/competition-queries/competition-queries.php:59
700
+ msgid "(Type in one per line)"
701
+ msgstr "(una parola per riga)"
702
+
703
+ #: modules/competition-queries/competition-queries.php:61
704
+ msgid "Step 3: Set Options and Submit"
705
+ msgstr "Passo 3: imposta le Opzioni ed Invia"
706
+
707
+ #: modules/link-nofollow/link-nofollow.php:12
708
+ msgid "Nofollow Manager"
709
+ msgstr "Nofollow Manager"
710
+
711
+ #: modules/link-nofollow/link-nofollow.php:53
712
+ msgid "Add the nofollow attribute to..."
713
+ msgstr "Aggiungi attributo nofollow a..."
714
+
715
+ #: modules/link-nofollow/link-nofollow.php:55
716
+ msgid "Adjacent post links"
717
+ msgstr "Link adiacenti articolo"
718
+
719
+ #: modules/link-nofollow/link-nofollow.php:56
720
+ msgid "Category links (after posts)"
721
+ msgstr "Link categoria (dopo articoli)"
722
+
723
+ #: modules/link-nofollow/link-nofollow.php:57
724
+ msgid "Category links (in lists)"
725
+ msgstr "Link categoria (in elenco)"
726
+
727
+ #: modules/link-nofollow/link-nofollow.php:58
728
+ msgid "Comment anchor links"
729
+ msgstr "Ancora commento link"
730
+
731
+ #: modules/link-nofollow/link-nofollow.php:59
732
+ msgid "Comment feed links"
733
+ msgstr "Link feed commenti"
734
+
735
+ #: modules/link-nofollow/link-nofollow.php:60
736
+ msgid "Date-based archive links"
737
+ msgstr "Link archivio base-data"
738
+
739
+ #: modules/link-nofollow/link-nofollow.php:61
740
+ msgid "Pagination navigation links (all)"
741
+ msgstr "Link navigazione pagine (tutti)"
742
+
743
+ #: modules/link-nofollow/link-nofollow.php:62
744
+ msgid "Pagination navigation links (on blog home only)"
745
+ msgstr "Link navigazione pagine (solo nella home del blog)"
746
+
747
+ #: modules/link-nofollow/link-nofollow.php:63
748
+ msgid "&#8220;Read more&#8221; links"
749
+ msgstr "Link &#8220;Read more&#8221;"
750
+
751
+ #: modules/link-nofollow/link-nofollow.php:64
752
+ msgid "Registration link"
753
+ msgstr "Link registrazione"
754
+
755
+ #: modules/link-nofollow/link-nofollow.php:65
756
+ msgid "Login link"
757
+ msgstr "Link login"
758
+
759
+ #: modules/link-nofollow/link-nofollow.php:66
760
+ msgid "Tag links (after posts)"
761
+ msgstr "Link tag (dopo articoli)"
762
+
763
+ #: modules/link-nofollow/link-nofollow.php:67
764
+ msgid "Tag links (in lists and clouds)"
765
+ msgstr "Link tag (in elenco e cloud)"
766
+
767
+ #: modules/link-nofollow/link-nofollow.php:76
768
+ msgid "When displaying page lists, nofollow links to this page"
769
+ msgstr "Durante la visualizzazione dell'elenco pagine applicare nofollow all'elenco di questa pagina"
770
+
771
+ #: modules/link-nofollow/link-nofollow.php:76
772
+ msgid "Nofollow:"
773
+ msgstr "Nofollow:"
774
+
775
+ #: modules/meta/meta-keywords.php:12
776
+ msgid "Meta Keywords Editor"
777
+ msgstr "Meta Keywords Editor"
778
+
779
+ #: modules/meta/meta-keywords.php:13
780
+ #: modules/meta/meta-keywords.php:40
781
+ msgid "Meta Keywords"
782
+ msgstr "Meta Keywords"
783
+
784
+ #: modules/meta/meta-keywords.php:33
785
+ #: modules/noindex/noindex.php:43
786
+ msgid "Default Values"
787
+ msgstr "Valori predefiniti"
788
+
789
+ #: modules/meta/meta-keywords.php:56
790
+ msgid "The %d most commonly-used words"
791
+ msgstr "Le %d parole più comunemente utilizzate"
792
+
793
+ #: modules/meta/meta-keywords.php:69
794
+ msgid "Sitewide Keywords"
795
+ msgstr "Sitewide Keywords"
796
+
797
+ #: modules/meta/meta-keywords.php:69
798
+ msgid "(Separate with commas)"
799
+ msgstr "(separa con delle virgole)"
800
+
801
+ #: modules/meta/meta-keywords.php:76
802
+ msgid "Blog Homepage Meta Keywords"
803
+ msgstr "Parole chiave meta homepage blog"
804
+
805
+ #: modules/meta/meta-keywords.php:153
806
+ msgid "Meta Keywords:<br /><em>(separate with commas)</em>"
807
+ msgstr "Parole chiave meta:<br /><em>(separa con delle virgole)</em>"
808
+
809
+ #: modules/meta/meta-keywords.php:158
810
+ msgid "<strong>Keywords</strong> &mdash; 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>."
811
+ msgstr "<strong>Parole chiave</strong> &mdash; il valore del tag delle parole chiave meta. La lista delle parole chiave fornisce un suggerimento ai motori di ricerca in merito all'argomento trattato da questo articolo/pagina. Assicurati di separare le parole chiave con delle virgloe, ad esempio: <samp>uno,due,tre</samp>."
812
+
813
+ #: modules/meta/webmaster-verify.php:12
814
+ msgid "Webmaster Verification Assistant"
815
+ msgstr "Webmaster Verification Assistant"
816
+
817
+ #: modules/meta/webmaster-verify.php:13
818
+ msgid "W.M. Verification"
819
+ msgstr "Verifica W.M."
820
+
821
+ #: modules/meta/webmaster-verify.php:47
822
+ msgid "Google Webmaster Tools"
823
+ msgstr "Google Webmaster Tools"
824
+
825
+ #: modules/meta/webmaster-verify.php:48
826
+ msgid "Yahoo! Site Explorer"
827
+ msgstr "Yahoo! Site Explorer"
828
+
829
+ #: modules/meta/webmaster-verify.php:49
830
+ msgid "Bing Webmaster Center"
831
+ msgstr "Bing Webmaster Center"
832
+
833
+ #: modules/meta/meta-robots.php:12
834
+ msgid "Meta Robot Tags Editor"
835
+ msgstr "Meta Robot Tags Editor"
836
+
837
+ #: modules/meta/meta-robots.php:13
838
+ msgid "Meta Robot Tags"
839
+ msgstr "Meta Robot Tags"
840
+
841
+ #: modules/meta/meta-robots.php:22
842
+ msgid "Global"
843
+ msgstr "Globale"
844
+
845
+ #: modules/meta/meta-robots.php:28
846
+ msgid "Spider Instructions"
847
+ msgstr "Istruzioni spider"
848
+
849
+ #: modules/meta/meta-robots.php:30
850
+ msgid "Don&#8217t use this site&#8217s Open Directory description in search results."
851
+ msgstr "Non usare per questo sito nei risultati della ricerca la descrizione dalla Open Directory."
852
+
853
+ #: modules/meta/meta-robots.php:31
854
+ msgid "Don&#8217t use this site&#8217s Yahoo! Directory description in search results."
855
+ msgstr "Non usare per questo sito nei risultati della ricerca la descrizione dalla Yahoo! Directory."
856
+
857
+ #: modules/meta/meta-robots.php:32
858
+ msgid "Don&#8217t cache or archive this site."
859
+ msgstr "Nessuna cache o archivio di questo sito."
860
+
861
+ #: modules/meta/meta-descriptions.php:12
862
+ msgid "Meta Description Editor"
863
+ msgstr "Meta Description Editor"
864
+
865
+ #: modules/meta/meta-descriptions.php:13
866
+ msgid "Meta Descriptions"
867
+ msgstr "Meta Descriptions"
868
+
869
+ #: modules/meta/meta-descriptions.php:31
870
+ msgid "Meta Description"
871
+ msgstr "Descrizione meta"
872
+
873
+ #: modules/meta/meta-descriptions.php:48
874
+ msgid "Post Description Format"
875
+ msgstr "Formato descrizione articolo"
876
+
877
+ #: modules/meta/meta-descriptions.php:49
878
+ msgid "Category Description Format"
879
+ msgstr "Formato descrizione categoria"
880
+
881
+ #: modules/meta/meta-descriptions.php:50
882
+ msgid "Post Tag Description Format"
883
+ msgstr "Formato descrizione tag articolo"
884
+
885
+ #: modules/meta/meta-descriptions.php:57
886
+ msgid "Blog Homepage Meta Description"
887
+ msgstr "Descrizione meta homepage del blog"
888
+
889
+ #: modules/meta/meta-descriptions.php:59
890
+ msgid "Use this blog&#8217s tagline as the default homepage description."
891
+ msgstr "Usa questo motto come descrizione predefinita della homepage."
892
+
893
+ #: modules/meta/meta-descriptions.php:60
894
+ msgid "Default Value"
895
+ msgstr "Valore predefinito"
896
+
897
+ #: modules/meta/meta-descriptions.php:122
898
+ msgid "Meta Description:"
899
+ msgstr "Descrizione meta:"
900
+
901
+ #: modules/meta/meta-descriptions.php:125
902
+ msgid "You&#8217;ve entered %s characters. Most search engines use up to 140."
903
+ msgstr "Tu hai inserito %s caratteri. La maggior parte dei motori di ricerca arriva sino a 140."
904
+
905
+ #: modules/meta/meta-descriptions.php:133
906
+ msgid "<strong>Description</strong> &mdash; 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."
907
+ msgstr "<strong>Descrizione</strong> &mdash; Il valore del tag descrizione meta. La descrizione potrà spesso apparire al di sotto del titolo nei risultati dei motori di ricerca. Lo scrivere per ogni articolo una descrizione accurata ed accattivante sarà particolormente importante per assicurarsi un buon tasso di click dai risultati della ricerca."
908
+
909
+ #: modules/import-aiosp/import-aiosp.php:12
910
+ msgid "Import from All in One SEO Pack"
911
+ msgstr "Importa da All in One SEO Pack"
912
+
913
+ #: modules/import-aiosp/import-aiosp.php:13
914
+ msgid "AIOSP Import"
915
+ msgstr "Importa AIOSP"
916
+
917
+ #: modules/import-aiosp/import-aiosp.php:15
918
+ msgid "All in One SEO Pack"
919
+ msgstr "All in One SEO Pack"
920
+
921
+ #: modules/import-aiosp/import-aiosp.php:16
922
+ msgid "AIOSP"
923
+ msgstr "AIOSP"
924
+
925
+ #: modules/import-aiosp/import-aiosp.php:17
926
+ msgid "Import post data (custom title tags and meta tags)."
927
+ msgstr "Importa dati articolo (tag titoli custom e tag meta)."
928
+
929
+ #: modules/import-aiosp/import-aiosp.php:21
930
+ msgid "Here you can move post fields from the All in One SEO Pack (AIOSP) plugin to SEO Ultimate. AIOSP&#8217;s data remains in your WordPress database after AIOSP is deactivated or even uninstalled. This means that as long as AIOSP was active on this blog sometime in the past, AIOSP does <em>not</em> need to be currently installed or activated for the import to take place."
931
+ msgstr "Qui potrai spostare i campi articolo dal plugin All in One SEO Pack (AIOSP) a SEO Ultimate. I dati di AIOSP rimarranno nel tuo database di WordPress anche dopo la disattivazione/disinstallazione di AIOSP. Questo significa che sebbene AIOSP sia stato attivo su questo sito in un periodo passsato, oggi AIOSP <em>non</em> necessita di essere installato o disattivato affinché l'importazione possa avvenire con successo."
932
+
933
+ #: modules/import-aiosp/import-aiosp.php:23
934
+ msgid "The import tool can only move over data from AIOSP version 1.6 or above. If you use an older version of AIOSP, you should update to the latest version first and run AIOSP&#8217;s upgrade process."
935
+ msgstr "Lo strumento di importazione potra trasferire i dati da una versione AIOSP 1.6 o superiore. Qualora utilizzassi una differenre versione di AIOSP, come prima cosa dovrai aggiornare AIOSP alla sua ultima versione quindi, avviare il processo di aggiornamento del plugin."
936
+
937
+ #: modules/sds-blog/sds-blog.php:12
938
+ msgid "Whitepapers"
939
+ msgstr "Whitepapers"
940
+
941
+ #: modules/sds-blog/sds-blog.php:13
942
+ msgid "SEO Design Solutions Whitepapers"
943
+ msgstr "Appunti da SEO Design Solutions"
944
+
945
+ #. #-#-#-#-# plugin.pot (SEO Ultimate 6.9.2) #-#-#-#-#
946
+ #. Author of the plugin/theme
947
+ #: modules/sds-blog/sds-blog.php:49
948
+ msgid "SEO Design Solutions"
949
+ msgstr "SEO Design Solutions"
950
+
951
+ #: modules/sds-blog/sds-blog.php:50
952
+ msgid "The search engine optimization articles below are loaded from the website of SEO Design Solutions, the company behind the SEO Ultimate plugin. Click on an article&#8217;s title to read it."
953
+ msgstr "Gli articoli qui sotto sulla ottimizzazione dei motori di ricerca vengono caricati dal sito di SEO Design Solutions, la company dietro al plugin SEO Ultimate. Clicca sul titolo di un articolo per leggerlo."
954
+
955
+ #: modules/modules/modules.php:12
956
+ msgid "Module Manager"
957
+ msgstr "Module Manager"
958
+
959
+ #: modules/modules/modules.php:13
960
+ msgid "Modules"
961
+ msgstr "Modules"
962
+
963
+ #: modules/modules/modules.php:41
964
+ msgid "SEO Ultimate&#8217;s features are located in groups called &#8220;modules.&#8221; By default, most of these modules are listed in the &#8220;SEO&#8221; menu on the left. Whenever you&#8217;re working with a module, you can view documentation by clicking the tabs in the upper-right-hand corner of your administration screen."
965
+ msgstr "Le configurazioni di SEO Ultimate sono state suddivise in gruppi a nome &#8220;moduli.&#8221;. Come da predefinite, la maggior parte di questi moduli la potrai trovare elencata nel menu &#8220;SEO&#8221; alla tua sinistra. Durante il tuo lavoro sui moduli, potrai visionare in ogni momento la documentazione semplicemente cliccando sui pulsanti in alto a destra del tuo pannello di amministrazione."
966
+
967
+ #: modules/modules/modules.php:43
968
+ msgid "The Module Manager lets you disable or hide modules you don&#8217;t use. You can also silence modules from displaying bubble alerts on the menu."
969
+ msgstr "Questa sezione ti permetterà di disattivare o nascondere i moduli che non utilizzerai. Potrai infine disattivare le bubble notifica di allerta nel menu dei moduli (Silenzioso)."
970
+
971
+ #: modules/modules/modules.php:47
972
+ msgid "Modules updated."
973
+ msgstr "I moduli sono stati aggiornati."
974
+
975
+ #: modules/modules/modules.php:52
976
+ msgid "Status"
977
+ msgstr "Stato"
978
+
979
+ #: modules/modules/modules.php:53
980
+ msgid "Module"
981
+ msgstr "Modulo"
982
+
983
+ #: modules/modules/modules.php:66
984
+ msgid "Enabled"
985
+ msgstr "Attivo"
986
+
987
+ #: modules/modules/modules.php:67
988
+ msgid "Silenced"
989
+ msgstr "Silenzioso"
990
+
991
+ #: modules/modules/modules.php:68
992
+ msgid "Hidden"
993
+ msgstr "Nascosto"
994
+
995
+ #: modules/modules/modules.php:69
996
+ msgid "Disabled"
997
+ msgstr "Non attivo"
998
+
999
+ #: modules/slugs/slugs.php:12
1000
+ msgid "Slug Optimizer"
1001
+ msgstr "Slug Optimizer"
1002
+
1003
+ #: modules/slugs/slugs.php:16
1004
+ msgid "Words to Remove"
1005
+ msgstr "Parole da rimuovere"
1006
+
1007
+ #: modules/404s/fofs.php:11
1008
+ msgid "404 Monitor"
1009
+ msgstr "404 Monitor"
1010
+
1011
+ #: modules/404s/fofs-settings.php:16
1012
+ msgid "404 Monitor Settings"
1013
+ msgstr "Impostazioni Monitor 404"
1014
+
1015
+ #: modules/404s/fofs-settings.php:37
1016
+ msgid "Continue monitoring for new 404 errors"
1017
+ msgstr "Monitoraggio continuo nuovi errori 404"
1018
+
1019
+ #: modules/404s/fofs-settings.php:37
1020
+ msgid "Monitoring Settings"
1021
+ msgstr "Impostazioni monitoraggio"
1022
+
1023
+ #: modules/404s/fofs-settings.php:39
1024
+ msgid "Only log these types of 404 errors:"
1025
+ msgstr "Annota solo i seguenti tipi di errori 404:"
1026
+
1027
+ #: modules/404s/fofs-settings.php:40
1028
+ msgid "404s generated by search engine spiders"
1029
+ msgstr "404 generati dagli spider dei motori di ricerca"
1030
+
1031
+ #: modules/404s/fofs-settings.php:41
1032
+ msgid "404s with referring URLs"
1033
+ msgstr "404 con URL referente"
1034
+
1035
+ #: modules/404s/fofs-settings.php:42
1036
+ msgid "Log Restrictions"
1037
+ msgstr "Restrizioni registro"
1038
+
1039
+ #: modules/404s/fofs-settings.php:43
1040
+ msgid "Maximum Log Entries"
1041
+ msgstr "Numero max, elementi registro"
1042
+
1043
+ #: modules/404s/fofs-settings.php:44
1044
+ msgid "URLs to Ignore"
1045
+ msgstr "URL da ignorare"
1046
+
1047
+ #: modules/404s/fofs-settings.php:44
1048
+ msgid "(Use * as wildcard)"
1049
+ msgstr "(Usa * come wildcard)"
1050
+
1051
+ #: modules/404s/fofs-log.php:16
1052
+ msgid "404 Monitor Log"
1053
+ msgstr "Registro Monitor 404"
1054
+
1055
+ #: modules/404s/fofs-log.php:17
1056
+ msgid "Log"
1057
+ msgstr "Registro"
1058
+
1059
+ #: modules/404s/fofs-log.php:114
1060
+ msgid "Hits"
1061
+ msgstr "Richieste"
1062
+
1063
+ #: modules/404s/fofs-log.php:115
1064
+ msgid "URL with 404 Error"
1065
+ msgstr "URL con errore 404"
1066
+
1067
+ #: modules/404s/fofs-log.php:116
1068
+ msgid "Date of Most Recent Hit"
1069
+ msgstr "Data richieste più recenti"
1070
+
1071
+ #: modules/404s/fofs-log.php:117
1072
+ msgid "Referers"
1073
+ msgstr "Referenti"
1074
+
1075
+ #: modules/404s/fofs-log.php:118
1076
+ #: modules/404s/fofs-log.php:221
1077
+ msgid "User Agents"
1078
+ msgstr "User Agents"
1079
+
1080
+ #: modules/404s/fofs-log.php:134
1081
+ msgid "New 404 errors will not be recorded because 404 logging is disabled on the Settings tab."
1082
+ msgstr "I nuovi errori 404 non saranno annotati poiché il registro 404 è stato disattivato nella tab delle impostazioni."
1083
+
1084
+ #: modules/404s/fofs-log.php:141
1085
+ msgid "The log entry was successfully deleted."
1086
+ msgstr "L'elemento nel registro è stato cancellato con successo."
1087
+
1088
+ #: modules/404s/fofs-log.php:143
1089
+ msgid "This log entry has already been deleted."
1090
+ msgstr "Questo elemento è già stato cancellato dal registro."
1091
+
1092
+ #: modules/404s/fofs-log.php:152
1093
+ msgid "The log was successfully cleared."
1094
+ msgstr "Il registro è stato svuotato con successo."
1095
+
1096
+ #: modules/404s/fofs-log.php:156
1097
+ msgid "No 404 errors in the log."
1098
+ msgstr "Nessun errore 404 nel registro."
1099
+
1100
+ #: modules/404s/fofs-log.php:180
1101
+ msgid "Open URL in new window (will not be logged)"
1102
+ msgstr "Apri URL in una nuova finestra (non sarà loggato)"
1103
+
1104
+ #: modules/404s/fofs-log.php:181
1105
+ msgid "Query Google for cached version of URL (opens in new window)"
1106
+ msgstr "Richiedi a Google la versione cache dell'URL (apre in una nuova finestra)"
1107
+
1108
+ #: modules/404s/fofs-log.php:182
1109
+ msgid "Remove this URL from the log"
1110
+ msgstr "Rimuovi dal registro questo URL"
1111
+
1112
+ #: modules/404s/fofs-log.php:185
1113
+ msgid "%s at %s"
1114
+ msgstr "%s alle %s"
1115
+
1116
+ #: modules/404s/fofs-log.php:189
1117
+ msgid "View list of referring URLs"
1118
+ msgstr "Vedi lista URL referenti"
1119
+
1120
+ #: modules/404s/fofs-log.php:190
1121
+ msgid "View list of user agents"
1122
+ msgstr "Vedi lista user agents"
1123
+
1124
+ #: modules/404s/fofs-log.php:200
1125
+ msgid "Referring URLs"
1126
+ msgstr "URL referenti"
1127
+
1128
+ #: modules/404s/fofs-log.php:201
1129
+ #: modules/404s/fofs-log.php:222
1130
+ msgid "Hide list"
1131
+ msgstr "Nascondi lista"
1132
+
1133
+ #: modules/404s/fofs-log.php:252
1134
+ msgid "Are you sure you want to delete all 404 log entries?"
1135
+ msgstr "Sei certo di volere cancellare dal registro tutti gli elementi 404?"
1136
+
1137
+ #: modules/404s/fofs-log.php:254
1138
+ msgid "Clear Log"
1139
+ msgstr "Svuota registro"
1140
+
1141
+ #: modules/linkbox/linkbox.php:12
1142
+ msgid "Linkbox Inserter"
1143
+ msgstr "Linkbox Inserter"
1144
+
1145
+ #: modules/linkbox/linkbox.php:18
1146
+ msgid "Link to this post!"
1147
+ msgstr "Link a questo articolo!"
1148
+
1149
+ #: modules/linkbox/linkbox.php:45
1150
+ msgid "At the end of posts"
1151
+ msgstr "Al fondo degli articoli"
1152
+
1153
+ #: modules/linkbox/linkbox.php:46
1154
+ msgid "At the end of pages"
1155
+ msgstr "Al fondo delle pagine"
1156
+
1157
+ #: modules/linkbox/linkbox.php:47
1158
+ msgid "When called by the su_linkbox hook"
1159
+ msgstr "Quando richiesto da hook su_linkbox"
1160
+
1161
+ #: modules/linkbox/linkbox.php:48
1162
+ msgid "Display linkboxes..."
1163
+ msgstr "Mostra linkboxe..."
1164
+
1165
+ #: modules/linkbox/linkbox.php:49
1166
+ msgid "Linkbox HTML"
1167
+ msgstr "HTML linkbox"
1168
+
1169
+ #: modules/more-links/more-links.php:12
1170
+ msgid "More Link Customizer"
1171
+ msgstr "More Link Customizer"
1172
+
1173
+ #: modules/more-links/more-links.php:30
1174
+ msgid "Default More Link Text"
1175
+ msgstr "Testo predefinito link more"
1176
+
1177
+ #: modules/more-links/more-links.php:51
1178
+ msgid "More Link Text:"
1179
+ msgstr "Testo link more:"
1180
+
1181
+ #: modules/permalinks/permalinks.php:15
1182
+ msgid "Permalink Tweaker"
1183
+ msgstr "Permalink Tweaker"
1184
+
1185
+ #: modules/permalinks/permalinks.php:44
1186
+ msgid "To use the Permalinks Tweaker, you must disable default (query-string) permalinks in your <a href=\"options-permalink.php\">Permalink Settings</a>."
1187
+ msgstr "Per l'uso del Permalinks Tweaker, dovrai disattivare i permalink predefiniti (query-string) alla pagina <a href=\"options-permalink.php\">Impostazioni Permalink</a>."
1188
+
1189
+ #: modules/permalinks/permalinks.php:62
1190
+ msgid "%1$s (turn <code>%2$s</code> into <code>%3$s</code>)"
1191
+ msgstr "%1$s (da <code>%2$s</code> a <code>%3$s</code>)"
1192
+
1193
+ #: modules/permalinks/permalinks.php:69
1194
+ msgid "Remove the URL bases of..."
1195
+ msgstr "Rimuovi le basi degli URL per..."
1196
+
1197
+ #: modules/misc/misc.php:11
1198
+ msgid "Miscellaneous"
1199
+ msgstr "Miscellaneous"
1200
+
1201
+ #: modules/misc/misc.php:14
1202
+ msgid "The Miscellaneous page contains modules that don&#8217;t have enough settings to warrant their own separate admin pages."
1203
+ msgstr "Questa pagina contiene quei moduli che non hanno un numero di impostazioni tale da richiedere una propria sezione separata."
1204
+
1205
+ #: modules/files/files.php:14
1206
+ msgid "File Editor"
1207
+ msgstr "File Editor"
1208
+
1209
+ #: modules/files/files.php:53
1210
+ msgid "A .htaccess file exists, but it&#8217;s not writable. You can edit it here once the file permissions are corrected."
1211
+ msgstr "Sebbene esista un file .htaccess, esso non è scrivibile. Potrai modificarlo qui una volta che avrai corretto i permessi."
1212
+
1213
+ #: modules/files/files.php:59
1214
+ msgid "WordPress won&#8217;t be able to display your robots.txt file because the default <a href=\"options-permalink.php\" target=\"_blank\">permalink structure</a> is in use."
1215
+ msgstr "WordPress non è in grado di poterti mostrare il file robots.txt a causa della <a href=\"options-permalink.php\" target=\"_blank\">struttura dei permalink</a> che stai utilizzando."
1216
+
1217
+ #: modules/files/files.php:66
1218
+ msgid "robots.txt [<a href=\"%s\" target=\"_blank\">Open</a>]"
1219
+ msgstr "robots.txt [<a href=\"%s\" target=\"_blank\">Apri</a>]"
1220
+
1221
+ #: modules/files/files.php:70
1222
+ msgid "Enable this custom robots.txt file and disable the default file"
1223
+ msgstr "Attiva questo file robots.txt personalizzato e disattiva il file predefinito"
1224
+
1225
+ #: modules/files/files.php:71
1226
+ msgid "Let other plugins add rules to my custom robots.txt file"
1227
+ msgstr "Permetti agli altri plugin di potere aggiungere delle regole al mio file robots.txt personalizzato"
1228
+
1229
+ #: modules/files/files.php:72
1230
+ msgid "robots.txt Settings"
1231
+ msgstr "Impostazioni robots.txt"
1232
+
1233
+ #: modules/files/files.php:75
1234
+ msgid "Please realize that incorrectly editing your robots.txt file could block search engines from your site."
1235
+ msgstr "Sappi che una modifica errata del tuo file robots.txt potrebbe impedire ai motori di ricerca l'accesso al tuo sito."
1236
+
1237
+ #: modules/files/files.php:79
1238
+ msgid ".htaccess"
1239
+ msgstr ".htaccess"
1240
+
1241
+ #: modules/files/files.php:82
1242
+ msgid "Also, incorrectly editing your .htaccess file could disable your entire website. Edit with caution!"
1243
+ msgstr "Inoltre, il modificare incautamente il file .htaccess potrebbe disattivare completamente il tuo sito. Muoviti con attenzione!"
1244
+
1245
+ #: modules/files/files.php:134
1246
+ msgid "Please note that your privacy settings won&#8217;t have any effect on your robots.txt file, since you&#8217;re using <a href=\"%s\">a custom one</a>."
1247
+ msgstr "Ti ricordo che le tue impostazioni privacy non avranno alcun effetto sul tuo file robots.txt sin quando ne utilizzerai uno <a href=\"%s\">personalizzato</a>."
1248
+
1249
+ #: modules/canonical/canonical.php:12
1250
+ msgid "Canonicalizer"
1251
+ msgstr "Canonicalizer"
1252
+
1253
+ #: modules/canonical/canonical.php:39
1254
+ msgid "Generate <code>&lt;link rel=&quot;canonical&quot; /&gt;</code> meta tags."
1255
+ msgstr "Genera tag meta <code>&lt;link rel=&quot;canonical&quot; /&gt;</code>."
1256
+
1257
+ #: modules/canonical/canonical.php:40
1258
+ msgid "Send <code>rel=&quot;canonical&quot;</code> HTTP headers."
1259
+ msgstr "Invia <code>rel=&quot;canonical&quot;</code> a header HTTP."
1260
+
1261
+ #: modules/canonical/canonical.php:41
1262
+ msgid "Redirect requests for nonexistent pagination."
1263
+ msgstr "Reindirizza richieste per pagination inesistente."
1264
+
1265
+ #: modules/user-code/user-code.php:12
1266
+ msgid "Code Inserter"
1267
+ msgstr "Code Inserter"
1268
+
1269
+ #: modules/user-code/user-code.php:27
1270
+ msgid "Everywhere"
1271
+ msgstr "Ovunque"
1272
+
1273
+ #: modules/user-code/user-code.php:34
1274
+ msgid "&lt;head&gt; Tag"
1275
+ msgstr "Tag &lt;head&gt;"
1276
+
1277
+ #: modules/user-code/user-code.php:35
1278
+ msgid "Before Item Content"
1279
+ msgstr "Prima contenuto elemento"
1280
+
1281
+ #: modules/user-code/user-code.php:36
1282
+ msgid "After Item Content"
1283
+ msgstr "Dopo contenuto elemento"
1284
+
1285
+ #: modules/user-code/user-code.php:37
1286
+ msgid "Footer"
1287
+ msgstr "Footer"
1288
+
1289
+ #: modules/user-code/user-code.php:51
1290
+ msgid "Code Inserter module"
1291
+ msgstr "Modulo inserimento codice"
1292
+
1293
+ #: modules/settings/settings-data.php:16
1294
+ msgid "Settings Data Manager"
1295
+ msgstr "Impostazioni gestione dati"
1296
+
1297
+ #: modules/settings/settings-data.php:17
1298
+ msgid "Manage Settings Data"
1299
+ msgstr "Gestione dati impostazioni"
1300
+
1301
+ #: modules/settings/settings-data.php:21
1302
+ msgid "Import"
1303
+ msgstr "Importa"
1304
+
1305
+ #: modules/settings/settings-data.php:22
1306
+ msgid "Export"
1307
+ msgstr "Esporta"
1308
+
1309
+ #: modules/settings/settings-data.php:82
1310
+ msgid "Settings successfully imported."
1311
+ msgstr "Le impostazioni sono state importate con successo."
1312
+
1313
+ #: modules/settings/settings-data.php:84
1314
+ msgid "The uploaded file is not in the proper format. Settings could not be imported."
1315
+ msgstr "Il file caricato non ha un formato coerente. Le impostazioni non sono state importate."
1316
+
1317
+ #: modules/settings/settings-data.php:86
1318
+ msgid "The settings file could not be uploaded successfully."
1319
+ msgstr "Il file delle impostazioni non può essere caricato con successo."
1320
+
1321
+ #: modules/settings/settings-data.php:89
1322
+ msgid "Settings could not be imported because no settings file was selected. Please click the &#8220;Browse&#8221; button and select a file to import."
1323
+ msgstr "Le impostazioni non possono essere caricate perché non è stato selezionato nessun file. Clicca il pulsante &#8220;Sfoglia&#8221; e seleziona un file da importare."
1324
+
1325
+ #: modules/settings/settings-data.php:140
1326
+ msgid "The uploaded file is not in the proper format. Links could not be imported."
1327
+ msgstr "Il file che hai caricato non ha una estensione coerente. I link non possono essere importati."
1328
+
1329
+ #: modules/settings/settings-data.php:182
1330
+ msgid "Links successfully imported."
1331
+ msgstr "Link importati con successo."
1332
+
1333
+ #: modules/settings/settings-data.php:185
1334
+ msgid "The CSV file could not be uploaded successfully."
1335
+ msgstr "Il file CSV non può essere caricato con successo."
1336
+
1337
+ #: modules/settings/settings-data.php:188
1338
+ msgid "Links could not be imported because no CSV file was selected. Please click the &#8220;Browse&#8221; button and select a file to import."
1339
+ msgstr "I link non possono essere importati poiché nessun file CSV è stato selezionato. Clicca sul pulsante &#8220;Sfoglia&#8221; e seleziona il file da importare."
1340
+
1341
+ #: modules/settings/settings-data.php:198
1342
+ msgid "Import SEO Ultimate Settings File"
1343
+ msgstr "Importa file impostazioni SEO Ultimate"
1344
+
1345
+ #: modules/settings/settings-data.php:200
1346
+ msgid "You can use this form to upload and import an SEO Ultimate settings file stored on your computer. (These files can be created using the Export tool.) Note that importing a file will overwrite your existing settings with those in the file."
1347
+ msgstr "Puoi usare questo modulo per caricare ed importare un file impostazioni SEO Ultimate allocato nel tuo computer. (Questi file possono essere creati usando lo strumento di esportazione). Nota: l'importazione di un file sovrascriverà le impostazioni già esistenti sostituendole con quelle presenti nel file."
1348
+
1349
+ #: modules/settings/settings-data.php:204
1350
+ msgid "Are you sure you want to import this settings file? This will overwrite your current settings and cannot be undone."
1351
+ msgstr "Sei certo di volere importare questo file di impostazioni? Questa operazione (irreversibile) sovrascriverà le impostazioni in uso."
1352
+
1353
+ #: modules/settings/settings-data.php:205
1354
+ msgid "Import Settings File"
1355
+ msgstr "Importa file impostazioni"
1356
+
1357
+ #: modules/settings/settings-data.php:211
1358
+ msgid "Import Deeplink Juggernaut CSV File"
1359
+ msgstr "Importa file CSV Deeplink Juggernaut"
1360
+
1361
+ #: modules/settings/settings-data.php:213
1362
+ msgid "You can use this form to upload and import a Deeplink Juggernaut CSV file stored on your computer. (These files can be created using the Export tool.) Note that importing a file will overwrite your existing links with those in the file."
1363
+ msgstr "Puoi usare questo modulo per caricare ed importare un file CSV Deeplink Juggernaut allocato nel tuo computer. (Questi file possono essere creati usando lo strumento di esportazione). Nota: l'importazione di un file sovrascriverà i link già esistenti sostituendoli con quelli presenti nel file."
1364
+
1365
+ #: modules/settings/settings-data.php:217
1366
+ msgid "Are you sure you want to import this CSV file? This will overwrite your current Deeplink Juggernaut links and cannot be undone."
1367
+ msgstr "Sei certo di volere importare questo file CSV? Questa operazione (irreversibile) sovrascriverà i link di Deeplink Juggernaut."
1368
+
1369
+ #: modules/settings/settings-data.php:218
1370
+ msgid "Import CSV File"
1371
+ msgstr "Importa file CSV"
1372
+
1373
+ #: modules/settings/settings-data.php:233
1374
+ msgid "Import from Other Plugins"
1375
+ msgstr "Importa da altri plugin"
1376
+
1377
+ #: modules/settings/settings-data.php:235
1378
+ msgid "You can import settings and data from these plugins. Clicking a plugin&#8217;s name will take you to the importer page, where you can customize parameters and start the import."
1379
+ msgstr "Puoi importare le impostazioni ed i dati da questi plugin. Cliccando sul nome del plugin verrai indirizzato alla pagina delle importazioni laddove potrai personalizzare i parametri ed avviare l'importazione."
1380
+
1381
+ #: modules/settings/settings-data.php:255
1382
+ msgid "Export SEO Ultimate Settings File"
1383
+ msgstr "Esporta file impostazioni SEO Ultimate"
1384
+
1385
+ #: modules/settings/settings-data.php:257
1386
+ msgid "You can use this export tool to download an SEO Ultimate settings file to your computer."
1387
+ msgstr "Puoi usare lo strumento di importazione per scaricare sul tuo computer il file delle impostazioni di SEO Ultimate."
1388
+
1389
+ #: modules/settings/settings-data.php:259
1390
+ msgid "A settings file includes the data of every checkbox and textbox of every installed module. It does NOT include site-specific data like logged 404s or post/page title/meta data (this data would be included in a standard database backup, however)."
1391
+ msgstr "Un file delle impostazioni contiene i dati di ogni casella di selezione e testo di ogni modulo installato. NON include i dati per sito-specifico quali 404 da loggato o dati articolo/pagina titolo/meta (questi dati dovrebbero comunque essere inclusi in un comune backup del database)."
1392
+
1393
+ #: modules/settings/settings-data.php:262
1394
+ msgid "Download Settings File"
1395
+ msgstr "Scarica file impostazioni"
1396
+
1397
+ #: modules/settings/settings-data.php:267
1398
+ msgid "Export Deeplink Juggernaut CSV File"
1399
+ msgstr "Esporta Deeplink Juggernaut a file CSV"
1400
+
1401
+ #: modules/settings/settings-data.php:269
1402
+ msgid "You can use this export tool to download a CSV file (comma-separated values file) that contains your Deeplink Juggernaut links. Once you download this file to your computer, you can edit it using your favorite spreadsheet program. When you&#8217;re done editing, you can re-upload the file using the Import tool."
1403
+ msgstr "Puoi usare questo strumento di esportazione per scaricare un file CSV (file comma-separated values) che contenga i tuoi link Deeplink Juggernaut. Una volta scaricato questo file nel tuo computer, potrai modificarlo utilizzando un programma per la gestione dei fogli di calcolo di tua preferenza. Una volta completata la modifica, potrai ri-caricare il file utilizzando lo strumento di importazione."
1404
+
1405
+ #: modules/settings/settings-data.php:272
1406
+ msgid "Download CSV File"
1407
+ msgstr "Scarica file CSV"
1408
+
1409
+ #: modules/settings/settings-data.php:279
1410
+ msgid "All settings have been erased and defaults have been restored."
1411
+ msgstr "Tutte le impostazioni sono state cancellate e ripristinate le predefinite."
1412
+
1413
+ #: modules/settings/settings-data.php:281
1414
+ msgid "You can erase all your SEO Ultimate settings and restore them to &#8220;factory defaults&#8221; by clicking the button below."
1415
+ msgstr "Puoi cancellare tutte le impostazioni di SEO Ultimate e ripristinare alle &#8220;predefinite&#8221; cliccando il pulsante qui sotto."
1416
+
1417
+ #: modules/settings/settings-data.php:284
1418
+ msgid "Are you sure you want to erase all module settings? This cannot be undone."
1419
+ msgstr "Sei certo di volere cancellare le impostazioni di tutti i moduli? L'operazione sarà irreversibile."
1420
+
1421
+ #: modules/settings/settings-data.php:285
1422
+ msgid "Restore Default Settings"
1423
+ msgstr "Ripristino impostazioni predefinite"
1424
+
1425
+ #: modules/settings/global-settings.php:18
1426
+ msgid "Global Settings"
1427
+ msgstr "Impostazioni globali"
1428
+
1429
+ #: modules/settings/global-settings.php:40
1430
+ msgid "Enable nofollow&#8217;d attribution link"
1431
+ msgstr "Attiva link nofollow di credito a SEO Ultimate"
1432
+
1433
+ #: modules/settings/global-settings.php:41
1434
+ msgid "Enable attribution link CSS styling"
1435
+ msgstr "Attiva stile CSS per link di credito SEO Ultimate"
1436
+
1437
+ #: modules/settings/global-settings.php:42
1438
+ msgid "Notify me about unnecessary active plugins"
1439
+ msgstr "Avvisami sui plugin attivi non necessari"
1440
+
1441
+ #: modules/settings/global-settings.php:43
1442
+ msgid "Insert comments around HTML code insertions"
1443
+ msgstr "Attiva commento identificativo agli inserimenti codice HTML di SEO Ultimate"
1444
+
1445
+ #: modules/settings/settings.php:12
1446
+ msgid "Plugin Settings"
1447
+ msgstr "Impostazioni plugin"
1448
+
1449
+ #: modules/settings/settings.php:13
1450
+ msgid "SEO Ultimate Plugin Settings"
1451
+ msgstr "Impostazioni plugin SEO Ultimate"
1452
+
1453
+ #. #-#-#-#-# plugin.pot (SEO Ultimate 6.9.2) #-#-#-#-#
1454
+ #. Plugin Name of the plugin/theme
1455
+ #: modules/settings/settings.php:14
1456
+ #: plugin/class.seo-ultimate.php:775
1457
+ msgid "SEO Ultimate"
1458
+ msgstr "SEO Ultimate"
1459
+
1460
+ #: modules/settings/uninstall.php:17
1461
+ msgid "Uninstaller"
1462
+ msgstr "Disinstallatore"
1463
+
1464
+ #: modules/settings/uninstall.php:18
1465
+ #: plugin/class.seo-ultimate.php:1258
1466
+ msgid "Uninstall"
1467
+ msgstr "Disinstalla"
1468
+
1469
+ #: modules/settings/uninstall.php:27
1470
+ msgid "Uninstalling SEO Ultimate will delete your settings and the plugin&#8217;s files."
1471
+ msgstr "La disinstallazione di SEO Ultimate cancellerà le impostazioni personalizzate ed i file del plugin."
1472
+
1473
+ #: modules/settings/uninstall.php:30
1474
+ msgid "Are you sure you want to uninstall SEO Ultimate? This will permanently erase your SEO Ultimate settings and cannot be undone."
1475
+ msgstr "Sei certo di volere disinstallare SEO Ultimate? Questa operazione (irreversibile) cancellerà definitivamente le tue impostazioni di SEO Ultimate."
1476
+
1477
+ #: modules/settings/uninstall.php:31
1478
+ msgid "Uninstall Now"
1479
+ msgstr "Disinstalla adesso"
1480
+
1481
+ #: modules/settings/uninstall.php:35
1482
+ #: modules/settings/uninstall.php:42
1483
+ msgid "Uninstall SEO Ultimate"
1484
+ msgstr "Disinstalla SEO Ultimate"
1485
+
1486
+ #: modules/settings/uninstall.php:46
1487
+ msgid "Deleted settings."
1488
+ msgstr "Le impostazioni sono state cancellate."
1489
+
1490
+ #: modules/settings/uninstall.php:53
1491
+ msgid "An error occurred while deleting files."
1492
+ msgstr "Si è verificato un errore durante la cancellazione dei file."
1493
+
1494
+ #: modules/settings/uninstall.php:55
1495
+ msgid "Deleted files."
1496
+ msgstr "I file sono stati cancellati."
1497
+
1498
+ #: modules/settings/uninstall.php:56
1499
+ msgid "Uninstallation complete. Thanks for trying SEO Ultimate."
1500
+ msgstr "La disinstallazione è stata effettuata. Grazie per avere provato SEO Ultimate."
1501
+
1502
+ #: modules/settings/install.php:18
1503
+ msgid "Upgrade/Downgrade/Reinstall"
1504
+ msgstr "Upgrade/Downgrade/Reinstallazione"
1505
+
1506
+ #: modules/settings/install.php:19
1507
+ msgid "Installer"
1508
+ msgstr "Installatore"
1509
+
1510
+ #: modules/settings/install.php:23
1511
+ #: modules/settings/install.php:48
1512
+ msgid "Upgrade"
1513
+ msgstr "Upgrade"
1514
+
1515
+ #: modules/settings/install.php:24
1516
+ #: modules/settings/install.php:71
1517
+ msgid "Downgrade"
1518
+ msgstr "Downgrade"
1519
+
1520
+ #: modules/settings/install.php:25
1521
+ #: modules/settings/install.php:86
1522
+ msgid "Reinstall"
1523
+ msgstr "Reinstalla"
1524
+
1525
+ #: modules/settings/install.php:42
1526
+ msgid "From the list below, select the version to which you would like to upgrade. Then click the &#8220;Upgrade&#8221; button at the bottom of the screen."
1527
+ msgstr "Seleziona dall'elenco qui sotto a quale versione desideri effettuare l'upgrade. Clicca il pulsante &#8220;Upgrade&#8221; in fondo alla pagina."
1528
+
1529
+ #: modules/settings/install.php:51
1530
+ msgid "You are already running the latest version."
1531
+ msgstr "Si sta già utilizzando la versione più recente."
1532
+
1533
+ #: modules/settings/install.php:53
1534
+ msgid "There was an error retrieving the list of available versions. Please try again later. You can also upgrade to the latest version of SEO Ultimate using the WordPress plugin upgrader."
1535
+ msgstr "Si è verificato un errore durante il recupero della lista delle versioni disponibili. Riprova in un secondo momento. Ricordati che puoi anche effettuare l'aggiornamento alla versione più recente di SEO Ultimate via WordPress plugin upgrader."
1536
+
1537
+ #: modules/settings/install.php:62
1538
+ msgid "Downgrading is provided as a convenience only and is not officially supported. Although unlikely, you may lose data in the downgrading process. It is your responsibility to backup your database before proceeding."
1539
+ msgstr "Il downgrading è fornito come pura opportunità di tua convenienza e non è ufficialmente supportato. Sebbene improbabile, potresti perdere i dati durante il processo di downgrading. Ricordati di effettuare il backup del database prima di procedere."
1540
+
1541
+ #: modules/settings/install.php:65
1542
+ msgid "From the list below, select the version to which you would like to downgrade. Then click the &#8220;Downgrade&#8221; button at the bottom of the screen."
1543
+ msgstr "Seleziona dall'elenco qui sotto a quale versione desideri effettuare il downgrade. Clicca il pulsante &#8220;Downgrade&#8221; in fondo alla pagina."
1544
+
1545
+ #: modules/settings/install.php:74
1546
+ msgid "Downgrading to versions earlier than %s is not supported because doing so will result in data loss."
1547
+ msgstr "Il downgrading a delle versioni precedenti la %s non è previsto poiché questa operazione farebbe perdere i dati."
1548
+
1549
+ #: modules/settings/install.php:76
1550
+ msgid "There was an error retrieving the list of available versions. Please try again later."
1551
+ msgstr "Si è verificato un errore durante il recupero della lista delle versioni disponibili. Riprova in un secondo momento."
1552
+
1553
+ #: modules/settings/install.php:81
1554
+ msgid "To download and install a fresh copy of the SEO Ultimate version you are currently using, click the &#8220;Reinstall&#8221; button below."
1555
+ msgstr "Per scaricare ed installare una nuova copia della versione SEO Ultimate in uso, clicca il pulsante &#8220;Reinstalla&#8221; qui sotto."
1556
+
1557
+ #: modules/settings/install.php:108
1558
+ msgid "Your Current Version"
1559
+ msgstr "La tua versione in uso"
1560
+
1561
+ #: modules/settings/install.php:110
1562
+ msgid "Latest Version"
1563
+ msgstr "Ultima versione"
1564
+
1565
+ #: modules/settings/install.php:130
1566
+ msgid "You do not have sufficient permissions to upgrade/downgrade plugins for this blog."
1567
+ msgstr "Non hai i permessi necessari per potere effettuare una operazione upgrade/downgrade del plugin per questo sito."
1568
+
1569
+ #: modules/settings/install.php:140
1570
+ msgid "Downgrade to SEO Ultimate %s"
1571
+ msgstr "Downgrade a SEO Ultimate %s"
1572
+
1573
+ #: modules/settings/install.php:143
1574
+ msgid "Reinstall SEO Ultimate %s"
1575
+ msgstr "Reinstalla SEO Ultimate %s"
1576
+
1577
+ #: modules/settings/install.php:146
1578
+ msgid "Upgrade to SEO Ultimate %s"
1579
+ msgstr "Aggiorna a SEO Ultimate %s"
1580
+
1581
+ #: modules/sharing-buttons/sharing-buttons.php:12
1582
+ msgid "Sharing Facilitator"
1583
+ msgstr "Sharing Facilitator"
1584
+
1585
+ #: modules/sharing-buttons/sharing-buttons.php:25
1586
+ msgid "Bookmark and Share"
1587
+ msgstr "Segnalibro e Share"
1588
+
1589
+ #: modules/sharing-buttons/sharing-buttons.php:39
1590
+ msgid "Which provider would you like to use for your sharing buttons?"
1591
+ msgstr "Quale servizio desideri utilizzare per i tuoi pulsanti di condivisione?"
1592
+
1593
+ #: modules/sharing-buttons/sharing-buttons.php:41
1594
+ msgid "None; disable sharing buttons"
1595
+ msgstr "Nessuno: disattiva i pulsanti sharing"
1596
+
1597
+ #: modules/sharing-buttons/sharing-buttons.php:42
1598
+ msgid "Use the ShareThis button"
1599
+ msgstr "Uso il pulsante ShareThis"
1600
+
1601
+ #: modules/sharing-buttons/sharing-buttons.php:43
1602
+ msgid "Use the AddThis button"
1603
+ msgstr "Uso il pulsante AddThis"
1604
+
1605
+ #: modules/wp-settings/wp-settings.php:14
1606
+ msgid "Settings Monitor (Beta)"
1607
+ msgstr "Settings Monitor (Beta)"
1608
+
1609
+ #: modules/wp-settings/wp-settings.php:15
1610
+ msgid "Settings Monitor"
1611
+ msgstr "Settings Monitor"
1612
+
1613
+ #: modules/wp-settings/wp-settings.php:30
1614
+ msgid "Blog is visible to search engines"
1615
+ msgstr "Il blog è visibile ai motori di ricerca"
1616
+
1617
+ #: modules/wp-settings/wp-settings.php:31
1618
+ msgid "WordPress will allow search engines to visit your site."
1619
+ msgstr "WordPress permetterà ai motori di ricerca di vedere il tuo sito."
1620
+
1621
+ #: modules/wp-settings/wp-settings.php:33
1622
+ msgid "Blog is hidden from search engines"
1623
+ msgstr "Il blog è nacosto ai motori di ricerca"
1624
+
1625
+ #: modules/wp-settings/wp-settings.php:34
1626
+ msgid "WordPress is configured to block search engines. This will nullify your site&#8217;s SEO and should be resolved immediately."
1627
+ msgstr "WordPress è stato configurato per il blocco dei motori di ricerca. Questa condizione annullerà il SEO per il tuo sito e può essere risolta immediatamente."
1628
+
1629
+ #: modules/wp-settings/wp-settings.php:38
1630
+ msgid "Query-string permalinks enabled"
1631
+ msgstr "Query-string permalink attivo"
1632
+
1633
+ #: modules/wp-settings/wp-settings.php:39
1634
+ msgid "It is highly recommended that you use a non-default and non-numeric permalink structure."
1635
+ msgstr "È preferibile utilizzare una struttura dei permalink che non sia predefinita e numerica."
1636
+
1637
+ #: modules/wp-settings/wp-settings.php:43
1638
+ msgid "Pathinfo permalinks enabled"
1639
+ msgstr "Pathinfo permalinks attivato"
1640
+
1641
+ #: modules/wp-settings/wp-settings.php:44
1642
+ msgid "Pathinfo permalinks add a keyword-less &#8220;index.php&#8221; prefix. This is not ideal, but it may be beyond your control (since it&#8217;s likely caused by your site&#8217;s web hosting setup)."
1643
+ msgstr "Pathinfo permalinks aggiunge un prefisso keyword-less a &#8220;index.php&#8221;. Non è l'ideale e potrebbe non essere più sotto il tuo controllo (poiché causato dal setup del web hosting per il tuo sito)."
1644
+
1645
+ #: modules/wp-settings/wp-settings.php:49
1646
+ msgid "Permalinks include the post slug"
1647
+ msgstr "I permalink includono lo slug dell'articolo"
1648
+
1649
+ #: modules/wp-settings/wp-settings.php:50
1650
+ msgid "Including a version of the post&#8217;s title helps provide keyword-rich URLs."
1651
+ msgstr "Includere una versione del titolo dell'articolo aiuta a fornire degli URL ricchi di parole chiave."
1652
+
1653
+ #: modules/wp-settings/wp-settings.php:52
1654
+ msgid "Permalinks do not include the post slug"
1655
+ msgstr "I permalink non includono lo slug dell'articolo"
1656
+
1657
+ #: modules/wp-settings/wp-settings.php:53
1658
+ msgid "It is highly recommended that you include the %postname% variable in the permalink structure."
1659
+ msgstr "Nota: è preferibile includere la variabile %postname% nella struttura del permalink."
1660
+
1661
+ #: modules/wp-settings/wp-settings.php:63
1662
+ msgid "Settings Monitor analyzes your blog&#8217;s settings and notifies you of any problems. If any issues are found, they will show up in red or yellow below."
1663
+ msgstr "Il monitoraggio analizza le impostazioni del tuo blogs e ti avverte in merito ad ogni problema. In caso di presenza errori, i problemi saranno mostrati in rosso o giallo qui sotto."
1664
+
1665
+ #: modules/wp-settings/wp-settings.php:75
1666
+ msgid "Go to setting &raquo;"
1667
+ msgstr "Vai alla impostazione &raquo;"
1668
+
1669
+ #: modules/noindex/noindex.php:12
1670
+ msgid "Noindex Manager"
1671
+ msgstr "Gestione Noindex"
1672
+
1673
+ #: modules/noindex/noindex.php:13
1674
+ #: modules/noindex/noindex.php:49
1675
+ #: modules/noindex/noindex.php:67
1676
+ msgid "Noindex"
1677
+ msgstr "Noindex"
1678
+
1679
+ #: modules/noindex/noindex.php:54
1680
+ #: modules/noindex/noindex.php:78
1681
+ #: modules/autolinks/content-autolinks.php:367
1682
+ #: modules/autolinks/footer-autolinks.php:214
1683
+ msgid "Nofollow"
1684
+ msgstr "Nofollow"
1685
+
1686
+ #: modules/noindex/noindex.php:62
1687
+ #: modules/noindex/noindex.php:73
1688
+ msgid "Use default"
1689
+ msgstr "Usa predefinito"
1690
+
1691
+ #: modules/noindex/noindex.php:63
1692
+ msgid "noindex"
1693
+ msgstr "noindex"
1694
+
1695
+ #: modules/noindex/noindex.php:64
1696
+ msgid "index"
1697
+ msgstr "index"
1698
+
1699
+ #: modules/noindex/noindex.php:74
1700
+ msgid "nofollow"
1701
+ msgstr "nofollow"
1702
+
1703
+ #: modules/noindex/noindex.php:75
1704
+ msgid "follow"
1705
+ msgstr "follow"
1706
+
1707
+ #: modules/noindex/noindex.php:89
1708
+ msgid "Note: The current <a href=\"options-privacy.php\">privacy settings</a> will block indexing of the entire site, regardless of which options are set below."
1709
+ msgstr "Nota: le impostazioni <a href=\"options-privacy.php\">privacy</a> in uso impediranno l'indicizzazione del sito intero indipendentemente da quale opzione sia stata impostata qui sotto."
1710
+
1711
+ #: modules/noindex/noindex.php:92
1712
+ msgid "Prevent indexing of..."
1713
+ msgstr "Previeni indicizzazione di..."
1714
+
1715
+ #: modules/noindex/noindex.php:93
1716
+ msgid "Administration back-end pages"
1717
+ msgstr "Back-end pagine amministrazione"
1718
+
1719
+ #: modules/noindex/noindex.php:94
1720
+ msgid "Author archives"
1721
+ msgstr "Archivi autore"
1722
+
1723
+ #: modules/noindex/noindex.php:95
1724
+ msgid "Blog search pages"
1725
+ msgstr "Pagine ricerca"
1726
+
1727
+ #: modules/noindex/noindex.php:96
1728
+ msgid "Category archives"
1729
+ msgstr "Archivi categoria"
1730
+
1731
+ #: modules/noindex/noindex.php:97
1732
+ msgid "Comment feeds"
1733
+ msgstr "Feed commenti"
1734
+
1735
+ #: modules/noindex/noindex.php:98
1736
+ msgid "Comment subpages"
1737
+ msgstr "Sotto-pagine commenti"
1738
+
1739
+ #: modules/noindex/noindex.php:99
1740
+ msgid "Date-based archives"
1741
+ msgstr "Archivi per-data"
1742
+
1743
+ #: modules/noindex/noindex.php:100
1744
+ msgid "Subpages of the homepage"
1745
+ msgstr "Sotto-pagine homepage"
1746
+
1747
+ #: modules/noindex/noindex.php:101
1748
+ msgid "Tag archives"
1749
+ msgstr "Archivi tag"
1750
+
1751
+ #: modules/noindex/noindex.php:102
1752
+ msgid "User login/registration pages"
1753
+ msgstr "Pagine login/registrazione utente"
1754
+
1755
+ #: modules/noindex/noindex.php:165
1756
+ msgid "Noindex: Tell search engines not to index this webpage."
1757
+ msgstr "Noindex: ordina ai motori di ricerca di non indicizzare questa pagina web."
1758
+
1759
+ #: modules/noindex/noindex.php:166
1760
+ msgid "Nofollow: Tell search engines not to spider links on this webpage."
1761
+ msgstr "Nofollow: ordina ai motori di ricerca di non analizzare (via spider) i link su questa pagina web."
1762
+
1763
+ #: modules/noindex/noindex.php:167
1764
+ msgid "Meta Robots Tag:"
1765
+ msgstr "Tag Robots meta:"
1766
+
1767
+ #: modules/autolinks/autolinks.php:11
1768
+ msgid "Deeplink Juggernaut"
1769
+ msgstr "Deeplink Juggernaut"
1770
+
1771
+ #: modules/autolinks/autolinks.php:18
1772
+ msgid "Deeplink Juggernaut requires PHP 5.2 or above in SEO Ultimate 6.0 and later. (Note that WordPress itself will soon require PHP 5.2 as well, starting with WordPress 3.2.) If you aren&#8217;t sure how to upgrade PHP, please ask your webhost. In the meantime, you can return to an older version of Deeplink Juggernaut that supports your version of PHP by <a href=\"%s\">downgrading</a> to SEO Ultimate 5.9."
1773
+ msgstr "Deeplink Juggernaut richiede PHP 5.2 o superiore e SEO Ultimate 6.0 o più recente. (Nota: a breve termine anche lo stesso WordPress richiederà PHP 5.2 e WordPress 3.2). Qualora non fossi certo sul come aggiornare il PHP, contatta il tuo host. Allo stesso momento, puoi sempre ritornare ad una vecchia versione del Deeplink Juggernaut che supporti la tua versione PHP effettuando un <a href=\"%s\">downgrading</a> a SEO Ultimate 5.9."
1774
+
1775
+ #: modules/autolinks/content-autolinks.php:16
1776
+ msgid "Content Deeplink Juggernaut"
1777
+ msgstr "Deeplink Juggernaut - Contenuti"
1778
+
1779
+ #: modules/autolinks/content-autolinks.php:17
1780
+ msgid "Content Links"
1781
+ msgstr "Link Contestuali"
1782
+
1783
+ #: modules/autolinks/content-autolinks.php:259
1784
+ #: modules/autolinks/footer-autolinks.php:129
1785
+ msgid "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."
1786
+ msgstr "La sezione Link Contestuali di Deeplink Juggernaut ti permetterà di linkare in automatico una certa frase o parola presente in un tuo articolo/pagina ad un determinato URL specificato da te."
1787
+
1788
+ #: modules/autolinks/content-autolinks.php:313
1789
+ #: modules/autolinks/footer-autolinks.php:161
1790
+ msgid "Edit Existing Links"
1791
+ msgstr "Modifica link esistenti"
1792
+
1793
+ #: modules/autolinks/content-autolinks.php:317
1794
+ #: modules/autolinks/footer-autolinks.php:165
1795
+ msgid "Add a New Link"
1796
+ msgstr "Aggiungi un nuovo link"
1797
+
1798
+ #: modules/autolinks/content-autolinks.php:328
1799
+ #: modules/autolinks/footer-autolinks.php:175
1800
+ msgid "Anchor Text"
1801
+ msgstr "Anchor Text"
1802
+
1803
+ #: modules/autolinks/content-autolinks.php:329
1804
+ #: modules/autolinks/footer-autolinks.php:176
1805
+ msgid "Destination"
1806
+ msgstr "Destinazione"
1807
+
1808
+ #: modules/autolinks/content-autolinks.php:330
1809
+ #: modules/autolinks/footer-autolinks.php:177
1810
+ msgid "Title Attribute"
1811
+ msgstr "Attributo titolo"
1812
+
1813
+ #: modules/autolinks/content-autolinks.php:332
1814
+ msgid "Site Cap"
1815
+ msgstr "Site Cap"
1816
+
1817
+ #: modules/autolinks/content-autolinks.php:333
1818
+ #: modules/autolinks/footer-autolinks.php:178
1819
+ msgid "Options"
1820
+ msgstr "Opzioni"
1821
+
1822
+ #: modules/autolinks/content-autolinks.php:335
1823
+ #: modules/autolinks/footer-autolinks.php:180
1824
+ msgid "Delete"
1825
+ msgstr "Cancella"
1826
+
1827
+ #: modules/autolinks/content-autolinks.php:369
1828
+ #: modules/autolinks/footer-autolinks.php:216
1829
+ msgid "New window"
1830
+ msgstr "Nuova finestra"
1831
+
1832
+ #: modules/autolinks/content-autolinks.php:434
1833
+ msgid "Incoming Autolink Anchors:<br /><em>(one per line)</em>"
1834
+ msgstr "Ancore auto-link in ingresso:<br /><em>(una per linea)</em>"
1835
+
1836
+ #: modules/autolinks/content-autolinks.php:437
1837
+ msgid "Don&#8217;t add autolinks to anchor texts found in this post."
1838
+ msgstr "Non aggiungere auto-links agli anchor text trovati in questo articolo."
1839
+
1840
+ #: modules/autolinks/content-autolinks.php:437
1841
+ msgid "Autolink Exclusion:"
1842
+ msgstr "Esclusione auto-link:"
1843
+
1844
+ #: modules/autolinks/content-autolinks.php:443
1845
+ msgid "<strong>Incoming Autolink Anchors</strong> &mdash; 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&#8217;re editing is about &#8220;blue widgets,&#8221; you could type &#8220;blue widgets&#8221; into the &#8220;Incoming Autolink Anchors&#8221; box and Deeplink Juggernaut will automatically build internal links to this post with that anchor text (assuming other posts contain that text)."
1846
+ msgstr "<strong>Ancore auto-link in ingresso</strong> &mdash; Inserendo delle ancore in questo box, Deeplink Juggernaut cercherà quella data ancora in tutti i tuoi articoli e link a questo articolo. Ad esempio, se l'articolo che stai modificando concernesse i &#8220;widgets,&#8221; tu scrivi &#8220;widgets&#8221; nella casella &#8220;Ancore auto-link in ingresso&#8221; e Deeplink Juggernaut costruirà in automalico i link interni a quel post avente quel dato anchor text (posto che gli altri articoli contengano quel testo)."
1847
+
1848
+ #: modules/autolinks/content-autolinks-settings.php:16
1849
+ msgid "Content Deeplink Juggernaut Settings"
1850
+ msgstr "Deeplink Juggernaut - Impostazioni contenuto"
1851
+
1852
+ #: modules/autolinks/content-autolinks-settings.php:17
1853
+ msgid "Content Link Settings"
1854
+ msgstr "Impostazioni Link Contestuali"
1855
+
1856
+ #: modules/autolinks/content-autolinks-settings.php:40
1857
+ msgid "Add Autolinks to..."
1858
+ msgstr "Aggiungi auto-link a..."
1859
+
1860
+ #: modules/autolinks/content-autolinks-settings.php:43
1861
+ msgid "Allow posts to link to themselves."
1862
+ msgstr "Permetti agli articoli di linkare se stessi."
1863
+
1864
+ #: modules/autolinks/content-autolinks-settings.php:44
1865
+ msgid "Allow posts to link to the URL by which the visitor is accessing the post."
1866
+ msgstr "Permetti agli articoli di linkare l'URL dal quale il visitatore arrivato all'articolo."
1867
+
1868
+ #: modules/autolinks/content-autolinks-settings.php:45
1869
+ msgid "Self-Linking"
1870
+ msgstr "Self-Linking"
1871
+
1872
+ #: modules/autolinks/content-autolinks-settings.php:48
1873
+ msgid "Enable per-link customization of quantity limits."
1874
+ msgstr "Attiva personalizzazione limite quantità per-link."
1875
+
1876
+ #: modules/autolinks/content-autolinks-settings.php:49
1877
+ msgid "Don&#8217;t add any more than %d autolinks per post/page/etc."
1878
+ msgstr "Non aggiungere più di %d auto-link per articolo/pagina/etc."
1879
+
1880
+ #: modules/autolinks/content-autolinks-settings.php:50
1881
+ msgid "Don&#8217;t link the same anchor text any more than %d times per post/page/etc."
1882
+ msgstr "Non linkare lo stesso anchor text per più di %d volte per articolo/pagina/etc."
1883
+
1884
+ #: modules/autolinks/content-autolinks-settings.php:51
1885
+ msgid "Don&#8217;t link the same anchor text any more than %d times across my entire site."
1886
+ msgstr "Non linkare lo stesso anchor text per più di %d volte in tutto l'intero sito."
1887
+
1888
+ #: modules/autolinks/content-autolinks-settings.php:52
1889
+ msgid "Don&#8217;t link to the same destination any more than %d times per post/page/etc."
1890
+ msgstr "Non linkare alla stessa destinazione per più di %d volte per articolo/pagina/etc."
1891
+
1892
+ #: modules/autolinks/content-autolinks-settings.php:53
1893
+ msgid "Quantity Restrictions"
1894
+ msgstr "Restrizioni quantità"
1895
+
1896
+ #: modules/autolinks/content-autolinks-settings.php:55
1897
+ msgid "Don&#8217;t add autolinks to text within these HTML tags <em>(separate with commas)</em>:"
1898
+ msgstr "Non aggiungere gli auto-link al testo all'interno di questi tag HTML <em>(separa con una virgola)</em>:"
1899
+
1900
+ #: modules/autolinks/content-autolinks-settings.php:55
1901
+ msgid "Tag Restrictions"
1902
+ msgstr "Restrizioni tag"
1903
+
1904
+ #: modules/autolinks/content-autolinks-settings.php:63
1905
+ msgid "%s can only link to internal destinations that share at least one..."
1906
+ msgstr "Gli %s possono solamente linkare a delle destinazioni interne che ne condividano almeno uno..."
1907
+
1908
+ #: modules/autolinks/content-autolinks-settings.php:76
1909
+ msgid "Siloing"
1910
+ msgstr "Siloing"
1911
+
1912
+ #: modules/autolinks/footer-autolinks.php:16
1913
+ msgid "Footer Deeplink Juggernaut"
1914
+ msgstr "Deeplink Juggernaut - Footer"
1915
+
1916
+ #: modules/autolinks/footer-autolinks.php:173
1917
+ msgid "Link Location (optional)"
1918
+ msgstr "Posizione link (facoltativa)"
1919
+
1920
+ #: modules/autolinks/footer-autolinks.php:201
1921
+ msgid "Match child content"
1922
+ msgstr "Corrispondenza child"
1923
+
1924
+ #: modules/autolinks/footer-autolinks.php:203
1925
+ msgid "Negative match"
1926
+ msgstr "Corrisp. negativa"
1927
+
1928
+ #: modules/autolinks/footer-autolinks-settings.php:16
1929
+ msgid "Footer Deeplink Juggernaut Settings"
1930
+ msgstr "Deeplink Juggernaut - Impostazioni footer"
1931
+
1932
+ #: modules/autolinks/footer-autolinks-settings.php:17
1933
+ msgid "Footer Link Settings"
1934
+ msgstr "Impostazioni Link Footer"
1935
+
1936
+ #: modules/autolinks/footer-autolinks-settings.php:28
1937
+ msgid "HTML Formats"
1938
+ msgstr "Formati HTML"
1939
+
1940
+ #: modules/autolinks/footer-autolinks-settings.php:31
1941
+ msgid "Link Section Format"
1942
+ msgstr "Sezione formato link"
1943
+
1944
+ #: modules/autolinks/footer-autolinks-settings.php:32
1945
+ msgid "Link Format"
1946
+ msgstr "Formato link"
1947
+
1948
+ #: modules/autolinks/footer-autolinks-settings.php:34
1949
+ msgid "Link Separator"
1950
+ msgstr "Separatore link"
1951
+
1952
+ #: plugin/class.su-installer.php:9
1953
+ msgid "Package not available."
1954
+ msgstr "Package non disponibile."
1955
+
1956
+ #: plugin/class.su-installer.php:12
1957
+ msgid "Removing the current version of the plugin&#8230;"
1958
+ msgstr "Rimozione versione in uso del plugin in corso..."
1959
+
1960
+ #: plugin/class.su-installer.php:13
1961
+ msgid "Could not remove the current version of the plugin."
1962
+ msgstr "Impossibile rimuovere la versione in uso del plugin."
1963
+
1964
+ #: plugin/class.su-installer.php:17
1965
+ msgid "Downloading old version from <span class=\"code\">%s</span>&#8230;"
1966
+ msgstr "Scaricamento in corso della vecchia versione <span class=\"code\">%s</span>&#8230;"
1967
+
1968
+ #: plugin/class.su-installer.php:18
1969
+ msgid "Unpacking the downgrade&#8230;"
1970
+ msgstr "Estrazione del downgrade..."
1971
+
1972
+ #: plugin/class.su-installer.php:19
1973
+ msgid "Installing the downgrade&#8230;"
1974
+ msgstr "Installazione downgrade in corso..."
1975
+
1976
+ #: plugin/class.su-installer.php:20
1977
+ msgid "Plugin downgrade failed."
1978
+ msgstr "Downgrade del plugin fallito."
1979
+
1980
+ #: plugin/class.su-installer.php:21
1981
+ msgid "Plugin downgraded successfully."
1982
+ msgstr "Downgrade del plugin avvenuto con successo!"
1983
+
1984
+ #: plugin/class.su-installer.php:24
1985
+ msgid "Downloading from <span class=\"code\">%s</span>&#8230;"
1986
+ msgstr "Scaricamento da <span class=\"code\">%s</span>&#8230;"
1987
+
1988
+ #: plugin/class.su-installer.php:25
1989
+ msgid "Unpacking the reinstall&#8230;"
1990
+ msgstr "Estrazione della reinstallazione..."
1991
+
1992
+ #: plugin/class.su-installer.php:26
1993
+ msgid "Reinstalling the current version&#8230;"
1994
+ msgstr "Reinstallazione in corso della versione in uso..."
1995
+
1996
+ #: plugin/class.su-installer.php:27
1997
+ msgid "Plugin reinstallation failed."
1998
+ msgstr "La reinstallazione del plugin è fallita."
1999
+
2000
+ #: plugin/class.su-installer.php:28
2001
+ msgid "Plugin reinstalled successfully."
2002
+ msgstr "Il plugin è stato reinstallato con successo!"
2003
+
2004
+ #: plugin/class.su-installer.php:32
2005
+ msgid "Downloading upgrade from <span class=\"code\">%s</span>&#8230;"
2006
+ msgstr "Scaricamento aggiornamento da <span class=\"code\">%s</span>&#8230;"
2007
+
2008
+ #: plugin/class.su-installer.php:33
2009
+ msgid "Unpacking the upgrade&#8230;"
2010
+ msgstr "Estrazione dell'aggiornamento..."
2011
+
2012
+ #: plugin/class.su-installer.php:34
2013
+ msgid "Installing the upgrade&#8230;"
2014
+ msgstr "Installazione aggiornamento in corso..."
2015
+
2016
+ #: plugin/class.su-installer.php:35
2017
+ msgid "Plugin upgrade failed."
2018
+ msgstr "L'aggiornamento del plugin è fallito."
2019
+
2020
+ #: plugin/class.su-installer.php:36
2021
+ msgid "Plugin upgraded successfully."
2022
+ msgstr "Il plugin è stato aggiornato con successo!"
2023
+
2024
+ #: plugin/su-functions.php:77
2025
+ #: includes/jlfunctions/str.php:105
2026
+ msgid "%s and %s"
2027
+ msgstr "%s e %s"
2028
+
2029
+ #: plugin/su-functions.php:80
2030
+ #: includes/jlfunctions/str.php:108
2031
+ msgid ", "
2032
+ msgstr ", "
2033
+
2034
+ #: plugin/su-functions.php:81
2035
+ #: includes/jlfunctions/str.php:109
2036
+ msgid "%s, and %s"
2037
+ msgstr "%s, e %s"
2038
+
2039
+ #: plugin/class.seo-ultimate.php:775
2040
+ msgid "SEO"
2041
+ msgstr "SEO"
2042
+
2043
+ #: plugin/class.seo-ultimate.php:964
2044
+ msgid "It looks like you made changes to the settings of this SEO Ultimate module. If you leave before saving, those changes will be lost."
2045
+ msgstr "Pare che tu abbia effettuato delle modifiche alle impostazioni di questo modulo SEO Ultimate. Lasciassi questa pagina senza salvare, le modifiche saranno perse."
2046
+
2047
+ #: plugin/class.seo-ultimate.php:1058
2048
+ msgid "SEO Settings Help"
2049
+ msgstr "Aiuto impostazioni SEO"
2050
+
2051
+ #: plugin/class.seo-ultimate.php:1060
2052
+ msgid "The SEO Settings box lets you customize these settings:"
2053
+ msgstr "Il box impostazioni SEO ti permetterà di personalizzare queste impostazioni:"
2054
+
2055
+ #: plugin/class.seo-ultimate.php:1062
2056
+ msgid "(The SEO Settings box is part of the SEO Ultimate plugin.)"
2057
+ msgstr "(il box Impostazioni SEO è parte del plugin SEO Ultimate.)"
2058
+
2059
+ #: plugin/class.seo-ultimate.php:1117
2060
+ msgid "SEO Ultimate includes the functionality of %1$s. You may want to deactivate %1$s to avoid plugin conflicts."
2061
+ msgstr "SEO Ultimate include la funzione di %1$s. Puoi disattivare %1$s per evitare un conflitto tra i plugin."
2062
+
2063
+ #: plugin/class.seo-ultimate.php:1159
2064
+ msgid "new module"
2065
+ msgstr "nuovo modulo"
2066
+
2067
+ #: plugin/class.seo-ultimate.php:1159
2068
+ msgid "new modules"
2069
+ msgstr "nuovi moduli"
2070
+
2071
+ #: plugin/class.seo-ultimate.php:1160
2072
+ msgid "new feature"
2073
+ msgstr "nuova feature"
2074
+
2075
+ #: plugin/class.seo-ultimate.php:1160
2076
+ msgid "new features"
2077
+ msgstr "nuove features"
2078
+
2079
+ #: plugin/class.seo-ultimate.php:1161
2080
+ msgid "bugfix"
2081
+ msgstr "bugfix"
2082
+
2083
+ #: plugin/class.seo-ultimate.php:1161
2084
+ msgid "bugfixes"
2085
+ msgstr "bugfixes"
2086
+
2087
+ #: plugin/class.seo-ultimate.php:1162
2088
+ msgid "improvement"
2089
+ msgstr "miglioramento"
2090
+
2091
+ #: plugin/class.seo-ultimate.php:1162
2092
+ msgid "improvements"
2093
+ msgstr "miglioramenti"
2094
+
2095
+ #: plugin/class.seo-ultimate.php:1163
2096
+ msgid "security fix"
2097
+ msgstr "correzione sicurezza"
2098
+
2099
+ #: plugin/class.seo-ultimate.php:1163
2100
+ msgid "security fixes"
2101
+ msgstr "correzioni sicurezza"
2102
+
2103
+ #: plugin/class.seo-ultimate.php:1194
2104
+ msgid "%d %s"
2105
+ msgstr "%d %s"
2106
+
2107
+ #: plugin/class.seo-ultimate.php:1200
2108
+ msgid "Upgrade now to get %s. %s."
2109
+ msgstr "Aggiorna adesso: %s. %s."
2110
+
2111
+ #: plugin/class.seo-ultimate.php:1202
2112
+ msgid "View changelog"
2113
+ msgstr "Vedi registro modifiche"
2114
+
2115
+ #: plugin/class.seo-ultimate.php:1278
2116
+ msgid "Active Modules: "
2117
+ msgstr "Moduli attivi:"
2118
+
2119
+ #: plugin/class.seo-ultimate.php:1339
2120
+ msgid "<strong>SEO Ultimate Notice:</strong> Your blog is configured to block search engine spiders. To resolve this, <a href=\"options-privacy.php\" target=\"_blank\">go to your Privacy settings</a> and set your blog visible to everyone."
2121
+ msgstr "<strong>Avviso SEO Ultimate:</strong> Il tuo blog è stato configurato per bloccare gli spider dei motori di ricerca. Per modificare, vai alle tue impostazioni <a href=\"options-privacy.php\" target=\"_blank\">Privacy</a> e imposta che il tuo blog sia visibile da chiunque."
2122
+
2123
+ #: plugin/class.seo-ultimate.php:1461
2124
+ msgid "SEO Settings"
2125
+ msgstr "Impostazioni SEO"
2126
+
2127
+ #: plugin/class.seo-ultimate.php:1679
2128
+ msgid "Home"
2129
+ msgstr "Home"
2130
+
2131
+ #: plugin/class.seo-ultimate.php:1748
2132
+ msgid "Author Archives"
2133
+ msgstr "Archivi autore"
2134
+
2135
+ #: includes/jlwp/functions.php:65
2136
+ msgid "Posts"
2137
+ msgstr "Articoli"
2138
+
2139
+ #: includes/jlwp/functions.php:65
2140
+ msgid "Post"
2141
+ msgstr "Articolo"
2142
+
2143
+ #: includes/jlwp/functions.php:66
2144
+ msgid "Pages"
2145
+ msgstr "Pagine"
2146
+
2147
+ #: includes/jlwp/functions.php:66
2148
+ msgid "Page"
2149
+ msgstr "Pagina"
2150
+
2151
+ #: includes/jlwp/functions.php:67
2152
+ msgid "Attachments"
2153
+ msgstr "Allegati"
2154
+
2155
+ #: includes/jlwp/functions.php:67
2156
+ msgid "Attachment"
2157
+ msgstr "Allegato"
2158
+
2159
+ #: includes/jlwp/functions.php:96
2160
+ msgctxt "post format"
2161
+ msgid "Format"
2162
+ msgstr "Formato"
2163
+
2164
+ #: includes/jlwp/functions.php:97
2165
+ msgid "Post Format Archives"
2166
+ msgstr "Formato archivi articolo"
2167
+
2168
+ #: includes/jlwp/functions.php:165
2169
+ msgid "backup your database"
2170
+ msgstr "backup del database"
2171
+
2172
+ #. Plugin URI of the plugin/theme
2173
+ msgid "http://www.seodesignsolutions.com/wordpress-seo/"
2174
+ msgstr "http://www.seodesignsolutions.com/wordpress-seo/"
2175
+
2176
+ #. Description of the plugin/theme
2177
+ msgid "This all-in-one SEO plugin gives you control over title tags, noindex/nofollow, meta tags, rich snippets, slugs, canonical tags, autolinks, 404 errors, rich snippets, and more."
2178
+ msgstr "Questo plugin all-in-one SEO ti offre il controllo sui tag titolo, noindex/nofollow, tag meta, rich snippets, slug, tag canonici, auto-link, errori 404, rich snippets ed altro ancora."
2179
+
2180
+ #. Author URI of the plugin/theme
2181
+ msgid "http://www.seodesignsolutions.com/"
2182
+ msgstr "http://www.seodesignsolutions.com/"
2183
+