Vikidia:Infrastructure

How Vikidia works, behind the scenes

This page explains, in simple terms, the technology behind Vikidia. It stays fairly general on purpose: this is a public page, and Vikidia, like any website, is a target for abuse.

This won't make you a sysadmin, but it should cover most of what a curious reader wants to know.

The software

Vikidia runs on MediaWiki, the free software originally written for Wikipedia and now used by thousands of wikis. It's what lets anyone edit a page from a browser, keeps every past version of every page, and gives each page a talk page for discussion.

MediaWiki itself is extended with dozens of add-ons, each adding one feature. Most stay invisible to readers, but two you'll run into directly: Translate, which is what splits a page like this one into small chunks so it can be kept in sync across languages, and CentralAuth, which is what makes Single Unified Login possible.

Running on the same base as Wikipedia has a real upside: security fixes, accessibility work and new features get built once for the whole MediaWiki ecosystem, not just for Vikidia.

One family of wikis

Each language version of Vikidia (French, English, Spanish, and so on) is its own community, with its own admins and its own rules. Technically, though, they aren't separate installations. They run together as what's usually called a "wiki farm": same software, same maintenance, and one central wiki (this one) to coordinate across languages.

Shared across every Vikidia

  • MediaWiki and its extensions
  • Maintenance and updates
  • The account system (Single Unified Login)
  • Global policies (Check User, activity review...)

Handled locally, per language

  • Articles and their content
  • Admins and community rules
  • Design and local gadgets
  • Day-to-day moderation

That's also why a fix or a new feature built once can reach every language at the same time, instead of each wiki needing its own technical team.

Performance and abuse protection

A lot of Vikidia's readers are children on school or library computers, often on slow or restricted connections, so speed matters here more than on the average site. At the same time, Vikidia is open to editing by anyone, which makes it a constant target for spam and vandalism bots.

To deal with both, traffic goes through a content delivery network before it even reaches Vikidia's own servers. It caches pages closer to readers, encrypts every connection, and blocks a good share of automated abuse on its own. More specific filtering, against spam accounts or vandalism patterns for instance, happens further down, on the servers themselves.

We're not going to detail exactly how that filtering works. Publishing the rules would mostly help people trying to get around them.

What happens when you open a page

Here is the path a page takes, simplified, between the moment you tap a link and the moment it appears on your screen.

   

1. Your screen
Phone, tablet, school computer: whatever you are reading on, tapping a link sends off a request.

 

2. The delivery network
Dozens of machines around the world keep ready-made copies of Vikidia's pages. Most reads stop right here, a few thousandths of a second away from you, without ever reaching our servers. This is also where the bulk of automated abuse is turned away.

 

3. The server's own cache
A second reserve of ready-made pages, this time on our machines, for whatever the delivery network doesn't have at hand.

 

4. MediaWiki
The software rebuilds the page from its wikitext: templates, images, links, formatting. This is by far the most expensive step, which is exactly why the two layers above exist.

   

5. Database and search index
Every article, every past version, every discussion. Alongside it sits a separate search engine, the same kind Wikipedia uses, which is what makes searching across thousands of articles instant.

The further down a request goes, the rarer it is and the more it costs. A popular article can be read thousands of times a day while only being rebuilt at step 4 once.

So why do edits show up immediately?

If pages are stored ahead of time, you might expect an edit to take a while to appear. It doesn't: the moment a page is saved, both cache layers are told to forget their copy. The next reader gets a freshly built page, and a new copy is stored for everyone after them.

The same thing happens, on a much larger scale, when a widely used template is edited: every page including it is affected at once, and thousands of stored copies have to be discarded together. Handling that gracefully is one of the trickier parts of running a wiki farm.

One last detail, which explains something you may have noticed: pages viewed while logged in are never cached, since they show your username, your watchlist and your preferences. That's why browsing logged in can feel slightly slower than reading anonymously.

Data protection

Vikidia only collects the personal data it actually needs: an account (a username, and an email address if you want password recovery), plus technical logs such as IP addresses, kept only as long as needed for security purposes. This data is never sold, and only a small number of trusted, identified admins (Check Users) can access it, under the Check User Policy.

Vikidia's content is backed up regularly, so a technical incident doesn't mean losing years of contributions. Access to the servers and to those backups is limited to the people who maintain the project technically.

Who keeps it running

Vikidia is run by a non-profit association, not a company. Its servers are paid for by membership dues and donations, and everything else (writing, moderation, technical maintenance) is done by volunteers. There's no advertising anywhere on the site. The technical team is also small, which is part of why some choices favour simplicity over chasing the latest technology.

Further reading

Want to know more about the software itself, rather than how Vikidia uses it? MediaWiki.org documents MediaWiki in detail — it's the same engine behind Wikipedia and plenty of other wikis.