Userpage AbuseFilter
Overview
On 30 November 2016, after a community discussion, a new editing filter was implemented on the English Wikipedia to prevent unregistered and very new users from modifying the userpages of other users. The rationale for this filter was to prevent vandalism and harassment directed at individual contributors; a random sample of 100 edits by unregistered users to userpages showed that about half of the edits were unconstructive and represented cases of vandalism and harassment. (The other half of edits were made by editors who were likely logged out, editing their own userpage).[1] Furthermore, there were no compelling use cases as to support why unregistered or new editors should be editing someone else's userpage.
This page was developed to provide information about the filter and implementation instructions so that it can be used in other Wikimedia communities.
The filter
The filter checks for the following:
- Is the edit being made to the user namespace?
- Is the editor unconfirmed? (i.e. Is their account less than four days old, and have they made fewer than 10 edits?)
- Is the edit being made directly to a userpage (as opposed to a subpage)?
If all of these conditions are met, the edit is prevented, and the editor is shown the following message, as configured at MediaWiki:Abusefilter-warning-userpage:
This edit has been prevented because unregistered and new editors can not modify other editors' userpages. If you want to contact this editor, you may do so at the editor's talk page. Requests for changes can be made there as well. If this is your userpage, please log in to edit your userpage. |
There are also checks made for en:User:Sandbox and en:User:Jimbo Wales, which both were explicitly designed to be open to anyone for editing.
Filter syntax
article_namespace == 2 &
!("confirmed" in user_groups) &
!('/' in article_text) &
article_text != user_name &
article_articleid != 2829412 &
article_articleid != 31555737
Selectively unlocking a userpage with a template
You can use an alternative filter implementation to allow users to "unlock" their userpage and allow anyone to edit it by adding a template. In this example, we'll use the template {{unlocked userpage}}
. All the user has to do is add this somewhere on their userpage and the filter will bypass its normal checks and allow anyone to edit the page.
Additionally, only the owner of the userpage or admins can add or remove the template. This is accomplished using a single filter, so you will likely want to change the language of the message that is shown to the user:
This edit has been prevented because unregistered and new editors can not modify other editors' userpages, or you attempted to add or remove {{unlocked userpage}} when you are not the owner of the userpage. If you want to contact this editor, you may do so at the editor's talk page. Requests for changes can be made there as well. If this is your userpage, please log in to edit your userpage. |
Template:Unlocked userpage
The template itself does not have to contain any special code, but you might consider having it add a category so that all of the unlocked userpages can be tracked. To do this use the syntax:
<includeonly>[[Category:Unlocked user pages]]</includeonly>
Now whenever someone transcludes the template on their userpage, the page will be added to [[Category:Unlocked user pages]]. You can name the template and the category whatever you would like, just make sure the filter looks for the right name.
Filter syntax
article_namespace == 2 &
!('/' in article_text) &
article_text != user_name & (
template := "{{unlocked userpage}}";
(
!("confirmed" in user_groups) &
!(template in old_wikitext)
) | (
(
(
removed_lines contains template &
!(template in added_lines)
) | (
added_lines contains template &
!(template in removed_lines)
)
) & !("sysop" in user_groups)
)
)
Again, you can change "{{unlocked userpage}}" to whatever you would like.
Implementation considerations
The filter and system message warning can be incorporated into any Wikimedia project's AbuseFilter. The warning message can be translated and changed as needed for each project.