SEO Title Tag 2.3.3

July 30th, 2007


Note: SEO Title Tag 2.3.3 adds compatibility with WordPress 2.7!

*** With SEO Title Tag version 2.3.0 we have dropped support of versions of WordPress prior to 2.3 if you are still using an older version of WordPress you should be able to continue using legacy version 2.2.1.

Title tags are arguably the most important of the on-page factors for search engine optimization (“SEO”). It blows my mind how post titles are also used as title tags by WordPress, considering that post titles should be catchy, pithy, and short-and-sweet; whereas title tags should incorporate synonyms and alternate phrases to capture additional search visibility.

Now, thankfully, there is a solution, allowing you to decouple post titles from title tags. Introducing… the SEO Title Tag 2.3.3 WordPress plugin.

SEO Title Tag makes it dead-easy to optimize the title tags across your WordPress-powered blog or website. Not just your posts, not just your home page, but any and every title tag on your site! If this plugin, along with a few hours of keyword research and copywriting of optimized titles, doesn’t make a significant impact on your search traffic, you’re doing something wrong!

SEO Title Tag is authored by SEO specialist Stephan Spencer. Version 2.0 was a collaborative effort — Stephan did the concept development and Oliver Kastler, Mike Harding and Elton Fry did all the heavy lifting. Since version 2.1 Andrew Shell has taken over development responsibilities. It is completely free and has been released as “open source” under the GPL license. So enjoy!

Features include:

  • Allows you to override a page’s or a post’s title tag with a custom one.
  • New for v2.0 A Title Tag input box in the Edit Post and Write Post forms. (Previously in version 1.0 you had to use the Custom Field box.)
  • New for v2.0 Mass editing of title tags for all posts, static pages, category pages, tag pages, tag conjunction pages, archive by month pages, — indeed, any URL — all in one go.
  • Define a custom title tag for your home page (or, more accurately, your Posts page, if you have chosen a static Front Page set under Options -> Reading), through the Options -> SEO Title Tag page in the WordPress admin.
  • New for v2.0 Define the title tag of 404 error pages, also through Options -> SEO Title Tag.
  • New for v2.0 Handles internal search result pages too.
  • New for v2.0 Title tags of category pages can optionally be set to the category description. If you use a Meta Tag plugin like Add Meta Tags, then you should not use this feature and instead let the Meta Tag plugin use the category description for the meta description on category pages.
  • If you choose to keep the blog name in your title tags (not recommended!), the order of the blog name and the title are automatically reversed, giving more keyword prominence to the title instead of the blog name. Note there is also an option to replace your blog name with a shorter blog nickname.

And best of all, the plugin is FREE!

Suitably convinced? Then Download the plugin!

NEW: Rate this plugin at


