Skip to Àkóónú
WordPress.org

Yorùbá

  • Themes
  • Plugins
  • Àtìlẹ́yìn
  • Nípa
  • Ìwé Ìtónisónà
  • Egbé
  • Kàn síwa
  • Gba WordPress
Wa WordPress jáde
WordPress.org

Plugin Directory

Headless Login Guard

  • Fi plugin sílẹ̀
  • Àwọn ààyò mi
  • Wọlé
  • Fi plugin sílẹ̀
  • Àwọn ààyò mi
  • Wọlé

Headless Login Guard

Láti ọwọ́ Andrew Wilkinson
Ṣe ìgbàsílẹ̀
  • Àwọn àlàyé
  • Àwọn àgbéyẹ̀wò
  • Ìgbéwọlẹ̀
  • Ìdàgbàsókè
Ìrànlọ́wọ́

Àpèjúwe

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
    • /sitemap*.xml (sitemaps and indexes)
    • /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;
});

Ìgbéwọlẹ̀

  1. Upload the plugin files to the /wp-content/plugins/force-login 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 Ìtumọ̀ Yorùbá: – no configuration needed!

FAQ

IÌtumọ̀ Yorùbá: ’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.

Àwọn àgbéyẹ̀wò

Kò sí àwọn àgbéyẹ̀wò fún plugin yìí.

Àwọn Olùkópa & Olùgbéejáde

“Headless Login Guard” jẹ́ ètò ìṣàmúlò orísun ṣíṣí sílẹ̀. Àwọn ènìyàn wọ̀nyí ti ṣe ìkópa sí plugin yìí.

Àwọn Olùkópa
  • Andrew Wilkinson

Túmọ̀ “Headless Login Guard” sí èdè rẹ.

Ṣe o nífẹ̀ẹ́ sí ìdàgbàsókè?

Ṣàwárí koodu, ṣàyẹ̀wò ibi ìpamọ́ SVN, tàbí ṣe àgbékalẹ̀ sí àkọsílẹ̀ ìdàgbàsókè nípasẹ̀ RSS.

Àkọsílẹ̀ àwọn àyípadà

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)

Àkójọpọ̀ Meta

  • Ẹ̀yà 1.0.1
  • Ìgbàgbọ́hùn tó kẹ́yìn oṣù 1 sẹ́yìn
  • Àwọn ìgbéwọlẹ̀ tó ṣiṣẹ́ Tó kéré sí 10
  • Ẹ̀yà WordPress 6.0 tàbí ju bẹ́ẹ̀ lọ
  • Dánwò dé 6.9.4
  • Ẹ̀yà PHP 8.1 tàbí ju bẹ́ẹ̀ lọ
  • Èdè
    English (US)
  • Àwọn àmì
    GraphQLheadlessloginrest-apisecurity
  • Ìwòye Tó Péye

Àwọn ìbò

Kò sí ìwádìí tí a tíì fi ránṣẹ́.

Your review

See all reviews

Àwọn Olùkópa

  • Andrew Wilkinson

Ìrànlọ́wọ́

Nǹkan wà tí o fẹ́ sọ? Ṣé o nílò ìrànlọ́wọ́?

Wo àpéjọ ìrànlọ́wọ́

  • Nípa Wa
  • Iroyin
  • Hosting
  • Privacy
  • Àfihàn
  • Themes
  • Plugins
  • Patterns
  • Kọ ẹkọ
  • Atilẹyin
  • Developers
  • WordPress.tv ↗
  • Kópa
  • Àwọn ìṣẹ̀lẹ̀
  • Ṣètọrẹ ↗
  • Five for the Future
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

Yorùbá

  • Ṣabẹwo sí àkàùntù X (Twitter tẹ́lẹ̀) wa
  • Bẹwo akanti Bluesky wa
  • Lọ sí àkáǹtì Mastodon wa
  • Bẹwo akanti Threads wa
  • Ṣabẹwo si Facebook wa
  • Visit our Instagram account
  • Visit our LinkedIn account
  • Bẹwo akanti TikTok wa
  • Visit our YouTube channel
  • Bẹwo akanti Tumblr wa
Koodu jẹ Ewi.
The WordPress® trademark is the intellectual property of the WordPress Foundation.