HeadSpace 2


Download: HeadSpace
Note: This plugin is no longer actively maintained

HeadSpace is a powerful all-in-one plugin to manage meta-data and handle a wide range of SEO tasks. With it you can tag your posts, create custom titles and descriptions that improve your page ranking, change the theme or run disabled plugins on specific pages, and a whole lot more.

Because the configuration of meta-data can be a complicated and tiresome process HeadSpace provides several shortcuts to reduce your effort:

  • Meta-data nesting – data is collected not only from the page itself, but nested parent pages
  • Dynamic data extracted – why repeat yourself when you can extract data from the post itself?
  • Full GUI interface – data is entered alongside post content, and with a full auto-suggested AJAX interface for tags and keywords
  • Mass-editing – now you can edit meta-data for all pages and posts at one go!

HeadSpace is modular in nature and provides a full set of modules that allow you to configure your site exactly as you want and without requiring several conflicting plugins – everything is contained within one consistent interface. These modules include:

  • Page-specific modules that can be applied to posts, pages, categories, archives, search pages, 404 pages, and the home page!
    • Page titles – SEO optimized titles
    • Tags and keywords are auto-suggested using a smart algorithm or via Yahoo and work on both posts and pages (pages can also be set to appear in tag archives)
    • Page-specific plugins – have plugins that run only on specific pages!
    • Theme-specific plugins – change your site theme on specific pages!
    • Description – what appears in search engine listing
    • More text – change the ‘more text’ for each post
    • JavaScript & CSS – add JavaScript or CSS files to a post
    • No index – configure whether a page is indexed by search engines
    • No follow – configure whether links receive a follow/nofollow attribute
    • Site name & description
    • RSS name & description
    • Anything else you want – HeadSpace allows custom meta-data
  • Site-wide modules:
    • Configure auto-formatting (wpautop), auto-fancy quotes, auto-clickable links, and disable visual editing
    • Tracking codes for Google Analytics (new & old code), Crazy Egg, StatCounter, 103bees, Mint, FeedBurner Stats, Yahoo! Site Explorer, HitTail, Google Webmaster, Piwik, and Apture, with the ability to not track registered users
    • Google section targeting
    • First Time Visitor – display a special message to visitors when they first visit your site (based upon idea by Seth Godin)
    • Disable Widgets
    • Change PHP memory limit, timeout, and error reporting level

Due to the number of meta-data plugins available for WordPress, HeadSpace will import data from these plugins:

  • UTW (Ultimate Tag Warrior)
  • SEO Title tags
  • All-in-one SEO
  • Jerome’s Keywords
  • Simple Tagging
  • lud.icro.us HeadMeta
  • HeadMeta description
  • More Unique

Now there’s no reason not to use it!

HeadSpace is available in the following languages (all included within the plugin):

If you can provide a language translation then please get in contact with the author. A PO file is provided with the plugin to be used in translating with poEdit.

People upgrading from previous versions should be aware that you must reconfigure the plugin. As much of your existing configuration will be retained, and existing custom meta data for posts should be completely safe.


The plugin is simple to install:

  1. Download headspace2.zip
  2. Unzip
  3. Upload headspace2 directory to your /wp-content/plugins directory – the directory must be called headspace2.
  4. Go to the plugin management page and enable the plugin
  5. Configure the options from the Options/HeadSpace page
  6. Ensure your theme calls wp_head in header.php (most themes do this anyway – see wp-content/themes/default/header.php as an example)

You can find full details of installing a plugin on the plugin installation page. Note that, depending on your site configuration, you may need to increase the amount of available memory to 32MB. Details of doing this can be found here.


It is useful to understand the process involved in generating meta-data for a WordPress page. HeadSpace allows meta-data to be both nested and dynamically generated from the page itself.


This is a fairly simple concept, but one that requires explanation. When a page is to be displayed, HeadSpace looks at the page type and retrieves meta-data from all available sources. For example, when displaying a post, HeadSpace will first look at the post’s meta-data, then it will look at meta-data set for all posts, then it will look at global meta-data. When displaying a category page, HeadSpace will look first at the category meta-data, then at global meta-data.

