¿Hay alguna forma posible de identificar enlaces rotos y corregirlos al mismo tiempo?
Hola Kevin ![]()
¿Puedes definir un “enlace roto” en tu contexto?
¿Es:
-
¿Un enlace en la publicación de un usuario?
-
¿Un enlace interno?
-
¿Un enlace externo?
-
¿Un enlace que lleva a un recurso que ya no existe (404)?
-
¿Un enlace que no lleva al mismo recurso al que llevaba antes?
¿Cómo sabrías si un enlace está temporalmente “roto” (por ejemplo, el destino está temporalmente caído por cualquier motivo)? Un enlace puede estar inactivo durante unos minutos, horas, días o semanas y volver a funcionar.
Puede ser eliminado, cambiado, actualizado, relevante o irrelevante. ¿Cómo lo sabrías?
¿Qué es una corrección de enlace roto?
-
¿Una eliminación de enlace?
-
¿Reemplazar la URL con otra?
-
¿Cómo sabrías cómo reemplazar un enlace roto por uno relevante y que funcione?
De todos modos, necesitarías un script personalizado: no existe una función integrada. ![]()
No es mi trabajo responder, pero en general en todo el “webistán”, un enlace roto es un enlace que devuelve un 404, sin importar si es interno o externo (claro, uno interno es a menudo una situación alarmante).
Y una solución puede ser cualquiera de esas.
¿Obtener una lista de 404 y luego arreglar la URL o eliminar la etiqueta <a> quizás? Esa es una forma bastante común en todas las demás plataformas que uso.
¿Hay alguna herramienta que pueda sugerir para comprobar y corregir enlaces rotos?
Estoy de acuerdo en que esa es la más común, pero plantea problemas, como los 404 temporales.
Has estado aquí el tiempo suficiente para saber que la opinión de todos es valorada ![]()
(mi trabajo también es permitir que la gente dé su opinión, por cierto)
Esos no deberían usarse. Debería ser primero un 302 que lleve a una URL (genérica) donde se explique la situación y, cuando deje de ser temporal, cambie a 200, 301 o 410.
Pero si las publicaciones usan enlaces que dan 404 temporales, ese es un caso extremo famoso. Los más comunes son los enlaces salientes muertos reales que deberían arreglarse.
La buena noticia es que rara vez se abren, supongo.
Sí
Bueno, me refería a que estaba respondiendo en nombre del OP, y no es un acto muy educado.
Bueno, en mi caso, los enlaces rotos se produjeron cuando el cliente hizo un cambio menor de dominio de “.ai” a “.com”. Todos los enlaces de mensajes dentro del foro se rompieron. Estoy seguro de que probablemente había una forma más fácil de solucionarlo. Pero simplemente edité manualmente muchas publicaciones para cambiar “.ai” por “.com”. También he tenido que usar “rebuild html” para arreglar las imágenes subidas en las publicaciones. Bastante molesto.
Puedes hacer buscar y reemplazar a través de la consola de Rails, ¿verdad?
Probablemente, pero todavía soy bastante nuevo en muchas cosas con Discourse. Necesito leer y aprender más. ¿Algo así arreglaría las imágenes subidas en las publicaciones? También pareció afectar a los emojis en las publicaciones de polder. Honestamente, deberían haber hablado conmigo al respecto, ya que ya habían cambiado la marca del sitio antes con el mismo problema. En mi humilde opinión, no había necesidad ni beneficio real de cambiar de .ai a .com, ya que el sitio ha funcionado durante más de 3 años con el .ai.
Además, cualquier usuario que instaló la aplicación quedó roto y lo mismo ocurrió con otros que usaron la URL original para acceder al sitio.
No existe tal función disponible en Discourse y la detección de “enlaces rotos” (supondremos que 404) requeriría un script personalizado.
Me parece que habría un número de propietarios, especialmente de sitios más grandes, interesados en una herramienta/script/plugin que al menos pudiera dar el primer paso de simplemente verificar e identificar los 404. Estaría dispuesto a apoyar esto con algo de dinero si fuera razonable.
La primera solución que se me ocurre sería un script de Rails que itere a través del contenido de las publicaciones, encuentre enlaces, los solicite, verifique el código de estado y haga lo que necesites. Eliminarlos, reemplazarlos (tales acciones requerirían un rebake), registrarlos… ![]()
La comparación de WordPress vs. Discourse es bastante inútil porque la tecnología y la idea son muy diferentes, pero en WordPress es un trabajo bastante trivial usar un plugin gratuito que llama a los enlaces salientes y, si la respuesta es algo diferente a 200 OK, limpia al menos los enlaces que dan un estado 4xx, hace una lista e informa al administrador por correo electrónico.
¿Es eso siquiera posible en aplicaciones como Discourse, no lo sé. ¿Es necesaria tal funcionalidad… no lo sé, porque a nadie le importa ya y decir los buenos enlaces nunca mueren ha cambiado a todos los enlaces se convertirán en zombis. Wikipedia está llena de enlaces rotos, y a nadie le importa, ni siquiera a Wikipedia ni a los editores.
Tenemos algo llamado “flags” (banderas/alertas). Podemos externalizar la información a los usuarios y enseñarles a usar las “flags” de forma informativa, pero apuesto a que será difícil.
Seamos honestos. Muy pocos administradores/moderadores están dispuestos a empezar a arreglar enlaces que nunca se usan después de publicarlos. Así que un “probador de enlaces” sería bueno tenerlo, pero ¿es una herramienta útil? Mi sitio de WordPress más grande tiene toneladas de enlaces salientes rotos. Deberían arreglarse y lo haré si los necesito, pero de lo contrario… Simplemente no tengo tiempo (o voluntad…).
¡Un verificador de enlaces rotos sería genial! Nuestra instancia de Discourse no es pública, por lo que no puedo usar una herramienta típica para esto. Se utiliza como un foro de soporte y una base de conocimientos, por lo que anticipamos que con el tiempo podríamos tener que lidiar con enlaces a documentación alojada en otro lugar que se rompan.