Version Description
Download this release
Release Info
Developer | SEO Design Solutions |
Plugin | SEO Ultimate |
Version | 2.7 |
Comparing to | |
See all releases |
Code changes from version 2.6 to 2.7
- modules/class.su-module.php +3 -3
- modules/documentation.txt +420 -0
- modules/meta/meta-settings.php +0 -1
- modules/meta/meta.php +1 -16
- modules/user-code/user-code.php +69 -0
- plugin/class.seo-ultimate.php +44 -15
- readme.txt +45 -441
- seo-ultimate.php +4 -4
modules/class.su-module.php
CHANGED
@@ -339,14 +339,14 @@ class SU_Module {
|
|
339 |
* @since 1.5
|
340 |
* @uses sumd::get_sections()
|
341 |
* @uses sumd::get_section()
|
342 |
-
* @uses SEO_Ultimate::
|
343 |
-
* @uses SEO_Ultimate::
|
344 |
*
|
345 |
* @return array
|
346 |
*/
|
347 |
function get_admin_dropdowns() {
|
348 |
|
349 |
-
$paths = array($this->plugin->
|
350 |
|
351 |
foreach ($paths as $path) {
|
352 |
if (is_readable($path)) {
|
339 |
* @since 1.5
|
340 |
* @uses sumd::get_sections()
|
341 |
* @uses sumd::get_section()
|
342 |
+
* @uses SEO_Ultimate::get_translated_mdoc_path()
|
343 |
+
* @uses SEO_Ultimate::get_mdoc_path()
|
344 |
*
|
345 |
* @return array
|
346 |
*/
|
347 |
function get_admin_dropdowns() {
|
348 |
|
349 |
+
$paths = array($this->plugin->get_translated_mdoc_path(), $this->plugin->get_mdoc_path());
|
350 |
|
351 |
foreach ($paths as $path) {
|
352 |
if (is_readable($path)) {
|
modules/documentation.txt
ADDED
@@ -0,0 +1,420 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
+
= Actions 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 |
+
= Troubleshooting =
|
24 |
+
|
25 |
+
404 Monitor doesn't appear to work? Take these notes into consideration:
|
26 |
+
|
27 |
+
* The 404 Monitor doesn't record 404 errors generated by logged-in users.
|
28 |
+
* In order for the 404 Monitor to track 404 errors, you must have "Pretty Permalinks" enabled under `Settings > Permalinks`.
|
29 |
+
* 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.
|
30 |
+
|
31 |
+
|
32 |
+
|
33 |
+
== Canonicalizer ==
|
34 |
+
|
35 |
+
= Overview =
|
36 |
+
|
37 |
+
* **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.
|
38 |
+
|
39 |
+
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.
|
40 |
+
|
41 |
+
* **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.
|
42 |
+
|
43 |
+
* **How to use it:** Just check both checkboxes and click Save Changes. SEO Ultimate will do the rest.
|
44 |
+
|
45 |
+
|
46 |
+
|
47 |
+
== Code Inserter ==
|
48 |
+
|
49 |
+
= Overview =
|
50 |
+
|
51 |
+
* **What it does:** Code Inserter can add custom HTML code to various parts of your site.
|
52 |
+
|
53 |
+
* **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.
|
54 |
+
|
55 |
+
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.
|
56 |
+
|
57 |
+
* **How to use it:** Just paste the desired HTML code into the appropriate fields and then click Save Changes.
|
58 |
+
|
59 |
+
= Troubleshooting =
|
60 |
+
|
61 |
+
* **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://wordpress.jdwebdev.com/blog/theme-plugin-hooks/) for information on how to check your theme and add the hooks if needed.
|
62 |
+
|
63 |
+
|
64 |
+
== Competition Researcher ==
|
65 |
+
|
66 |
+
= Overview =
|
67 |
+
|
68 |
+
* **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.
|
69 |
+
|
70 |
+
The Competition Researcher lets you find out the following information:
|
71 |
+
* How many webpages are competing for the keywords you specify.
|
72 |
+
* The keyword relevance in competing webpages' titles, body content, or anchor text.
|
73 |
+
* How many pages of a competing website are in Google's index.
|
74 |
+
* The incoming links profile of competing websites.
|
75 |
+
* The external websites that your competitors are linking to.
|
76 |
+
|
77 |
+
* **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.
|
78 |
+
|
79 |
+
* **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.
|
80 |
+
|
81 |
+
|
82 |
+
|
83 |
+
== File Editor ==
|
84 |
+
|
85 |
+
= Overview =
|
86 |
+
|
87 |
+
* **What it does:** The File Editor module lets you edit two important SEO-related files: robots.txt and .htaccess.
|
88 |
+
|
89 |
+
* **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.
|
90 |
+
|
91 |
+
* **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.
|
92 |
+
|
93 |
+
= FAQ =
|
94 |
+
|
95 |
+
* **Will my robots.txt edits remain if I disable the File Editor?**
|
96 |
+
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.
|
97 |
+
|
98 |
+
* **Will my .htaccess edits remain if I disable the File Editor?**
|
99 |
+
Yes. The .htaccess file is static. Your edits will remain even if you disable SEO Ultimate or its File Editor module.
|
100 |
+
|
101 |
+
= Troubleshooting =
|
102 |
+
|
103 |
+
* **Why do I get a "500 Server Error" after using the File Editor?**
|
104 |
+
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.
|
105 |
+
|
106 |
+
* **Where did my .htaccess edits go?**
|
107 |
+
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.
|
108 |
+
|
109 |
+
|
110 |
+
|
111 |
+
== Internal Relevance Researcher ==
|
112 |
+
|
113 |
+
= Overview =
|
114 |
+
|
115 |
+
* **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.
|
116 |
+
|
117 |
+
* **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.
|
118 |
+
|
119 |
+
* **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.
|
120 |
+
|
121 |
+
|
122 |
+
|
123 |
+
== Linkbox Inserter ==
|
124 |
+
|
125 |
+
= Overview =
|
126 |
+
|
127 |
+
* **What it does:** Linkbox Inserter can add linkboxes to your posts/pages.
|
128 |
+
|
129 |
+
* **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.
|
130 |
+
|
131 |
+
* **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.
|
132 |
+
|
133 |
+
|
134 |
+
= Settings Help =
|
135 |
+
|
136 |
+
Here's information on the various settings:
|
137 |
+
|
138 |
+
* **Display linkboxes...**
|
139 |
+
|
140 |
+
* **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).
|
141 |
+
|
142 |
+
* **At the end of pages** -- Adds the linkbox HTML to the end of all Pages.
|
143 |
+
|
144 |
+
* **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); ?>`
|
145 |
+
|
146 |
+
* **HTML** -- The HTML that will be outputted to display the linkboxes. The HTML field supports these variables:
|
147 |
+
|
148 |
+
* {id} -- The ID of the current post/page, or the ID passed to the action hook call.
|
149 |
+
* {url} -- The permalink URL of the post/page.
|
150 |
+
* {title} -- The title of the post/page.
|
151 |
+
|
152 |
+
|
153 |
+
|
154 |
+
== Meta Editor ==
|
155 |
+
|
156 |
+
= Overview =
|
157 |
+
|
158 |
+
* **What it does:** Meta Editor lets you customize a wide variety of settings known as "meta data."
|
159 |
+
|
160 |
+
* **Why it helps:** Using meta data, you can convey information to search engines, such as what text you want displayed by your site in search results, what your site is about, whether they can cache your site, etc.
|
161 |
+
|
162 |
+
* **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 customize the meta data of an individual post or page by using the textboxes that Meta Editor adds to the post/page editors.
|
163 |
+
|
164 |
+
= Settings Help =
|
165 |
+
|
166 |
+
Here's information on the various settings:
|
167 |
+
|
168 |
+
* **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.
|
169 |
+
|
170 |
+
* **Blog Homepage Meta Keywords** -- Here you can enter keywords that describe the overall subject matter of your entire blog. Use commas to separate keywords. Your keywords will be put in the `<meta name="keywords" />` tag on your blog homepage.
|
171 |
+
|
172 |
+
* **Default Values**
|
173 |
+
|
174 |
+
* **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`.
|
175 |
+
|
176 |
+
* **Spider Instructions**
|
177 |
+
|
178 |
+
* **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.
|
179 |
+
|
180 |
+
* **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.
|
181 |
+
|
182 |
+
* **Verification Codes** -- This section lets you enter in verification codes for the webmaster portals of the 3 leading search engines.
|
183 |
+
|
184 |
+
* **Custom `<head>` HTML** -- Just enter in raw HTML code here, and it'll be entered into the `<head>` tag across your entire site.
|
185 |
+
|
186 |
+
= FAQ =
|
187 |
+
|
188 |
+
* **How do I edit the meta tags of my homepage?**
|
189 |
+
If you are using a "blog homepage" (the default option of showing your blog posts on your homepage), go to `SEO > Meta Editor` and use the Blog Homepage fields.
|
190 |
+
|
191 |
+
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 "Description" and "Keywords" fields in the "SEO Settings" box.
|
192 |
+
|
193 |
+
= Troubleshooting =
|
194 |
+
|
195 |
+
* **What do I do if my site has multiple meta tags?**
|
196 |
+
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.
|
197 |
+
|
198 |
+
If the problem persists, try disabling other SEO plugins that may be generating meta tags.
|
199 |
+
|
200 |
+
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.
|
201 |
+
|
202 |
+
|
203 |
+
|
204 |
+
== Module Manager ==
|
205 |
+
|
206 |
+
= Options Help =
|
207 |
+
|
208 |
+
The Module Manager lets you customize the visibility and accessibility of each module; here are the options available:
|
209 |
+
|
210 |
+
* **Enabled** -- The default option. The module will be fully enabled and accessible.
|
211 |
+
* **Silenced** -- The module will be enabled and accessible, but it won't be allowed to display numeric bubble alerts on the menu.
|
212 |
+
* **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.
|
213 |
+
* **Disabled** -- The module will be completely disabled and inaccessible.
|
214 |
+
|
215 |
+
= FAQ =
|
216 |
+
|
217 |
+
* **What are modules?**
|
218 |
+
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.
|
219 |
+
|
220 |
+
* **Can I access a module again after I've hidden it?**
|
221 |
+
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."
|
222 |
+
|
223 |
+
* **How do I disable the number bubbles on the "SEO" menu?**
|
224 |
+
Just go to the Module Manager and select the "Silenced" option for any modules generating number bubbles. Then click "Save Changes."
|
225 |
+
|
226 |
+
|
227 |
+
|
228 |
+
== More Link Customizer ==
|
229 |
+
|
230 |
+
= Overview =
|
231 |
+
|
232 |
+
* **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).
|
233 |
+
|
234 |
+
* **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).
|
235 |
+
|
236 |
+
* **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.
|
237 |
+
|
238 |
+
= FAQ =
|
239 |
+
|
240 |
+
* **Why is the More Link Customizer an improvement over WordPress's built-in functionality?**
|
241 |
+
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:
|
242 |
+
|
243 |
+
* 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.
|
244 |
+
* MLC lets you dynamically incorporate the post's title into the anchor text.
|
245 |
+
* MLC lets you include HTML tags in your anchor, whereas WordPress strips these out.
|
246 |
+
* MLC's functionality is much more prominent than WordPress's unintuitive, barely-documented approach.
|
247 |
+
* Unlike WordPress's method, MLC doesn't require you to utilize the HTML editor.
|
248 |
+
|
249 |
+
If you've already specified custom anchors via WordPress's method, SEO Ultimate will import those anchors automatically into the More Link Customizer.
|
250 |
+
|
251 |
+
|
252 |
+
|
253 |
+
== Noindex Manager ==
|
254 |
+
|
255 |
+
= Overview =
|
256 |
+
|
257 |
+
* **What it does:** Noindex Manager lets you prohibit the search engine spiders from indexing certain pages on your blog using the `<meta name="robots" content="noindex" />` tag.
|
258 |
+
|
259 |
+
* **Why it helps:** This module lets you "noindex" pages that contain unimportant content (e.g. the login page), or pages that mostly contain duplicate content.
|
260 |
+
|
261 |
+
* **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.
|
262 |
+
|
263 |
+
= Settings Help =
|
264 |
+
|
265 |
+
Here's information on the various settings:
|
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 |
+
|
288 |
+
|
289 |
+
== Slug Optimizer ==
|
290 |
+
|
291 |
+
= Overview =
|
292 |
+
|
293 |
+
* **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.")
|
294 |
+
|
295 |
+
* **Why it helps:** Slug Optimizer increases keyword potency because there are fewer words in your URLs competing for relevance.
|
296 |
+
|
297 |
+
* **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.
|
298 |
+
|
299 |
+
= FAQ =
|
300 |
+
|
301 |
+
* **What's a slug?**
|
302 |
+
The slug of a post or page is the portion of its URL that is based on its title.
|
303 |
+
|
304 |
+
When you edit a post or Page in WordPress, the slug is the yellow-highlighted portion of the Permalink beneath the Title textbox.
|
305 |
+
|
306 |
+
* **Does the Slug Optimizer change my existing URLs?**
|
307 |
+
No. Slug Optimizer will not relocate your content by changing existing URLs. Slug Optimizer only takes effect on new posts and pages.
|
308 |
+
|
309 |
+
* **How do I see Slug Optimizer in action?**
|
310 |
+
1. Create a new post/Page in WordPress.
|
311 |
+
2. Type in a title containing some common words.
|
312 |
+
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.
|
313 |
+
|
314 |
+
* **What if I want to include a common word in my slug?**
|
315 |
+
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.
|
316 |
+
|
317 |
+
* **How do I revert back to the optimized slug after making changes?**
|
318 |
+
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.
|
319 |
+
|
320 |
+
= Troubleshooting =
|
321 |
+
|
322 |
+
* **Why didn't the Slug Optimizer remove common words from my slug?**
|
323 |
+
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.
|
324 |
+
|
325 |
+
|
326 |
+
|
327 |
+
== Title Rewriter ==
|
328 |
+
|
329 |
+
= Overview =
|
330 |
+
|
331 |
+
* **What it does:** Title 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.
|
332 |
+
|
333 |
+
* **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.
|
334 |
+
|
335 |
+
* **How to use it:** Title 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 Rewriter adds to the post/page editors.
|
336 |
+
|
337 |
+
= Settings & Variables =
|
338 |
+
|
339 |
+
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`.
|
340 |
+
|
341 |
+
Here's information on each of the settings and its supported variables:
|
342 |
+
|
343 |
+
* **Blog Homepage Title** -- Displays on the main blog posts page.
|
344 |
+
|
345 |
+
* **Post Title Format** -- Displays on single-post pages. Supports these variables:
|
346 |
+
|
347 |
+
* {post} -- The post's title.
|
348 |
+
* {category} -- The title of the post category with the lowest ID number.
|
349 |
+
* {categories} -- A natural-language list of the post's categories (e.g. "Category A, Category B, and Category C").
|
350 |
+
* {tags} -- A natural-language list of the post's tags (e.g. "Tag A, Tag B, and Tag C").
|
351 |
+
* {author} -- The Display Name of the post's author.
|
352 |
+
* {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.
|
353 |
+
|
354 |
+
* **Page Title Format** -- Displays on WordPress Pages. The {page} variable is replaced with the Page's title. Also supports the same author variables as the Post Title Format.
|
355 |
+
|
356 |
+
* **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.
|
357 |
+
|
358 |
+
* **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.
|
359 |
+
|
360 |
+
* **Day Archive Title Format** -- Displays on day archives. Supports these variables:
|
361 |
+
|
362 |
+
* {day} -- The day number, with ordinal suffix, e.g. 23rd
|
363 |
+
* {daynum} -- The two-digit day number, e.g. 23
|
364 |
+
* {month} -- The name of the month, e.g. April
|
365 |
+
* {monthnum} -- The two-digit number of the month, e.g. 04
|
366 |
+
* {year} -- The year, e.g. 2009
|
367 |
+
|
368 |
+
* **Month Archive Title Format** -- Displays on month archives. Supports {month}, {monthnum}, and {year}.
|
369 |
+
|
370 |
+
* **Year Archive Title Format** -- Displays on year archives. Supports the {year} variable.
|
371 |
+
|
372 |
+
* **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}.
|
373 |
+
|
374 |
+
* **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.
|
375 |
+
|
376 |
+
* **404 Title Format** -- Displays whenever a URL doesn't go anywhere. Supports this variable:
|
377 |
+
|
378 |
+
* {url_words} -- The words used in the error-generating URL. The first letter of each word will be capitalized.
|
379 |
+
|
380 |
+
* **Pagination Title Format** -- Displays whenever the visitor is on a subpage (page 2, page 3, etc). Supports these variables:
|
381 |
+
|
382 |
+
* {title} -- The title that would normally be displayed on page 1.
|
383 |
+
* {num} -- The current page number (2, 3, etc).
|
384 |
+
* {max} -- The total number of subpages available. Would usually be used like this: Page {num} of {max}
|
385 |
+
|
386 |
+
= FAQ =
|
387 |
+
|
388 |
+
* **Does the Title Rewriter edit my post/page titles?**
|
389 |
+
No. The Title Rewriter edits the `<title>` tags of your site, not your post/page titles.
|
390 |
+
|
391 |
+
* **What's the difference between the "title" and the "title tag" of a post/page?**
|
392 |
+
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.
|
393 |
+
|
394 |
+
= Troubleshooting =
|
395 |
+
|
396 |
+
* **Why isn't the Title Rewriter changing my `<title>` tags?**
|
397 |
+
Try disabling other SEO plugins, as they may be conflicting with SEO Ultimate. Also, check to make sure your theme is [plugin-friendly](http://wordpress.jdwebdev.com/blog/theme-plugin-hooks/).
|
398 |
+
|
399 |
+
|
400 |
+
== Plugin Settings ==
|
401 |
+
|
402 |
+
= Overview =
|
403 |
+
|
404 |
+
The Settings module lets you manage settings related to the SEO Ultimate plugin as a whole.
|
405 |
+
|
406 |
+
= Global Settings Help =
|
407 |
+
|
408 |
+
Here's information on some of the settings:
|
409 |
+
|
410 |
+
* **Enable nofollow'd attribution link** -- If enabled, the plugin will display an attribution link on your site.
|
411 |
+
|
412 |
+
* **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.
|
413 |
+
|
414 |
+
* **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’re trying to figure out whether or not SEO Ultimate is inserting a certain piece of header code.
|
415 |
+
|
416 |
+
= FAQ =
|
417 |
+
|
418 |
+
* **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.
|
419 |
+
|
420 |
+
If you're moving a site to a different server or restoring a crashed site, you should do so with database backup/restore.
|
modules/meta/meta-settings.php
CHANGED
@@ -40,7 +40,6 @@ class SU_MetaSettings extends SU_Module {
|
|
40 |
, 'yahoo_verify' => __("Yahoo! Site Explorer:", 'seo-ultimate')
|
41 |
, 'microsoft_verify' => __("Bing Webmaster Center:", 'seo-ultimate')
|
42 |
), array(), __("Verification Codes", 'seo-ultimate'));
|
43 |
-
$this->textarea('custom_html', __("Custom <head> HTML", 'seo-ultimate'));
|
44 |
$this->admin_form_table_end();
|
45 |
}
|
46 |
}
|
40 |
, 'yahoo_verify' => __("Yahoo! Site Explorer:", 'seo-ultimate')
|
41 |
, 'microsoft_verify' => __("Bing Webmaster Center:", 'seo-ultimate')
|
42 |
), array(), __("Verification Codes", 'seo-ultimate'));
|
|
|
43 |
$this->admin_form_table_end();
|
44 |
}
|
45 |
}
|
modules/meta/meta.php
CHANGED
@@ -72,21 +72,6 @@ class SU_Meta extends SU_Module {
|
|
72 |
echo "\t<meta name=\"$name\" content=\"$value\" />\n";
|
73 |
}
|
74 |
}
|
75 |
-
|
76 |
-
//Display custom code if provided
|
77 |
-
if ($custom = $this->get_setting('custom_html')) {
|
78 |
-
|
79 |
-
//Does the plugin user want us to surround code insertions with comments? If so, mark the custom code as such.
|
80 |
-
$mark_code = $this->get_setting('mark_code', false, 'settings');
|
81 |
-
$desc = __('Custom Header Code', 'seo-ultimate');
|
82 |
-
|
83 |
-
echo "\n";
|
84 |
-
if ($mark_code) echo "\t<!-- $desc -->\n";
|
85 |
-
echo $custom;
|
86 |
-
if ($mark_code) echo "\n\t<!-- /$desc -->";
|
87 |
-
echo "\n\n";
|
88 |
-
}
|
89 |
-
|
90 |
}
|
91 |
|
92 |
function postmeta_fields($fields) {
|
@@ -94,7 +79,7 @@ class SU_Meta extends SU_Module {
|
|
94 |
$value = attribute_escape($this->get_postmeta('description'));
|
95 |
|
96 |
$fields['20|description|keywords'] =
|
97 |
-
"<tr class='textarea'>\n<th scope='row'><label for='$id'>".__('Meta Description:', 'seo-ultimate')."</label></th>\n"
|
98 |
. "<td><textarea name='$id' id='$id' type='text' class='regular-text' cols='60' rows='3' tabindex='2'"
|
99 |
. " onkeyup=\"javascript:document.getElementById('su_meta_description_charcount').innerHTML = document.getElementById('_su_description').value.length\">$value</textarea>"
|
100 |
. "<br />".sprintf(__("You’ve entered %s characters. Most search engines use up to 160.", 'seo-ultimate'), "<strong id='su_meta_description_charcount'>".strlen($value)."</strong>")
|
72 |
echo "\t<meta name=\"$name\" content=\"$value\" />\n";
|
73 |
}
|
74 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
}
|
76 |
|
77 |
function postmeta_fields($fields) {
|
79 |
$value = attribute_escape($this->get_postmeta('description'));
|
80 |
|
81 |
$fields['20|description|keywords'] =
|
82 |
+
"<tr class='textarea' valign='top'>\n<th scope='row'><label for='$id'>".__('Meta Description:', 'seo-ultimate')."</label></th>\n"
|
83 |
. "<td><textarea name='$id' id='$id' type='text' class='regular-text' cols='60' rows='3' tabindex='2'"
|
84 |
. " onkeyup=\"javascript:document.getElementById('su_meta_description_charcount').innerHTML = document.getElementById('_su_description').value.length\">$value</textarea>"
|
85 |
. "<br />".sprintf(__("You’ve entered %s characters. Most search engines use up to 160.", 'seo-ultimate'), "<strong id='su_meta_description_charcount'>".strlen($value)."</strong>")
|
modules/user-code/user-code.php
ADDED
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Code Inserter Module
|
4 |
+
*
|
5 |
+
* @since 2.7
|
6 |
+
*/
|
7 |
+
|
8 |
+
if (class_exists('SU_Module')) {
|
9 |
+
|
10 |
+
class SU_UserCode extends SU_Module {
|
11 |
+
|
12 |
+
function get_module_title() { return __('Code Inserter', 'seo-ultimate'); }
|
13 |
+
|
14 |
+
function get_default_settings() {
|
15 |
+
return array(
|
16 |
+
'global_wp_head' => $this->flush_setting('custom_html', '', 'meta')
|
17 |
+
);
|
18 |
+
}
|
19 |
+
|
20 |
+
function init() {
|
21 |
+
$hooks = array('su_head', 'the_content', 'wp_footer');
|
22 |
+
foreach ($hooks as $hook) add_filter($hook, array(&$this, "{$hook}_code"), 100);
|
23 |
+
}
|
24 |
+
|
25 |
+
function get_admin_page_tabs() {
|
26 |
+
return array(
|
27 |
+
__('Everywhere', 'seo-ultimate') => array('usercode_admin_tab', 'global')
|
28 |
+
);
|
29 |
+
}
|
30 |
+
|
31 |
+
function usercode_admin_tab($section) {
|
32 |
+
|
33 |
+
$textareas = array(
|
34 |
+
'wp_head' => __('<head> Tag', 'seo-ultimate')
|
35 |
+
, 'the_content_before' => __('Before Item Content', 'seo-ultimate')
|
36 |
+
, 'the_content_after' => __('After Item Content', 'seo-ultimate')
|
37 |
+
, 'wp_footer' => __('Footer', 'seo-ultimate')
|
38 |
+
);
|
39 |
+
$textareas = suarr::aprintf("{$section}_%s", false, $textareas);
|
40 |
+
|
41 |
+
$this->admin_form_table_start();
|
42 |
+
$this->textareas($textareas);
|
43 |
+
$this->admin_form_table_end();
|
44 |
+
}
|
45 |
+
|
46 |
+
function get_usercode($field) {
|
47 |
+
|
48 |
+
$code = $this->get_setting("global_$field", '');
|
49 |
+
|
50 |
+
return $this->plugin->mark_code($code, __('Code Inserter module', 'seo-ultimate'), $field == 'wp_head');
|
51 |
+
}
|
52 |
+
|
53 |
+
function su_head_code() {
|
54 |
+
echo $this->get_usercode('wp_head');
|
55 |
+
}
|
56 |
+
|
57 |
+
function wp_footer_code() {
|
58 |
+
echo $this->get_usercode('wp_footer');
|
59 |
+
}
|
60 |
+
|
61 |
+
function the_content_code($content) {
|
62 |
+
return $this->get_usercode('the_content_before') . $content . $this->get_usercode('the_content_after');
|
63 |
+
}
|
64 |
+
|
65 |
+
}
|
66 |
+
|
67 |
+
}
|
68 |
+
|
69 |
+
?>
|
plugin/class.seo-ultimate.php
CHANGED
@@ -884,8 +884,9 @@ class SEO_Ultimate {
|
|
884 |
*/
|
885 |
function admin_includes() {
|
886 |
|
887 |
-
//Global CSS
|
888 |
$this->queue_css('plugin', 'global');
|
|
|
889 |
|
890 |
//Figure out what plugin admin page we're on
|
891 |
global $plugin_page;
|
@@ -1120,7 +1121,7 @@ class SEO_Ultimate {
|
|
1120 |
*/
|
1121 |
function plugin_action_links($actions) {
|
1122 |
$su_actions = array(
|
1123 |
-
'uninstall' => __(
|
1124 |
);
|
1125 |
|
1126 |
foreach ($su_actions as $module => $anchor) {
|
@@ -1437,14 +1438,8 @@ class SEO_Ultimate {
|
|
1437 |
*/
|
1438 |
function template_head() {
|
1439 |
|
1440 |
-
if (
|
1441 |
-
|
1442 |
-
else
|
1443 |
-
$markcode = false;
|
1444 |
-
|
1445 |
-
echo "\n";
|
1446 |
-
|
1447 |
-
if ($markcode) echo "\n<!-- ".SU_PLUGIN_NAME." (".SU_PLUGIN_URI.") -->\n";
|
1448 |
|
1449 |
//Let modules output head code.
|
1450 |
do_action('su_head');
|
@@ -1458,6 +1453,30 @@ class SEO_Ultimate {
|
|
1458 |
if ($markcode) echo "<!-- /".SU_PLUGIN_NAME." -->\n\n";
|
1459 |
}
|
1460 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1461 |
|
1462 |
/********** README FUNCTIONS **********/
|
1463 |
|
@@ -1472,22 +1491,32 @@ class SEO_Ultimate {
|
|
1472 |
}
|
1473 |
|
1474 |
/**
|
1475 |
-
* Returns the full server path to the main
|
1476 |
*
|
1477 |
-
* @since
|
1478 |
* @return string
|
1479 |
*/
|
1480 |
-
function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1481 |
if (defined('WPLANG') && strlen(WPLANG)) {
|
1482 |
$wplang = sustr::preg_filter('a-zA-Z0-9_', WPLANG);
|
1483 |
$langvars = array($wplang, array_shift(explode('_', $wplang)));
|
1484 |
foreach ($langvars as $langvar) {
|
1485 |
-
$path = $this->plugin_dir_path."translations/
|
1486 |
if (is_readable($path)) return $path;
|
1487 |
}
|
1488 |
}
|
1489 |
|
1490 |
-
return $this->plugin_dir_path.'
|
1491 |
}
|
1492 |
}
|
1493 |
?>
|
884 |
*/
|
885 |
function admin_includes() {
|
886 |
|
887 |
+
//Global CSS/JS
|
888 |
$this->queue_css('plugin', 'global');
|
889 |
+
$this->queue_js ('plugin', 'global');
|
890 |
|
891 |
//Figure out what plugin admin page we're on
|
892 |
global $plugin_page;
|
1121 |
*/
|
1122 |
function plugin_action_links($actions) {
|
1123 |
$su_actions = array(
|
1124 |
+
'uninstall' => __('Uninstall', 'seo-ultimate')
|
1125 |
);
|
1126 |
|
1127 |
foreach ($su_actions as $module => $anchor) {
|
1438 |
*/
|
1439 |
function template_head() {
|
1440 |
|
1441 |
+
if ($markcode = $this->get_setting('mark_code', false, 'settings'))
|
1442 |
+
echo "\n<!-- ".SU_PLUGIN_NAME." (".SU_PLUGIN_URI.") -->\n";
|
|
|
|
|
|
|
|
|
|
|
|
|
1443 |
|
1444 |
//Let modules output head code.
|
1445 |
do_action('su_head');
|
1453 |
if ($markcode) echo "<!-- /".SU_PLUGIN_NAME." -->\n\n";
|
1454 |
}
|
1455 |
|
1456 |
+
/**
|
1457 |
+
* Marks code with HTML comments identifying SEO Ultimate, if the user has set this option.
|
1458 |
+
*
|
1459 |
+
* @since 2.7
|
1460 |
+
*/
|
1461 |
+
function mark_code($code, $info = '', $info_only = false) {
|
1462 |
+
|
1463 |
+
if (!strlen($code)) return '';
|
1464 |
+
|
1465 |
+
if ($this->get_setting('mark_code', false, 'settings')) {
|
1466 |
+
|
1467 |
+
if ($info_only)
|
1468 |
+
$start = $end = $info;
|
1469 |
+
else {
|
1470 |
+
if ($info) $info = " - $info";
|
1471 |
+
$start = sprintf('%s (%s)%s', SU_PLUGIN_NAME, SU_PLUGIN_URI, $info);
|
1472 |
+
$end = SU_PLUGIN_NAME;
|
1473 |
+
}
|
1474 |
+
|
1475 |
+
return "\n<!-- $start -->\n$code\n<!-- /$end -->\n\n";
|
1476 |
+
}
|
1477 |
+
return $code;
|
1478 |
+
}
|
1479 |
+
|
1480 |
|
1481 |
/********** README FUNCTIONS **********/
|
1482 |
|
1491 |
}
|
1492 |
|
1493 |
/**
|
1494 |
+
* Returns the full server path to the main documentation.txt file.
|
1495 |
*
|
1496 |
+
* @since 2.7
|
1497 |
* @return string
|
1498 |
*/
|
1499 |
+
function get_mdoc_path() {
|
1500 |
+
return $this->plugin_dir_path.'modules/documentation.txt';
|
1501 |
+
}
|
1502 |
+
|
1503 |
+
/**
|
1504 |
+
* Returns the full server path to the main documentation.txt file, or a translated documentation.txt file if it exists for the current WPLANG.
|
1505 |
+
*
|
1506 |
+
* @since 2.7
|
1507 |
+
* @return string
|
1508 |
+
*/
|
1509 |
+
function get_translated_mdoc_path() {
|
1510 |
if (defined('WPLANG') && strlen(WPLANG)) {
|
1511 |
$wplang = sustr::preg_filter('a-zA-Z0-9_', WPLANG);
|
1512 |
$langvars = array($wplang, array_shift(explode('_', $wplang)));
|
1513 |
foreach ($langvars as $langvar) {
|
1514 |
+
$path = $this->plugin_dir_path."translations/documentation-$langvar.txt";
|
1515 |
if (is_readable($path)) return $path;
|
1516 |
}
|
1517 |
}
|
1518 |
|
1519 |
+
return $this->plugin_dir_path.'modules/documentation.txt';
|
1520 |
}
|
1521 |
}
|
1522 |
?>
|
readme.txt
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
=== SEO Ultimate ===
|
2 |
Contributors: SEO Design Solutions
|
3 |
-
Tags: seo, google, yahoo, bing, search engines, admin, post, page, modules, title, meta, robots, noindex, nofollow, canonical, 404, robots.txt, htaccess, slugs, url, anchor, more, link, excerpt, permalink, links, autolinks, categories, uninstallable, reinstallable, downgradable
|
4 |
Requires at least: 2.8
|
5 |
Tested up to: 3.0
|
6 |
-
Stable tag: 2.
|
7 |
|
8 |
This all-in-one SEO plugin gives you control over titles, noindex/nofollow, meta tags, slugs, canonical tags, "more" links, 404 errors, and more.
|
9 |
|
@@ -11,26 +11,26 @@ This all-in-one SEO plugin gives you control over titles, noindex/nofollow, meta
|
|
11 |
|
12 |
= Recent Releases =
|
13 |
|
|
|
14 |
* Version 2.6 adds reinstallation support
|
15 |
* Version 2.5 adds advanced plugin upgrade/downgrade functionality
|
16 |
* Version 2.4 adds a nofollow option for Deeplink Juggernaut links
|
17 |
* Version 2.3 adds per-post noindex/nofollow toggles
|
18 |
-
* Version 2.2 adds a links-per-post limiter for Deeplink Juggernaut
|
19 |
|
20 |
= Features =
|
21 |
|
22 |
SEO Ultimate is an all-in-one [SEO](http://www.seodesignsolutions.com/) plugin with these powerful features:
|
23 |
|
24 |
* **Title Rewriter**
|
25 |
-
* Out-of-the-box functionality puts your post titles at the beginning of the `<title>` tag
|
26 |
-
* Easily override the entire `<title>` tag contents for any individual post, page, category, or post tag on your blog.
|
27 |
* Customize your homepage's `<title>` tag.
|
28 |
* Format the `<title>` tags of posts, pages, categories, tags, archives, search results, and more!
|
29 |
|
30 |
-
* **Noindex Manager**
|
31 |
* Add the `<meta name="robots" content="noindex,follow" />` tag to archives, comment feeds, the login page, and more.
|
32 |
* Set meta robots tags (index/noindex and follow/nofollow) for each individual post/page.
|
33 |
-
* Avoid duplicate content issues with the recommended settings.
|
34 |
|
35 |
* **Meta Editor**
|
36 |
* Edit the `<meta>` description/keyword tags for posts, pages, and the homepage.
|
@@ -39,11 +39,11 @@ SEO Ultimate is an all-in-one [SEO](http://www.seodesignsolutions.com/) plugin w
|
|
39 |
* Give instructions to search engine spiders if desired (`noodp`, `noydir`, and `noarchive`).
|
40 |
|
41 |
* **Canonicalizer**
|
42 |
-
* Point search engines to preferred content access points with `<link rel="canonical" />` tags.
|
43 |
* Go beyond the basic canonical tag functionality of WordPress 2.9+ with SEO Ultimate's support for category/tag/date/author archives.
|
44 |
* Redirect requests for non-existent pagination with a simple checkbox.
|
45 |
|
46 |
-
* **404 Monitor**
|
47 |
* Improve the visiting experience of users and spiders by keeping tabs on "page not found" errors. (Use a redirection plugin to point dead-end URLs to your content.)
|
48 |
* Find out what URLs are referring visitors to 404 errors.
|
49 |
|
@@ -66,25 +66,30 @@ SEO Ultimate is an all-in-one [SEO](http://www.seodesignsolutions.com/) plugin w
|
|
66 |
* Find out what external websites your competitors are linking to.
|
67 |
|
68 |
* **More Link Customizer**
|
69 |
-
*
|
70 |
* Override the "read more" link on a per-post basis.
|
71 |
* Include `<strong>` or `<em>` tags in the anchor text if so desired.
|
72 |
|
73 |
-
* **Internal Relevance Researcher**
|
74 |
* Determine which of your webpages Google most strongly associates with the keywords you specify.
|
75 |
* Use the information to determine ideal targets for incoming links or ideal sources of outgoing links.
|
76 |
|
77 |
* **Deeplink Juggernaut** -- UPDATED in Version 2.4
|
78 |
* Automatically link phrases in your posts/pages to given URLs.
|
79 |
-
* Use the power of anchor text to boost your internal ranking paradigm.
|
80 |
* Control the maximum number of autolinks added to each post/page.
|
81 |
* Apply the nofollow attribute on a per-link basis. (Perfect for automatic affiliate links.)
|
82 |
|
|
|
|
|
|
|
|
|
|
|
83 |
* **Settings Manager**
|
84 |
* Export your SEO Ultimate settings to a file and re-import later if desired.
|
85 |
* Move SEO Ultimate settings between blogs using the export/import functionality.
|
86 |
* Reset all settings back to "factory defaults" if something goes wrong.
|
87 |
-
|
88 |
* **Additional features**
|
89 |
* Lets you import post meta from All in One SEO Pack.
|
90 |
* Displays admin notices if blog privacy settings are configured to block search engines.
|
@@ -92,11 +97,11 @@ SEO Ultimate is an all-in-one [SEO](http://www.seodesignsolutions.com/) plugin w
|
|
92 |
* SEO Ultimate documentation is seamlessly integrated into the contextual help system of WordPress 2.7+ and is accessible via the dropdowns in the upper-right-hand corner of the admin screen. In-depth info, explanations, and FAQ are just a click away.
|
93 |
* Unlike certain other SEO plugins, SEO Ultimate sports a clean, simple, aesthetically-pleasing interface, with no ads or donation nags.
|
94 |
* SEO Ultimate cleanly integrates itself into WordPress without plastering its name all over the interface.
|
95 |
-
* If you choose to delete SEO Ultimate from within the WordPress plugin manager, SEO Ultimate will remove all its settings from your database.
|
96 |
* Includes icon integration with the WordPress 2.7+ menu and the Ozh Admin Drop Down Menu plugin.
|
97 |
* Uses WordPress plugin security features like nonces, etc.
|
|
|
98 |
* Lets you upgrade/downgrade the plugin to versions of your choosing (starting with 2.5).
|
99 |
-
|
100 |
* **Features Coming Soon**
|
101 |
* Automatic XHTML validation checking
|
102 |
* Nofollow options
|
@@ -125,410 +130,6 @@ To install the plugin manually:
|
|
125 |
3. Activate the plugin through the 'Plugins' menu in WordPress.
|
126 |
|
127 |
|
128 |
-
|
129 |
-
== 404 Monitor ==
|
130 |
-
|
131 |
-
= Overview =
|
132 |
-
|
133 |
-
* **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.
|
134 |
-
|
135 |
-
* **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.
|
136 |
-
|
137 |
-
* **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.
|
138 |
-
|
139 |
-
If there are no 404 errors in the log, this is good and means there's no action required on your part.
|
140 |
-
|
141 |
-
= Actions Help =
|
142 |
-
|
143 |
-
You can perform the following actions on each entry in the log:
|
144 |
-
|
145 |
-
* The "View" button will open the URL in a new window. This is useful for testing whether or not a redirect is working.
|
146 |
-
* 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.
|
147 |
-
* 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.
|
148 |
-
|
149 |
-
= Troubleshooting =
|
150 |
-
|
151 |
-
404 Monitor doesn't appear to work? Take these notes into consideration:
|
152 |
-
|
153 |
-
* The 404 Monitor doesn't record 404 errors generated by logged-in users.
|
154 |
-
* In order for the 404 Monitor to track 404 errors, you must have "Pretty Permalinks" enabled under `Settings > Permalinks`.
|
155 |
-
* 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.
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
== Canonicalizer ==
|
160 |
-
|
161 |
-
= Overview =
|
162 |
-
|
163 |
-
* **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.
|
164 |
-
|
165 |
-
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.
|
166 |
-
|
167 |
-
* **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.
|
168 |
-
|
169 |
-
* **How to use it:** Just check both checkboxes and click Save Changes. SEO Ultimate will do the rest.
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
== Competition Researcher ==
|
174 |
-
|
175 |
-
= Overview =
|
176 |
-
|
177 |
-
* **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.
|
178 |
-
|
179 |
-
The Competition Researcher lets you find out the following information:
|
180 |
-
* How many webpages are competing for the keywords you specify.
|
181 |
-
* The keyword relevance in competing webpages' titles, body content, or anchor text.
|
182 |
-
* How many pages of a competing website are in Google's index.
|
183 |
-
* The incoming links profile of competing websites.
|
184 |
-
* The external websites that your competitors are linking to.
|
185 |
-
|
186 |
-
* **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.
|
187 |
-
|
188 |
-
* **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.
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
== File Editor ==
|
193 |
-
|
194 |
-
= Overview =
|
195 |
-
|
196 |
-
* **What it does:** The File Editor module lets you edit two important SEO-related files: robots.txt and .htaccess.
|
197 |
-
|
198 |
-
* **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.
|
199 |
-
|
200 |
-
* **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.
|
201 |
-
|
202 |
-
= FAQ =
|
203 |
-
|
204 |
-
* **Will my robots.txt edits remain if I disable the File Editor?**
|
205 |
-
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.
|
206 |
-
|
207 |
-
* **Will my .htaccess edits remain if I disable the File Editor?**
|
208 |
-
Yes. The .htaccess file is static. Your edits will remain even if you disable SEO Ultimate or its File Editor module.
|
209 |
-
|
210 |
-
= Troubleshooting =
|
211 |
-
|
212 |
-
* **Why do I get a "500 Server Error" after using the File Editor?**
|
213 |
-
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.
|
214 |
-
|
215 |
-
* **Where did my .htaccess edits go?**
|
216 |
-
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.
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
== Internal Relevance Researcher ==
|
221 |
-
|
222 |
-
= Overview =
|
223 |
-
|
224 |
-
* **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.
|
225 |
-
|
226 |
-
* **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.
|
227 |
-
|
228 |
-
* **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.
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
== Linkbox Inserter ==
|
233 |
-
|
234 |
-
= Overview =
|
235 |
-
|
236 |
-
* **What it does:** Linkbox Inserter can add linkboxes to your posts/pages.
|
237 |
-
|
238 |
-
* **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.
|
239 |
-
|
240 |
-
* **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.
|
241 |
-
|
242 |
-
|
243 |
-
= Settings Help =
|
244 |
-
|
245 |
-
Here's information on the various settings:
|
246 |
-
|
247 |
-
* **Display linkboxes...**
|
248 |
-
|
249 |
-
* **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).
|
250 |
-
|
251 |
-
* **At the end of pages** -- Adds the linkbox HTML to the end of all Pages.
|
252 |
-
|
253 |
-
* **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); ?>`
|
254 |
-
|
255 |
-
* **HTML** -- The HTML that will be outputted to display the linkboxes. The HTML field supports these variables:
|
256 |
-
|
257 |
-
* {id} -- The ID of the current post/page, or the ID passed to the action hook call.
|
258 |
-
* {url} -- The permalink URL of the post/page.
|
259 |
-
* {title} -- The title of the post/page.
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
== Meta Editor ==
|
264 |
-
|
265 |
-
= Overview =
|
266 |
-
|
267 |
-
* **What it does:** Meta Editor lets you customize a wide variety of settings known as "meta data."
|
268 |
-
|
269 |
-
* **Why it helps:** Using meta data, you can convey information to search engines, such as what text you want displayed by your site in search results, what your site is about, whether they can cache your site, etc.
|
270 |
-
|
271 |
-
* **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 customize the meta data of an individual post or page by using the textboxes that Meta Editor adds to the post/page editors.
|
272 |
-
|
273 |
-
= Settings Help =
|
274 |
-
|
275 |
-
Here's information on the various settings:
|
276 |
-
|
277 |
-
* **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.
|
278 |
-
|
279 |
-
* **Blog Homepage Meta Keywords** -- Here you can enter keywords that describe the overall subject matter of your entire blog. Use commas to separate keywords. Your keywords will be put in the `<meta name="keywords" />` tag on your blog homepage.
|
280 |
-
|
281 |
-
* **Default Values**
|
282 |
-
|
283 |
-
* **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`.
|
284 |
-
|
285 |
-
* **Spider Instructions**
|
286 |
-
|
287 |
-
* **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.
|
288 |
-
|
289 |
-
* **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.
|
290 |
-
|
291 |
-
* **Verification Codes** -- This section lets you enter in verification codes for the webmaster portals of the 3 leading search engines.
|
292 |
-
|
293 |
-
* **Custom `<head>` HTML** -- Just enter in raw HTML code here, and it'll be entered into the `<head>` tag across your entire site.
|
294 |
-
|
295 |
-
= FAQ =
|
296 |
-
|
297 |
-
* **How do I edit the meta tags of my homepage?**
|
298 |
-
If you are using a "blog homepage" (the default option of showing your blog posts on your homepage), go to `SEO > Meta Editor` and use the Blog Homepage fields.
|
299 |
-
|
300 |
-
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 "Description" and "Keywords" fields in the "SEO Settings" box.
|
301 |
-
|
302 |
-
= Troubleshooting =
|
303 |
-
|
304 |
-
* **What do I do if my site has multiple meta tags?**
|
305 |
-
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.
|
306 |
-
|
307 |
-
If the problem persists, try disabling other SEO plugins that may be generating meta tags.
|
308 |
-
|
309 |
-
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.
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
== Module Manager ==
|
314 |
-
|
315 |
-
= Options =
|
316 |
-
|
317 |
-
The Module Manager lets you customize the visibility and accessibility of each module; here are the options available:
|
318 |
-
|
319 |
-
* **Enabled** -- The default option. The module will be fully enabled and accessible.
|
320 |
-
* **Silenced** -- The module will be enabled and accessible, but it won't be allowed to display numeric bubble alerts on the menu.
|
321 |
-
* **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.
|
322 |
-
* **Disabled** -- The module will be completely disabled and inaccessible.
|
323 |
-
|
324 |
-
= FAQ =
|
325 |
-
|
326 |
-
* **What are modules?**
|
327 |
-
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.
|
328 |
-
|
329 |
-
* **Can I access a module again after I've hidden it?**
|
330 |
-
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."
|
331 |
-
|
332 |
-
* **How do I disable the number bubbles on the "SEO" menu?**
|
333 |
-
Just go to the Module Manager and select the "Silenced" option for any modules generating number bubbles. Then click "Save Changes."
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
== More Link Customizer ==
|
338 |
-
|
339 |
-
= Overview =
|
340 |
-
|
341 |
-
* **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).
|
342 |
-
|
343 |
-
* **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).
|
344 |
-
|
345 |
-
* **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.
|
346 |
-
|
347 |
-
= FAQ =
|
348 |
-
|
349 |
-
* **Why is the More Link Customizer an improvement over WordPress's built-in functionality?**
|
350 |
-
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:
|
351 |
-
|
352 |
-
* 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.
|
353 |
-
* MLC lets you dynamically incorporate the post's title into the anchor text.
|
354 |
-
* MLC lets you include HTML tags in your anchor, whereas WordPress strips these out.
|
355 |
-
* MLC's functionality is much more prominent than WordPress's unintuitive, barely-documented approach.
|
356 |
-
* Unlike WordPress's method, MLC doesn't require you to utilize the HTML editor.
|
357 |
-
|
358 |
-
If you've already specified custom anchors via WordPress's method, SEO Ultimate will import those anchors automatically into the More Link Customizer.
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
== Noindex Manager ==
|
363 |
-
|
364 |
-
= Overview =
|
365 |
-
|
366 |
-
* **What it does:** Noindex Manager lets you prohibit the search engine spiders from indexing certain pages on your blog using the `<meta name="robots" content="noindex" />` tag.
|
367 |
-
|
368 |
-
* **Why it helps:** This module lets you "noindex" pages that contain unimportant content (e.g. the login page), or pages that mostly contain duplicate content.
|
369 |
-
|
370 |
-
* **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.
|
371 |
-
|
372 |
-
= Settings Help =
|
373 |
-
|
374 |
-
Here's information on the various settings:
|
375 |
-
|
376 |
-
* **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.
|
377 |
-
|
378 |
-
* **Author archives** -- Tells spiders not to index author archives. Useful if your blog only has one author.
|
379 |
-
|
380 |
-
* **Blog search pages** -- Tells spiders not to index the result pages of WordPress's blog search function. Recommended.
|
381 |
-
|
382 |
-
* **Category archives** -- Tells spiders not to index category archives. Recommended only if you don't use categories.
|
383 |
-
|
384 |
-
* **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.)
|
385 |
-
|
386 |
-
* **Comment subpages** -- Tells spiders not to index posts' comment subpages.
|
387 |
-
|
388 |
-
* **Date-based archives** -- Tells spiders not to index day/month/year archives. Recommended, since these pages have little keyword value.
|
389 |
-
|
390 |
-
* **Subpages of the homepage** -- Tells spiders not to index the homepage's subpages (page 2, page 3, etc). Recommended.
|
391 |
-
|
392 |
-
* **Tag archives** -- Tells spiders not to index tag archives. Recommended only if you don't use tags.
|
393 |
-
|
394 |
-
* **User login/registration pages** -- Tells spiders not to index WordPress's user login and registration pages. Recommended.
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
== Slug Optimizer ==
|
399 |
-
|
400 |
-
= Overview =
|
401 |
-
|
402 |
-
* **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.")
|
403 |
-
|
404 |
-
* **Why it helps:** Slug Optimizer increases keyword potency because there are fewer words in your URLs competing for relevance.
|
405 |
-
|
406 |
-
* **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.
|
407 |
-
|
408 |
-
= FAQ =
|
409 |
-
|
410 |
-
* **What's a slug?**
|
411 |
-
The slug of a post or page is the portion of its URL that is based on its title.
|
412 |
-
|
413 |
-
When you edit a post or Page in WordPress, the slug is the yellow-highlighted portion of the Permalink beneath the Title textbox.
|
414 |
-
|
415 |
-
* **Does the Slug Optimizer change my existing URLs?**
|
416 |
-
No. Slug Optimizer will not relocate your content by changing existing URLs. Slug Optimizer only takes effect on new posts and pages.
|
417 |
-
|
418 |
-
* **How do I see Slug Optimizer in action?**
|
419 |
-
1. Create a new post/Page in WordPress.
|
420 |
-
2. Type in a title containing some common words.
|
421 |
-
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.
|
422 |
-
|
423 |
-
* **What if I want to include a common word in my slug?**
|
424 |
-
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.
|
425 |
-
|
426 |
-
* **How do I revert back to the optimized slug after making changes?**
|
427 |
-
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.
|
428 |
-
|
429 |
-
= Troubleshooting =
|
430 |
-
|
431 |
-
* **Why didn't the Slug Optimizer remove common words from my slug?**
|
432 |
-
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.
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
== Title Rewriter ==
|
437 |
-
|
438 |
-
= Overview =
|
439 |
-
|
440 |
-
* **What it does:** Title 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.
|
441 |
-
|
442 |
-
* **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.
|
443 |
-
|
444 |
-
* **How to use it:** Title 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 Rewriter adds to the post/page editors.
|
445 |
-
|
446 |
-
= Settings & Variables =
|
447 |
-
|
448 |
-
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`.
|
449 |
-
|
450 |
-
Here's information on each of the settings and its supported variables:
|
451 |
-
|
452 |
-
* **Blog Homepage Title** -- Displays on the main blog posts page.
|
453 |
-
|
454 |
-
* **Post Title Format** -- Displays on single-post pages. Supports these variables:
|
455 |
-
|
456 |
-
* {post} -- The post's title.
|
457 |
-
* {category} -- The title of the post category with the lowest ID number.
|
458 |
-
* {categories} -- A natural-language list of the post's categories (e.g. "Category A, Category B, and Category C").
|
459 |
-
* {tags} -- A natural-language list of the post's tags (e.g. "Tag A, Tag B, and Tag C").
|
460 |
-
* {author} -- The Display Name of the post's author.
|
461 |
-
* {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.
|
462 |
-
|
463 |
-
* **Page Title Format** -- Displays on WordPress Pages. The {page} variable is replaced with the Page's title. Also supports the same author variables as the Post Title Format.
|
464 |
-
|
465 |
-
* **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.
|
466 |
-
|
467 |
-
* **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.
|
468 |
-
|
469 |
-
* **Day Archive Title Format** -- Displays on day archives. Supports these variables:
|
470 |
-
|
471 |
-
* {day} -- The day number, with ordinal suffix, e.g. 23rd
|
472 |
-
* {daynum} -- The two-digit day number, e.g. 23
|
473 |
-
* {month} -- The name of the month, e.g. April
|
474 |
-
* {monthnum} -- The two-digit number of the month, e.g. 04
|
475 |
-
* {year} -- The year, e.g. 2009
|
476 |
-
|
477 |
-
* **Month Archive Title Format** -- Displays on month archives. Supports {month}, {monthnum}, and {year}.
|
478 |
-
|
479 |
-
* **Year Archive Title Format** -- Displays on year archives. Supports the {year} variable.
|
480 |
-
|
481 |
-
* **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}.
|
482 |
-
|
483 |
-
* **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.
|
484 |
-
|
485 |
-
* **404 Title Format** -- Displays whenever a URL doesn't go anywhere. Supports this variable:
|
486 |
-
|
487 |
-
* {url_words} -- The words used in the error-generating URL. The first letter of each word will be capitalized.
|
488 |
-
|
489 |
-
* **Pagination Title Format** -- Displays whenever the visitor is on a subpage (page 2, page 3, etc). Supports these variables:
|
490 |
-
|
491 |
-
* {title} -- The title that would normally be displayed on page 1.
|
492 |
-
* {num} -- The current page number (2, 3, etc).
|
493 |
-
* {max} -- The total number of subpages available. Would usually be used like this: Page {num} of {max}
|
494 |
-
|
495 |
-
= FAQ =
|
496 |
-
|
497 |
-
* **Does the Title Rewriter edit my post/page titles?**
|
498 |
-
No. The Title Rewriter edits the `<title>` tags of your site, not your post/page titles.
|
499 |
-
|
500 |
-
* **What's the difference between the "title" and the "title tag" of a post/page?**
|
501 |
-
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.
|
502 |
-
|
503 |
-
= Troubleshooting =
|
504 |
-
|
505 |
-
* **Why isn't the Title Rewriter changing my `<title>` tags?**
|
506 |
-
Try disabling other SEO plugins, as they may be conflicting with SEO Ultimate. Also, check to make sure your theme is [plugin-friendly](http://wordpress.jdwebdev.com/blog/theme-plugin-hooks/).
|
507 |
-
|
508 |
-
|
509 |
-
== Plugin Settings ==
|
510 |
-
|
511 |
-
= Overview =
|
512 |
-
|
513 |
-
The Settings module lets you manage settings related to the SEO Ultimate plugin as a whole.
|
514 |
-
|
515 |
-
= Global Settings Help =
|
516 |
-
|
517 |
-
Here's information on some of the settings:
|
518 |
-
|
519 |
-
* **Enable nofollow'd attribution link** -- If enabled, the plugin will display an attribution link on your site.
|
520 |
-
|
521 |
-
* **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.
|
522 |
-
|
523 |
-
* **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’re trying to figure out whether or not SEO Ultimate is inserting a certain piece of header code.
|
524 |
-
|
525 |
-
= FAQ =
|
526 |
-
|
527 |
-
* **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.
|
528 |
-
|
529 |
-
If you're moving a site to a different server or restoring a crashed site, you should do so with database backup/restore.
|
530 |
-
|
531 |
-
|
532 |
== Frequently Asked Questions ==
|
533 |
|
534 |
= General FAQ =
|
@@ -566,7 +167,7 @@ Here's information on some of the settings:
|
|
566 |
|
567 |
= Module FAQ =
|
568 |
|
569 |
-
Frequently asked questions,
|
570 |
|
571 |
|
572 |
|
@@ -574,13 +175,13 @@ Frequently asked questions, documentation, and troubleshooting tips for SEO Ulti
|
|
574 |
|
575 |
1. The Module Manager lets you enable/disable SEO Ultimate features
|
576 |
2. The 404 Monitor log with "Screen Options" dropdown visible
|
577 |
-
3. The Canonicalizer module helps avoid duplicate content issues
|
578 |
4. The Competition Researcher module
|
579 |
5. The Deeplink Juggernaut module
|
580 |
6. The File Editor module lets you edit your robots.txt and .htaccess files
|
581 |
7. The Internal Relevance Researcher module
|
582 |
8. The Linkbox Inserter module encourages natural linkbuilding activity
|
583 |
-
9. The Meta Editor module
|
584 |
10. The Noindex Manager module
|
585 |
11. The "Default Formats" tab of the Title Rewriter module
|
586 |
12. The "Pages" tab of the Title Rewriter module lets you edit Pages' <title> tags
|
@@ -591,9 +192,12 @@ Frequently asked questions, documentation, and troubleshooting tips for SEO Ulti
|
|
591 |
|
592 |
== Changelog ==
|
593 |
|
|
|
|
|
|
|
|
|
594 |
= Version 2.6 (June 3, 2010) =
|
595 |
-
* Feature: Users can now reinstall a fresh copy of the plugin from within `Settings > SEO Ultimate > Reinstall`
|
596 |
-
* Bugfix: SEO Ultimate now handles accidental double-serialization of the settings array
|
597 |
|
598 |
= Version 2.5.1 (June 1, 2010) =
|
599 |
* Bugfix: Fixed "string offset" fatal error that appeared on certain setups
|
@@ -603,14 +207,14 @@ Frequently asked questions, documentation, and troubleshooting tips for SEO Ulti
|
|
603 |
* Bugfix: Fixed "string offset" fatal error that appeared on certain setups
|
604 |
|
605 |
= Version 2.4 (May 28, 2010) =
|
606 |
-
* Feature: Added nofollow option for Deeplink Juggernaut links
|
607 |
|
608 |
= Version 2.3 (May 26, 2010) =
|
609 |
-
* Feature: Meta robots tags (index/noindex and follow/nofollow) can now be set for each post or page via the "SEO Settings" box
|
610 |
* Behavior Change: Since the Noindex Manager's advertised functionality is controlling the "noindex" attribute only, its behavior has been changed to output "noindex,follow" where it previously outputted "noindex,nofollow"
|
611 |
|
612 |
= Version 2.2 (May 24, 2010) =
|
613 |
-
* Feature: Deeplink Juggernaut now has a links-per-post limiter option
|
614 |
* Bugfix: The current tab is now maintained when submitting a tabbed form twice in a row
|
615 |
* Bugfix: When a module page reloads after submitting a tabbed form, the screen no longer jumps part-way down the page
|
616 |
|
@@ -640,10 +244,10 @@ Frequently asked questions, documentation, and troubleshooting tips for SEO Ulti
|
|
640 |
* Known Issue: If you had previously disabled 404 Monitor in version 2.0 or earlier, it will re-enable itself when upgrading to version 2.1 or later. The workaround is to re-disable 404 Monitor from the Module Manager after upgrading.
|
641 |
|
642 |
= Version 2.0 (April 29, 2010) =
|
643 |
-
* Feature: Title Rewriter can now edit the title tags of post tag archives
|
644 |
|
645 |
= Version 1.9 (April 3, 2010) =
|
646 |
-
* Feature: Title Rewriter can now edit the title tags of category archives
|
647 |
|
648 |
= Version 1.8.3 (March 30, 2010) =
|
649 |
* Bugfix: Fixed bug that caused disabled attribution link to display under certain circumstances
|
@@ -655,7 +259,7 @@ Frequently asked questions, documentation, and troubleshooting tips for SEO Ulti
|
|
655 |
* Bugfix: Fixed back-end Deeplink Juggernaut error
|
656 |
|
657 |
= Version 1.8 (March 27, 2010) =
|
658 |
-
* Feature: Added Deeplink Juggernaut beta module
|
659 |
|
660 |
= Version 1.7.3 (March 11, 2010) =
|
661 |
* Bugfix: Fixed variable name conflict introduced in 1.7.1 that disabled WordPress's plugin/theme editors
|
@@ -675,7 +279,7 @@ Frequently asked questions, documentation, and troubleshooting tips for SEO Ulti
|
|
675 |
* Improvement: Added blank index.php files to additional plugin directories
|
676 |
|
677 |
= Version 1.7 (February 20, 2010) =
|
678 |
-
* Feature: Displays admin notices if blog privacy settings are configured to block search engines
|
679 |
|
680 |
= Version 1.6 (January 30, 2010) =
|
681 |
* Feature: Added All in One SEO Pack importer module
|
@@ -706,17 +310,17 @@ Frequently asked questions, documentation, and troubleshooting tips for SEO Ulti
|
|
706 |
* Compatibility: Meta Editor now supports the new Google Webmaster Tools verification code
|
707 |
|
708 |
= Version 1.4 (December 16, 2009) =
|
709 |
-
* Feature: Added the Internal Relevance Researcher
|
710 |
* Bugfix: Title Rewriter no longer rewrites XML `<title>` tags in feeds
|
711 |
* Improvement: Copied all documentation to the readme.txt file
|
712 |
|
713 |
= Version 1.3 (November 13, 2009) =
|
714 |
-
* Feature: Added the More Link Customizer module
|
715 |
* Bugfix: Postmeta fields now handle HTML entities properly
|
716 |
* Improvement: Made minor tweaks to the Competition Researcher
|
717 |
|
718 |
= Version 1.2 (October 31, 2009) =
|
719 |
-
* Feature: Added the Competition Researcher module
|
720 |
|
721 |
= Version 1.1.2 (October 9, 2009) =
|
722 |
* Compatibility: Added PHP4 support
|
@@ -725,14 +329,14 @@ Frequently asked questions, documentation, and troubleshooting tips for SEO Ulti
|
|
725 |
* Bugfix: Fixed tab rendering bug
|
726 |
|
727 |
= Version 1.1 (October 7, 2009) =
|
728 |
-
* Feature: You can now mass-edit post/page titles from the Title Rewriter module
|
729 |
* Bugfix: Fixed logo background color in the Whitepapers module
|
730 |
* Improvement: Title Rewriter now supports 10 additional title format variables
|
731 |
* Improvement: Added internationalization support for admin menu notice numbers
|
732 |
* Improvement: Certain third-party plugin notices are now removed from SEO Ultimate's admin pages
|
733 |
|
734 |
= Version 1.0 (September 21, 2009) =
|
735 |
-
* Feature: Canonicalizer can now redirect requests for nonexistent pagination
|
736 |
* Feature: Visitor logging can now be disabled completely from the Plugin Settings page
|
737 |
* Feature: Logged visitor information can now be automatically deleted after a certain number of days
|
738 |
* Feature: Added icon support for the Ozh Admin Drop Down Menu plugin
|
@@ -750,8 +354,8 @@ Frequently asked questions, documentation, and troubleshooting tips for SEO Ulti
|
|
750 |
* Bugfix: Fixed PHP parse errors
|
751 |
|
752 |
= Version 0.9 (August 1, 2009) =
|
753 |
-
* Feature: Added the Slug Optimizer module
|
754 |
-
* Feature: Noindex Manager now supports noindexing comment subpages
|
755 |
* Bugfix: 404 Monitor's numeric notice now only includes new 404s
|
756 |
* Bugfix: Linkbox Inserter now respects the "more" tag
|
757 |
* Bugfix: Missing strings added to the POT file
|
@@ -764,8 +368,8 @@ Frequently asked questions, documentation, and troubleshooting tips for SEO Ulti
|
|
764 |
* Improvement: Many additional code comments added
|
765 |
|
766 |
= Version 0.8 (July 22, 2009) =
|
767 |
-
* Feature: Added robots.txt editor (new File Editor module)
|
768 |
-
* Feature: Added .htaccess editor (new File Editor module)
|
769 |
* Bugfix: 404 Monitor no longer uses the unreliable get_browser() function
|
770 |
* Bugfix: 404 Monitor now ignores favicon requests
|
771 |
* Bugfix: Fixed conflict with the WP Table Reloaded plugin
|
@@ -787,7 +391,7 @@ Frequently asked questions, documentation, and troubleshooting tips for SEO Ulti
|
|
787 |
* Feature: Modules can optionally display numeric notices in the menu
|
788 |
|
789 |
= Version 0.6 (July 2, 2009) =
|
790 |
-
* Feature: Added the Linkbox Inserter module
|
791 |
* Bugfix: Fixed plugin notices bug
|
792 |
|
793 |
= Version 0.5 (June 25, 2009) =
|
1 |
=== SEO Ultimate ===
|
2 |
Contributors: SEO Design Solutions
|
3 |
+
Tags: seo, google, yahoo, bing, search engines, admin, post, page, custom post types, modules, title, meta, robots, noindex, nofollow, canonical, 404, robots.txt, htaccess, slugs, url, anchor, more, link, excerpt, permalink, links, autolinks, code, footer, categories, uninstallable, reinstallable, downgradable
|
4 |
Requires at least: 2.8
|
5 |
Tested up to: 3.0
|
6 |
+
Stable tag: 2.7
|
7 |
|
8 |
This all-in-one SEO plugin gives you control over titles, noindex/nofollow, meta tags, slugs, canonical tags, "more" links, 404 errors, and more.
|
9 |
|
11 |
|
12 |
= Recent Releases =
|
13 |
|
14 |
+
* Version 2.7 adds the Code Inserter module
|
15 |
* Version 2.6 adds reinstallation support
|
16 |
* Version 2.5 adds advanced plugin upgrade/downgrade functionality
|
17 |
* Version 2.4 adds a nofollow option for Deeplink Juggernaut links
|
18 |
* Version 2.3 adds per-post noindex/nofollow toggles
|
|
|
19 |
|
20 |
= Features =
|
21 |
|
22 |
SEO Ultimate is an all-in-one [SEO](http://www.seodesignsolutions.com/) plugin with these powerful features:
|
23 |
|
24 |
* **Title Rewriter**
|
25 |
+
* Out-of-the-box functionality puts your post titles at the beginning of the `<title>` tag for improved keyword SEO.
|
26 |
+
* Easily override the entire `<title>` tag contents for any individual post, page, attachment, category, or post tag on your blog.
|
27 |
* Customize your homepage's `<title>` tag.
|
28 |
* Format the `<title>` tags of posts, pages, categories, tags, archives, search results, and more!
|
29 |
|
30 |
+
* **Noindex Manager**
|
31 |
* Add the `<meta name="robots" content="noindex,follow" />` tag to archives, comment feeds, the login page, and more.
|
32 |
* Set meta robots tags (index/noindex and follow/nofollow) for each individual post/page.
|
33 |
+
* Avoid duplicate content SEO issues with the recommended settings.
|
34 |
|
35 |
* **Meta Editor**
|
36 |
* Edit the `<meta>` description/keyword tags for posts, pages, and the homepage.
|
39 |
* Give instructions to search engine spiders if desired (`noodp`, `noydir`, and `noarchive`).
|
40 |
|
41 |
* **Canonicalizer**
|
42 |
+
* Point search engines to preferred content access points with `<link rel="canonical" />` SEO tags.
|
43 |
* Go beyond the basic canonical tag functionality of WordPress 2.9+ with SEO Ultimate's support for category/tag/date/author archives.
|
44 |
* Redirect requests for non-existent pagination with a simple checkbox.
|
45 |
|
46 |
+
* **404 Monitor**
|
47 |
* Improve the visiting experience of users and spiders by keeping tabs on "page not found" errors. (Use a redirection plugin to point dead-end URLs to your content.)
|
48 |
* Find out what URLs are referring visitors to 404 errors.
|
49 |
|
66 |
* Find out what external websites your competitors are linking to.
|
67 |
|
68 |
* **More Link Customizer**
|
69 |
+
* SEO your posts' "read more" links by including the posts' keyword-rich titles in the anchor text.
|
70 |
* Override the "read more" link on a per-post basis.
|
71 |
* Include `<strong>` or `<em>` tags in the anchor text if so desired.
|
72 |
|
73 |
+
* **Internal Relevance Researcher**
|
74 |
* Determine which of your webpages Google most strongly associates with the keywords you specify.
|
75 |
* Use the information to determine ideal targets for incoming links or ideal sources of outgoing links.
|
76 |
|
77 |
* **Deeplink Juggernaut** -- UPDATED in Version 2.4
|
78 |
* Automatically link phrases in your posts/pages to given URLs.
|
79 |
+
* Use the power of anchor text to boost your internal ranking SEO paradigm.
|
80 |
* Control the maximum number of autolinks added to each post/page.
|
81 |
* Apply the nofollow attribute on a per-link basis. (Perfect for automatic affiliate links.)
|
82 |
|
83 |
+
* **Code Inserter** -- NEW in Version 2.7
|
84 |
+
* Easily insert custom HTML into your site's `<head>` tag, footer, or item content.
|
85 |
+
* Use to add Google Analytics, Feedburner FeedFlare, Google AdSense section targeting, and other SEO/SEM-enhancing code snippets.
|
86 |
+
* Code remains even when switching themes.
|
87 |
+
|
88 |
* **Settings Manager**
|
89 |
* Export your SEO Ultimate settings to a file and re-import later if desired.
|
90 |
* Move SEO Ultimate settings between blogs using the export/import functionality.
|
91 |
* Reset all settings back to "factory defaults" if something goes wrong.
|
92 |
+
|
93 |
* **Additional features**
|
94 |
* Lets you import post meta from All in One SEO Pack.
|
95 |
* Displays admin notices if blog privacy settings are configured to block search engines.
|
97 |
* SEO Ultimate documentation is seamlessly integrated into the contextual help system of WordPress 2.7+ and is accessible via the dropdowns in the upper-right-hand corner of the admin screen. In-depth info, explanations, and FAQ are just a click away.
|
98 |
* Unlike certain other SEO plugins, SEO Ultimate sports a clean, simple, aesthetically-pleasing interface, with no ads or donation nags.
|
99 |
* SEO Ultimate cleanly integrates itself into WordPress without plastering its name all over the interface.
|
|
|
100 |
* Includes icon integration with the WordPress 2.7+ menu and the Ozh Admin Drop Down Menu plugin.
|
101 |
* Uses WordPress plugin security features like nonces, etc.
|
102 |
+
* Includes an uninstaller that can delete the plugin's files and database entries if desired.
|
103 |
* Lets you upgrade/downgrade the plugin to versions of your choosing (starting with 2.5).
|
104 |
+
|
105 |
* **Features Coming Soon**
|
106 |
* Automatic XHTML validation checking
|
107 |
* Nofollow options
|
130 |
3. Activate the plugin through the 'Plugins' menu in WordPress.
|
131 |
|
132 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
== Frequently Asked Questions ==
|
134 |
|
135 |
= General FAQ =
|
167 |
|
168 |
= Module FAQ =
|
169 |
|
170 |
+
Frequently asked questions, settings help, and troubleshooting tips for SEO Ultimate's modules can be found by clicking the help tabs in the upper-right-hand corner of the module admin pages themselves. The same documentation can also be found in the `seo-ultimate/modules/documentation.txt` file of the SEO Ultimate download.
|
171 |
|
172 |
|
173 |
|
175 |
|
176 |
1. The Module Manager lets you enable/disable SEO Ultimate features
|
177 |
2. The 404 Monitor log with "Screen Options" dropdown visible
|
178 |
+
3. The Canonicalizer module helps avoid duplicate content SEO issues
|
179 |
4. The Competition Researcher module
|
180 |
5. The Deeplink Juggernaut module
|
181 |
6. The File Editor module lets you edit your robots.txt and .htaccess files
|
182 |
7. The Internal Relevance Researcher module
|
183 |
8. The Linkbox Inserter module encourages natural linkbuilding activity
|
184 |
+
9. The Meta Editor module lets you edit important SEO data
|
185 |
10. The Noindex Manager module
|
186 |
11. The "Default Formats" tab of the Title Rewriter module
|
187 |
12. The "Pages" tab of the Title Rewriter module lets you edit Pages' <title> tags
|
192 |
|
193 |
== Changelog ==
|
194 |
|
195 |
+
= Version 2.7 (June 5, 2010) =
|
196 |
+
* Feature: Added Code Inserter module
|
197 |
+
* Change: Meta Editor's "Custom HTML Code" field is now the "`<head>` Tag" field in the new Code Inserter module
|
198 |
+
|
199 |
= Version 2.6 (June 3, 2010) =
|
200 |
+
* Feature: Users can now reinstall a fresh copy of the plugin from within `Settings > SEO Ultimate > Reinstall` in case, for example, custom modifications go awry
|
|
|
201 |
|
202 |
= Version 2.5.1 (June 1, 2010) =
|
203 |
* Bugfix: Fixed "string offset" fatal error that appeared on certain setups
|
207 |
* Bugfix: Fixed "string offset" fatal error that appeared on certain setups
|
208 |
|
209 |
= Version 2.4 (May 28, 2010) =
|
210 |
+
* SEO Feature: Added nofollow option for Deeplink Juggernaut links
|
211 |
|
212 |
= Version 2.3 (May 26, 2010) =
|
213 |
+
* SEO Feature: Meta robots tags (index/noindex and follow/nofollow) can now be set for each post or page via the "SEO Settings" box
|
214 |
* Behavior Change: Since the Noindex Manager's advertised functionality is controlling the "noindex" attribute only, its behavior has been changed to output "noindex,follow" where it previously outputted "noindex,nofollow"
|
215 |
|
216 |
= Version 2.2 (May 24, 2010) =
|
217 |
+
* SEO Feature: Deeplink Juggernaut now has a links-per-post limiter option
|
218 |
* Bugfix: The current tab is now maintained when submitting a tabbed form twice in a row
|
219 |
* Bugfix: When a module page reloads after submitting a tabbed form, the screen no longer jumps part-way down the page
|
220 |
|
244 |
* Known Issue: If you had previously disabled 404 Monitor in version 2.0 or earlier, it will re-enable itself when upgrading to version 2.1 or later. The workaround is to re-disable 404 Monitor from the Module Manager after upgrading.
|
245 |
|
246 |
= Version 2.0 (April 29, 2010) =
|
247 |
+
* SEO Feature: Title Rewriter can now edit the title tags of post tag archives
|
248 |
|
249 |
= Version 1.9 (April 3, 2010) =
|
250 |
+
* SEO Feature: Title Rewriter can now edit the title tags of category archives
|
251 |
|
252 |
= Version 1.8.3 (March 30, 2010) =
|
253 |
* Bugfix: Fixed bug that caused disabled attribution link to display under certain circumstances
|
259 |
* Bugfix: Fixed back-end Deeplink Juggernaut error
|
260 |
|
261 |
= Version 1.8 (March 27, 2010) =
|
262 |
+
* SEO Feature: Added Deeplink Juggernaut beta module
|
263 |
|
264 |
= Version 1.7.3 (March 11, 2010) =
|
265 |
* Bugfix: Fixed variable name conflict introduced in 1.7.1 that disabled WordPress's plugin/theme editors
|
279 |
* Improvement: Added blank index.php files to additional plugin directories
|
280 |
|
281 |
= Version 1.7 (February 20, 2010) =
|
282 |
+
* SEO Feature: Displays admin notices if blog privacy settings are configured to block search engines
|
283 |
|
284 |
= Version 1.6 (January 30, 2010) =
|
285 |
* Feature: Added All in One SEO Pack importer module
|
310 |
* Compatibility: Meta Editor now supports the new Google Webmaster Tools verification code
|
311 |
|
312 |
= Version 1.4 (December 16, 2009) =
|
313 |
+
* SEO Feature: Added the Internal Relevance Researcher
|
314 |
* Bugfix: Title Rewriter no longer rewrites XML `<title>` tags in feeds
|
315 |
* Improvement: Copied all documentation to the readme.txt file
|
316 |
|
317 |
= Version 1.3 (November 13, 2009) =
|
318 |
+
* SEO Feature: Added the More Link Customizer module
|
319 |
* Bugfix: Postmeta fields now handle HTML entities properly
|
320 |
* Improvement: Made minor tweaks to the Competition Researcher
|
321 |
|
322 |
= Version 1.2 (October 31, 2009) =
|
323 |
+
* SEO Feature: Added the Competition Researcher module
|
324 |
|
325 |
= Version 1.1.2 (October 9, 2009) =
|
326 |
* Compatibility: Added PHP4 support
|
329 |
* Bugfix: Fixed tab rendering bug
|
330 |
|
331 |
= Version 1.1 (October 7, 2009) =
|
332 |
+
* SEO Feature: You can now mass-edit post/page titles from the Title Rewriter module
|
333 |
* Bugfix: Fixed logo background color in the Whitepapers module
|
334 |
* Improvement: Title Rewriter now supports 10 additional title format variables
|
335 |
* Improvement: Added internationalization support for admin menu notice numbers
|
336 |
* Improvement: Certain third-party plugin notices are now removed from SEO Ultimate's admin pages
|
337 |
|
338 |
= Version 1.0 (September 21, 2009) =
|
339 |
+
* SEO Feature: Canonicalizer can now redirect requests for nonexistent pagination
|
340 |
* Feature: Visitor logging can now be disabled completely from the Plugin Settings page
|
341 |
* Feature: Logged visitor information can now be automatically deleted after a certain number of days
|
342 |
* Feature: Added icon support for the Ozh Admin Drop Down Menu plugin
|
354 |
* Bugfix: Fixed PHP parse errors
|
355 |
|
356 |
= Version 0.9 (August 1, 2009) =
|
357 |
+
* SEO Feature: Added the Slug Optimizer module
|
358 |
+
* SEO Feature: Noindex Manager now supports noindexing comment subpages
|
359 |
* Bugfix: 404 Monitor's numeric notice now only includes new 404s
|
360 |
* Bugfix: Linkbox Inserter now respects the "more" tag
|
361 |
* Bugfix: Missing strings added to the POT file
|
368 |
* Improvement: Many additional code comments added
|
369 |
|
370 |
= Version 0.8 (July 22, 2009) =
|
371 |
+
* SEO Feature: Added robots.txt editor (new File Editor module)
|
372 |
+
* SEO Feature: Added .htaccess editor (new File Editor module)
|
373 |
* Bugfix: 404 Monitor no longer uses the unreliable get_browser() function
|
374 |
* Bugfix: 404 Monitor now ignores favicon requests
|
375 |
* Bugfix: Fixed conflict with the WP Table Reloaded plugin
|
391 |
* Feature: Modules can optionally display numeric notices in the menu
|
392 |
|
393 |
= Version 0.6 (July 2, 2009) =
|
394 |
+
* SEO Feature: Added the Linkbox Inserter module
|
395 |
* Bugfix: Fixed plugin notices bug
|
396 |
|
397 |
= Version 0.5 (June 25, 2009) =
|
seo-ultimate.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: SEO Ultimate
|
4 |
Plugin URI: http://www.seodesignsolutions.com/wordpress-seo/
|
5 |
Description: This all-in-one SEO plugin gives you control over title tags, noindex/nofollow, meta tags, slugs, canonical tags, "more" links, 404 errors, and more.
|
6 |
-
Version: 2.
|
7 |
Author: SEO Design Solutions
|
8 |
Author URI: http://www.seodesignsolutions.com/
|
9 |
Text Domain: seo-ultimate
|
@@ -12,7 +12,7 @@ Text Domain: seo-ultimate
|
|
12 |
/**
|
13 |
* The main SEO Ultimate plugin file.
|
14 |
* @package SeoUltimate
|
15 |
-
* @version 2.
|
16 |
* @link http://www.seodesignsolutions.com/wordpress-seo/ SEO Ultimate Homepage
|
17 |
*/
|
18 |
|
@@ -38,10 +38,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
38 |
//Reading plugin info from constants is faster than trying to parse it from the header above.
|
39 |
define("SU_PLUGIN_NAME", "SEO Ultimate");
|
40 |
define("SU_PLUGIN_URI", "http://www.seodesignsolutions.com/wordpress-seo/");
|
41 |
-
define("SU_VERSION", "2.
|
42 |
define("SU_AUTHOR", "SEO Design Solutions");
|
43 |
define("SU_AUTHOR_URI", "http://www.seodesignsolutions.com/");
|
44 |
-
define("SU_USER_AGENT", "SeoUltimate/2.
|
45 |
|
46 |
/********** INCLUDES **********/
|
47 |
|
3 |
Plugin Name: SEO Ultimate
|
4 |
Plugin URI: http://www.seodesignsolutions.com/wordpress-seo/
|
5 |
Description: This all-in-one SEO plugin gives you control over title tags, noindex/nofollow, meta tags, slugs, canonical tags, "more" links, 404 errors, and more.
|
6 |
+
Version: 2.7
|
7 |
Author: SEO Design Solutions
|
8 |
Author URI: http://www.seodesignsolutions.com/
|
9 |
Text Domain: seo-ultimate
|
12 |
/**
|
13 |
* The main SEO Ultimate plugin file.
|
14 |
* @package SeoUltimate
|
15 |
+
* @version 2.7
|
16 |
* @link http://www.seodesignsolutions.com/wordpress-seo/ SEO Ultimate Homepage
|
17 |
*/
|
18 |
|
38 |
//Reading plugin info from constants is faster than trying to parse it from the header above.
|
39 |
define("SU_PLUGIN_NAME", "SEO Ultimate");
|
40 |
define("SU_PLUGIN_URI", "http://www.seodesignsolutions.com/wordpress-seo/");
|
41 |
+
define("SU_VERSION", "2.7");
|
42 |
define("SU_AUTHOR", "SEO Design Solutions");
|
43 |
define("SU_AUTHOR_URI", "http://www.seodesignsolutions.com/");
|
44 |
+
define("SU_USER_AGENT", "SeoUltimate/2.7");
|
45 |
|
46 |
/********** INCLUDES **********/
|
47 |
|