The reason for this nesting is that you can configure HeadSpace as little as possible, but get the maximum effect. For example, adding a tag of ‘scuba’ to the global ‘tag’ settings will mean that every page will have the ‘scuba’ tag set, in addition to whatever specific meta-data the page may contain.

Inheritance After

Note that nesting can be disabled.

Dynamically generated meta-data

Dynamic meta-data is simply meta-data that is taken from the post being displayed. In practical terms this means you can insert special tags into HeadSpace meta-data that are replaced when a post is to be displayed. These tags are:

Tag Inserts
%%date%% Date of the current post/page
%%title%% Title of the current post/page
%%sitename%% The site’s name
%%excerpt%% Excerpt of the current post/page (auto-generated if necessary)
%%excerpt_only%% Excerpt of the current post/page (not auto-generated)
%%modified%% Modified date of the current post/page
%%id%% Post/page ID
%%userid%% Post/page author’s ID
%%name%% Post/page author’s name
%%category%% List of categories the post/page belongs to
%%category_description%% Category description
%%searchphrase%% Search phrase
%%currentdate%% Current date
%%currenttime%% Current time
%%page%% Current page and total pages (i.e. page 1 of 3)


HeadSpace has site modules and page modules. Site modules affect the site as a whole, while page modules affect individual pages. Both are configured from the Options/HeadSpace/Modules page of the administration section. Page modules appear as:

Page Modules

Modules can be dragged and dropped into the appropriate areas. Modules in the ‘simple’ area will always when editing meta-data. Modules in the ‘advanced’ area will only appear when a link is pressed.

Site modules appear as:

Site Modules

Note that some modules have an edit button allowing further configuration. Disabled modules do not run and use no resources.

Page Settings

Configuration of page settings takes place from the HeadSpace administration page:

Page Settings

Clicking any of the sections will allow the meta-data to be configured:

The exact details and the order in which they appear is determined by your page modules. Note that advanced modules are hidden behind an ‘advanced’ link that, when clicked, will expand to show the advanced modules.

Post & Page Settings

The plugin adds an extra section to the post and page editing screen:

Admin Edit

Like for page settings the exact details and order is determined by your page modules. The settings defined here always take precedence over settings defined elsewhere.

Category Settings

You can also configure HeadSpace settings when editing a category from the Category Management page.

Category settings are applied when viewing a category page, and will inherit settings from the general category settings, as well as the global settings.


HeadSpace provides a mass-editing interface which allows you to change meta-data across all posts and pages. The interface is found in the Manage/Meta-data administration page:

Mass Edit

You can select the type of meta-data from the drop-down menu.

Tags or keywords

If the tag module is enabled then HeadSpace will automatically suggest tags for posts based upon previous tags. A smart-matching algorithm is used so that matches will be made when words have the same root. For example, if you previously defined the tag ‘elevate’ then the smart-matching algorithm will detect ‘elevator’, ‘elevated’, ‘elevating’, and ‘elevates’.

Tags are added with a special interface:


You can either manually enter tags in the input box, or you can click on a tag to have it added. Tags can be suggested using a smart HeadSpace algorithm, or you can enable a Yahoo option to have Yahoo suggest tags.

Support & Bugs

If you need further information then these are good guides and introductions to HeadSpace:

This plugin is no longer actively maintained.

