RailWAM provides several features for wikis to monitor their daily score on the Wiki Activity Monitor (WAM), including a right rail module. Every wiki has a WAM score between 0 and 100 based on its activity, and wikis that rise to the top are displayed on the official WAM page. With RailWAM, users can track their wiki's growth and the effect of real-world events on wiki activity.


What's New in 2.0
  • Displaying WAM rank
  • Displaying percent change
  • Searchable WAM database
  • Updated FAQ design and questions
  • New configuration options: autoLogForUsers, botUsers, and top5000Mode
  • Improved error handling and logging system to reduce issues
  • Cleaner, rewritten code
  • New CSS classes for advanced styling
  • RailWAM Library for developers
  • Auto-updating right-rail module with the latest score and rank data
  • Difference between today's and yesterday's scores and ranks in the rail module
  • Logging WAM data daily with the click of a link (or by simply visiting the wiki with the autoLogForUsers option)
  • Searchable WAM data using RailWAM's WAM database
  • FAQ opened with one click on a link at the bottom of the module
  • Link to the official WAM page with the top 5,000 wikis' scores
  • Configuration options


If you are installing RailWAM for sitewide use, first add the following code to MediaWiki:Common.js. Submit it for security review in the "Custom JavaScript status" rail module.

window.railWAM = {
    logPage:"Project:WAM Log"

Then, for both sidewide and personal installation, add the relevant code that has been provided in the box below.


Option List & Defaults

The following table lists all the options that can be configured, a description of each, their accepted values, and their default values.

Option Description Accepted Values Default
appendAfter Rail modules to append RailWAM after

Modules do not have to exist on all pages. RailWAM is appended to the module specified in this option that is furthest down the page, or below ads if no specified modules are found.

This can not be changed to place RailWAM before ads.

The ID or class of a rail module as a string (e.g. "#wikia-recent-activity"),

IDs or classes of rail modules in an array (e.g., ['#wikia-recent-activity','.chat-module'])

autoLogForUsers Users for whom the WAM will be automatically logged, if it is not already, when they visit the wiki.

Do not add a user to this without their permission.

The name of one user as a string (e.g. "Example"),

the names of multiple users as an array (e.g. ["Example","Another Example"])

No users
botUsers Users for whom the edit to log WAM data will be marked as a bot edit.

The user must have a bot flag on their account in order for the edit to be marked.

The name of one user as a string (e.g. "Example"),

the names of multiple users as an array (e.g. ["Example","Another Example"])

No users
logPage The name of the page RailWAM should log the scores to Page name as a string (i.e. surrounded in quotes) "User:(Your user name)/WAM Log"
load Whether or not to load RailWAM true, false true
loadOnPage The name(s) of the page(s) RailWAM should load on The name of one page as a string (e.g. "Example"),

the names of multiple pages as an array (e.g. ["Example","Another Example"])

All pages
loadOnNamespace The ID(s) of the namespace(s) RailWAM should load on

See Namespace IDs for a list of namespaces and their IDs

The ID of one namespace (e.g. 1),

the IDs of multiple namespaces as an array (e.g. [1,2,3])

All namespaces
lang Defines which language RailWAM should use Two letter language codes as a string (i.e. surrounded in quotes) Language set in the user's preferences or "en" if that language is not supported
showLogAlert Whether or not to display the alert asking you to log WAM scores true, false true
showToAnons Whether the rail module should be shown to anonymous users true, false true
top5000Mode If the side module for your wiki does not consistently display a rank (i.e., your wiki is not in the top 5000 WAM ranks), you should set this to false. This tells RailWAM to skip an extra data request and may improve loading time. true, false true

How to Configure

RailWAM can be configured with code placed in MediaWiki:Common.js (site-wide use), your common JavaScript on a particular wiki (personal use), or your global JavaScript (personal use).

If you are using RailWAM site-wide, please see this important note.

If you are using RailWAM personally, please see this important note.

You can use window.railWAM to configure RailWAM. If you don't know what this means or how to use it, expand and read the detailed guide below.

Detailed Configuration Guide

Press [Expand] at the right to open the detailed configuration guide.

Adding one option

RailWAM stores configuration options in window.railWAM. Thus, you must first add this to to the code page with the same spelling and capitalization, unless a window.railWAM is already present:

// RailWAM configuration
window.railWAM = {

Next, you need to add configuration options to window.railWAM as properties. Move your cursor to the left (first) brace after the equal sign. Press enter/return. Then, type in the name of an option exactly as it appears in the list of configuration options above (same spelling, same capitalization, etc.). logPage will be used in this example:

// RailWAM configuration
window.railWAM = {

Next, add a colon and a space after the property name:

// RailWAM configuration
window.railWAM = {

Now you can add the value for the option. The list of configuration options above shows what values are accepted for a particular option. For logPage, a string (word(s) surrounded in single or double quotes) with the name of a page on the wiki will work.

Remember that you must surround any words you enter for values besides true and false in single or double quotes. Otherwise, what you have entered will be interpreted as a variable, which is something entirely different and will produce errors. Refer to the list above if special values need to be entered.

// RailWAM configuration
window.railWAM = {
     logPage: 'My log page'

If you add multiple options, you must add a comma after the value for each option. (If it is a string, it must be after the end quote.) Even if you are only using one option, it is still best practice to add a comma so that you do not have to remember in case you add more options later:

// RailWAM configuration
window.railWAM = {
     logPage: 'My log page',

Adding more options

More options should be added to the same window.railWAM.

After placing a comma after the first option, press enter/return to start on a new line. Then follow the steps you used to add the first option: enter the option name exactly, enter a colon and a space, enter the value, and end with a comma. For example:

// RailWAM configuration
window.railWAM = {
     logPage: 'My log page',
     loadOnPage: 'Special:WikiActivity',
     lang: 'pl',
It is best practice (but not required) to keep the configuration options in alphabetical order to make them easier to find. After moving any options around, make sure no letters, colons, quotes, commas, etc. have been lost or misplaced.

Important Note for Site-wide Use

To keep users safe, all site-wide code changes must be submitted to the code review team for a security check. After you press "Publish" to save your changes, click on the "Submit for review" button in the "Custom JavaScript status" module in the right rail on the code page. The code typically takes no longer than a few days to review. Once the revision has been approved, your changes will go into effect automatically.

Important Note for Personal Use

If you are installing the script for personal use, make sure you place the configuration options before the import statement:

// This is an example configuration
window.railWAM = {
     logPage: 'My log page',
     loadOnPage: 'Special:WikiActivity',
     lang: 'pl',
// importArticles call
    type: 'script',
    articles: [

Namespace IDs

Namespace ID
Article (none) 0
Blog 502
Blog Talk 503
Board 2000
Board Thread 2001
Category 14
Category Talk 15
Extension 112
Extension Talk 113
File 6
File Talk 7
Forum (Portal) 110
Forum (Portal) Talk 111
Help 12
Help Talk 13
Media -2
MediaWiki 8
MediaWiki Talk 9
Message Wall 1200
Message Wall Greeting 1202
Module 828
Module Talk 829
Project (Site Name) 4
Project (Site Name) Talk 5
Special -1
Talk 1
Template 10
Template Talk 11
Thread 1201
Topic 2002
User 2
User Blog 500
User Blog Comment 501
User Talk 3

Frequently Asked Questions

It's not working!

Please ensure that you have read the documentation clearly. If it is still not working, submit a bug report. If there is a section of the documentation that is unclear or confusing, please include that in your report too.

How do I configure RailWAM?

See the detailed configuration guide.

Why isn't my wiki's WAM rank showing?

Wikia only assigns WAM ranks to the top 5000 wikis. Most likely, your wiki is not one of these wikis. RailWAM automatically hides the rank section of the module if there is no rank data to be found.

If you are sure that your wiki's WAM rank should be showing, please submit a bug report.

Why aren't any database entries being returned? / Why are there gaps in database data?

RailWAM gathers data from different places for wikis in the top 5000 WAM ranks (the WAM index) and wikis that are not in the WAM index. Unfortunately, historical data can not be retrieved for wikis not in the WAM index; it can only be retrieved if the data is logged by the user.

It is also possible that Wikia has not updated the WAM for that day. This occurs from time to time, but it is not a problem caused by or solvable by RailWAM. You can see when Wikia last updated the WAM data by looking at "The WAM rankings were last updated on:" directly above the database search box.

Full data for my wiki displays without it being logged. Why should I log WAM data?

Logging data for such a wiki is important because it can significantly reduce the amount of data requests RailWAM has to make, meaning faster load times. Logging data particularly speeds up the database where each request for every day takes 10 seconds. For example, a request for two weeks of data would take over two minutes if no data is logged. Simply logging data every data could reduce this time to less than a second.

My question wasn't listed here.

RailWAM has its own FAQ with a "FAQ" link located in the bottom left of the module with more information about WAM and RailWAM in general and how to use RailWAM's database. If you are looking for this type of information, please see that FAQ.

If you have looked at the FAQ in the module, please leave your question on RailWAM's talk page.

Submitting Bug Reports/Suggestions

Please submit all bug reports and suggestions on RailWAM's talk page. For bug reports, include a link to your wiki and specific description of the problem. Images may also be helpful to illustrate visual issues.

Replies to messages on the above talk page are left on that same talk page, typically during weekends. However, bugs will most likely take longer to solve and fixes may take a few days to be approved. Please continue to check on the message you left on the talk page until the bug is fixed in case additional clarification or notification is necessary.

If your message has been left unanswered for more than a week, leave a note on Blaster Niceshot's (author's) talk page. Your message will be answered during the upcoming weekend, if not sooner.

Thank you for contributing to RailWAM!

Submitting Translations/Corrections

You can submit/edit translations for RailWAM using the translations editor.

Thank you for contributing to RailWAM!

Planned Features

General features:

  • Logging old data
  • Inline-article WAM modules
  • WAM dashboard

Database features:

  • Date picker for date search type
  • WAM graphs
  • Option to search logged data only

For developers:

  • On-load hooks

Opting Out of RailWAM

To opt out of RailWAM, add this to your personal JavaScript (on the wiki you want to hide it) or global JavaScript:

window.railWAM = {
    load: false,

For Developers

Documentation for the RailWAM Library is under construction. Please check back soon.