¿Cómo verifico si me vinculé a una publicación antes de eliminarla?

15

Si quiero eliminar "con seguridad" una publicación. Quiero asegurarme de que no exista un enlace (dentro de mi blog) a la publicación "que se va a eliminar". ¿Cómo puedo hacer eso?

usuario3047
fuente
No estoy seguro de cómo hacerlo, pero tal vez no pueda intentarlo: mueva la publicación a la papelera y use un complemento de comprobación de enlaces. Si el complemento de comprobación de enlaces es lo suficientemente inteligente, debería indicarle cualquier enlace que se vincule a la publicación que ya no tiene visible en el sitio.
Brady
1
+1 para una gran pregunta. La idea sería escanear el contenido de todas las publicaciones, pero puede ser una molestia para un sitio grande que tiene un gran número de publicaciones. Lo haría guardando una matriz serializada de enlaces de una publicación en su postmeta (para nuevos y existentes) y luego consultar esta metainformación de la tabla de postmeta y escanear y devolver una serie de ID de publicaciones que enlazan a la publicación que se está eliminando . Puede detenerlo o hacer que tome la acción que desee.
Ashfame
@Ashfame: sugerencia interesante. Ahora si creas un complemento para él ...
Jan Fabry
Otro +1 más un favorito. @Jan Fabry y @Ashfame - ¡Estoy seguro de que quieres trabajar juntos en este! :)
Kaiser
@ user3047 ¿No quieres marcar este como resuelto?
Kaiser

Respuestas:

6

Después de leer este hilo, vi que podría necesitar esto también a veces. Así que aquí está el resultado:

El complemento comprobador de enlaces internos

Agrega un cuadro de meta en las pantallas de edición de su publicación que muestra enlaces a todas las publicaciones que se vinculan internamente a la publicación que se muestra actualmente. Si desea modificar la salida (agregue algo por ejemplo), utilice el filtro provisto. Puede encontrar un ejemplo de cómo usar el filtro en el archivo Léame.

El complemento tiene licencia GPL2. Tal vez también lo pondré en el repositorio oficial para permitir la instalación desde su blog alojado. Editar: Listo.

...o en...

... o en la nuestra

emperador
fuente
Y gracias a @Drake por proporcionar la consulta SQL (por favor vaya y vote su respuesta).
Kaiser
Un poco áspero pero un poco funciona. Si tiene varios enlaces en la misma publicación, mostrará duplicados. Solución aceptada
user3047
Gracias por el aviso. No estaba al tanto de eso. Cambiará en una versión futura.
kaiser
6

Puedes hacer una consulta como:

SELECT ID, post_title, post_date, post_content 
FROM wp_posts 
WHERE post_content 
LIKE '%your-post-title%' ORDER BY post_date

para obtener todas las publicaciones que vinculan ese orden de publicación anterior por fecha.

Pato
fuente
1

No hay una tabla separada o estructura de datos que mantenga los enlaces de publicación a publicación, por lo que la mejor manera de hacerlo es buscar en sus publicaciones la URL de la publicación que desea eliminar. La búsqueda funciona en el código HTML de la publicación, por lo que contendrá el enlace completo, incluso si no lo ve en el editor visual.

Por supuesto, también debe buscar a través de las páginas, ya que también pueden contener enlaces a publicaciones.

Otro enfoque sería usar Google. Si lo busca link:http://example.com/2011/05/post-to-delete/, devolverá todas las páginas que enlazan allí. Luego, también puede agregar site:example.compara limitar los resultados a solo las páginas de su sitio. Por supuesto, esto no estará tan actualizado como una búsqueda en su propia base de datos actual.

Jan Fabry
fuente
Gran idea. Pero el blog en particular con el que estoy tratando es privado ...
user3047
1

Simplemente use las herramientas para webmasters de Google: tiene una página específica que muestra enlaces internos.

anu
fuente