Aller au contenu
WordPress.org

Français

  • Thèmes
  • Extensions
  • Actualités
    • Documentation
    • Forums
  • À propos
  • Compositions
    • Équipes
    • Guide de contribution
  • Obtenir WordPress
Obtenir WordPress
WordPress.org

Plugin Directory

Headless Login Guard

  • Envoyer une extension
  • Mes favoris
  • Se connecter
  • Envoyer une extension
  • Mes favoris
  • Se connecter

Headless Login Guard

Par Andrew Wilkinson
Télécharger
  • Détails
  • Avis
  • Installation
  • Développement
Support

Description

A lightweight plugin that forces login for backend access in a headless WordPress setup. Keeps your WordPress dashboard private while allowing your front end (e.g. Astro, Next.js) to pull content via GraphQL/REST.

What it does

  • Requires authentication for /wp-admin/ and other backend pages
  • Always allows the login page to avoid redirect loops
  • Leaves key endpoints open for headless use:
    • /wp-json/ (REST API)
    • /graphql (WPGraphQL)
    • /wp-admin/admin-ajax.php (AJAX)
    • /wp-cron.php (cron)
    • /robots.txt
    • WordPress core and common SEO sitemap XML paths
    • /wp-content/uploads/* (media)
    • /favicon.ico
    • /newrelic (New Relic monitoring)
  • Logged-in users visiting the backend root get redirected to the dashboard
  • Works with Bedrock layouts (handles root path vs /wp/)

Use case

  • WordPress is the content backend
  • Public site is built with Astro/Next.js/etc
  • Editors log in to WordPress. Visitors never see the backend
  • Front end builds and live pages can still query GraphQL/REST without authentication

Customization

Developers can customize allowed endpoints using the force_login_allowed_patterns filter:

add_filter('force_login_allowed_patterns', function($patterns) {
    $patterns[] = '#^/healthz$#';           // custom health check
    $patterns[] = '#^/status$#';            // uptime checks
    $patterns[] = '#^/wp-json/acf/v3/.*#';  // specific REST namespace
    return $patterns;
});

Installation

  1. Upload the plugin files to the /wp-content/plugins/headless-login-guard directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress.
  3. The plugin will automatically start protecting your backend – no configuration needed!

FAQ

I’m locked out! How do I access my site?

Visit /wp-login.php directly to sign in. The plugin always allows access to the login page.

My front-end requests are failing. What should I do?

Verify the endpoint is on the allow list. Check the plugin description for the default allowed patterns, or use the force_login_allowed_patterns filter to add custom endpoints.

Does this work with Bedrock?

Yes! The plugin correctly handles both standard WordPress installs and Bedrock layouts where the site URL and home URL may differ.

Can I add custom endpoints?

Yes, use the force_login_allowed_patterns filter to add your own regex patterns for additional endpoints that should remain public.

Avis

Guards my headless WP

thewebist 31 juillet 2026
Does what it says. Guards my headless WP setup.
Lire l’avis

Contributeurs/contributrices & développeurs/développeuses

« Headless Login Guard » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.

Contributeurs
  • Andrew Wilkinson

Traduisez « Headless Login Guard » dans votre langue.

Le développement vous intéresse ?

Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.

Journal des modifications

1.1.0

  • Fixed: Allow WordPress core, Yoast-style, and nested sitemap XML paths
  • Fixed: Match allowlisted endpoints correctly on subdirectory, Bedrock, and multisite installations
  • Fixed: Preserve query strings without duplicating the site path in login redirect destinations
  • Improved: Parse request paths separately from query strings
  • Improved: Send no-cache headers before login redirects
  • Improved: Added redirect, sitemap, query-string, and subdirectory integration tests

1.0.1

  • Added: New Relic monitoring endpoint allowlist pattern (/newrelic) to support APM monitoring
  • Added: WordPress.org plugin directory compatibility
  • Added: Proper plugin structure with activation/deactivation hooks
  • Added: Filter hook for customizing allowed patterns
  • Improved: Code organization and documentation

1.0.0

  • Initial release
  • Restricts backend (/wp-admin/) to authenticated users
  • Allows GraphQL and REST API endpoints for headless front-ends
  • Basic whitelist of essential endpoints (cron, ajax, robots.txt, sitemaps, uploads)

Méta

  • Version 1.1.0
  • Dernière mise à jour il y a 3 semaines
  • Installations actives Moins de 10
  • Version de WordPress 6.0 ou plus
  • Testé jusqu’à 7.0.4
  • Version de PHP 8.1 ou plus
  • Langue
    English (US)
  • Étiquettes
    GraphQLheadlessloginrest-apisecurity
  • Vue avancée

Évaluations

5 sur 5 étoiles.
  • 1 avis à 5 étoile 5 étoiles 1
  • 0 avis à 4 étoile 4 étoiles 0
  • 0 avis à 3 étoile 3 étoiles 0
  • 0 avis à 2 étoile 2 étoiles 0
  • 0 avis à 1 étoile 1 étoile 0

Votre avis

Tout voir

Contributeurs

  • Andrew Wilkinson

Support

Quelque chose à dire ? Besoin d’aide ?

Voir le forum de support

  • À propos
  • Actualités
  • Hébergement
  • Confidentialité
  • Vitrine
  • Thèmes
  • Extensions
  • Compositions
  • Apprendre
  • Support
  • Développeurs & développeuses
  • WordPress.tv ↗
  • Contribuer
  • Évènements
  • Faire un don ↗
  • Swag ↗
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

Français

  • Visitez notre compte X (précédemment Twitter)
  • Visiter notre compte Bluesky
  • Visiter notre compte Mastodon
  • Visiter notre compte Threads
  • Consulter notre compte Facebook
  • Consulter notre compte Instagram
  • Consulter notre compte LinkedIn
  • Visiter notre compte TokTok
  • Visiter notre chaîne YouTube
  • Visiter notre compte Tumblr
Le code est une poésie.
The WordPress® trademark is the intellectual property of the WordPress Foundation.