A tiny Joomla 4 / 5 / 6 system plugin that hides the administrator login behind a secret word.
Visiting /administrator/ without the key redirects to your homepage (or a URL you choose).
Built for the S.O.D. Dojazdów site (dojazdowdzialki.pl).
- No key:
/administrator/redirects away. - With key:
/administrator/?YourSecretKeylets you through and remembers you for the whole session. - After a normal Joomla login you don't need the key on every click.
- System → Install → Extensions → upload
plg_adminkey_v<ver>.zip. - System → Plugins → search Admin Secret Key → open it.
- Set a Secret key (letters and digits, e.g.
G7kx92mQ) and optionally a Redirect URL. - Enable it and save.
Bookmark
https://your-site/administrator/?YourSecretKeybefore enabling, or you will lock yourself out.
- FTP / file manager: rename
plugins/system/adminkey/(or addreturn;at the start ofonAfterInitialise()inadminkey.php). - Database:
UPDATE #__extensions SET enabled = 0 WHERE element = 'adminkey' AND folder = 'system'; - Local Docker:
docker exec joomla_app mv /var/www/html/plugins/system/adminkey /var/www/html/plugins/system/adminkey.off
- Use only letters and digits in the key: PHP rewrites
.and spaces in parameter names, so such keys never match. - The key travels in the URL, so it can appear in browser history and server logs. This is a cheap extra layer that keeps bots off the login page — it does not replace strong passwords and 2FA.
- Empty key = protection off.
src/plg_system_adminkey/ plugin source (edit only here)
build/build.sh builds dist/plg_adminkey_v<version>.zip
build/dev-deploy.sh copies changes into the local Joomla container
updates/ Joomla update-server XML
docs/CHANGELOG.md release notes
.vscode/ build + deploy task (Ctrl+Shift+B)
CLAUDE.md contributor rules / definition of done
- Local Joomla in Docker (
joomla_app, http://localhost:8080). ./build/build.sh, installdist/plg_adminkey_v<ver>.ziponce.- Edit the source, press Ctrl+Shift+B, reload.
- Reinstall the zip when
adminkey.xmlchanges.
Override the target with JOOMLA_CONTAINER and JOOMLA_ROOT.
Bump the version (see CLAUDE.md), build, then
gh release create vX.Y.Z dist/plg_adminkey_vX.Y.Z.zip.
GNU General Public License version 2 or later. See LICENSE. Copyright (C) 2026 JOD.