Eu estou fazendo uma atualização e limpeza de um blog antigo que começou no Blogger.com, em seguida, movido para auto-hospedado WordPress 2.1, 2.3 e agora 3.0. As imagens nas postagens estão espalhadas: a maioria delas está em /wp-content/
, mas nem todas em /wp-content/uploads/
ou /wp-content/uploads/year/month/
. Outros ainda fazem referência aos servidores de imagem do blogger.com. Eu quero consolidar todos eles em /wp-content/uploads/year/month/
, que eu acho que é o lugar "correto"? Isso deve facilitar as atualizações posteriores.
Qual é a melhor maneira de fazer isso? Gostaria de atualizar os metadados também, para que a Biblioteca de Mídia possa gerenciar todos eles. Eu não consegui encontrar nenhuma documentação sobre isso, então desculpe se eu perdi, por favor me aponte para isso.
Claro, eu forneceria redirecionamentos dos locais antigos para o novo. Qual é a melhor maneira de fazer isso? Um template 404.php
, de um plugin? Eu gostaria de adicionar alguns registros, para que possamos encontrar as páginas de referência e talvez corrigi-las.
(Esta questão foi originalmente perguntada nos fóruns de suporte do WordPress , mas não obteve nenhuma resposta útil lá).
O W3-Total Cache possui um recurso que verifica todas as suas postagens e importa imagens externas para a biblioteca de mídia e altera os caminhos para o novo local.
Veja a captura de tela
O lugar correto é a configuração atual, eu diria. Portanto, se você usar uma pasta de upload (em vez de subpastas de anos/meses), use essa (pode ficar muito cheia, mas mais fácil de classificar. Movendo todos os arquivos dos subdiretórios ano/mês para o diretório de uploads e alterando o URL Caminhos no banco de dados normalmente devem fazer o trabalho.
Depois que tudo estiver em uma pasta (e classificada), você poderá alterar o design da pasta novamente e mover os arquivos para o diretório correto com um script PHP que lê a data do banco de dados. O mesmo script precisa adotar os caminhos de URL novamente.
Isso é algo como exatamente o mesmo script que Mike sugeriu.
No momento, a interface do usuário WP não suporta mover ou renomear arquivos manualmente, então você está vinculado a algum código próprio. O que faria sentido para um lote de qualquer maneira.
@Jan Fabry: Você provavelmente precisará lidar com cada caso separadamente, ou seja, as imagens hospedadas pelo Blogger e as externas ao wp-content, etc.
Aqui está um plugin para importar do Blogger; ele não foi atualizado há algum tempo, mas ainda pode funcionar ou pelo menos ter código que você pode usar:
Há também um plugin antigo que pode ou não funcionar:
Além disso, acho que você só precisará escrever um script PHP que varre seus arquivos e varre suas postagens, procurando por URLs de imagem incorporados, desenvolve uma lista cruzada e, em seguida, move os arquivos e atualiza a referência na postagem. . Ou talvez você tenha sorte e esse plugin ainda funcione e faça isso por você!
Boa sorte.
Talvez (e isso é só para futuros leitores - é um velho Q) você pode listar todos os 'post_type' => 'anexo' e começar a separar a partir daí. Quero dizer buscar os posts e salvar os diferentes locais em um array. Então, resolva isso para ter uma visão geral de onde suas imagens estão espalhadas ...