Installation instructions

  1. (If upgrading from a prior version of SEO Title Tag, be sure to deactivate the old version beforehand.)
  2. Upload the seo-title-tag directory and the files within it to your wp-content/plugins directory.
  3. Activate the plugin.
  4. Under Presentation -> Theme Editor in the WordPress admin, select “Header” from the list and replace:<title><?php bloginfo('name'); wp_title(); ?></title>

    (or whatever you have in your <title> container with:

    <title><?php if (function_exists('seo_title_tag')) { seo_title_tag(); } else { bloginfo('name'); wp_title();} ?></title>

  5. Configure the settings under Options -> SEO Title Tag. You’ll want specify a title tag for your home page which will override your blog name as the home page’s title tag, specify a title tag for 404 error pages. You can also configure here whether you want all the rest of your site’s title tags to have your blog name, or a shortened version of your blog name, or neither, appended to the end. IMPORTANT: You must save the settings, even if you haven’t changed them from their defaults, in order to ensure that the title tags for Posts and for Pages works properly.
  6. For those of you with a static Front Page chosen under Options -> Reading, the “home page” described in the point above is actually the Posts page, and as such, the SEO Title Tag options page will actually will say “Posts Page” instead of “Home Page” — because it detects that you have selected a static Front Page. In such a scenario, in order to also customize the Front Page’s title tag, specify a Title Tag on that page’s Edit Page form, or within Manage -> Title Tags -> Pages.
  7. Define custom title tags for your existing posts, static pages, category pages and tag pages in the admin under Manage -> Title Tags.
  8. When writing a new post/page, define a title tag by typing something into the “Title Tag (optional)” field. If you’re happy to use the post title as the title tag, then you can leave it blank.
  9. Note: If upgrading to WordPress 2.3 from a prior version where you used the SEO-Title-Tag plugin with Ultimate Tag Warrior (UTW) in order to migrate your old tag page titles you need to first import your UTW tags into the new native tagging structure. You can do this in your WordPress admin by clicking on Manage > Import > Ultimate Tag Warrior. Once you have these imported just deactivate and reactivate SEO-Title-Tags and your old title tags will be able to be used.

To learn more about search engine optimizing your WordPress blog, you’ll probably want to read Stephan Spencer’s 10 tip series on Blog SEO.


  • support mass editing of meta descriptions?
  • import titles by uploading a file in CSV format
  • possibly rename custom option fields and table name
  • add some more text to the titles of tag pages globally. They are using the same divider as used for posts, and really there should be an option to add something like “Tag | Posts Related to Tag | Blog Name”
  • create all needed values on activation so that you no longer have to save the settings in the SEO Title Tag Options before the plugin will work properly


Got a bug to report? Or an enhancement to recommend? Or perhaps even some code to submit for inclusion in the next release? Great! Share your feedback with the author, Stephan Spencer, either below or on his blog at this post.

UPDATE: 2.0beta2 has some important bug fixes, including the issue where Options weren’t updating and the Manage > subtab wasn’t displaying.

UPDATE: 2.0beta3 has more important bug fixes, including the issue where MySQL tables were sometimes not being created, and PHP tags weren’t all consistently starting with <?php but instead the <? shorthand which doesn’t work on some server configurations.

UPDATE: 2.0beta5 has more fixes for MySQL issues some folks were having. Also fixed a IIS server incompatibility issue.

UPDATE: 2.0beta6 fixes a problem where some folks were seeing a “No Posts Found” message under Manage -> Title Tags -> Posts even though the blog has posts. And it fixes a problem for users of WordPress version 2.0.5 and earlier, where titles on category pages weren’t showing up due to an undefined function attribute_escape (a new function introduced in WordPress 2.0.6).

UPDATE: 2.0beta7 fixes a problem with the page number sometimes appearing on static pages and a problem with a MySQL error on the Manage > Title Tags > Posts page.

UPDATE: 2.0RC1 fixes categories showing a warning if there are no category title tags set; Manage Posts filtering out everything thats not a post (images, pages). Also added and tested fix for menu links (“edit.php”).

UPDATE: 2.0RC2 fixes a problem with backslashes appearing before apostrophes.

UPDATE: 2.1.0 adds WordPress 2.3 compatibility.

UPDATE: 2.1.1 fixes bug where old title tags for UTW tag pages weren’t being imported. Also fixes WordPress 2.3 bug of not displaying page titles for tag intersections and unions correctly.

UPDATE: 2.1.2 fixes display issues with international characters.

UPDATE: 2.1.3 fixes issue with extra slashes being added. Also adds Nonce support for extra security.

UPDATE: 2.3.0 updates the layout to display better in the new WordPress admin.

UPDATE: 2.3.1 fixed an issue where in WordPress 2.6.1 saving a post/page creates multiple title_tag custom fields.

UPDATE: 2.3.2 fixed an issue where if you were using nested pages (the parent functionality) fields might not show up on the mass edit screen.

UPDATE: 2.3.3 fixed an issue with the tabs not working on WordPress 2.7 and ideally some issues with updates not sticking on the mass edit page.

Digg it! | Add to

About the Author

This plugin was developed by SEO specialist, Stephan Spencer. You can read more at Stephan’s website.


  1. rutra says:

    great thx for the update 🙂
    working fine everywhere but not for categories.
    what can be the reason?

  2. dave says:

    this error on manage urls page??

    WordPress database error: [Table ‘wp_waveneyavenuecouk.wp_seo_title_tag_url’ doesn’t exist]
    SELECT id, url, title from wp_seo_title_tag_url ORDER BY title

    Any help appreciated

    Everything else working although had errors in title tag until I actually added something it would be nice if it defaulted to post title if no custom one is added

    Great work though


  3. Bharathi says:

    Thanks a lot for the plugin!! It has done wonders to my Search Engine Rankings.

    I’ve used the previous versions successfully but there is a problem with latest version that I’ve downloaded today from

    Iâ??m using it on WordPress 2.1.2.

    ***On Plugin Activation, I’ve got the same error that Chachi got (See the comment by Chachi â?? March 21, 2007 @ 6:08 pm).***

    WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘( id bigint(11) NOT NULL AUTO_INCREMENT, url varchar(255) NO’ at line 1]
    CREATE TABLE ( id bigint(11) NOT NULL AUTO_INCREMENT, url varchar(255) NOT NULL, title varchar(255) NOT NULL, UNIQUE KEY id (id) );

    WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘( id bigint(11) NOT NULL AUTO_INCREMENT, category_id varchar’ at line 1]
    CREATE TABLE ( id bigint(11) NOT NULL AUTO_INCREMENT, category_id varchar(255) NOT NULL, title varchar(255) NOT NULL, UNIQUE KEY id (id) );

    Warning: Cannot modify header information – headers already sent by (output started at /home/jvizag/public_html/wp-includes/wp-db.php:121) in path/wp-includes/pluggable.php on line 275

    Same thing happens –> “…a second try on activation pushes through, however, no tables are created.”

  4. Gemme says:

    I’m afraid I got a whole lot of database errors after I tried activating the plugin.

    My WP install is 2.0.7

    I upgraded from 1.0

    Looking forward to a new release as the plugin is quite useful.

  5. Austin says:

    I’m afraid I also get SQL errors. I’m using WP2.1. I get errors in the titles when I load the pages on my site and in the SEO plugin admin page, such as this for my ‘categories’ admin page:

    WordPress database error: [Table ‘norttay8_savannah.wp_seo_title_tag_category’ doesn’t exist]
    SELECT category_id, title from wp_seo_title_tag_category

    and this for the ‘URL’ admin page:

    WordPress database error: [Table ‘norttay8_savannah.wp_seo_title_tag_url’ doesn’t exist]
    SELECT id, url, title from wp_seo_title_tag_url ORDER BY title

  6. Austin says:

    Update – Someone in the comments suggested changing the 2 instances of ‘unique key’ to the phrase ‘primary key’ in the seo-title-tag.php file. Unfortunately that did not fix my problems.

  7. Nicolas says:

    I encountered the same problem regarding MySQL error. I managed to get it work by updating the seo-title-tag.php file. I added the following lines on line 30 (just after the “global” statement)

    $wpdb->seo_title_tag_url = $wpdb->prefix . “seo_title_tag_url”;
    $wpdb->seo_title_tag_category = $wpdb->prefix . “seo_title_tag_category”;

    Don’t really know the side effects (if any) of those lines, but at least the plugin can be enabled, and tables are created.

    Hope that helps,

  8. Thanks Nicolas. That helps. And thanks to John too, who identified that the plugin required the PHP short tag enabled to work and that there was an incompatibility with the $_SERVER[‘REQUEST_URI’] and IIS servers.

    All these issues are now hopefully fixed. Beta3 now available via the Download link above.

  9. Austin says:

    The plugin activates correctly, but none of the titles I change ‘stick’. I can only attempt to change titles from the individual page edit forms, as manage -> title tags doesn’t show any pages, posts, URLS, or categories. I also cannot change the title from the ‘title-tag options’ page.

    Finally, I get a SQL error when deactivating and reactivating:

    WordPress database error: [Table ‘wp_seo_title_tag_url’ already exists]
    CREATE TABLE wp_seo_title_tag_url ( id bigint(11) NOT NULL AUTO_INCREMENT, url varchar(255) NOT NULL, title varchar(255) NOT NULL, UNIQUE KEY id (id) );

    WordPress database error: [Table ‘wp_seo_title_tag_category’ already exists]
    CREATE TABLE wp_seo_title_tag_category ( id bigint(11) NOT NULL AUTO_INCREMENT, category_id varchar(255) NOT NULL, title varchar(255) NOT NULL, UNIQUE KEY id (id) );

    Warning: Cannot modify header information – headers already sent by (output started at /home/norttay8/public_html/wp-includes/wp-db.php:121) in /home/norttay8/public_html/wp-includes/pluggable.php on line 275

    I hope you get it worked out, ’cause I really like the concept of this plugin!

  10. Max says:

    Thanks for your great plugin first.

    But I found a problem for UTW Tags. It works for single word. But it doesn’t work for tag like: Search+Engine

    If I add custom title for Searh+Engine, it just doesn’t show up.

  11. Syl says:

    I have version 2beta4, it installs corretly but all my changes dont save.. it simply does not change anything to any of my pages… an idea?

  12. Syl says:

    does NOT amend any of my pages!

  13. Austin says:

    I’m trying out 2.0beta4, and the only issue remaining for me is that the plugin does not actually change the titles, as noted above by Syl. I suspect the plug-in needs write access to some files, but which ones?

    Do I need to change any permissions to make sure the plugin will work?

  14. John says:

    Hey Stephen,

    Looks like you got the bugs worked out. I think it’s finally time to start working on the change requests and enhancements…


  15. John says:

    Hey Stephan, thanks 4 the plugin. John

  16. […] are plugins available that make this process smoother. The SEO Title Plugin is at the moment focused on titles only and with Headspace you can also customize/automate meta […]

  17. […] new version of SEO Title Tag was recently released and since I have blogged about this plugin earlier, I will just mention the […]

  18. […] pingbacks. MyAvitars -adds MyBlogLog avatars to comments. Popularity Contest -most popular posts. SEO Title Tag -customizes my title tags. Show Top Commentators -lists the top contributers to comments. SRG Clean […]

  19. Rupen says:

    One suggestion..

    You can make this plugin WPMU (multi-user) compatible very easily. I dropped it into the MU-Plugin directory and it works excellent in all the blogs I have created, except for one thing.

    Under Manage –> Title Tags the links generated always point to the main URL and not the blog specific url.

    My site is
    My blog is

    If I log in to the dashboard for the blog site, travelinmonkey, the links still point to the main site, i.e. adding /travelinmonkey/ to the link allowed me to edit everything!

    hopefully we’ll see that in the next beta release!

  20. Austin and anyone else who is not getting the custom title tags to display on your blog:
    1) Are you running the latest beta (beta5)? If not, please install it.
    2) Does the custom title tag not save or does it just not show up on the site?
    3) Are you sure you added the custom HTML to your header.php theme file, per line 4 in the Installation Instructions above?

  21. Andrew Shell says:

    We’re working to get the plugin working with WordPress 2.6 as soon as possible.

  22. I was experiencing this as well; but the titles still work fine. It still validates on as well.

  23. Andrew Shell says:

    The issues with the plugin wiping out your tags/categories has been corrected in the latest version, 2.2.1

  24. maryelle says:

    This seems like it would be a great plug-in but I keep getting the following message: ”
    Warning: Invalid argument supplied for foreach() in /homepages/22/d160116614/htdocs/wordpress1/wp-content/plugins/seo-title-tag/seo-title-tag.php on line 929″

    I see that other people had the same problem but I don’t see a solution–can anyone tell me what I’m doing wrong? I did replace the title bucket in the header.php with what is given in the installation instructions but that didn’t fix it. Thanks.

  25. Dav says:

    I am using WP 2.6

    This plugin only show latest 5 posts for editing titles. How to edit other posts? PLZ HELP!

  26. by Dav — July 28, 2008 @ 6:06 am

1 2 3 7