Error al importar medios

14

Cuando genero un archivo XML con [Herramientas> Exportar] y utilizo [Herramientas> Importar] en otro sitio web de WordPress, recibo el mensaje "Error al importar medios" para cada tipo de publicación de archivo adjunto. Y las imágenes que no se cargaron están enlazadas desde el servidor anterior que consume la transferencia de ese servidor anterior ...

Pero cuando descargo "Unit Test" de http://codex.wordpress.org/Theme_Unit_Test , este problema no existe. Algunas imágenes todavía tienen "Error al importar medios", pero solo son 5 de las 30 imágenes. Tienen URL a su propio servidor en su XML, pero de alguna manera [Herramientas> Importar] logra descargar sus medios y reemplazar estas URL con nuevas ubicaciones (ya no está vinculado).

¿Cuál es el truco para que funcione correctamente sin "Error al importar medios"? ¿Por qué incluso "Prueba de unidad" tiene algunos mensajes de "Error al importar medios"?

Pablo
fuente
Como el servidor donde importa necesita obtenerlos de la ubicación anterior, no solo debe verificar si los archivos están en el servidor anterior, sino también si el nuevo servidor puede recuperarlos. Tal vez algo limita las solicitudes salientes. ¿Has intentado importarlo en otro servidor o localhost? Me temo que esto podría ser un problema muy localizado.
kraftner
1
A partir de WordPress 4.3.1 (posiblemente antes), puede definirlo IMPORT_DEBUGy configurarlo truepara obtener comentarios significativos en lugar de simplemente "No se pudo importar los medios". No puedo imaginar por qué este no es el comportamiento predeterminado. Eso puede ayudar a reducir su problema si hace buen tiempo.
Mark
@Mark en qué archivo puedo configurar la IMPORT_DEBUGopción
kimliv
2
@kimliv: usted quiere meter esto en wp-config.php en la raíz de tu instalación de WordPress: define ( 'IMPORT_DEBUG', true );.
Mark
Perdón por toparse, tuve el mismo problema y el sitio original desde el que importé no tenía SSL y las xmlURL están activadas https, editando los xmlarchivos para alternar httpsa httpayudado.
Samuel Elh

Respuestas:

12

Tuve un problema muy similar cuando moví un blog de WordPress de una sola instalación de WordPress a una instalación multisitio con diferentes nombres de dominio pero la misma IP.
Descubrí que el problema es la wp_http_validate_urlfunción que elimina la URL si la IP de origen es la misma que la de destino.
Puede agregar un filtro wp_http_validate_urlpara evitar esto y permitir la coincidencia de IP de origen y destino:

add_filter( 'http_request_host_is_external', '__return_true' );

Consulte esta respuesta para obtener una explicación detallada del enlace del filtro y por qué debe eliminarlo después de la importación: /wordpress//a/123313/75573

Merl
fuente
Pasé cerca de 5 horas tratando de importar mis publicaciones con sus imágenes y esto lo resolvió.
Jonny
No estoy seguro de entender a dónde debe ir esta edición. ¿Alguien puede explicar más?
ClairelyClaire
Puedes soltarlo en functions.php o ponerlo en un complemento. El último hace que sea más fácil encenderlo y apagarlo según sea necesario.
Merl
1

Cuando generó su archivo de exportación, ¿estaba en un servidor en vivo o en un host local? ¿Todavía se puede acceder a esa página web? Si falla la importación de medios, significa que las imágenes, como están vinculadas desde el XML, aparecerán 404.

Abra el archivo XML y vea hacia dónde apuntan las imágenes. Si abrimos el archivo XML de Unidad temática, veremos líneas como esta:

<wp:attachment_url>http://wpthemetestdata.files.wordpress.com/2008/06/canola2.jpg</wp:attachment_url>

Ese archivo está muy claramente disponible para importar. ¿Qué dicen sus archivos adjuntos_url?

