Akeeba Admin Tools Pro - Joomla Extension
Component Admin Tools is a powerful means of protection of website running on CMS Joomla from hacking attacks and hacking attempts. The development of Cypriot teams Akeeba is designed to provide a high level of protection on the website to help novice administrators of Joomla sites to protect their resources from encroachment from outside.

Extension Description
Having many-year experience of specialists on Internet security, after installing the Akeeba Admin Tools Pro component provides reliable protection for CMS Joomla by means of timely updates of the website engine and component, additional login and password to log in to the admin panel, configure, and debug access rights, protection against sql-injections and other useful from the point of view of safety functions.
The main features of this component is: logging capability and automatic blocking of unauthorized entrances in the admin panel, the creation of "black lists" IP addresses are legitimate users who tried to access the site without the knowledge of the administrator. In the case of such input extension Joomla e-mail address of the administrator or the site owner will be sent an email with detailed information about the time and IP address of computer from which a connection was in progress.
In fact this Joomla component able to protect an online resource from 99% of all known hacker attacks on the site that is running this CMS, but it is important to remember that in addition to installing extensions for the protection of special attention should be paid to the passwords, species conservation and computer technology with which he is logging in adminpanel.
Extension Features:
- Hiding access to admin panel via URL.
- Firewall to block common attacks (SQL инъекций, XSS, RFI, DFI, user-agents, CSRF protection from spam bots and scanners).
- Improved filtering of words.
- Whitelist and blacklist by IP administrator.
- Geographic block (deny access to specific countries/continents).
- The generator meta tags, and other HTTP headers.
- E-mail notifications when logging into the administration panel.
- Lock the super administrator login via the front-end.
- Lock install different extensions.
- Lock mask (URL parameters tmpl, template, itp).
- Integration of anti-spam library Bad Behavior and blacklist Honeypot IP.
- Automatic IP blocking of repeat offenders.
- The e-mail notifications of all detected security issues.
- URL redirection (exclusive support for query parameters).
Video Akeeba Admin Tools Pro:
Guide to Configuring and Safely Using Akeeba Admin Tools Pro
Akeeba Admin Tools Pro is best understood not as a one-click "make the site secure" button, but as a toolkit for day-to-day protection, maintenance, and troubleshooting on a Joomla site. In this guide, we will walk through how to configure the extension without unnecessary risk: what to check before installation, which features to enable first, where to avoid rushing into strict rules, and how to verify that the protection is actually doing its job.
This material is written for site owners, Joomla administrators, agency webmasters, and developers who maintain multiple projects. We will not repeat the short product description from the listing page. Instead, we will move from preparation and initial setup to a practical workflow: lock down the admin area, enable the WAF, carefully apply server protection rules, review the blocking log, configure the PHP File Change Scanner, and prepare a safe rollback plan.
The core idea is simple: a security extension is only useful when the administrator understands exactly what each setting changes. A configuration that is too loose does very little, while one that is too strict can lock out editors, forms, components, API requests, or even the Super User. That is why every step below includes result checks and guidance on when it makes sense to disable or narrow a setting.
What the extension actually does on a real Joomla site
Akeeba Admin Tools Pro serves several different roles, and that is exactly why it is often configured too broadly. One part helps with site maintenance: cleaning temporary files, working with file and folder permissions, and performing selected maintenance tasks. Another part focuses on server-side protection: generating .htaccess, NginX configuration, or web.config files with access restrictions, headers, and optimization rules. The third part is the WAF - the Web Application Firewall - which analyzes requests inside Joomla and can block suspicious activity.
In practical terms, that means the extension addresses not one but several admin tasks:
- Reduce the risk of direct access to service files and potentially dangerous PHP files.
- Protect the admin area with an additional security layer, if the server supports it.
- Control suspicious requests, SQLi/XSS-like payloads, unwanted user agents, and repeated access attempts.
- Keep a blocking log so you can tell the difference between a real attack and a false positive.
- Track added and modified PHP files when PHP File Change Scanner is enabled.
- Move configuration between sites through settings import and export when maintaining a group of similar Joomla projects.
It does not replace Joomla updates, extension review, backups, strong passwords, multi-factor authentication, or careful access control. The official documentation explicitly points out that automated security software can only strengthen security - it cannot guarantee absolute protection. So the right way to think about Admin Tools Pro is as a control layer on top of sound Joomla security practices, not insurance against every possible mistake.
Who the extension is a good fit for
The product is most useful on sites with ongoing admin activity: updates, new content, forms, user registration, a catalog, a restricted admin area for multiple staff members, and regular changes to the template and extensions. On projects like these, the blocking log, WAF exceptions, Super User controls, changed PHP file checks, and a predictable way to temporarily restore access if a setting turns out to be too strict all matter.
For agencies, Akeeba Admin Tools Pro is also convenient because some settings can be reused across sites. But the configuration should never be copied blindly: different hosts use different web servers, CDNs, directories, components, and file permissions. What works on one site may trigger a 403 on another.
Who may find it unnecessary or difficult
The extension may be excessive for a static staging site that does not accept forms, has no public registration, and is rarely updated. It also requires extra care on projects with many legacy components, custom SEF routers, API integrations, nested sites in subdirectories, or a reverse proxy in front of the site. In those cases, protection should be enabled gradually, with every change documented.
Practical rule: do not enable every strict option at once. Start by checking your backup, access to the hosting file manager, Super User login, forms, API endpoints, and key pages. Then enable protection in blocks and verify the result after each step.
What to check before installation and first launch
Preparation is not just a formality. Akeeba Admin Tools Pro operates at the intersection of Joomla, the system plugin, the web server, the file structure, and email notifications. If you enable strict rules on an unprepared site, it becomes hard to tell whether a failure was caused by the extension, a legacy component, the hosting setup, the CDN, file permissions, or Joomla's own configuration.
Platform, server, and rollback access
Before installation, verify that the current Admin Tools branch is compatible with your Joomla and PHP versions by checking the Akeeba downloads page. This is not something you should rely on from memory: compatibility changes, and support for older branches is limited. From an admin standpoint, the more important practical takeaway is this: if the site is still running an older Joomla version, evaluate the upgrade path first and only then start configuring new protection rules.
The second mandatory item is file system access. Even if Rescue Mode can help restore access after a WAF lockout, you still need a fallback route: the hosting control panel, SFTP, or another standard access method that lets you rename a plugin file or remove an incorrectly generated .htaccess file in an emergency. That is not bypassing security - it is a standard recovery procedure after your own configuration mistake.
Quick pre-install checklist
- You have a recent backup of the files and database, and you have at least verified that it can be restored.
- You know which web server the site uses: Apache, NginX, IIS, LiteSpeed, or a stack behind a reverse proxy.
- You have access to the hosting file manager or SFTP in case the site starts returning 403 after configuration.
- Site email works, otherwise block notifications and the Rescue URL may never arrive.
- Core forms, the user account area, registration, the API, and administrative actions have been tested before enabling strict rules.
Pay special attention to CDNs, proxies, and load balancers
If the site is behind a CDN, load balancer, or external WAF, Joomla may see the proxy IP instead of the visitor's real IP. That matters for the IP allow list, auto-ban, logs, and admin access checks. Akeeba's documentation covers IP workarounds and Joomla settings for sites behind a load balancer in detail. Do not enable automatic blocking of repeat offenders until you have confirmed that Admin Tools is seeing real visitor IPs.
The symptom of a bad configuration is straightforward: after one blocked request, it looks as though all traffic gets blocked, or the same IP keeps appearing in the log for different visitors. In that case, the problem is not an "aggressive WAF" - it is that the proxy layer is not passing addresses correctly, or Joomla is not interpreting them the way the extension expects.
What not to do at the start
Do not begin with mass edits to server rules, blanket restrictions, or auto-ban. Do not copy someone else's .htaccess from a forum. Do not create broad WAF Exceptions "for the whole site" just because one form returned a 403. Do not use the same secret URL parameter across all client sites. The more sites a single administrator manages, the more important it is not to turn security into a collection of familiar but unverified templates.
Installation and the first control pass in Joomla
The installation process is broadly the same as with other Joomla packages: the administrator uploads the ZIP package through the extension installer, and the component then appears in the Components menu. In this guide, we are not covering the purchase process, downloading the paid version, or entering update credentials. What matters here is the point at which the package is already installed and you need to enable features safely.
After installation, open Components - Admin Tools. On the first screen, the documentation describes the Control Panel with access to the individual tools. The important thing is not to jump into every section immediately. Make one control pass first and verify that the extension is working as a Joomla component, and that the system plugin is published and has not been disabled by accident.
Initial steps after installation
- Open the component dashboard and make sure there are no system warnings that require immediate action.
- Confirm that the user performing the setup is a Super User and has permission to change the component settings.
- Make sure the site can send email, especially if you plan to use notifications for blocks and admin logins.
- Open the site in a normal browser tab and in a private window so you can compare behavior after protection rules are enabled.
- Record the baseline: which forms, pages, admin actions, and API requests are expected to work without errors.
If Joomla shows a Quick Setup Wizard warning after installation, you can use it for the initial activation of the basic Pro protections. But Akeeba's documentation makes one important point: the wizard is intended for the first run, not for reconfiguring an already working setup. If the site is already in use, it is better to go directly to Configure WAF, .htaccess Maker, NginX Conf Maker, or web.config Maker and change settings deliberately.
How to tell whether the installation completed correctly
A correct installation does not mean every feature is already enabled. It means the component opens, its system plugin works, Joomla is not showing access errors, and you can move on to configuring the WAF and server rules. Before enabling protection, test the public side of the site, admin login, saving an article, saving a user, and at least one form. That is your checkpoint - the state you can refer back to if something breaks later.
Configuring the WAF without accidentally locking out editors
The WAF in Akeeba Admin Tools Pro is both the most useful and the most attention-sensitive part of the extension. It can protect the admin area with a secret URL parameter, keep a log of blocked requests, send notifications, block IPs, work with a deny list and exceptions, react to suspicious parameters, defend against typical SQLi, XSS, RFI, DFI, and unwanted user agents. But each of those capabilities comes with a cost: false positives, form conflicts, mistaken blocks, and extra noise in email.
Where to start in Configure WAF
Open Components - Admin Tools - Web Application Firewall - Configure WAF. The documentation organizes settings into tabs: basic features, request filtering, hardening, cloaking, Project Honeypot, exceptions, auto-ban, logging, customisation, and troubleshooting. For the first pass, though, it is more helpful to think in terms of tasks rather than tabs.
| Task | What to enable first | What to verify | When to postpone it |
|---|---|---|---|
| Admin login control | A secret URL parameter or password protection, if the server supports the mechanism | Login in a private window, login from another network, no IP in the allow list | If editors often work from different networks and there is no process for sharing the parameter |
| Logging suspicious requests | Logging and notifications only for important reasons | The block reason, URL, IP, and whether the event repeats | If site email is unstable or will generate notification spam |
| Request filtering | Basic WAF filters and carefully scoped exceptions for known forms | Forms, registration, search, third-party checkout components, the API | If the site uses a legacy component with non-standard parameters |
| Automatic blocking | Only after several days of watching the log | Real IPs, no CDN issues, clear reasons for the blocks | If the site is behind a proxy and real IP handling has not been verified yet |
The first useful outcome of the WAF is not "everything is blocked" - it is a clear, readable log. If you can see that one specific URL keeps getting blocked for the same reason, you can then decide what it is: an attack, a bad bot, an extension conflict, a form issue, or a rule that is too broad.
The secret URL parameter and how to test it honestly
The secret URL parameter hides the admin login page from visitors who do not know the extra parameter. But it has to be tested correctly. If your IP is in the safe list or allow list, Admin Tools may skip some protection checks for that address. If the browser already received a cookie after a successful login with the parameter, then testing again in the same tab can also produce a misleading result. So the test should be done from a private window, and ideally from a different network.
If the parameter "does not work," do not rush to change its value. First check whether your IP is in an exception, whether there is an allow-list bypass, whether there is a redirect between domains, or whether the query string gets dropped when moving from one domain variant to another. In Akeeba support discussions, those causes show up more often than an actual failure of the feature itself.
WAF Exceptions: treat the problem precisely instead of disabling protection
WAF Exceptions exist for cases where a legitimate component sends data that looks dangerous. For example, a form may accept a complex password, a file path, a regular expression, or a long parameter. The documentation warns that an exception that is too broad effectively disables the WAF for matching requests. So the right logic is this:
- Find the event in the blocking log and review the reason, target URL, component, view, task, and query parameter.
- Check whether the symptom can be reproduced in the test form or admin action.
- Create an exception only for the required component, view, and query parameter, if possible.
- Repeat the action and make sure the block is gone while other parameters on the same page are still being filtered.
- Remove or narrow the exception if it is no longer needed after a component update.
Do not create a site-wide exception if only one form or one parameter is being blocked. A broad exception may feel convenient in the moment, but it removes exactly the layer of protection you enabled the WAF for in the first place.
The blocking log, notifications, and auto-ban as an operational monitoring loop
Once the WAF is enabled, the administrator has a new responsibility: to read the signals, not just collect them. In Admin Tools Pro, the blocking log shows the date, IP, reason, and request URL. That turns security from a "black box" into a diagnostic tool. But the log is only useful if you have already decided which events require action and which are just normal background noise on the internet.
For example, attempts to open WordPress paths on a Joomla site are usually just mass bot traffic. They are annoying, but by themselves they do not mean the site has been compromised. It is different when you see repeated 403 responses on a registration form, profile page, checkout component, API endpoint, or admin action used by real people. That is where the log helps you identify the exact reason and target URL, then decide whether you are dealing with an attack, a component incompatibility, an overly strict WAF setting, or user error.
How to configure notifications so they do not turn into noise
Email notifications are useful for important events: admin logins, failed login attempts, suspicious blocks, Super User changes, and critical bursts of requests. But if the system sends an email for every automated bot scan, the administrator will quickly stop reading them. After the first observation period, it makes sense to create exclusions for reasons that do not require an immediate response and leave email enabled only for events where timing matters.
A good configuration looks like this: the log keeps enough detail for analysis, email is sent only for important reasons, and recurring technical events are reviewed in batches during routine maintenance. If the extension is sending too many emails, do not disable the WAF. First review the logging/reporting settings and email templates, then remove notifications for low-priority reasons or adjust the thresholds.
When to enable auto-ban
Auto-ban seems like an obvious feature: if one IP breaks the rules repeatedly, it should be blocked. In practice, you should only turn it on after verifying real IP handling. If the site is behind a CDN, reverse proxy, or load balancer, Admin Tools may see one address for many different visitors. In that state, auto-ban can end up blocking not the offender, but a large portion of legitimate traffic.
Before enabling auto-ban, use a short observation period. Check whether you are seeing different IPs, whether they match the expected geography of your visitors, and whether the log looks as if all requests are coming from one proxy. If IPs are being detected correctly, you can enable automatic blocking with moderate thresholds and then monitor Auto IP Blocking Administration and History. If you are unsure, leave auto-ban disabled and stick with manual investigation.
Unblock IP and the four places where a block may be recorded
Akeeba's documentation specifically notes that entries for an accidentally blocked IP may appear in Site IP Disallow List, Blocked Requests Log, Auto IP Blocking Administration, and Auto IP Blocking History. That is why it is usually easier to use the Unblock IP button on the WAF dashboard, if it is available, rather than manually cleaning up each place. Save manual removal for cases where you clearly understand which layer is blocking the user.
After unblocking the IP, the next step is to find the cause. If the IP was blocked because of one mistaken action by an editor, you may need better instructions or a narrowly scoped exception. If the IP was blocked by an automated scan, the rule may have worked exactly as intended. If the same editor keeps getting blocked while saving content, look for a conflict involving filters, the content itself, or a third-party editor.
Importing and exporting settings for multiple sites
The Pro version supports importing and exporting settings, which is useful for agency maintenance. But export should not become blind copying of a security policy. Transfer only the base logic: which notifications are needed, which WAF features are enabled, and how you handle the log. After importing, test server rules, the secret URL parameter, IP lists, the CDN, forms, the SEF router, and extensions separately on each site.
Be especially careful when moving IP lists and WAF exceptions. An IP that is safe for one client is not automatically safe for another. An exception created for a specific component on site A may open an unnecessary path on site B. So settings import is helpful as a fast starting point, but the final configuration should always be site-specific.
Short takeaway: the WAF matters not only because it blocks, but because it lets you observe. Configure the log so it answers "what happened and why," and configure notifications so they answer "do I need to react right now."
Server rules: .htaccess, NginX Conf, and web.config without chaos
Server rules in Admin Tools Pro can have a strong practical impact: disabling directory listing, protecting sensitive files, restricting direct PHP access, adding security headers, handling redirects, optimizing static resources, and applying other settings that depend on the web server. But this is also the area most likely to break the public side of the site if a third-party component stores resources in a non-standard way or if the site shares subdirectories with other projects.
Start by identifying the server. .htaccess Maker applies to Apache and compatible setups. For NginX, you need NginX Conf Maker; for IIS, web.config Maker. If the host uses Apache behind NginX, clarify which rules actually take effect. The .htaccess Maker documentation explicitly states that the feature may be unavailable or ineffective on an unsupported server.
How to enable rules without losing access
Before generating a new .htaccess, save the old file through the built-in mechanism or the file manager. Admin Tools may rename the old file to a backup name when creating a new one, but the administrator still needs to know where the file lives and how to roll back to a safe version. Do not change SEF redirects, HTTPS, HSTS, PHP blocking, CORS, and user-agent restrictions all at once. Break the changes into smaller blocks.
Safe sequence
- Open the maker and save the settings without generating the file if you want to review the configuration first.
- Create the file with basic rules and immediately test the home page, an article page, a form, media, the admin area, and static files.
- Enable protection for direct access to PHP and service files separately from optimization rules.
- If styles, scripts, images, or fonts disappear, look for an exception for the specific path and file type instead of disabling all server protection.
- If the site starts returning 500 or 403 on every page, roll back the file and re-enable the rules in smaller groups.
When file exceptions are needed
Akeeba's documentation describes a common symptom: after running .htaccess Maker, components, modules, or templates stop working because some third-party code accesses files in a way that strict protection considers unsafe. Exceptions for CSS, JS, images, and fonts are usually less risky than exceptions for PHP. So first determine exactly what is being blocked: a static file, an AJAX endpoint, a component file, or a direct PHP call.
If you need to allow direct access to a PHP file from a third-party extension, that is already a reason to stop and ask whether the extension can be updated, replaced, reconfigured, or limited to a specific path only. Joomla components should normally work through CMS entry points, not through arbitrary direct PHP execution.
Optimization and SEO: do not enable it just to check a box
Some maker settings affect not only security but also URL behavior, caching, compression, and headers. That means they can also affect the site's SEO setup, for example through redirects from index.php to the root, www/non-www handling, an old domain, HTTPS, or HSTS. Those features can be useful, but they should never be enabled without understanding the current site architecture. If redirects already exist at the hosting, CDN, or Joomla level, duplicate rules can create redirect chains or drop parameters.
Check the final result with a browser, developer tools, and hosting logs. A good outcome is a single expected redirect, proper loading of static resources, no infinite loops, and preserved query parameters where they matter. If you are not sure, separate security changes from SEO redirects and apply them in different iterations.
PHP File Change Scanner as a post-update verification tool
PHP File Change Scanner in the Pro version is not an antivirus tool that "removes threats by itself." The documentation describes it as a mechanism that walks through PHP files inside the site root, compares their state with the previous scan, and reports added or modified files. It also uses heuristics and may flag potentially suspicious files. That makes it especially useful after updates, site recovery, suspicious activity, or a handoff to a new administrator.
How to read the first scan
The first run is almost always noisy: the scanner has no prior baseline yet, so many files may be treated as new. That does not mean the site is infected. It is better to treat the first scan as the creation of a baseline. After that, the administrator reviews obviously suspicious items, marks known safe files, and schedules the next run after the next update or site change.
In the report, not only the statuses "New" and "Modified" matter, but the context as well. A file may have changed because an extension was updated normally. A new PHP file may have appeared after installing a component. But a file with an unclear name in an uploads directory, or one created outside an expected process, deserves a separate review.
Automation through Joomla CLI
The current documentation for the Admin Tools 7 branch states that scheduler-based scanning uses the Joomla CLI application and an Admin Tools command. That requires the related console plugin to be published. In practical terms, that means automated scanning is best run through CRON on the hosting side, if the host supports it, rather than through a normal browser session.
The exact command should be taken from the scheduling page in your own installation, because the PHP CLI path and the site root path depend on your hosting setup. It is useful to show the format in an article, but not to present it as a universal command:
/usr/local/bin/php /home/USER/webroot/cli/joomla.php admintools:scan
After configuring CRON, check more than just whether it ran. Review the report as well: did new scan entries appear, does the process stop because of a timeout, and is the scanner looking only at the intended site root? If additional sites or old copies are stored inside that root, the scanner may read them too, because it works from the PHP files available inside the Joomla root.
How to use the scanner in a maintenance routine
On a live site, the scanner is especially useful at three moments. First, after a major Joomla or extension update, to confirm the expected changes. Second, after a report of suspicious behavior, when you need to narrow the list of files for manual review quickly. Third, before handing the site over to another administrator, so you leave behind a clear baseline.
Do not turn the report into a mechanical task of "delete everything suspicious." Some legitimate files may get a high threat score because they use low-level code constructs. First compare the file against the extension, the update timing, and the installation source. If you are unsure, make a copy of the site and check it there.
Practical scenario: locking down the admin area and testing a form without false 403 errors
Let us look at a real-world task: you have a Joomla site with a public contact form, several editors, and regular attempts to access /administrator. You need to strengthen security without breaking the form or the editors' workflow. This is a typical Akeeba Admin Tools Pro scenario because it involves the WAF, the log, the secret parameter, email notifications, and exceptions all at once.
Goal
Create a working configuration where an unknown visitor cannot see the admin login page without the secret parameter, suspicious requests are recorded in the log, the contact form still submits correctly, and editors can sign in through the agreed URL. You also need a recovery path in case the Super User accidentally locks themselves out.
Preparation
- Create a backup and verify access to the hosting file manager.
- Make sure site email works, otherwise notifications and Rescue Mode may be useless.
- Write down the original admin URL, the list of editors, and the form you need to test.
- Open a private browser window for testing without old cookies.
Configuration steps
- In
Configure WAF, enable or verify the Administrator secret URL parameter. Store the value in a password manager along with instructions for editors. - Set the email address for failed and successful administrator login notifications, if you actually need that level of monitoring and the mailbox will not be overloaded.
- Do not enable auto-ban yet. First collect log data and make sure visitor IPs are being detected correctly.
- Open the standard
/administratorURL without the parameter in a private window. The expected result is that the login form does not appear. - Open
/administrator?your-parameterand sign in as Super User. After login, review the component dashboard and the log. - Submit the contact form once with normal text and then again with a test string containing complex characters. If you get a 403, find the event in Blocked Requests Log.
- If only one specific query parameter in the form is being blocked, create a narrow WAF Exception for the matching component/view/parameter instead of disabling the filter entirely.
- Submit the form again and make sure the exception did not expose other suspicious parameters on the same page.
Expected result
After configuration, a regular visitor cannot see the admin login form without the correct parameter. The Super User signs in through the agreed URL. The contact form submits correctly, and the blocking log shows clear events: access attempts without the parameter, suspicious query parameters, unwanted user agents, or real test blocks. Editors are not complaining about random 403 errors during normal content saves.
A detail that often gets in the way
If you test the secret URL parameter from the same IP that has been added to the safe list, it may look as if the protection is not working. In reality, you already told the extension not to apply part of its checks to that address. For an honest test, use a private window and a different network. If the site is behind a CDN or load balancer, sort out real IP handling first, otherwise auto-ban and the allow list will behave unpredictably.
Operational scenarios where the Pro features stand out most
The value of Akeeba Admin Tools Pro goes beyond simply "turning on the WAF." Different Joomla sites benefit most from different parts of the extension. Below is not an abstract feature list, but practical scenarios where a specific function helps the administrator solve a real problem.
Site with multiple editors
For an editorial site, admin login control, Super User change monitoring, and carefully limited access to the component itself are especially important. Using Joomla ACL, you can give a technical staff member access to utility or maintenance tasks without handing over control of the WAF and server rules. That lowers the risk of an editor accidentally disabling protection or creating an exception that is too broad.
Commercial catalog or a site with forms
If the site accepts forms, inquiries, registrations, or complex filtering requests, the WAF needs to be configured with the log and precise exceptions in mind. Projects like this run into false 403 errors more often because legitimate users submit long strings, special characters, files, or search parameters. In this case, what matters is not the strongest possible restriction, but the ability to quickly identify which parameter triggered the rule and how to narrow the exception.
Agency maintenance for multiple sites
For agencies, settings import and export are useful - but only as a starting baseline. After moving the configuration, you still need to check the web server, CDN, forms, template, SEF router, and list of admin IPs. One client may be on Apache, another on NginX, and a third behind Cloudflare or a load balancer. A universal configuration rarely works without review.
Site after suspicious activity
If there are signs of a possible compromise, PHP File Change Scanner helps narrow the list of files that need manual review. It does not replace a full audit or restoration from backup, but it gives you a starting point: which PHP files were added, which were changed, and which received a suspicious score. The administrator can then compare those changes against updates and logs.
How to verify the results after configuration
Security configuration without verification creates a false sense of control. After each major Akeeba Admin Tools Pro block is configured, you need to check not only that "the site still opens," but also the specific effects: login behavior, blocking, the log, notifications, form functionality, static file loading, redirect behavior, and rollback options.
Verifying admin access
Check three states. First, access without the secret parameter or without the extra protection should be blocked in the way you expect. Second, login with the correct parameter should work for the Super User. Third, an editor with the appropriate permissions should still be able to carry out their normal tasks without new 403 errors. If editors work from different networks, do not tie all access exclusively to fixed IP addresses.
Verifying the public side of the site
Open the home page, several articles, a form, search, a media page, a component page, and any URLs that include query parameters. If you enabled server rules, inspect CSS, JS, fonts, images, and AJAX requests in the browser's developer tools. A missing font or a broken script often means you need an exception for a static resource, not that you should disable .htaccess Maker entirely.
Verifying the blocking log
Blocked Requests Log should be your main diagnostic screen. The important data points are IP, reason, URL, and repetition. A one-off attempt to open wp-admin on a Joomla site is usually just noise. Repeated requests to the same form after your changes may indicate a false positive. A high volume of events from one IP may justify a deny list or auto-ban, but only if IP detection is working correctly.
Verifying rollback
Before you consider the configuration complete, make sure you know how to roll back every sensitive block. For the WAF, that means disabling the specific setting or removing the exception. For .htaccess, it means restoring the previous file or creating a safe baseline version. For password protection on the administrator directory, it means removing the generated files in the administrator directory if the separate password is lost. For an accidental block, it means using Rescue Mode if available, or falling back to normal file-system access.
Safe localization of messages and small improvements
With this product, you should not invent PHP hooks or edit extension files. It is safer to use Joomla's built-in mechanisms and Admin Tools' own settings. One useful example is carefully changing the message an administrator sees in the context of Rescue Mode or a block by using a language override, if the documentation identifies the relevant language string.
The Rescue Mode documentation mentions the string PLG_ADMINTOOLS_MSG_BLOCKED_RESCUEINFO, which can be overridden through Joomla's standard language overrides mechanism. That does not change the extension code and does not interfere with updates.
Language override example
Task: make the internal message clearer for administrators without publicly exposing unnecessary details about the protection setup. Where to apply it: System - Manage - Language Overrides or the equivalent language override section in your Joomla installation.
PLG_ADMINTOOLS_MSG_BLOCKED_RESCUEINFO="If you are a site administrator and accidentally blocked your own access, use the internal recovery procedure or contact the responsible Super User."
After saving, test the message in a controlled scenario without publishing sensitive details about how the protection works. If the text ends up making access recovery harder, remove the override or restore the default string. Do not include the secret parameter, exact paths, technical hints for attackers, or real Super User email addresses in a public-facing message.
This approach works well because it stays within Joomla's standard logic. It does not require editing the core, the system plugin, or Akeeba files. If you need deeper customization of notifications, start with the email template settings and the documentation instead of editing the extension's PHP files.
Common problems and calm, structured troubleshooting
Most problems after installing Akeeba Admin Tools Pro are not caused by the site being "broken," but by protection becoming stricter than the administrator expected. Below is a practical map of symptoms, causes, and safe actions.
The administrator cannot see the login page
Symptom: when trying to access the admin area, the user is sent back to the home page, gets a 403, or never reaches the login form.
Possible cause: the secret URL parameter, administrator exclusive allow list, password protection administrator, auto-ban, or an overly strict WAF rule is enabled. Sometimes the administrator is simply testing from a browser where old cookies hide the real behavior.
What to check: the correct URL with the parameter, a private window, a different internet connection, whether the IP is in the allow list, entries in Blocked Requests Log, and whether Rescue Mode is available. If additional protection is enabled for the administrator directory, make sure you are entering the separate credentials for that layer, not the Joomla password.
How to fix it: use Rescue Mode if it is available and applies to your type of lockout. If you cannot get in, roll back the specific mechanism through the hosting file manager according to Akeeba's documentation: for example, password protection administrator involves files in the administrator directory, while a WAF issue may require temporarily disabling the system plugin from loading. After access is restored, do not disable the whole extension permanently - find the exact setting that caused the block.
A form or component returns 403 after enabling the WAF
Symptom: a normal form, registration flow, user profile, search feature, or component stops saving data and returns a 403.
Possible cause: the WAF detected a dangerous pattern in a query parameter, POST data, path, complex password, or the non-standard behavior of a third-party component.
What to check: Blocked Requests Log, the reason, target URL, component, view, task, and the specific parameter. Repeat the action once with a simple value and once with the problematic value so you can tell whether the whole form is being blocked or only one type of data.
How to fix it: create a targeted WAF Exception for the required component/view/query parameter. If the issue comes from an outdated component, check whether it can be updated or replaced. Do not create an exception for all components and all parameters, or you will effectively disable the WAF for too much of the site.
Styles, scripts, or images disappear after .htaccess Maker
Symptom: pages still load, but they appear without CSS, JavaScript stops working, fonts do not load, or some images return 403 or 404.
Possible cause: the server rules blocked direct access to static files used by a third-party extension, template, or media directory.
What to check: the browser's Network tab, the exact path of the blocked file, the file type, and whether a non-standard subdirectory is involved. Compare behavior before and after the generated .htaccess.
How to fix it: add an exception for the specific path and safe file types if the issue affects CSS, JS, images, or fonts. If a PHP file is being blocked, first verify whether the component should actually be working through Joomla routing instead. If the breakage is widespread, roll back .htaccess and re-enable options in smaller groups.
The secret URL parameter appears to be inactive
Symptom: the admin area opens without the parameter even though the setting is enabled.
Possible cause: the administrator's IP is in the safe list, the browser already has a cookie, there is a redirect between domains, or the query string is being lost during the transition.
What to check: private mode, a different network, allow/never block lists, www/non-www and HTTPS redirects, and site settings behind a load balancer. Akeeba support tickets show that cookies and safe IP addresses often explain these cases.
How to fix it: remove the extra bypass for testing, verify from another network, and make sure you are using the canonical domain. Do not keep changing the parameter until you have ruled out those causes.
The blocking log is too noisy
Symptom: the administrator gets too many emails, the log fills up quickly, and it becomes hard to distinguish an important event from normal background noise.
Possible cause: notifications are enabled for too broad a set of reasons, the site is being heavily scanned by bots, auto-ban is not configured yet, or the WAF is logging events that do not require action.
What to check: IP repetition, reasons, target URLs, and whether the events are tied to real user actions. Do not manually add every IP to the deny list: the documentation warns that this only makes sense in extreme cases.
How to fix it: refine notification filtering, keep only the important reasons, and enable auto-ban only after real IP handling has been verified. For isolated background noise, use the log as an observation tool, not as a to-do list.
PHP File Change Scanner shows many suspicious files
Symptom: after the first scan, the report looks alarming: many new files and several possible threats.
Possible cause: the first scan is creating a baseline, and heuristics may flag legitimate extension files that use low-level PHP constructs.
What to check: whether this was the first run, when extensions were last updated, where the file is located, whether it belongs to a known component, and whether the modification date matches your maintenance work.
How to fix it: do not delete files automatically. First compare them against the backup, the extension package, and the update log. Suspicious files in unexpected locations should be reviewed on a copy of the site or by a specialist.
Questions to settle before using it long term
Do you need to enable every Akeeba Admin Tools Pro feature right away?
No. It is better to enable features in stages: start with the basic setup and the log, then protect the admin area, then add server rules, then enable auto-ban and scanning. After each stage, check login, forms, static files, and the log. That makes it much easier to identify which setting caused a specific symptom.
What is the practical difference between the Pro version and Core?
Core covers basic maintenance tasks and some features, while Professional adds important security-oriented capabilities: the WAF, URL redirection, scheduled cleanup, PHP File Change Scanner, settings import/export, server rule makers, and more advanced protection. Before choosing, compare the current feature matrix on the official page, because the feature set may change over time.
Can the extension guarantee the security of a Joomla site?
No. It strengthens security, but it does not replace Joomla and extension updates, backups, strong passwords, multi-factor authentication, proper permissions, or a sound server configuration. The idea of "install it and forget about it" is risky when you are dealing with a security tool.
What should you do if the WAF is blocking real users?
Open Blocked Requests Log and look at the reason, URL, and parameter. If it is a false positive in one specific form or component, create a narrow WAF Exception. If the issue is widespread and IP-related, check the CDN, load balancer, and IP workarounds first. Do not disable the WAF entirely without diagnosing the cause.
Can you use the secret URL parameter together with an additional password on the administrator directory?
Yes, those are different protection layers, but they need to be documented for administrators. If the separate password for directory protection is lost, or the secret URL parameter is forgotten, access becomes harder. Before enabling both, make sure there is a recovery process and file system access is available.
Will .htaccess Maker affect speed and SEO?
Some options can affect caching, compression, redirects, HTTPS, HSTS, and headers. That can be useful, but only when configured correctly. If similar rules already exist at the hosting or CDN level, duplicates may create unnecessary redirects or conflicts. Verify the result with browser tools and logs.
Should you add the IP of every suspicious request to the deny list?
Usually not. The documentation advises doing that only in extreme cases, for example during an intense attack from a single address. For normal background noise, it is better to rely on the log, notification filtering, and auto-ban after real IP handling has been verified.
When might the product not be the right fit?
If the site runs on heavily restricted hosting, relies on outdated components with non-standard direct PHP calls, operates behind a complex proxy without correct IP forwarding, or is maintained by people without file system access, setup may take more time. In that case, start with backups, updates, and a minimal feature set rather than maximum hardening.
When Akeeba Admin Tools Pro is the right choice
Akeeba Admin Tools Pro is a strong fit for Joomla sites where the administrator is ready not just to install an extension, but to treat security as an ongoing process: enabling features step by step, reading the log, testing forms, understanding exceptions, keeping backups, and avoiding the promise of absolute safety. Its main strength is the combination of the WAF, server rule makers, admin-area protection, file scanning, maintenance tools, and diagnostics inside one ecosystem.
Before using it in production, verify three things: that the current version is compatible with your Joomla/PHP environment, that you have rollback access through the hosting account, and that the site's key workflows still work after each change. If those conditions are met, you can download the latest version of Akeeba Admin Tools Pro and test the extension first on a site copy or during a quiet maintenance window.
The most reliable outcome does not come from turning on the largest number of checkboxes, but from having a clear configuration: what protects the admin area, what filters requests, which exceptions are actually necessary, how to read the log, and how to restore access if a rule turns out to be too strict. That is what turns Admin Tools Pro from a collection of buttons into a practical working tool for a Joomla administrator.
Nearby Materials | ||||
|
RSFirewall! - Joomla Extension | Akeeba Backup Pro - Joomla Extension |
|
|


