Open main menu
Crystal Clear action go.svg Crystal Clear action run v3.svg Crystal128-memory.svg Crystal Clear action exit.svg
Activate Guide Bugs/Features Emergency shutoff
Activate the bot on a specific page or all articles in a category. How do you get the best results? Want an activation link on every page you edit? Consult the guide! Something wrong? Report it!
Have an idea? Suggest it!
Source code available at GitHub.
Admins: Follow instructions.
Non-admins: Report to WP:ANI.

Contents

Function summaryEdit

This bot was originally designed to add digital object identifiers (DOIs) to references; it now does much more, adding other identifiers (PMIDs, ISBNs), links to open access repositories, and fixing common formatting errors.

The bot obtains citation data from a range of sources including Google Books, Google Books API Family, CrossRef, AdsAbs, arXiv, oaDOI and PubMed. Because scraping data from web pages is unreliable and resource-intensive, these databases are the main source of data; unfortunately the bot is unable to tell when these databases contain errors or incomplete information. Any such error or omission should be reported directly to the data repository maintainer.

Data sourcesEdit

Open source links are from mostly oaDOI.

DevelopmentEdit

A stable version of the bot is always available at https://tools.wmflabs.org/citations/

Time commitments preclude regular updates; maintenance is attempted every few months. The source code can be found at https://github.com/ms609/citation-bot.

Stopping the bot from editingEdit

  • To prevent Citation bot from editing a page entirely, add the following text anywhere on the page
    {{bots|deny=Citation bot}}
  • To prevent Citation bot from editing a specific citation, add a comment to the citation template before the first |, such as
    {{cite journal <!-- Citation bot bypass--> |last=Smith |first=John |year=2018 |...}}
  • If the bot is erroneously adding or modifying a parameter (e.g. adding a wrong |last=/|first=, or a wrong |doi=) to a citation), put a comment in place of the appropriate parameter such as
    |doi = <!-- Citation bot adds wrong DOI-->

It may be possible to fix the underlying problem if you report the error – but there are a few, rare instances (such as false positives and editor preference) where it is impossible to implement an automatic fix.

False positivesEdit

If the bot is adding seemingly-unrelated data to a citation, it is probably receiving a false positive from the citation databases it consults. Unfortunately, there's no way for the bot to know this, so there are two ways of avoiding it:

  • Change the citation template to one which the bot doesn't modify, such as cite news, etc;
  • Add a comment into one or more of the parameters – these comments will not be over-ridden by the bot, and will reduce the chance of the citation databases throwing false positives.
  • If the journal title has non-standard casing (Such as PLOS One), then special code should be requested on the bug report page, or better yet, make a pull request on https://github.com/ms609/citation-bot/blob/master/constants.php

Page numbers with hyphensEdit

The bot replaces hyphens with en dash in page number ranges. On rare occasions when a hyphen is right and an en dash is wrong (hyphen in the page number itself, often because the page number includes the chapter too), manually use the {{hyphen}} template instead of the dash/hyphen character. An alternative is to use the template's |at= parameter.

Valid parametersEdit

The bot draws all parameters specified in Module:Citation/CS1/Whitelist with the format "['parameter_name'] = true", and treats these as valid spellings. The bot maintains its own copy at https://github.com/ms609/citation-bot/blob/master/constants/parameters.php

InternationalizationEdit

There have been a number of requests for the bot to be adapted to foreign-language wikipedias. When time permits, I will be happy to work towards this. For me to adapt the bot for a foreign wiki I first need:

  • A valid bot account on that wiki with the appropriate permission for its edits
  • A translation of each of the template names and parameters used.

If you have both of these available, please let me know and I will set to work on the necessary coding.

FunctionEdit

Automatic or manually Assisted: Automatic

Programming language(s): PHP

Function summary: Maintains and expands citations; ensures standards are complied to.

Edit period(s) Can run in a continuous mode that automatically revisits articles, but currently used on specific articles whenever requested by a user.

Function details:

  1. Replaces "id=identifier" or "url=http://resource.org/identifier=# with "identifier=#"
  2. Fixes common typos in parameter names (not values), using the closest match if the typo is not in a list of frequent mistakes https://github.com/ms609/citation-bot/blob/master/constants/parameters.php
  3. Removes redundant parameters
  4. Searches for missing parameters (including URL), then adds them if available. This is especially convenient when only an identifier is included within the template
    • The bot uses a range of databases including Google Books API, Google Books, PubMed, CrossRef, AdsAbs, doi.org, and JSTOR
  5. Converts an endnote citation to a Wikipedia citation — Example
  6. Is authorized to, but not currently add names to references and combine duplicates
  7. Expands {{cite arXiv}} templates with an eprint parameter, and updates them to use {{cite journal}} where appropriate
  8. Where a mixture of {{citation}} and {{cite xxx}} family templates are used in an article, is authorized to standardize to the dominant format, but does not currently do that
  9. Covert bare references to citation template based references

Bot approvalEdit

External linksEdit

Bot RecognitionsEdit

  The Original Barnstar
Thank you, you have been very helpful to me as a new user and contributor. Tonythetiger89 (talk) 16:29, 15 August 2013 (UTC)

This kitten is   Fixed

Vivian

Kashment (talk) 20:51, 20 July 2014 (UTC)
  Martin (Smith609 – Talk) 05:13, 29 July 2014 (UTC)

  The Citation Barnstar
For all of your citation fixes! Quinton Feldberg (talk) 05:49, 24 August 2017 (UTC)
  The Editor's Barnstar
Amazing,

Im out of words! It's Indeed very helpful Dadhush (talk) 12:52, 16 November 2018 (UTC)

  The Editor's Barnstar
Good job. Keep it up man !!! Taal Saptak (talk) 10:09, 7 July 2018 (UTC)
  That's really great Jackwilliam2 (talk) 12:20, 3 December 2018 (UTC)
  The Technical Barnstar
Thank you for your dedication that eases my workload! It's gonna be awesome!Talk♬ 13:36, 5 January 2019 (UTC)