Ideas imperativas
fuente
1
Mencioné "Y las imágenes que no se cargaron están enlazadas desde el servidor anterior que consume la transferencia de ese servidor anterior ...", lo que indica que las imágenes no devuelven 404, no están en el host local pero aún generan "Error al importar medios ". Mi <wp:attachment_url>dice example.com/2008/06/image.jpg también donde example.com es siempre un dominio accesible. Es por eso que hago esta pregunta :) Claramente no funciona incluso si las imágenes no generan 404. Incluso no funciona con wpthemetestdata.files.wordpress.com ocasionalmente (~ 5 imágenes aleatorias de 30 fallan).
Paul
Bien, lo siento, mi mente está un poco agotada en este momento de la noche. ¿Tiene algún tipo de protección hotlink en el servidor?
Ideas imperativas
1
No, es un servidor de acceso público con imágenes de acceso público, sin protección alguna. Pero incluso si hubiera alguna protección, el servidor de WordPress hace lo mismo ocasionalmente. ¿Significa que este importador solo tiene errores?
Paul
Ese o uno de los servidores tiene un valor de tiempo de espera desagradablemente corto. No tengo ideas para ti. ¿El XML se importa correctamente a Localhost? Si es así, puede hacer una especie de trampa ... haga la importación localmente y luego use WP Migrate DB y clone el resultado para vivir.
Ideas imperativas
1

También he estado luchando con la importación de medios a wordpress.org desde wordpress.com. Logré importar todas las publicaciones, sin embargo, las imágenes aún estaban vinculadas al sitio anterior. Casi lloraba cuando me di cuenta de que la única solución era descargar y cargar manualmente más de 200 imágenes grandes, publicación por publicación (exportar / importar porciones más pequeñas de publicaciones tampoco funcionaba).

Después de probar algunos complementos, encontré uno que realmente importa tus medios de WordPress automáticamente. No lo podía creer, pero en realidad funciona. Tienes que ir publicación por publicación, pero aún así es mejor que la descarga y carga manual. Aquí está el enlace si alguien está interesado

Claudia
fuente
1

Asegúrese de que su sitio no esté configurado como "Privado".

Cuando exportas tu blog de Wordpress, todo el contenido textual se incrusta en el archivo XML resultante. Todo el contenido binario (imágenes, archivos adjuntos, etc.) se exporta como URL que apunta a su ubicación en el blog existente. Es por eso que cuando importa desde un blog privado de Wordpress aún podrá importar todas las publicaciones / etc, pero todas las imágenes / etc fallarán.

Aquí es donde debe cambiar la configuración a partir de la versión actual (2017-06-19):

ingrese la descripción de la imagen aquí

Documentación relevante de Wordpress:

https://en.support.wordpress.com/settings/privacy-settings/

Tenga en cuenta que debe hacerse desde la configuración de su cuenta de Wordpress.com, no desde la configuración del blog en sí, que es otro punto potencial de confusión (y frustración).

nathanchere
fuente
1

Este problema puede ocurrir al usar ciertos complementos en el sitio remoto / local.

Idealmente, deshabilite todos los complementos en ambos sitios antes de exportar o importar, luego reactívelos una vez que se complete el proceso.

Si está tratando de evitar deshabilitar TODOS los complementos, al menos desactive los complementos que afecten a las imágenes o al manejo de imágenes ... el tipo más común probablemente sería el que hace la optimización de imágenes.

En mi caso, tenía EWWW Image Optimizer (que recomiendo) activo en el sitio local, y causó este error. Lo deshabilité, ejecuté la importación con éxito y lo reactivé.

James Revillini
fuente
0

Tuve el mismo problema y después de horas de buscar y probar, el problema era que el servidor de origen estaba bloqueando las descargas de imágenes debido a que "Hotlink Protection" estaba activa en el cPanel.

AMIB
fuente
Tienes razón. En mi caso, me di cuenta de que implementé una protección de enlace activo en mi .htaccess. Otros casos son cPanel o Cloudflare.
John Doe
0

Para aquellos que no quieren usar add_filtero no tienen idea de cómo integrarlo sin crear un módulo separado. Aquí hay un truco práctico rápido para hacerlo.

Abrir este archivo

vim ./wp-includes/http.php

Vaya a la línea 566y comente el siguiente bloque de código.

if ( ! apply_filters( 'http_request_host_is_external', false, $host, $url ) )
  return false;

Una vez que comente esas dos líneas, entre y agregue la siguiente línea.

return true;

Continúe y guarde el archivo y cargue el archivo XML para volver a intentarlo. Ahora descargará todo el contenido relacionado. Regrese y elimine el bloque de comentarios y la declaración de devolución y estará listo.

Almiar
fuente