Search Unleashed


Download: Search Unleashed
Version: 1.0.6
Supports: WordPress 2.9.2 – 3.0
Other: | SVN
Support: This plugin is no longer actively maintained

Search Unleashed extends the standard WordPress search with customisable search engines, including MySQL’s full text and Zend’s Lucene, as well as word highlighting and the ability to search across posts, pages, comments, titles, URLs, and meta-data.

The plugin also ensures that a search is performed against what a web browser sees, not what is contained within the database. For example, a lot of plugins will insert data into posts using shortcodes. Because this data is inserted run-time it is not included in any search results – the data is invisible. Search Unleashed performs searches across all data, including that added by plugins.

Some features of this plugin are:

  • Customisable search engines (default WordPress, indexed WordPress, MySQL fulltext, Zend Lucene)
  • Optional wildcards and logical search operations
  • Optional prioritisation of fields – you decide what is more important
  • Search posts, pages, comments, titles, URLs, tags, and meta-data (all configurable)
  • Search data after it has been processed by plugins, not before
  • Search highlighting of all searches, including titles and comments
  • Search highlighting of incoming searches from external search engines (such as Google)
  • Search results show contextual search information, not just a post excerpt
  • Record search phrases and display in a log
  • Exclude specific posts and pages from results
  • No changes required to your theme
  • No changes made to standard WordPress database tables
  • Advanced search widget (WP 2.8+)

Search Results

Search Unleashed is available in the following languages (included in the plugin):


Full installation details can be found in How to Install a WordPress Plugin.

How it works

Search Unleashed works by maintaining a search index that includes all processed information from your site. This is unlike the default WordPress search and most other search plugins, which directly use post data. Although maintaining a separate index is initially more work, the benefits are that a search is faster (it is only looking through relevant information) and can be made on data after processing by plugins. This last point is a key feature of Search Unleashed, and an example is given below.

A lot of plugins provide the ability to insert or modify data dynamically. This is typically achieved by inserting special shortcodes into posts. For example, Sniplets is a plugin to insert data into a post:

[sniplet some processed data]

This is fine when displaying the page, but when it comes to searching, the default search only sees the shortcode and not the end result. This means that any dynamically added data is invisible to the search, making the search itself somewhat less useful.

Search Unleashed indexes data after it has been processed by plugins, making all dynamically modified data visible to searches. The index is maintained separately to core WordPress data, so there is no worry of any corruption or incompatibilities caused by future upgrades.

Configuring the plugin

So you’ve installed the plugin, tried a search, and nothing happened. What’s wrong? First you need to configure the plugin. Don’t worry, this stage is painless and only needs be done once.

Configuration of the plugin takes place from the Search Unleashed administration page:

Admin Menu

There are several sub-pages, each accessible from the menu at the top of the page:



Modules determine what data Search Unleashed indexes. For example, you can configure Search Unleashed to index post content, title, and URL.

Modules are enabled or disabled by checking the box on the left:

module enable

Modules can be configured by clicking the edit icon on the right:

edit module

Note that although a priority is provided in each module, only the Lucene and MySQL fulltext search engines use this. Details on prioritisation can be found in the Search Engine section.

The following modules are provided:

  • Post content
  • Post excerpt
  • Post category
  • Post author
  • Post meta-data
  • Post slug (URL)
  • Post title
  • Tags
  • Comment author URL
  • Comment content
  • Comment author

Note that ‘post’ includes pages.


The options page is split into several sections.

General Options

Search options

  • Log expiry – Configure how many days worth of log data to retain. Enter 0 for no expiry, or -1 for no logs
  • Replace category archive – Replace the category archive with a search based on the category name. That is, replace the ‘WordPress’ category archive with search results for ‘WordPress’
  • Replace tag archive – As above, but replaces a tag archive page with search results
Spider Options

Spider options

  • Search Engine – Select which search engine to use (see Search Engines below)
  • Pages to exclude – Post/page IDs that will not be included in search results
  • Categories to exclude – Category IDs where posts in that category will not be include in search results
  • Include – Specify whether to include pages, posts, password-protected posts, private posts, or draft posts
Theme Options

Theme options

  • Force content display – Some themes, such as the ‘default’ theme, do not show any post content when displaying search results. This option tries to force the display of post content so that it can be highlighted.
  • Search results page title – Change the title of the search results page to reflect the search conditions (i.e. includes the search phrase and number of result pages in the page title)
  • Highlight searches – Highlight search results
  • Highlight incoming searches – Incoming searches are from external search pages such as Google. Note that this may interfere with WP Cache and WP Super Cache
  • Theme title position – Modify this if your title is not highlighted correctly
