InternetArchiveBot/Como o bot corrige links quebrados
O processo de consertar links quebrados ocorre em quatro etapas: análise do conteúdo da página, verificação dos links que aparecem na página, criação de arquivos de links e edição da página.
Analisando a página
Primeiro, o bot recupera um lote de 5.000 artigos para trabalhar a partir da API do wiki. Antes de iniciar o lote, o bot verificará se alguma alteração de configuração foi feita a partir da interface de gerenciamento. Depois de aplicar as alterações de configuração, ele continuará a trabalhar no lote de 5.000 artigos, que normalmente estarão em ordem alfabética.
O bot começa a análise da página escaneando completamente o wikitexto da página. Ele tenta reunir o máximo de informações possível sobre modelos de citação contendo URLs, URLs contidos entre colchetes e URLs postados de forma simples, respeitando <nowiki>, <pre>, <code>, <syntaxhighlight>, <source> e comentários HTML. Ele também tenta buscar informações relevantes sobre os links que encontra, como se outro editor ou bot declarou o link inativo ou se ele já possui URLs de arquivo associados a ele. A próxima etapa é analisar as informações de análise retornadas pelo mecanismo de análise para criar metadados sobre elas.
Os metadados para cada referência — uma fonte com um link — são construídos a partir dos dados do analisador, que incluem: tempo de acesso, tempo de arquivamento, URL de arquivo, URL original, se o URL está morto, se for considerado um URL de acesso pago, se for uma referência malformada, se for uma referência que pode ser expandida em um modelo se desejado, se a URL já está sendo tratada como morta ou não. Se o tempo de acesso não for encontrado na referência, InternetArchiveBot tentará extrapolar o tempo de acesso assumindo que a hora em que o link foi adicionado à página foi a última vez que o link foi acessado. Se for encontrado um URL de arquivo que não revele ao bot o URL original que deveria exibir, o bot extrapolar isso para verificar se o arquivo realmente pertence à referência.
Note regarding URLs in templates: InternetArchiveBot by default does not handle URLs contained inside unknown templates as it will not know how altering said template may affect the rendered page. All templates not configured as a citation template are considered unknown templates. Configuring templates are done on the Citation Templates configurator.
Verificando os links
Após cada link ter sido analisado, o bot, se configurado para isso, tentará determinar se o link está realmente morto ou não realizando uma varredura rápida, com pesquisas de URL espaçadas para evitar sobrecarga. Vários URLs no mesmo domínio serão consultados em série com um intervalo de um segundo. URLs de um domínio diferente serão agrupados para uma consulta assíncrona. Apenas URLs que atendam a um determinado critério serão incluídos para digitalização.
As URLs a serem verificados não devem ter sido verificados nos últimos sete dias. Se, no entanto, a última varredura do URL resultou em uma resposta marcando a URL morto, o período de espera é reduzido para três dias. Um URL deve falhar três varreduras consecutivas para ser considerado morto. Isso significa que leva no mínimo nove dias para que uma URL seja considerado inativo. O período de espera volta a sete dias, uma vez que é considerado morto. Se uma URL morto for verificado e estiver ativo, seu status será redefinido como ativo imediatamente. URLs e domínios definidos para o estado permativo (ou seja, permanentemente ativo) serão sempre vistos como ativos, a menos que sejam marcados no wiki como um link inativo e o bot esteja configurado para aceitar a marcação em sua própria avaliação. Links permanentes não são verificados. URLs e domínios definidos como permadead (ou seja, permanentemente mortos) serão sempre vistos como mortos, sem exceção. Os links do Permadead não são verificados.
In addition to the permadead, and permalive, states the bot also does not scan links that it believes to be subscription sites. As sites like those can not be accurately assessed without knowing the response is due missing credentials, or if the page is actually down. As a result, the bot will only consider the URL dead if set manually in the bot, or if tagged on Wikipedia. The bot looks for templates, or parameter values in the CS1 templates, that are set by the user that identifies the site as requiring a free or paid accounts to access the material. If found, the domain is marked as a subscription site and the bot discontinues checking it.
Arquivando links inativos
Depois que todos os links forem verificados, o bot continuará a procurar arquivos para os links que descobriu estarem mortos. Se configurado para fazer isso, ele pode procurar arquivos para todos os links ativos também. Se o bot tiver descoberto anteriormente uma URL de arquivo de um link específico no passado, ele irá transferir para sua memória. O InternetArchiveBot pode reconhecer e usar mais de 20 serviços de arquivamento diferentes. Se nenhum arquivo existir para um link ativo, o bot tentará salvar uma cópia do link na Wayback Machine, se configurado para fazer isso, e usar o instantâneo resultante como a nova URL do arquivo. Se nenhum instantâneo de arquivo para um link morto for encontrado, o bot irá considerá-lo não corrigível e irá marcá-lo como uma referência permanentemente morta. Se a referência parece ter um URL de arquivo, mas não é reconhecido como um arquivo válido, ou o URL é uma incompatibilidade com o instantâneo, ele será substituído por um que o bot considera válido. Isso garante a integridade das referências e ajuda a minimizar os efeitos de erros e vandalismo.
Editando a página
Assim que o bot terminar de analisar os links, ele tentará estabelecer se está fazendo uma edição repetida que foi revertida no passado. Se detectar que está repetindo uma edição, ele tentará descobrir por quê a edição foi revertida, incluindo se foi relatado como um falso positivo. Se ele avaliar que a edição pode ter sido potencialmente um falso positivo, ele relatará o falso positivo em nome do usuário que fez a reversão e não tentará novamente a edição até que um desenvolvedor tenha revisado o relatório.
Finalmente, uma edição é postada no artigo. O bot também faz algumas limpezas ao longo do caminho e fará outras pequenas alterações nas referências que pretende editar. Mais comumente, o bot tornará o espaçamento do modelo mais consistente, para forçar o uso de HTTPS em URLs de arquivo específico quando disponíveis e, às vezes, simplesmente alternar UrlStatus em um modelo de citação de vivo para morto. Se o bot encontrar uma referência que não está usando um modelo de citação, o bot converterá a referência de uma URL simples em uma referência que usa um modelo de citação se for capaz de fazer isso sem quebrar o formato da referência. Se uma referência simples tiver um modelo de arquivo, um modelo que renderiza um link para o instantâneo do arquivo de uma URLs original, e a predefinição é considerada obsoleta, o bot irá convertê-lo para o padrão preferido.
Após a edição ser feita, se configurado para isso, o bot deixará uma mensagem na página de discussão descrevendo as mudanças que ele fez na página. Alternativamente, o bot pode ser configurado para apenas deixar mensagens na página de discussão em vez de editar o artigo.