PHPackages                             vinkla/headache - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. vinkla/headache

ActiveWordpress-muplugin[Utility &amp; Helpers](/categories/utility)

vinkla/headache
===============

An easy-to-swallow painkiller plugin for WordPress

3.6.0(5mo ago)13934.0k↓26.9%133MITPHPPHP ^8.2CI passing

Since Mar 3Pushed 1mo ago9 watchersCompare

[ Source](https://github.com/vinkla/headache)[ Packagist](https://packagist.org/packages/vinkla/headache)[ RSS](/packages/vinkla-headache/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (33)Used By (3)

Headache
========

[](#headache)

> An easy-to-swallow painkiller plugin for WordPress.

The plugin removes a lot of default WordPress stuff you just can't wait to get rid of. It removes meta tags such as feeds, version numbers and emojis.

[![Build Status](https://camo.githubusercontent.com/81a169a9cfe05915baedd26013a625f5dca71b4a5f6309f8ade4e9719ed7e5de/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f76696e6b6c612f68656164616368652f7068702d63732d66697865722e796d6c3f6c6162656c3d7465737473)](https://github.com/vinkla/headache/actions)[![Monthly Downloads](https://camo.githubusercontent.com/00d286045e8221d1db04c035ea2a7446d023c5c86d14f41de4119d293497e376/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f76696e6b6c612f6865616461636865)](https://packagist.org/packages/vinkla/headache/stats)[![Latest Version](https://camo.githubusercontent.com/bf506197372ff606f9ab1d7b4c618dc44bb46c42c696e2bea488bcd16d70106b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f76696e6b6c612f6865616461636865)](https://packagist.org/packages/vinkla/headache)

Installation
------------

[](#installation)

Require the package, with Composer, in the root directory of your project.

```
composer require vinkla/headache
```

The plugin will be installed as a [must-use plugin](https://github.com/vinkla/wordplate#must-use-plugins).

Features
--------

[](#features)

All features are activated by default when the plugin is activated.

### Security Features

[](#security-features)

- **[Disable default users API endpoints for security](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L106-L121)**
    Prevents unauthorized enumeration of usernames through REST API endpoints, enhancing site security against username discovery attacks.
- **[Disable XML RPC for security](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L50-L52)**
    Disables XML-RPC functionality which is often targeted by brute force attacks and is rarely needed in modern WordPress sites.

### Comment &amp; Feed Management

[](#comment--feed-management)

- **[Disable comments](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L44-L45)**
    Turns off the commenting system entirely, useful for sites that don't need user interaction or want to prevent spam.
- **[Disable comments feeds](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L40-L42)**
    Removes RSS feeds for comments, reducing unnecessary feed endpoints.
- **[Disable feeds](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L26-L38)**
    Redirects all RSS/Atom feeds to the homepage, eliminating content syndication endpoints that may not be needed.

### Content &amp; Attachment Management

[](#content--attachment-management)

- **[Disable attachment pages](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L222-L259)**
    Prevents direct access to attachment pages and redirects them to 404, reducing potential SEO issues and security vulnerabilities.
- **[Remove reserved attachment slugs](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L261-L285)**
    Uses UUIDs for attachment slugs instead of predictable names, preventing slug reservation conflicts and improving security.

### Gutenberg &amp; Editor Cleanup

[](#gutenberg--editor-cleanup)

- **[Disable loading separate core block assets](https://github.com/vinkla/headache/blob/e48f1320b14feabb5cd2e66d77d196b1ecb0a13d/headache.php#L54-L56)**
    Disables the loading of separate core block assets to prevent unstyled content and ensure proper style removal.
- **[Disable font library](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L326-L335)**
    Disables WordPress 6.5+ font library feature in the block editor, reducing interface complexity for sites that don't need custom fonts.
- **[Remove Gutenberg's front-end block styles](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L149-L156)**
    Removes default block styling to prevent style conflicts and reduce CSS bloat.
- **[Remove Gutenberg's core block styles](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L158-L163)**
    Removes core block support styles for cleaner CSS output.
- **[Remove Gutenberg's global styles](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L167-L174)**
    Removes global theme styles added by Gutenberg to prevent theme conflicts.
- **[Remove Gutenberg's SVG filters](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L185-L193)**
    Removes SVG filters primarily used in Full Site Editing that add unnecessary markup.
- **[Remove classic theme styles](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L176-L183)**
    Removes backwards compatibility styles for classic themes when using block themes.
- **[Remove auto-sizes contain inline styles](https://github.com/vinkla/headache/blob/26e3b067c398c0220ac5aebf2985d1a757137804/headache.php#L185-L192)**
    Removes the inline styles added by WordPress 6.7 for auto-sizes lazy-loaded images feature.
- **[Remove blocked HTML elements from TinyMCE when pasting text](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L295-L324)**
    Sanitizes pasted content in the classic editor by removing unwanted HTML tags and attributes.

### Performance &amp; Cleanup

[](#performance--cleanup)

- **[Remove JPEG compression](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L125-L131)**
    Sets JPEG quality to 100% to prevent WordPress from compressing uploaded images.

### SEO &amp; Indexing

[](#seo--indexing)

- **[Discourage search engines from indexing in non-production environments](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L287-L293)**
    Automatically discourages search engine indexing in development, staging, and testing environments.

### User Role Management

[](#user-role-management)

- **[Remove contributor, subscriber and author roles](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L212-L220)**
    Removes unnecessary user roles for sites that only need administrators and editors.

### Meta Tag &amp; Link Cleanup

[](#meta-tag--link-cleanup)

- **[Remove all extra RSS feed links](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L72-L73)**
    Removes extra RSS feed discovery links from the HTML head section.
- **[Remove emojis](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L90-L104)**
    Removes emoji detection scripts and styles, reducing page load times and preventing emoji-related issues.
- **[Remove generated icons](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L57-L58)**
    Removes automatically generated site icon links from the HTML head.
- **[Remove language dropdown on login screen](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L47-L48)**
    Hides the language selector on the login page for cleaner login experience.
- **[Remove meta rel=dns-prefetch href=//s.w.org](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L78-L79)**
    Removes DNS prefetch hint for WordPress.org servers, improving privacy and reducing external requests.
- **[Remove oEmbeds](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L102-L104)**
    Removes oEmbed discovery links and scripts, preventing automatic embedding of external content.
- **[Remove Really Simple Discovery link](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L66-L67)**
    Removes RSD link used by blog clients, which is rarely needed in modern WordPress sites.
- **[Remove relational links for the posts](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L81-L82)**
    Removes prev/next post links from HTML head to reduce clutter.
- **[Remove REST API link tag from `` and HTML headers](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L84-L88)**
    Removes REST API discovery links for cleaner HTML output.
- **[Remove RSS feed links](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L69-L70)**
    Removes main RSS feed discovery links from the HTML head.
- **[Remove shortlink tag from `` and HTML headers](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L60-L64)**
    Removes shortlink meta tags and HTTP headers for cleaner output.
- **[Remove WordPress version](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L54-L55)**
    Removes WordPress version meta tag for security through obscurity.

### Login Page Customization

[](#login-page-customization)

- **[Update login page image link URL](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L133-L139)**
    Changes the login page logo link to point to your site instead of WordPress.org.
- **[Update login page link title](https://github.com/vinkla/headache/blob/96a91c7446efc70a1031d11a172e3dfb0164b6fa/headache.php#L141-L147)**
    Updates the login page logo title attribute to show your site name instead of "WordPress".

Tips
----

[](#tips)

Here are some additional tips for customizing WordPress, which can be added to your theme's `functions.php` file:

- **[Remove admin menu items](https://github.com/vinkla/wordplate/blob/b6562cd1c4d805f35a23f8c712a9525bbfd2b6ed/public/themes/wordplate/functions.php#L35-L42)**
    Removes unnecessary admin menu items such as Comments, Posts, and Dashboard from the sidebar.
- **[Remove admin toolbar menu items](https://github.com/vinkla/wordplate/blob/b6562cd1c4d805f35a23f8c712a9525bbfd2b6ed/public/themes/wordplate/functions.php#L44-L61)**
    Cleans up the admin toolbar by removing items like WordPress logo, updates, comments, and customizer links.
- **[Remove admin dashboard widgets](https://github.com/vinkla/wordplate/blob/b6562cd1c4d805f35a23f8c712a9525bbfd2b6ed/public/themes/wordplate/functions.php#L63-L70)**
    Removes default dashboard widgets such as Activity, Site Health, WordPress Events and News, and Quick Draft.
- **[Add custom login logo](https://github.com/vinkla/wordplate/blob/b6562cd1c4d805f35a23f8c712a9525bbfd2b6ed/public/themes/wordplate/functions.php#L72-L87)**
    Replaces the default WordPress logo on the login page with your own custom logo.
- **[Update permalink structure](https://github.com/vinkla/wordplate/blob/b6562cd1c4d805f35a23f8c712a9525bbfd2b6ed/public/themes/wordplate/functions.php#L107-L113)**
    Automatically sets the permalink structure to `/%postname%/` for cleaner URLs.

###  Health Score

60

—

FairBetter than 99% of packages

Maintenance81

Actively maintained with recent releases

Popularity45

Moderate usage in the ecosystem

Community26

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 84.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~56 days

Recently: every ~51 days

Total

32

Last Release

167d ago

Major Versions

1.7.0 → 2.0.02022-06-10

2.4.0 → 3.0.02023-03-22

PHP version history (5 changes)1.0.0PHP ^7.3 || ^8.0

1.3.0PHP ^7.4 || ^8.0

1.5.0PHP ^8.0

3.0.0PHP ^8.1

3.4.0PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/63e77154439395019fb74adc3d1402bbba09ab726c74e2448968a1174c6a4415?d=identicon)[vinkla](/maintainers/vinkla)

---

Top Contributors

[![vinkla](https://avatars.githubusercontent.com/u/499192?v=4)](https://github.com/vinkla "vinkla (78 commits)")[![adevade](https://avatars.githubusercontent.com/u/1066486?v=4)](https://github.com/adevade "adevade (4 commits)")[![fiskhandlarn](https://avatars.githubusercontent.com/u/680264?v=4)](https://github.com/fiskhandlarn "fiskhandlarn (4 commits)")[![szepeviktor](https://avatars.githubusercontent.com/u/952007?v=4)](https://github.com/szepeviktor "szepeviktor (3 commits)")[![puredazzle](https://avatars.githubusercontent.com/u/3775209?v=4)](https://github.com/puredazzle "puredazzle (2 commits)")[![sijad](https://avatars.githubusercontent.com/u/7693001?v=4)](https://github.com/sijad "sijad (1 commits)")

---

Tags

pluginwordpresswordplateheadheadache

### Embed Badge

![Health badge](/badges/vinkla-headache/health.svg)

```
[![Health](https://phpackages.com/badges/vinkla-headache/health.svg)](https://phpackages.com/packages/vinkla-headache)
```

###  Alternatives

[afragen/git-updater

A plugin to automatically update GitHub, Bitbucket, GitLab, or Gitea hosted plugins, themes, and language packs.

3.3k1.6k](/packages/afragen-git-updater)[webdevstudios/cmb2-attached-posts

Custom field for CMB2 for creating post relationships.

13565.5k](/packages/webdevstudios-cmb2-attached-posts)[iceicetimmy/acf-post-type-selector

Post type selector for Advanced Custom Fields.

559.0k](/packages/iceicetimmy-acf-post-type-selector)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
