Existe alguma maneira de identificar links quebrados e corrigi-los ao mesmo tempo?
Olá Kevin ![]()
Você pode definir um “link quebrado” no seu contexto?
É:
-
Um link em uma postagem de usuário?
-
Um link interno?
-
Um link externo?
-
Um link que leva a um recurso que não existe mais (404)?
-
Um link que não leva mais ao mesmo recurso que levava antes?
Como você saberia se um link está temporariamente “quebrado” (por exemplo, o destino está temporariamente indisponível por qualquer motivo)? Um link pode estar inativo por alguns minutos, horas, dias ou semanas e voltar.
Ele pode ser removido, alterado, atualizado, relevante ou irrelevante. Como você saberia o quê?
O que é um conserto de link quebrado?
-
Uma remoção de link?
-
Substituir a URL por outra?
-
Como você saberia como substituir um link quebrado por um relevante e funcional?
De qualquer forma, você precisaria de um script personalizado: não há um recurso integrado para isso. ![]()
Não é meu trabalho responder, mas, de modo geral, em toda a web, um link quebrado é um link que retorna 404, independentemente de ser interno ou externo (claro, um link interno é uma situação alarmante com frequência).
E uma correção pode ser qualquer uma dessas.
Obter uma lista de 404 e, em seguida, corrigir a URL ou remover a tag <a>, talvez? Essa é uma maneira bastante comum em todas as outras plataformas que uso.
Existe alguma ferramenta que você possa sugerir para verificar e corrigir links quebrados?
Concordo que essa é a mais comum, mas levanta questões, como 404 temporários.
Você está aqui há tempo suficiente para saber que a opinião de todos é valorizada ![]()
(meu trabalho também é permitir que as pessoas deem suas opiniões, aliás)
Esses não deveriam ser usados. Deveria ser primeiro um 302 levando a uma URL (genérica) onde a situação é explicada e, quando deixa de ser temporário, muda para 200, 301 ou 410.
Mas se as postagens usam links que dão 404 temporários, esse é um caso extremo famoso. Os mais comuns são links externos mortos reais que deveriam ser corrigidos.
A boa notícia é que raramente são abertos, eu acho.
Sim
Bem, eu quis dizer que estava meio que respondendo em nome do OP, e não é um ato muito educado.
Bem, no meu caso, os links quebrados foram causados quando o cliente fez uma pequena alteração de domínio de “.ai” para “.com”. Todos os links de mensagens dentro do fórum ficaram quebrados. Tenho certeza de que provavelmente havia uma maneira mais fácil de corrigir. Mas eu apenas editei manualmente muitas postagens para mudar “.ai” para “.com”. Também tive que usar “rebuild html” para corrigir imagens carregadas nas postagens. Um grande incômodo.
Você pode fazer busca e substituição via console do Rails, pode?
Provavelmente, mas ainda sou bem novo em muitas coisas com o discourse. Preciso ler e aprender mais. Algo assim corrigiria as imagens carregadas nas postagens? Também pareceu afetar os emojis em postagens mais antigas. Honestamente, eles deveriam ter falado comigo sobre isso, pois já haviam renomeado o site antes com o mesmo problema surgindo. Na minha opinião, não havia necessidade ou benefício real em mudar de .ai para .com, já que o site roda há mais de 3 anos com o .ai.
Além disso, qualquer usuário que instalou o aplicativo ficou com problemas, assim como outros que usam o URL original para acessar o site.
Não há um recurso assim disponível no Discourse e a detecção de "links quebrados" (assumiremos 404) exigiria um script personalizado.
Parece-me que haveria um número de proprietários, especialmente de sites maiores, interessados em uma ferramenta/script/plugin que pudesse pelo menos fazer o primeiro passo de simplesmente verificar e identificar 404s? Eu estaria disposto a apoiar isso com algum dinheiro se fosse razoavelmente razoável.
A primeira solução que me vem à mente seria um script Ruby que itera através dos conteúdos de posts, encontra links, os requisita, verifica o código de status e faz o que você precisa. Excluí-los, substituí-los (tais ações exigiriam um rebake), registrá-los… ![]()
WordPress vs. Discourse é uma comparação bastante inútil porque a tecnologia e a ideia são tão diferentes, mas no WordPress é um trabalho bastante trivial usar um plugin gratuito que chama links de saída e, se a resposta for algo diferente de 200 OK, ele limpa pelo menos os links que recebem status 4xx, faz uma lista e informa o administrador por e-mail.
É isso é possível em aplicativos como o Discourse, eu não sei. Tal funcionalidade é necessária… eu não sei, porque ninguém mais se importa e dizer bons links nunca morrem mudou para todos os links se tornarão zumbis. A Wikipédia está cheia de links mortos, e ninguém se importa, nem mesmo a Wikipédia nem os editores.
Temos algo chamado flags. Podemos terceirizar a informação para os usuários e ensiná-los a usar flags de forma informativa — mas aposto que será difícil.
Sejamos honestos. Poucos administradores/moderadores estão dispostos a começar a consertar links que nunca são usados após a publicação. Então, um “testador de links” seria bom de ter, mas é uma ferramenta útil? Meu maior site WordPress tem toneladas de links de saída mortos. Eles deveriam ser consertados e eu o farei se precisar deles, mas, caso contrário… eu simplesmente não tenho tempo (ou vontade…).
Um verificador de links quebrados seria ótimo! Nossa instância do Discourse não é pública, então não posso usar uma ferramenta típica para isso. Ela é usada como um fórum de suporte e base de conhecimento, então prevemos que, com o tempo, podemos lidar com links para documentação hospedada em outro lugar que se quebram.