1,428 thoughts on “HeadSpace 2”

  1. Hi John. You sent me an email and asked if I could post my feature request to the tracker forum. The link you gave me was http://urbangiraffe.com/tracker/. When I click on it (or the links above) I get a “502 Bad Gateway” error with a code of “nginx” (??). I am still unable to get into the forum. Help??

  2. Hi,
    Today I´ve begin using Headspace2 in my blog
    Sory about two questions:
    1. I use WordPress 2.5.1. Is there any problem if I continue using ‘All in one Plugin’?
    2. Can I put in a page of a specific Tag, exemple: http://www.blogwmp.com/tag/coca-cola, how can I do it?
    Thanks and continue with your good job!

  3. When writing a meta description for a post It works but string is limited to 99 characters. ¿Any clues why its working so? I wanna write 160 characters meta descriptions.

  4. HeadSpace3.4.1 WP2.5.1

    I have issue similar to Mike H http://urbangiraffe.com/plugins/headspace2/comment-page-1/#comment-25690 and Rob in Denver http://urbangiraffe.com/plugins/headspace2/comment-page-1/#comment-25690 with Popularity Contest.

    John, how can you disable custom themes in HeadSpace which was your suggested fix earlier?

    Even without Popularity Contest activated I still can’t Mass Edit meta-data for Descriptions and Tags. This isn’t so bad as I can do it post-by-post.

    Sorry if I’ve missed something obvious. Thanks for your hard work on the plugin.

  5. […] HeadSpace2: The functionality of HeadSpace2 could fill 10 articles. It does everything All in One SEO does and more, and gives you more control of the settings. For example, you can set a single page or post to use a WordPress theme other than the one you’ve selected for your site. You can set global meta keywords that get inserted into all of your site’s pages. You can insert your Google Analytics (more on this next week) id into HeadSpace2 to track your site’s traffic. […]

  6. Diego, description length is configured from the description settings tab. HeadSpace has no control over a category permalink and this is a function of WordPress itself. A + is not a valid character in a URL without being specially encoded. WordPress is probably removing the invalid character for you.

    Toni, you can continue to use All-In-One if you wish

    CJ, keywords are pretty much redundant so having a separate option for tags and keywords would clutter the interface more than it would provide any real advantage.

    Cláudio, HeadSpace already inserts data in the footer.

    Sergio, the » is inserted by your theme, as are tags – you will need to modify the theme to control their placement.

    Hexy, HeadSpace can modifed the blog title and page title, but it can’t change how your theme displays them. Maybe you can send your theme’s header.php and I’ll take a look

    Rob, if you don’t include the custom theme option in your HS configuration then it won’t have any affect on your site.

  7. John, this is an excellent tool, thanks a lot for it!

    @Diego (#523): Open the file “/wp-content/plugins/headspace2/modules/page/description.php” and increase “var $max_length = 160;” (line 27)

  8. Hi all,

    I am having a problem which I can’t see in the comments. This plugin works really well on my local server, but when I upload and activate, I am having issues with the live version, which uses the exact same code. I am using WordPress 2.3.3

    Basically, if I go to the page settings tab and click on any of the links with the green background (eg – global settings), it tries to load up the homepage of my website, instead of the normal options, which breaks everything. So I guess it’s some AJAX type issue, but weird that it loads up my entire homepage without refreshing!


  9. Hi all, I’ve had to deactivate the plugin because I can’t get it to work. If anyone ever has an answer to my previous post, could they please email me?! It was working really well on my local version;

    tommytapemeasure AT gmail DOT com

  10. John, great plugin! I’d like to add a custom field to the titles of my author pages. Is there any way to do this? Basically my author pages are company profiles and I’d like the have the business name as the title of the page. I’d also like to use the bio description information from the author pages as the page’s description. The custom field I’ve made available in the author page is $business_name. Is there a way that this info can be pulled and placed in the page’s title and or description?

  11. Thomas, like I said, you can modify the description length by changing the description settings. There is no need to go changing files.

    Paul, does your live server have any other plugins?

    Brendan, currently no, but you could add this to the feature request tracker.

  12. Hi,

    Thanks for the great plugin!

    However, I have a situation when the page title is not inserted into my posts. The descriptions is ok, but the title remains unchanged. I’m using WordPress 5.0.

    Any clues?

  13. Hi

    thanks for a great plug-in. I’m having a problem getting meta descriptions to show. Should there be a specific line of code in the header file in order to do this?


  14. Hi John

    Sorry I wasn’t very clear. I have wp head in the header.php, what I meant was is there something specific to description that should be in there? It need wp_title to get the title part to work so I was wondering if there should be soemthing in the header file that referred to the description in some way.

    Just in case it’s relevant I’m using 2.5.1


  15. Hi John

    Sorted it! I had some html relating to the description tag in header.php. One I removed that line it worked.

  16. Hi,

    I’m already using one of your great plugins (Redirection – thank you very much for that great plugin).

    I just want to ask you if this plugin works with blogs that are using a static page as home page (in wordpress 2.5.1) ?

    After a bad experience and loosing lots of data with SEO Title Tag, I realized that is better to ask first if it is possible.

    Thank you again.

  17. There is no reason it shouldn’t – it’s just a standard page and HS doesn’t care how you arrange your site.

  18. Great plugin but the ajax in the pages admin section does not work with wordpress MU. That’s a pity. Would be killer if you could make this work with WPMU.

  19. […] Its a powerful all-in-one plugin to manage a wide range of SEO tasks, option to add Google section targeting, add tracking codes for Google analytics and like services, welcome first time visitors and a hell more. If you haven’t check out this plugin, then you are missing something you shouldn’t. If you still think you don’t need it, then visit the plugin’s homepage. […]

  20. Although I know it is not strictly meta-data (but neither is the post slug), how possible would it be to get the category included with the manage->meta-data function? That would be sweet. I get a lot (well, maybe not a lot, but some anyway) of stuff posted to incorrect categories by authors.

    And, speaking of tags, I have some feeds that are posted via Feedwordpress. They go to correct categories, but they don’t have tags. How hard would it be to “call” the tag generating mechanism from within another plugin?

  21. What does the following mean?

    Warning: Missing argument 1 for HS_TagSuggest::HS_TagSuggest(), called in /home/content/k/a/n/kanyanwu/html/wp-content/plugins/headspace2/models/modules.php on line 98 and defined in /home/content/k/a/n/kanyanwu/html/wp-content/plugins/headspace2/modules/page/auto_suggest.php on line 36

    Warning: Missing argument 1 for HS_TagYahoo::HS_TagYahoo(), called in /home/content/k/a/n/kanyanwu/html/wp-content/plugins/headspace2/models/modules.php on line 98 and defined in /home/content/k/a/n/kanyanwu/html/wp-content/plugins/headspace2/modules/page/yahoo.php on line 28
    404 Page – applied when viewing a 404 error

  22. It means you have an error message. If you can replicate this can you post details of your HeadSpace setup to the bug tracker? Thanks.

  23. Hi,
    I’ve just upgraded to WP 2.6 and installed HeadSpace 2. But it seems that it doesn’t work (with this WP version?)

    I wrote a new post, give it a “custom title” (in HeadSpace Meta data -> Page Title:) and published it. After publishing it I’m redirected to Manage -> Meta-data (Mass Edit Meta-data). But again, in this page it seems that only “Page slug” and “Tags/keywords” mass editing is working.

    Hope that this is because of WordPress 2.6 version that I have.

  24. I am agree with Utilaje, “I realized that is better to ask first if it is possible” so I have the same question, somebody please answer.

  25. Hello John & All –

    First, thanks for your continued work on an excellent plugin. HeadSpace IS working in several 2.6 installations I am testing, but it is preventing the theme previewer pop-up screen from appearing… not good, because then you cannot activate a new theme until you turn off HeadSpace. Just saw issue tracker and will report there too.
    – Scott

  26. I tried to reg for the support page but can’t login. . . get invalid page. Also, don’t know how to reg for bug page. . . only give login. . . so I’m leaving the info here. Can’t say I didn’t try to leave it in the right area 😉

    I’ve had two major problems using headspace. I’ve corrected the first but now the second is beyond me.

    When two people were editing the same post headspace became locked for that particular post’s “site name” and all new posts were set to that site name including WordPress (in admin); however in wordpress setting the site name still showed the correct one. To correct the problem I had to go into the database and delete the site name on that post. This also caused the site name to always be the same as that one post unless it was changed in headspace.

    This is still a problem and I would love to hear back on how to fix it.
    I’m not exactly sure when this started–it could have been the last upgrade of headspace or the installation of Pete’s page excerpts (http://blog.ftwr.co.uk/wordpress/page-excerpt/) – both were very close in time. I’ve deleted both and re-installed each. Nothing changes. All plugins function fine when headspace is off.

    I had no problems. . .
    Installed pet’s page excerpts and applied excerpts to pages and upgraded headspace about the same time.
    1. tinymce excerpt editor no longer functions when headspace in on.
    2. Lighter drop down menus do not function when in post/page write or edit when headspace is on.

    If I turn off headspace then everything else works fine.
    I deleted all page excerpts and removed pete’s page excerpt but the problem is still the same when I turn on headspace. I’ve gone through each and every plugin on my site and all function correctly with each other except headspace.

    I’m using wordpress 2.5.1

    Prior to page excerpts and the last upgrade every thing (all plugins) were functioning fine on the site.

    Thanks. . .

  27. PS. . .
    Sorry for the update. . .
    Checked out two of my other sites. All have the same plugins except for pete’s page excerpt plugin.

    All is working fine on the other sites, even after headspace auto upgrade of headspace on one and upgraded to 2.6 wordpress.

    I’ll let pete know that there is a potential problem with his plugin and headspace; however, this issue caused other problems with lighter menu. . .

    Anyways, it seems that the problem is between headspace2 and pete’s page excerpt plugin. Possibly the addition of the excerpt on the page write/edit panels causes problems?

  28. Here’s my request again:

    Although I know it is not strictly meta-data (but neither is the post slug), how possible would it be to get the category included with the manage->meta-data function? That would be sweet. I get a lot (well, maybe not a lot, but some anyway) of stuff posted to incorrect categories by authors.

  29. hello

    i updated my version of headspace today.. but now the meta description is too short..
    There are only 100characters shown on the page..in the old version i could change the length of descriotion, but in the new version i cant see the function?!
    Can i modify the length?

  30. Can anyone tell me, is there a way to display the post title before the blog title?

    The Kineda blog does that and I hear it is great for seo purposes.

    Example below…

    Danneel Harris Maxim Photoshoot » Kineda

  31. I try to use the feature tracker, I really do. But, try as I might, I can’t get enrolled.

    WP2.6 presents a number of odd errors related to Headspace2. As I reported previously, the Headspace tag options are missing from the page/post editor page. Then I noticed the settings “tabs” (Page Settings, Modules, Options, Import) disappeared.

    I “fixed” things by completely removing Headspace and reinstalling it. Apparently something gets “lost” during an upgrade process.

    Now I’m wondering. On the “Write Page” page none of the Advenced Options are working (page parent, select author, etc). Have something to do with Headspace?

  32. Hi, John
    Sorry for my delayed answer. For the moment I’m not very shore about this. I had some security problems with my blog… for the moment it seems I need to reinstall wordpress.
    As soon as I’m done, I will try HeadSpace 2 again and write back here if there will be any kind of problems with HeadSpace 2.

    Thanks again for all the great work that you have put in this plugins.

  33. John, is there any chance that you or Scott Frangos or Joost de Valk or some other angel could put together a step by step tutorial on HeadSpace? I’ve trawled through dozens of comment pages but couldn’t find anyone as clueless as me when it comes to understanding what exactly to do with Page Settings (like, what goes in the Descriptions? Special Tags or a phrase or keywords?). Blokes like me get downright orgasmic when someone explains exactly how to get from step a to step b. Meanwhile, this may be the best plugin since His Nibs plugged earth into the universe.

  34. Hi.

    Thanks for a good plugin, working better that all-in-one seo pack. I want to report one issue that I discovered in edit-mode for pages (only, not for posts)

    I get a javascript error – “tagbox has no properties”, referring to line 35 in plugins/headspace2/js/headspace-post.js

    clonebox.id = ‘suggestions1’;
    Element.remove (‘suggestions’);
    clonebox.id = ‘suggestions’;

    tagbox.parentNode.appendChild (clonebox);
    Element.show (‘suggestions’);

    Using Firefox 2.0
    Wordpress 2.3.3

    I’d highly appreciate a notification on email if this minor problem is solved.

    Thanks, Jesper

  35. Looks like the pluging is messing with my theme. I changed the code in title tag in the header.php from my theme and it shows some html that is not even near the title tag. This is how the code is:

    And it shows a title like:

    Really bizarre and I have no clue what the problem might be. Advise please or i will have to deactivate it.

  36. It’s a really great plugin, I only start to trying it, and I can say that it’s really cool it’s really useful in SEO, thanks a lot for it.

Comments are closed.