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,429 Responses to HeadSpace 2

  1. Hi John

    Currently on headspace 3.6.6 and noticed that all my short codes including [gallery] stopped working. Researched a lot and read on wordpress.org with advice to try disabling plugins. As i had only updated Headspace2 in the recent past, I deactivated it and voila the shortcodes started working.

    But I wanted headspace on my site.. been using it from long..

    So on further testing I found out that if the headspace second page title or meta description is blank, shortcodes dont work. But if you enter data in either of the headspace fields, the shortcodes work.

    I guess this is a bug.. Please fix it if possible. I hope am clear. If your not clear, please ask.

    • I’ve tried the situation you described with no title or description and do not see any problems.

      I don’t understand what you mean by ‘second page title’. Can you send me a list of the modules you have enabled, along with the exact settings you believe cause the problem.

  2. Headspace 2, Redirection, etc. are listed as requiring WP 2.7. I was wondering such a requirement when 1) 2.7 is still brand new and 2) 2.7 seems to be experiencing teething problems. 2.6.5 is a solid release that many are likely to run until 2.7 is as mature.

    Please consider allowing the updates to your awesome plugins to work on WP 2.6.5

    • Unfortunately I don’t have the time to support multiple versions of WordPress. Getting all of my plugins to the state where they were fully usable with 2.7 took considerable effort, and I dont want to face a similar situation everytime WordPress is updated. As such I took the decision to baseline any updates to requiring WP 2.7, with the intention of reducing the overhead for me and leaving more time to develop rather than face a continuous mountain of maintenance. It’s likely that the plugins will function in 2.6 anyway, but may have administrative styling issues.

    • Likvid,

      I’d have to disagree with you – there’s no “assume” about it. It *IS* the best WordPress plugin for SEO! :)

  3. Hi,

    I’m having a little trouble, I don’t like to use tags, and do not wish to. Is there a way to add my own specified keywords to the meta data of each post without having to use tags? I’ve tried fiddling around, but I cannot get the keywords entry form to appear on a post page.

    • Mandolf,

      You can use keywords as well as tags. John’s already updated HS2 (used to be there, dropped out and was re-introduced recently) to enable keywords to be separate from tags. This is a key feature of HS2 and, as you probably understand, of primary importance in terms of SEO.

      Basically, all you need to do is to:

      1. Go into Settings / HeadSpace.
      2. Click on the “Page Modules” (second link)
      3. Drag and drop “Keywords” from the Disabled area to the Simple area.
      4. To the right of the Keywords is an icon with a pen and pad of paper. Click on it.
      This will now give you the option to either make Keywords the same as Tags.
      You will now be able to specify both Keywords and Tags separately.

      Unfortunately, at this moment, keywords are not suggested by HS2 – Tags are. I’m sure that John will look into this at some point (*hint* 😉 ). That also applies to the Meta-Data mass update feature (which can be found under the Tools section of WP2.7).

      Hope that helps.


  4. Cool, it’s better than All in one seo.

    BTW, will you make it able to edit the meta stuff in “Manage View” with AJAX technicals in the future? :)

  5. I like this plugin a lot, but it disturb many of other plugins I installed on my blog. It seem to be an issue on all the plugins using add_filter : google analytics, related post, shadow box… all this plugins stop to work.

    • It shouldn’t cause any problems, and technically it doesn’t matter how many plugins use the WordPress add_filter mechanism. If there are specific problems with HeadSpace then they should be raised over in the bug tracker. Thanks.

  6. After upgrading today I cannot find the Custom Fields in my page edit screen anymore. After deactivating Headspace2 it showed up again… Is there an error in the upgrade?

  7. Hi! I love the Headspace2 plugin. However, it just updated via WordPress.org today, and now I have a (1) after each of my “more” tags… like this…

    Continue reading about social media here1…

    Do you know why this might be happening?

  8. I’m using your wonderful plugin on 2 sites, (wp 2.7).
    After the upgrade the administration panel doesn’t work anymore, if I click on any of the options (such as the editing button to add keywords or any other option) nothing happens.
    General settings are not working either!

    I removed it completely (loosing all datas previously wrote) but it didn’t work.
    I also disabled all the plugins and left headspace, nothing to do. I hope you can help me!

    • Like with other people, there’s not a lot I can do to solve this without having access to your site – the issue is probably an environmental setting. If you send me a login I will take a look and try to work out what is happening.

  9. Hi,

    I am new @ HeadSpace and got some troubles setting up custom meta data!

    I defined a new field “date” that is shown at the post-editing-page. But if I type in any value it is replaced by “a” after storing the post. And how do I get this field into my template?

    Please help!
    Thanks for any response…

    • I’ve added this report to the bug tracker. You can add custom data into your template using:

      echo MetaData::get_custom ('fieldname');

      • Thanks for this hint – it works!!! Though the message within the administration is wrong (” … MetaData::custom() “)…

        Additionally I mentioned that all the custom field values are stored in a right way, and are inserted at website also in the right way. Only with the editing mode, the “a” is printed out…

        Thx again,

  10. Hello, this is a great plugin that works flawlessly! Thank you for your time to develop and maintain it.

    I was wondering if there is a chance the plugin can manage some additional headers related to speed optimization (e.g. ETags). The following is from Vladimir Prelovac’s site:

    Header unset Pragma
    FileETag None
    Header unset ETag

    # 1 YEAR

    Header set Cache-Control “public”
    Header set Expires “Thu, 15 Apr 2010 20:00:00 GMT”
    Header unset Last-Modified

    # 2 HOURS

    Header set Cache-Control “max-age=7200, must-revalidate”


    Header set Cache-Control “public”
    Header set Expires “Thu, 15 Apr 2010 20:00:00 GMT”
    Header unset Last-Modified

  11. I’m working on a site of mine using WordPress and I really want to use your plugin. I downloaded it, added it to plugin directory, & activated it.

    I went to the settings page and I got an error message immediately:

    wp_footer was not found in footer.php (documentation)”

    I added to the footer.php file. The message went away and it did not seem to effect my site, which was good.

    BUT now when I try to edit Global Settings, it does not expand. I have no way of accessing the options. Plus, when I go to tabs like, Site Modules, I see how to check boxes for modules I want to add but I don’t see how to save what I’ve choosen. Instead I go the next tab, go back, and everything I picked it unchecked.

    I’m having some issues. Please help.

    • The change to your theme is not the cause of the other problems, but just a way of allowing plugins to add data to each page. The other problems you’ve described are likely caused by some plugin or some environmental condition specific to your site. Without having access to the site there’s not a lot I can suggest. If you sent me a login then I will take a look and see what is happening and if there is any change I can make to the plugin.

    • Well done. However, I’ll need more to work on than a picture – as the big red box at the bottom states:

      Provide as much information as you can – this will really, really, help save my time. The quickest way to resolving a problem is to provide a login to a site exhibiting the problem, along with detailed steps to reproduce it

  12. Hi John,

    Just got a quick question:

    does the current version support AUTO-TAG (e.g. auto tag the keyword that appear in the content and post title or more than one time, plus an option to have negative auto tag words–i.e. a, the, was, is, etc…)?

    *Additional, feature would be to also have an option box to enter in the keywords that will be automatically tagged every time it appear in the title or content =P.

    LOL. That was a long question, perhaps, maybe even a feature suggestions =P.


    ~Mint Tree~

  13. When I use your robots module to, say, set “noindex” on my archive pages, I notice (via browser view source) that your meta robots content is set ONLY to “noindex” as opposed to “noindex, follow”.

    The robotstxt.org specs are kind of ambiguous on this — obviously no tag means “index, follow”, but it doesn’t specifically mention that “noindex” means “noindex, follow”.

    Perhaps I am a little paranoid/superstitious – I want to just see that word “FOLLOW!!!” in there!

    Thanks! (And of course, I love Headspace… did plenty of research and it is by far the best in my opinion!)

    • err… I realize I didn’t include an actual question. That would be, was this intentional? If not, where is the output method in which I could conditionally add “follow” if applicable?

  14. recently upgraded to WP 2.7:
    automatic HeadSpace upgrade to version 3.16.13 (currently 3.16.4 installed) in WP 2.7 sorrounding is not working. any idea why?

  15. Thanks for the updates — love the new follow module!

    FYI, there is a missing comma after line 14 in /wp-content/plugins/headspace2/view/admin/help.php (only effect is that it stops the tags chart from showing).

  16. Hi John,

    there seems to be a problem with the catption tag of wordpress. Headspace breaks this function. Are there any solutions yet? Will you fix this? Couldn’t find anything regarding this problem.

      • I wrote a bug report #442. WordPress puts this [caption] Tag around images, wich is replaced by a div tag with the image description. When you activate headspace2 the tag isn’t replaced anymore but put out in plaintext like: [caption id="attachment_49" align="alignleft" width="150" caption="Text underneath the image"]

  17. HI, I tried Headspace2 on my working Arthemia Premium site, and it broke the category I used it on.
    The category, when clicked threw out errors, and its little checkbox to ‘delete’ in WP admin disappeared.
    I removed Headspace to no effect.
    All other categories, preexisting or added since, are fine.
    I want to delete that one bad category and recreate it, but without the ability to delete, I am stuck.
    I tried renaming the category, and then creating a new one with the name, but WP won’t allow it.
    I have searched for solutions, I have searched for the code, I am stuck.

    *Where is the actual category residing in the WP code? (all I can find is the css of how to show it, but not the category code itself)

    *How can I remove the broken category?

    Thanks for any insight,

    • Headspace has no ability to interfere with categories in such a way so it may just be coincidence. If the category you are trying to delete is the default original category then it cannot be deleted. The categories are stored in the database but it’s not easy to go and remove one without the potential for causing other problems. Try setting another category as the default and removing the broken one.

      • HI John,

        Thanks for the reply.
        I don’t know enough to say how the category got disrupted, but it was while I was using H2.

        In any case, after a few days of difficulty with it, I was able to remove the category (not my defualt, btw) and all appears working with my categories.


  18. I am using the headspace plugin on my blog and whenever I enable the “more text” module, my blog breaks. It gets to the point where it loads the text for the first post on the page and stops loading. Anyone else have this problem?

  19. Hey,

    When enabling Headspace 2 in wordpress 2.7 I’m getting errors in the posting page related to screen options. Sections such as discussion does not show up on the page at all even after checking and unchecking them in screen options. Once i deactivated headspace they all showed up again. We love your plugin and have been using it since the beginning. I hope its an easy fix

  20. My meta keywords stopped displaying all of a sudden, anyone else with that problem? it was fine a few weeks ago but when I checked today, posts with tags still don’t have meta keywords.

  21. Just installed your plugin (deactivated seo title tags and all in one seo)
    used your ‘import and remove original data’ button to import seo title tags data

    now all my tags for posts where i specified the title tag were replaced with the title_tag data!


  22. after using your import for seo title tags all my tag data in each post was replaced with the seo title tag data

    • SDK, I’m not trying to be difficult but if you do want some help then you need to provide as much information as you can. It takes a lot of time to track down other people’s problems, and the more effort this requires the more likely it will go to the bottom of the pile, Posting the same question in the wordpress support forum is not going to speed things up.

      • Thanks John,

        Sorry if I’m being difficult :-)

        Here’s a screen shot of what happened after I installed Headspace2 and imported all my SEO Title Tags data.

        As you can see, posts that were using the SEO Title Tag ‘title_tag’ field had their tag data replaced with the title_tag data.

        I doubt theirs anything that can be done to revert, except for me doing it all by hand.

        Anyways, thanks for listening.

        • Thanks for the image. I still don’t know what I’m looking at though. I can see a selection of posts with tags. I don’t know what title_tag is or how it has affected these posts as I don’t know what it used to be and what you are expecting it to be.

          If you selected the ‘remove original data’ option then there is nothing that can be done – the original data has been removed. Other plugins do change and it is possible that SEO Title Tags has been updated, which may cause problems with the Headspace import routine.

  23. again, that’s a great plugin you made.
    I have a question and I didn’t find the answer in the different articles about your plugin.
    sorry for the time loss : is there a way to change put a “noindex” metatag to index page2 and following to avoid duplicate content for google ?

  24. Hello! Thank you for great plugin! I have a problem, can you go to my website (www.praviput.me) and look the source code? It duplicates the meta tags, it have a empty one and the one that this plugin created. Can I fix this somehow?


dishahosting.com | xijinping.ihost.tw | sibintang.com | e-tail.be | purplehazard.com | blogs.uugrn.org | dobradycha.pl | seokilavuz.com | omeremreaslan.com | chukhil.co.cc | arifindomedia.com | leewillis.co.uk | teratips.com | techlistic.com | how2mono.com | dev.stepforth.com | lunarlog.com | 100fw.net | cezzy.pl | magnusfahlstrom.se | sitesketch101.com | wpjedi.com | seowithfries.com | langdradig.nl | tienda.todaslasplantillas.com | smartcomputingblog.com | faydaliweb.com | cenaynailor.com | ferdianar.com | dixnuits.com | webtrainingwheels.com | conversionscientist.com | danielkeppler.de | idotcommunications.com | pimp.devwebpro.com | absolutemg.com | webexpedition18.com | freefringes.com | bloggingfornoobs.com | mandarine.wordpress.com | beckyswritingblog.wordpress.com | softwaresweden.com | wp.org.cn | tomaltman.com | technoezine.com | craiglingard.com | phpknight.com | mattsblog.info | andybeard.eu