Search Style

Search Style

  • Include highlight CSS – Include the CSS for highlighting search results. Disabling this will require you to use your own CSS
  • Highlight colour – Select CSS colour values for highlighted phrases


Search Unleashed allows you to perform searches across the results of all plugins. Sometimes you may have a plugin that adds data that you do not want included in your search results. To achieve this you can use the filters page to disable WordPress filters when data is being indexed. This does not affect the plugin at any other time.

The list of filters will vary according to the theme and plugins you have installed:


Note that this is an advanced feature – do not use unless you understand the effects.

Search Engines

A search engine provides search functionality. Search Unleashed has four search engines, each of which has advantages and disadvantages:

  • Default WordPress
  • Indexed WordPress
  • MySQL Fulltext
  • Lucene

A comparison of the engines is shown below:

Needs Indexing Include Plugins Logical Search Prioritization Medium
Default WordPress No DB
Indexed WordPress Yes Yes DB
MySQL Fulltext Yes Yes Yes Yes DB
Lucene Yes Yes Yes Yes File

You should select a search engine that provides features appropriate to your blog. The Lucene engine requires write access to your wp-content/cache directory and is file-based, whereas all other engines work directly from your database. All search engines will allow highlighting of search phrases.

Prioritization allows you to assign more weight to certain modules, which in turn affects the order of results – posts with more weight appear higher in results, posts with less weight appear later.

For example, you may decide that the title and URL should be more important than meta-data. In this instance you could change the priority of the title and URL module to have a higher priority than the standard 1.0. Setting a priority less than 1.0 will give it less weight.


Depending on your choice of search engine you may need to index your database. This process runs through all your posts and stores the plugin-processed data in a separate search index. This process only needs to be performed once. Future modifications to posts will be automatically included in the index.

The default WordPress engine requires no indexing.

Indexing consists of visiting the search index page and pressing re-index button. Your database will then be indexed and a progress bar will show the state of this operation.


Search Log

Search Unleashed can be configured to record a log of searched phrases. This can be viewed from the log sub menu.


Logical Searching

Search Unleashed tries to be as simple as possible for users performing searches and does not present a complicated set of search options. Instead a search is performed across all indexed data, and can be made using a similar syntax to what is used in popular search engines like Google or Yahoo.

Wildcards are supported through a *, but only when ‘full text’ searching is enabled:


This will find all words that start with head.

Words can marked as required or not required using + and -:

+headspace - the word 'headspace' must exist
-headspace - the word 'headspace' must not exist

An exact phrase can be included by wrapping the phrase in quotes:

'exact search phrase'

Logical inclusion also works:

headspace AND plugin = +headspace +plugin

Here both headspace and plugin must exist.

Unlike some other plugins, Search Unleashed allows you to search for words smaller than four characters in length.

Incoming Results Template

Incoming results are highlighted using a default template. It is possible to change this template by performing the following steps:

  1. Create a directory view/search-unleashed inside your theme
  2. Copy the file wp-content/plugins/search-unleashed/view/search-unleashed/incoming_local.php to the newly created directory in your theme
  3. Modify the copied file as appropriate

Note that the template file is separate from the plugin so you can update the plugin without needing to update the template.

Support & Bugs

This plugin is no longer actively maintained

