Title: Security Headers
Author: SimonRWaters
Published: <strong>April 10, 2015</strong>
Last modified: February 26, 2019

---

Search plugins

![](https://ps.w.org/security-headers/assets/banner-772x250.png?rev=1467219)

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://ps.w.org/security-headers/assets/icon-128x128.png?rev=1467219)

# Security Headers

 By [SimonRWaters](https://profiles.wordpress.org/simonrwaters/)

[Download](https://downloads.wordpress.org/plugin/security-headers.zip)

 * [Details](https://pcd.wordpress.org/plugins/security-headers/#description)
 * [Reviews](https://pcd.wordpress.org/plugins/security-headers/#reviews)
 *  [Installation](https://pcd.wordpress.org/plugins/security-headers/#installation)
 * [Development](https://pcd.wordpress.org/plugins/security-headers/#developers)

 [Support](https://wordpress.org/support/plugin/security-headers/)

## Description

TLS is growing in complexity. Server Name Indication (SNI) now means HTTPS sites
may be on shared IP addresses, or otherwise restricted. For these servers it is 
handy to be able to set desired HTTP headers without access to the web servers configuration
or using .htaccess file.

This plug-in exposes controls for:

 * HSTS (Strict-Transport-Security)
 * HPKP (Public-Key-Pins)
 * Disabling content sniffing (X-Content-Type-Options)
 * XSS protection (X-XSS-Protection)
 * Clickjacking mitigation (X-Frame-Options in main site)
 * Expect-CT

HSTS is used to ensure that future connections to a website always use TLS, and 
disallowing bypass of certificate warnings for the site.

HPKP is used if you don’t want to rely solely on the Certificate Authority trust
model for certificate issuance.

Disabling content sniffing is mostly of interest for sites that allow users to upload
files of specific types, but that browsers might be silly enough to interpret of
some other type, thus allowing unexpected attacks.

XSS protection re-enables XSS protection for the site, if the user has disabled 
it previously, and sets the “block” option so that attacks are not silently ignored.

Clickjacking protection is usually only relevant when someone is logged in but users
requested it, presumably they have rich content outside of WordPress authentication
they wish to protect.

Expect-CT is used to ensure Certificate Transparency is configured correctly.

## Installation

 1. Upload “security_headers.php” to the “/wp-content/plugins/” directory.
 2. Activate the plugin through the “Plugins” menu in WordPress.

## Reviews

![](https://secure.gravatar.com/avatar/7514e96f5f92c51058b91eb215e4221897eaabdc64e6f005e9a00c9f64d68bd2?
s=60&d=retro&r=g)

### 󠀁[Incompatible with Tawk.to](https://wordpress.org/support/topic/incompatible-with-tawk-to/)󠁿

 [krsi78](https://profiles.wordpress.org/krsi78/) May 14, 2020

Just a quick warning: if you enable this plugin, the Tawk.to widget is no longer
displayed in Chrome, Firefox and Safari. Edge is not affected (yet?).

![](https://secure.gravatar.com/avatar/e8289bcbef3b84e15978ecd7d61b7e5a670205ed893f46dd1619f72c5f19c2a7?
s=60&d=retro&r=g)

### 󠀁[Perfect](https://wordpress.org/support/topic/perfect-5823/)󠁿

 [flch](https://profiles.wordpress.org/flch/) February 11, 2019

Works great and makes security much easier. Thanks for this great plugin!

![](https://secure.gravatar.com/avatar/7709bddfa73a181bf2248fb13474e8ef164638a2c4b1296948929c1fe190826e?
s=60&d=retro&r=g)

### 󠀁[handles these security points no one else does](https://wordpress.org/support/topic/handles-these-security-points-no-one-else-does/)󠁿

 [tone_milazzo](https://profiles.wordpress.org/tone_milazzo/) June 21, 2018

My topic can’t be empty so I’m writing this to fill it.

![](https://secure.gravatar.com/avatar/58d4f86f8302099fc2ca5d2da21b7e161c5de34ecf7039b6be33ec11a2f75d35?
s=60&d=retro&r=g)

### 󠀁[Excellent](https://wordpress.org/support/topic/excellent-5036/)󠁿

 [bozon](https://profiles.wordpress.org/bozon/) June 19, 2017 2 replies

Works really well! Tested with [link removed] For the future releases it would be
good to include Content-Security-Policy and the forthcoming Expect-CT options.

![](https://secure.gravatar.com/avatar/b063142a541de8a7f5fa3c3a6d2f1d789c76757429e1564817db69b7c9006f89?
s=60&d=retro&r=g)

### 󠀁[Perfect](https://wordpress.org/support/topic/perfect-4081/)󠁿

 [WebBever](https://profiles.wordpress.org/webbever/) May 26, 2017

Easy to use, works like a charm!

![](https://secure.gravatar.com/avatar/182886ecc0bf0de1ef7617aba1c0234a9b6d40f9d46c7e437399746ae2c4c619?
s=60&d=retro&r=g)

### 󠀁[Excellent plugin, easy to use.](https://wordpress.org/support/topic/excellent-plugin-easy-to-use-5/)󠁿

 [tjdurden](https://profiles.wordpress.org/tjdurden/) September 3, 2016 1 reply

Thanks for this. Very easy to install and configure.

 [ Read all 8 reviews ](https://wordpress.org/support/plugin/security-headers/reviews/)

## Contributors & Developers

“Security Headers” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ SimonRWaters ](https://profiles.wordpress.org/simonrwaters/)
 *   [ Simon Waters ](https://profiles.wordpress.org/simon-waters/)

[Translate “Security Headers” into your language.](https://translate.wordpress.org/projects/wp-plugins/security-headers)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/security-headers/),
check out the [SVN repository](https://plugins.svn.wordpress.org/security-headers/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/security-headers/)
by [RSS](https://plugins.trac.wordpress.org/log/security-headers/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1

Fix missing close anchor which breaks recent WordPress

#### 1.0

Add support for wp-login.php page

Add support for Expect-CT header

#### 0.9

Removed unnecessary whitespace in HSTS header (thanks Thomas)

Added Referrer-Policy header

Corrected plugins name from “HTTP Headers” to “Security Header” (thanks Jamie)

Removed trailing semi-colon from X-XSS-Protection (it worked but not needed)

#### 0.8

Add headers to admin section of WordPress

Added option to set the X-Frame-Options headers to main site

Added HSTS Preload header (thanks to Jamie)

#### 0.7

Add report-uri

Fix handling of non-numeric blank strings for HPKP max-age

#### 0.6

HPKP support

Check for TLS before emitting HSTS or HPKP headers

#### 0.5

Change h2 for h1 for accessibility per #31650

#### 0.4

License change
 Clarify wording for XSS protection in readme

#### 0.3

Prepare for release

#### 0.2

Added Sonarqube file and formatting changes

#### 0.1

 * Initial release.

## Meta

 *  Version **1.1**
 *  Last updated **7 years ago**
 *  Active installations **4,000+**
 *  WordPress version ** 3.8.1 or higher **
 *  Tested up to **5.1.22**
 *  PHP version ** 5.6 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/security-headers/)
 * Tags
 * [hsts](https://pcd.wordpress.org/plugins/tags/hsts/)[https](https://pcd.wordpress.org/plugins/tags/https/)
   [nosniff](https://pcd.wordpress.org/plugins/tags/nosniff/)[tls](https://pcd.wordpress.org/plugins/tags/tls/)
 *  [Advanced View](https://pcd.wordpress.org/plugins/security-headers/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  8 5-star reviews     ](https://wordpress.org/support/plugin/security-headers/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/security-headers/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/security-headers/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/security-headers/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/security-headers/reviews/?filter=1)

[Add my review](https://wordpress.org/support/plugin/security-headers/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/security-headers/reviews/)

## Contributors

 *   [ SimonRWaters ](https://profiles.wordpress.org/simonrwaters/)
 *   [ Simon Waters ](https://profiles.wordpress.org/simon-waters/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/security-headers/)