- Compatible XF Versions
- 2.0
- 2.1
- 2.2
- 2.3
For a site that is no longer accepting new content, you might want to put it into "read only" mode, keeping the content available online for users but preventing users from logging in or posting new content.
You will also want to optimise the site to remove unnecessarily functionality for guests and to improve performance.
There are quite a few configuration changes you can make using the admin UI alone, but there are some elements you will need help to change - which is where this addon comes in (see notes at the bottom of this page for limitations).
I have written a full tutorial on steps to consider when archiving a site, which is intended to followed in conjunction with using this addon: How to archive a XenForo forum to make it read-only
This addon provides the following functionality:
The process to archive users works on all users except the following:
For example, to allow user_id 5 and 293 to retain login access, add the following line to your config.php file:
XenForo will not allow you to remove all super admin users, so you will always retain the ability to log in from at least one user account, even if the config option is not set.
Important: if you have any super admin users who you no longer wish to have login rights to your site, be sure to demote them from super admin status.
Once the addon is installed, review the options to set your message on the home page or at the end of content pages (remove the messages from the options to hide them).
Archiving users
After you have configured your super admins and any other protected users and installed the addon, you should visit the Archive Site functions in the User section of the admin UI.
The List Protected Users screen shows all users who will retain login access:
The List Archived Users screen shows users who have already had their passwords removed:
The List Active Users screen shows users who have not yet been archived:
To archive users, use the Archive Users screen, validate your protected and active users, check the confirmation box and click Archive:
To restore access for a users, simply generate a new password for them and add their user_id to the protected users list in the config.php file.
UI elements hidden for guests by this addon:
Forum home:
Thread list:
Thread view:
Mobile header:
Member profile:
Thread list:
Media view:
Notes:
Todo list:
You will also want to optimise the site to remove unnecessarily functionality for guests and to improve performance.
There are quite a few configuration changes you can make using the admin UI alone, but there are some elements you will need help to change - which is where this addon comes in (see notes at the bottom of this page for limitations).
I have written a full tutorial on steps to consider when archiving a site, which is intended to followed in conjunction with using this addon: How to archive a XenForo forum to make it read-only
This addon provides the following functionality:
- a UI and CLI tool to remove passwords from users to prevent them logging in and to minimise the risk of credential leakage if your site ever gets hacked (selected users can retain login rights for maintenance and testing purposes)
- prevents emails from being sent to archived users
- provides a meaningful message to users if they try to log in, informing them that the site has been archived
- prevents archived users from resetting their passwords using the forgot password link
- show a message to users below the title on the home page
- replace the "you must log in to post" message below content on thread pages with a custom message and optionally a link (eg to a new site)
- hides UI elements from guests:
- New posts button on forum home page
- What's new link in header on mobile devices
- Followers list on member profile pages
- Following list on member profile pages
- Lock symbol on locked threads in thread list
- Link to latest member from forum statistics widget
- Gallery BB Code link on media pages
- Members online widget
The process to archive users works on all users except the following:
- super admins
- any other user_id listed in the $config['archiveSiteProtectedUsers'] setting
PHP:
// all superadmins are automatically protected
// add the user_id of any additional users who will be permitted to log in to the archived site
$config['archiveSiteProtectedUsers'] = [];
PHP:
$config['archiveSiteProtectedUsers'] = [5, 293];
Important: if you have any super admin users who you no longer wish to have login rights to your site, be sure to demote them from super admin status.
Once the addon is installed, review the options to set your message on the home page or at the end of content pages (remove the messages from the options to hide them).
Archiving users
After you have configured your super admins and any other protected users and installed the addon, you should visit the Archive Site functions in the User section of the admin UI.
The List Protected Users screen shows all users who will retain login access:
The List Archived Users screen shows users who have already had their passwords removed:
The List Active Users screen shows users who have not yet been archived:
To archive users, use the Archive Users screen, validate your protected and active users, check the confirmation box and click Archive:
To restore access for a users, simply generate a new password for them and add their user_id to the protected users list in the config.php file.
UI elements hidden for guests by this addon:
Forum home:
Thread list:
Thread view:
Mobile header:
Member profile:
Thread list:
Media view:
Notes:
- other UI elements can be hidden using admin settings - follow the tutorial for full instructions
- template modifications are designed to work with the default theme and UI elements might not be hidden correctly on customised themes - some additional work might be required
- I have not yet implemented any changes for XF Resource Manager - that is on my todo list.
Todo list:
- look at UI elements for Resource Manager and hide any which don't make sense for guests
- consider an option to automate the bulk removal of user conversations
- consider a tool to remove deleted posts made by deleted users (you can't search for the posts because they are "guest" posts, nobody can see them because they are deleted, and it won't affect the overall post count)
- consider a tool to make bulk changes to user date of birth (personal information) and other profile fields such as location