615 thoughts on “Search Unleashed”

  1. Not sure if this is a bug, so I’ll post here:

    Just re-started using SU with v 0.2.15.

    With Simple Text Matching, I’m getting inconsistent results. On a search for NEW CAMERA:

    NEW CAMERA returns nothing found, when there are in fact several instances of the phrase (and possibly of posts with new + camera).

    CAMERA alone returns results.

    NEW alone also returns results.

    “NEW CAMERA” (quoted) returns results.

    I’ve repeated this several times. Turning Search Mode to Full Text and everything works.

    I’m mentioning this because I’ve had similar inconsistent results previously (also reported here in comments), stopped using SU for a while, then retried it recently, with a fresh blog install in a pretty standard LAMP enviroment. These are things that wouldn’t be noticeable if you weren’t familiar with the content (e.g. here, I knew I’d used the phrase “new camera”, so when it didn’t come up in a search, I started checking…).


  2. Hi,

    Wonder if you could advise?

    I’m running the latest version of this plugin with version 2.5 of WordPress. When performing a search, the results are only based on pages, and even though the posts are included in the items to search ni the options, it is not returning results from posts. I dod not have this plugin installed before installing WordPress 2.5 so I don’t know if it is related to the new version of wordpress?

    Many thanks in advance,


  3. Christopher, there is an option to disable the incoming search results – there is no need to comment anything

    David and Christopher, see if the new version solves your problem. If not can you log a bug report with more details about your environment.

    tbronson, it wasn’t so much a bug just how SU worked with simple text searching. I’ve modified this so it is more like the standard search (although it may return more results – SU searches through more data)

  4. 好像您是懂中文的吧, 所以我就用中文了. 因为英文实在烂:)

    同时搜索两个关键词, 似乎并不会高亮第一个关键词, 是bug吗?

  5. Thanks for this awesome plugin, I use it on my page! I have a suggestion for an improovement for the current version: The result-page lists all results as posts, but I need the results as tags. It should look like the following if I search for the keyword “love”:

    – 1love
    – love1
    – love123
    – love
    – etc…

    Thanks… markus

  6. Hi,

    Awesome plugin. THANKS!

    I am using it on a bi-lingual site, Chinese traditional and English.

    So far, the search works flawlessly using Latin characters, but not any Chinese. (Though the rest of my bilingual site is nearly 99% OK.)

    I guess I will be the first one to create the PO files in traditional Chinese.

  7. Is it possible to search the meta-data with some exact definition? E.g. I would like to get all posts, where meta key “key1” is “abc” OR “xyz” AND meta key “key2” is “123” OR “345” ?
    And also for numeric meta if I could search “if key2 is BETWEEN 123 AND 345”
    So not only “stupid” fulltext with search something everywhere, but with more parameters to define where exactly search what.

  8. Is it possible to get a copy of your “search.php” results template page? (Or is it the sidebar.php file?)

    I like how you have the “There were x results, now showing page 1 of 4” part. How can I add this to my search results?


  9. Yeah, i seem to be having trouble with 2.5.1 Not finding new posts made since i updated.

  10. Hello,

    very cool plugin I found here today.
    Because I had some problems with the German localisation file, especially the plural forms, I edited the .mo/.po files. The German files included in the current release do not support plural forms. Now its up to date and can be downloaded on my blog. Maybe you can include it in the next release. If you like, I can take care of the German localisation for future releases?!

    >> Yeah, i seem to be having trouble with 2.5.1 Not finding new posts made since i updated.
    Works perfect with my WordPress 2.5.1, but it is setup new.

  11. I love this plugin but I encountered a small problem, it seems like it doesn’t work on newer posts. I tried to add a new entry then re-indexing everything. But when I use the search engine, newer posts aren’t on the list of results. I tried clearing my cache and everything before I do the search but still nothing is happening. How can I fix this? Thanks

  12. I agree with folks below. Wonderful plugin but it does seem to have issues with 2.5. The spiffy “You arrived here by searching for…” box is not working since I upgraded.

  13. Hi, thanks for such a great plugin for wordpress, we do encounter a small problem though, newer posts are not included after indexing. Is there a time frame before the post can be indexed? We are currently using WordPress 2.51, are there any incompatibility issues with other plug-ins? We did clear the cache before re-indexing and even tried to de-activate wp-cache before indexing but with the same results – the newer posts are not found when being searched. Again thank you for such a great plugin.

  14. Hello,

    I am trying to get your plugin to work. I have tried other search plugins but yours has everything I want so I REALLY want to make it work.

    Only problem is that highlighting doesn’t work at all. the span that tells it to highlight doesn’t show up in the content or titles. If I switch to the default theme it DOES work, so there must be something about my theme that is messing it up. Any ideas of what I should look for?

    I did try deactivating all other plugins but to no avail. The WordPress install I am working with is at


  15. Never mind, I think it’s working now! I can’t say I know exactly what the problem was, but I copied the code from search.php in the default theme and used it in my theme (with some modifications to fit how I wanted the page to look) and highlighting is working now. Thanks!

  16. Anyone having a conflict between the search unleashed plugin and the image gallery plugin “nextGEN gallery”? I get a bunch or error code when I run a search with nextGEN activated and can’t seem to solve the problem. I never had this until I updated to the newest version of each plugin.

  17. This is probably an easy one: how do I center the search box in my sidebar? Right not it’s aligned left. Also, if there’s a way to adjust the size of the search box, that would be great too. Thanks in advance for your help!

  18. Hello,

    First of all thanks for the plug-in i really love it! One question please. How can i reduce the Search Field Space to make it fit in one line? Currently the button search is below the search field. I tried to view the source code but i couldn’t figure it out where the field width is specified.


  19. Hey Guys,

    I’m cutting one of your back to support us Dude! Here is what to do to adjust width. Open up this file:


    Open it up in a Text Editor and add this piece code code to edit the textbox height:

    <input type=”text” value=”” style=”width:100px” name=”s” id=”s” /> Replacing:

    <input type=”text” value=”” name=”s” id=”s” />

    You can set the width to the required length instead of 100.

  20. Am I right? This plugins seems to ignore Custom Fields. If so, it’s the reason why I will not use it. It have tons of facilities, is great, but I need to work on Custom Fields. Any idea?

  21. This is a great plugin that I’m trying out on my site. But I noticed, if you search for two two-letter words, the second of which is “an,” then the highlighting gets screwy. There seems to be an instance of “an” in the plugin’s code that gets mixed up with instances in the entries being searched. Have you noticed this? What can be done? Thanks very much.

  22. Actually, it happens with more than just “an” as the second term. “if as” and “an an” and “as an” all do it. It ends up inserting “class=”searchterm1″>” into the post. I can’t tell if it’s somehow a quirk about my own site. I don’t see how it would be. Hope you can help. Thanks

  23. Here’s the error message I am getting when I try to perform a search:

    Warning: search_nextgen(/www/htdocs/XXXXXX/wp-content/plugins/nextgen-gallery/nggallery.php/../../nextgen-gallery/nggfunctions.php) []: failed to open stream: No such file or directory in /www/htdocs/v103295/wp-content/plugins/search-unleashed/modules/nextgen_gallery.php on line 15

    Warning: search_nextgen() [function.include]: Failed opening ‘/www/htdocs/XXXXXX/wp-content/plugins/nextgen-gallery/nggallery.php/../../nextgen-gallery/nggfunctions.php’ for inclusion (include_path=’.:/usr/share/php:..’) in /www/htdocs/v103295/wp-content/plugins/search-unleashed/modules/nextgen_gallery.php on line 15

    I have tried deselecting NExt Gen Gallery as a searchable table but I still get the error. This only started after upgrading to the newest versions of search unleashed and nextgen gallery. Does anyone have an idea?



  24. David, thanks for the tip on adjusting the field width. How would I adjust the alignment? Default seems to be align left. I’m trying to center. Thanks in advance for your help!

  25. Is there a way to pass a hidden value so that a separate search bar in my site can search only a single category while the main search checks the whole site? Maybe there is some other way to achieve this?

  26. The plugin broke my site (blank pages everywhere) after starting the reindexing. I deleted the plugin but it did not help. I use WP 2.5.1. On the wordpress plugin site I read it was compatible to 2.5, but as I see in the comments here, it might be better not to use this plugin with 2.5.

  27. Andre, thanks I’ve included your updated German files.

    Nomad, I would be very surprised if SU was at fault there. No one else has reported this problem and the plugin cannot modify anything other than a separate database table. The plugin works just fine with WP 2.5

  28. It happened right after I clicked on “re-indexing” for the third or fourth time. In the beginning, nothing happend, only a progressbar was shown, but there was no progress. Then I clicked again, nothing happened. Then I clicked another time, then I only saw a blank page. I’ve contacted my hosting provider now and asked to restore my website via backup. I’ll try to find out more. I would really like to use the plugin, the wp-search is too bad

  29. When I have PHP code in a post (runPHP or Exec-PHP) I can´t indexing.
    (Indexing is then in a Loop …)
    Works only if I exclude these pages


  30. Could you please explain the Configuring area that is located in Modules as there is no information listed above about what this section means and whether I need to change the defaults. For example…

    Characters before first match:
    Characters after first match:
    Do not index content, but show in results

    I am not sure why the search results will only find some of the words on a page and not the rest on the page. only 8 words were located yet there are 12 on the particular page.

    Also why does it only show part of the post (like an except) not the whole post or page when it shows the results.

    Appreciate your assistance. Thanks so much.

  31. Characters before first match – how many characters to show before the first matched term
    Characters after first match – see above, but after

    No you don’t need to change any values – the defaults are just fine.

    Search results only show part of the post because that is what is generally expected from a search.

    Newcommer, use Sniplets – it’s a better plugin.

  32. Okay thats okay but if you click on that title to go into the post/page area why is the text not still highlighted so you can see all the search text. Whe in the post/page it does not keep even the orignal text highlighted so you can see where it is in that post/page.

  33. Strange question, but.. Is it possible to just add the search box into a theme without the theme having a search page? Or do I need to make the search page?
    If there is just the code to make the search popup into the regular main page template, what is it? Where would the code need to be added?

  34. hello and thanx for the plugin!
    unfortunately the search in nextgen gallery doesn`t seem to work in my blog (the reason why i try thes plugin). i searched for a possibility to search in description of images and show the found images as list or link. my images have descriptions, but no word will be found /displayed (i activated the nextgen gallery button in the options and all! buttons for search fields, also all metadata buttons). what do i have to change? or is it not possible the way i need it. thanx.
    greetings from pixel:)

  35. Hi, great plugin, thanks a lot. But I have one question: I just donated the 8$, but the kitten is still weeping (I mean the text that gets inserted into every search result). How do I make this box vanish after donating?

  36. Can you add radio buttons to narrow the search Criteria with this? I’d like to be able to add 2 radios that are “by Author” and “by Topic”? Is that possible?

  37. Hi. Your plugin is rather useful, but… Look at this example. I have 3 posts:

    Category Title
    1. Rammstein Amerika
    2. Rammstein Ich Will
    3. Rammstein Du Hast

    And now I’m searching for “Rammstein Ich Will”, and this post is in the bottom of search results. Why so? Search result are in fact sorted by title. Can you improve your relevance factor of this search engine?

  38. Wow. This is just too cool. I do have one issue though. I have pages that display RSS feeds using the PHPBay plugin. When the search results come up, I see the [phpbay] tags instead of any of the feed items. I’m not too worried about the actual RSS items getting indexed (I realize that’s a bit over the top), but I can’t seem to figure out how to skip showing the content or excerpt in those cases (I think the page title would suffice). Any thoughts? (Hope I didn’t miss this issue in a previous comment).

  39. Nice plugin, I like the highlighting option but it is a shame that you only see the Titles and categories in the first search result. It would be great if you would have the excerpt underneath the titles as well so that readers can filer out what they do not want upfront. As it is now, search results are not really helpful, apart from the highlights. But I guess I’m asking too much. Keep up the good work 🙂

  40. John, the excerpt is shown if your theme is written to display it. There are various options you can set in the SU plugin to try and force this but it may not work for the theme you are using.

    Wally, due to the way WordPress works it’s not possible for SU to disable certain plugins when it is creating the index – it’s an all or nothing kind of situation.

  41. I am using WP 2.5 and am actually having the same issue as nomad. When I do a search, you are able to see all the search results. When I click on one of the results to go to the page. The page is blank. And when I hit refresh, still blank. Even when I go back to the homepage and click through to that page from the nav the page is still blank. The only way I could get it back was to go up to the url and take off the very last forward slash following the permalinks and reload the page. Then it all came back. Very weird. If I figure anything out I will reply back.

  42. Casandra, this may well be caused by interaction with another plugin, or something to do with your theme. You could try temporarily changing themes and disabling all other plugins.

  43. […] Search Unleashed 增强Wordpress搜索的插件. 支持通配符搜索, 高亮搜索关键字, 可以配置所要搜索的数据是来自文章, 页面还是包括留言.插件主页 […]

  44. Hi John,
    My search results page uses excerpt and my excerpts only include a title and 2 pics (a product, and a buy button). Without your plugin, when I do a search the search results page displays the excerpt with the title and the 2 pics. However, when I perform a search using your plugin, I only see the title, no pics on my search results page. How do I get the images to show?

  45. best search plugin for wp out there but is there any option to disable built-in page navigation on search results? it looks awful on my site

  46. Useful plugin. But I have a few issues:
    – when someone arrives on my blog after they performed a search on Google i.e, there is the div#incoming appearing. Where do I change its location in my HTML code, and its CSS styling?
    – on the search engine result page, there are some HTML mistakes which won’t let my page be validated. I.e: there are many span#high_2 – but an ID should appear only once in a source code. Maybe you could change this in a next version by setting a CLASS instead: span.high_2!

    Otherwise, it works well.

Comments are closed.