Disable Search

Author:Scott Reilly
Version:1.4.1
First released:2009-06-11
Last update:2015-02-16
Compatibility:WP 3.6 – 4.1.5
Download:[ zip ]
Description:

Disable the built-in front-end search capabilities of WordPress.

Extended Description

Prevent WordPress from allowing and handling any search requests for the site. Specifically, this plugin:

  • Prevents the search form from appearing if the theme uses the standard get_search_form() function to display the search form.
  • Prevents the search form from appearing if the theme uses a searchform.php template
  • Disables the search widget.
    • Removes the Search widget from the list of available widgets
    • Deactivates any search widgets currently in use in any sidebars (they are hidden, not deleted; they’ll still be in the proper locations if this plugin gets deactivated)
  • With or without the search form, the plugin prevents any direct or manual requests by visitors, via either GET or POST requests, from actually returning any search results.
  • Submitted attempts at a search will be given a 404 File Not Found response, rendered by your site’s 404.php template, if present.

The plugin only affects search on the front-end of the site. It does not disable searching in the admin section of the site.

Links: Plugin Homepage | Plugin Directory Page | Author Homepage

Find out more at the plugin’s WordPress Plugin Repository page.


Installation

  1. Unzip disable-search.zip inside the /wp-content/plugins/ directory for your site (or install via the built-in WordPress plugin installer)
  2. Activate the plugin through the ‘Plugins’ admin menu in WordPress

Frequently Asked Questions

Q. Will this disable the search capabilities in the admin section of the blog?
A. No.

Q. Will this prevent Google and other search engines from searching my site?
A. No. This only disables WordPress’s capabilities with regards to search.

Q. Why do I still see a search form on my site despite having activated this plugin?
A. The most likely cause for this is a theme that has the markup for the search form hardcoded into one or more of the theme’s template files (excluding searchform.php). This is generally frowned upon nowadays (the theme should be calling get_search_form() or using searchform.php to get the search form). There is no way for this plugin to prevent this hardcoded form from being displayed.

However, even if this is the case, the form won’t work (thanks to this plugin), but it will still be displayed.

Q. Does this plugin include unit tests?
A. Yes.


Release Log

1.4.1 (2015-02-15)

  • Add trivial unit tests for plugin version and class name
  • Note compatibility through WP 4.1+
  • Update copyright date (2015)

1.4 (2013-12-15)

  • Change to hook ‘get_search_form’ at lower priority so it runs after anything else also using the filter
  • Change to only affect main query
  • Remove admin nag for alerting about the presence of searchform.php in a theme since this no longer matters
  • Add unit tests
  • Note compatibility through WP 3.8+
  • Change minimum required compatibility to WP 3.6
  • Update copyright date (2014)
  • Add banner
  • Many changes to readme.txt documentation (namely to pare out a lot of stuff relating to suppression of searchform.php which has since been made possible in WP core)
  • Change description
  • Change donate link

1.3.1 (unreleased)

  • Don’t show searchform.php admin nag if user doesn’t have ‘edit_themes’ cap
  • Add check to prevent execution of code if file is directly accessed
  • Re-license as GPLv2 or later (from X11)
  • Add ‘License’ and ‘License URI’ header tags to readme.txt and plugin file
  • Remove ending PHP close tag
  • Note compatibility through WP 3.5+
  • Update copyright date (2013)

1.3

  • Add notice to main themes and plugins admin pages if active theme has searchform.php template
  • Note compatibility through WP 3.3+
  • Add version() to return plugin version
  • Add more documentation and FAQ questions to readme.txt
  • Add link to plugin directory page to readme.txt
  • Update copyright date (2012)

1.2.1

  • Note compatibility through WP 3.2+
  • Tiny code formatting change (spacing)
  • Fix plugin homepage and author links in description in readme.txt

1.2

  • Switch from object instantiation to direct class function invocation
  • Explicitly declare all functions public static
  • Add development note
  • Add additional FAQ question
  • Note compatibility through WP 3.1+
  • Update copyright date (2011)

1.1.1

  • Fix disabling of search widget
  • Move class instantiation inside of if(!class_exists()) check
  • Rename class from ‘DisableSearch’ to ‘c2c_DisableSearch’
  • Store object instance in global variable ‘c2c_disable_search’ for possible external manipulation
  • Note compatibility with WP 3.0+
  • Minor code reformatting (spacing)
  • Remove documentation and instructions from top of plugin file (all of that and more are contained in readme.txt)
  • Add Upgrade Notice section to readme.txt

1.1

  • Disable/unregister search widget
  • Add PHPDoc documentation
  • Minor formatting tweaks
  • Note compatibility with WP 2.9+
  • Drop compatibility with WP older than 2.8
  • Update copyright date
  • Update readme.txt (including adding Changelog)

1.0

  • Initial release

Copyright & Disclaimer

Copyright © 2009-2015 by Scott Reilly (aka coffee2code)

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


Discussion / Support

Have any questions, comments, or suggestions? Please provide them via the plugin’s WordPress.org support forum. I’ll do my best to reply in a timely fashion and help as best I can.

Unfortunately, I cannot provide guaranteed support, nor do I provide support via any other means.

Was this plugin useful useful to you? Consider giving it a rating. If you’re inclined to give it a poor rating, please first post to the support forum to give me a chance to address or explain the situation.