Transferindo posts de um blog para outro blog no Wordpress

Quando iniciei a reestruturação dos meus blogs, pensei que a tarefa seria extremamente simples.
O Wordpress conta com ferramentas para exportação e importação de artigos, comentários páginas e etc...
Praticamente tudo do blog antigo pode ser aproveitado no blog novo.
A transferência, em si, é a parte mais simples do processo, apesar de alguns problemas no algoritmo de importação, ela funciona.
Porém, a intenção era fazer a transferência, sem perder:
- Links de outros blogs
- Assinantes de feeds
- Páginas indexadas
- Etc...
E fazer tudo isso, com o menor impacto possível, está longe de ser um mar de rosas.
Vou usar como exemplo, ao longo deste tutorial a transferência do BrPoint para cá, pois foi um pouco mais complexa que o do blog pessoal e poderei cobrir mais áreas.
Tive que deixar só a introdução na home, por causa do tamanho do tutorial.
Planejando
A primeira coisa a fazer é planejar a transferência, algumas perguntas devem ser respondidas:
- Vou deixar a mesma estrutura de categorias?
- Vou colocar todos os artigos em uma única categoria?
- Existe algum artigo ou página que ficará duplicado?
- Como modificarei os endereços dos artigos?
- Existe algum requisito especial para que os artigos e páginas funcionem corretamente?
As respostas, dependem da sua necessidade e das ferramentas disponíveis.
No meu caso específico, como a estrutura de categorias do BrPoint e do BrPoint eram grandes e a do BrPoint um tanto quanto complicada (categorias aninhadas), preferi optar por deixar todos os artigos do BrPoint na categoria SEO, que já existia no BrPoint.
No caso desses blogs, não haveria nada duplicado, somente teria que renomear a página sobre do BrPoint para SEO, pois o sobre de lá era mais uma descrição do que é SEO do que efetivamente um sobre.
A modificação dos endereços fica simplificada, uma vez que resolvi colocar tudo na mesma categoria.
A estrutura dos nomes dos artigos no BrPoint era:
/nome_da_categoria/nome_do_artigo.html
Já no BrPoint:
/arquivo/nome_da_categoria/nome_do_artigo.html
Então eu só teria que transformar a parte /nome_da_categoria/ em /arquivo/seo/.
O BrPoint possuía alguns plugins fundamentais para seu funcionamento, além de uma página personalizada, para a ferramenta de posicionamento no Google.
Exportando e importando
Depois que planejamos a mudança, é hora de começar a fazê-la.
Exportação
A exportação é extremamente simples, basta acessar a tela de exportação, no Manage >> Export, como visto abaixo:

Nesta tela, você poderá escolher os artigos de qual autor quer exportar, caso seja só de algum específico, caso contrário, basta selecionar a opção All.
Será gerado um arquivo XML com todos as categorias, artigos, comentários, páginas etc...
Se você quiser e conhecer a souber como, já pode fazer algumas alterações no próprio arquivo, economizando tempo, depois.
Preferi não fazer nada e deixar para organizar as coisas depois de importado.
Importação
Em teoria, esta parte é tão simples quanto a anterior, mas na prática, podem acontecer problemas.
O primeiro passo é importar o arquivo gerado na etapa anterior, isso é feito acessando a tela Manage >> Import.

Basta selecionar o arquivo baixado na exportação e clicar no botão Upload File and Import.
Depois que acabar o carregamento do arquivo, aparecerá uma tela para definir o autor que ficará com os arquivos importados, você pode criar um novo autor ou mapear para um autor existente.

A tela aparecerá uma vez para cada autor do arquivo original.
Recomendo, fortemente, que seja criado um autor específico para os artigos importados, isso facilitará, caso precise fazer modificações nos mesmos, já que o Wordpress conta com várias ferramentas para seleção por autor.
Depois disso, basta clicar no botão Submit e rezar.
Devido a maneira como o script de importação foi escrito, invariavelmente, dará erro de tempo de execução, conforme abaixo:

Existe uma maneira simples de contornar esse erro: como o script pula artigos que já foram importados a cada nova rodada, basta fazer com que o mesmo rode a importação inúmeras vezes.
Por sorte, não é necessário executar todo o processo, desde o início, basta clicar no botão voltar do navegador e clicar no botão Submit, novamente, até que recebamos a mensagem de que tudo foi importado corretamente.
Organizando o blog
Agora, temos os artigos do blog antigo no blog novo, mas existem uma série de problemas que precisamos resolver, como:
- Adequar as imagens e demais arquivos utilizados pelo blog antigo.
- Fazer alterações necessárias nos artigos.
- Redirecionar os visitantes para o novo blog.
Adequar arquivos
Para quem usa arquivos externos ao blog, como imagens no Flickr ou vídeos no YouTube, não há nada a fazer nesta etapa, os arquivos continuam onde estavam.
Quem usa sempre o editor do Wordpress, terá uma excelente surpresa, pois a importação trará todos os arquivos que foram enviados através do upload do editor para o novo servidor, também, nada a fazer.
Já quem, como eu, usa um editor externo, que envia os arquivos para o servidor, seja via API ou via FTP, terá que fazer a mudança manualmente.
Você pode utilizar um programa de FTP padrão ou um on-line, preferi o uso do on-line, por ser bem prático, usei o net2ftp, não vou entrar em detalhes nesta parte, pois uso do FTP não é o foco deste artigo.
O único cuidado a ser tomado é deixar a mesma estrutura de diretórios que existia no blog antigo, caso contrário, terá que editar todos os artigos para colocar as novas localizações.
Alterar Artigos
Nesta parte, faremos as alterações necessárias nos artigos.
Na maioria dos casos não haverá muito o que fazer nessa etapa, só é necessário ficar muito atento aos post slugs, pois podem ser alterados e modificação a URL dos artigos, fazendo com que sua regra de redirecionamento fique quebrada.
Para selecionar todos os novos artigos, basta ir na página Users e clicar em View x posts, na linha do autor que criamos na importação, onde x é o número de artigos importados.
No meu caso, passei por todos os artigos e mudei a categoria para SEO, e corrigi os post slugs que eram necessários.
Se você não for fazer mais nenhuma alteração nos artigos importados, pode aproveitar para mudar o autor para o principal, se quiser.
Redirecionar Visitantes
Esta etapa dependerá muito do que você decidiu na fase de planejamento.
Edite o arquivo .htaccess criado pelo Wordpress, removendo todas as instruções que estão lá, deixe apenas:
RewriteBase /
Redirecionando páginas
O redirecionamento de páginas, que precisam mudar de nomes, é direto,uma regra específica para cada, como falei anteriormente, só precisei redirecionar a sobre, para a SEO.
Para isso, usei a seguinte regra:
Redirecionando Artigos
Aqui a situação pode ficar um pouco mais complicada, uma vez que a estrutura de endereço pode ser diferente.
No caso da importação do blog pessoal para o Diversos, não tive problemas, pois adeqüei a estrutura do Diversos para a mesma do Pessoal, antes de fazer a importação.
Já queria fazer essa alteração há algum tempo, aproveitei que já estava com a mão na massa e fiz.
Para que os links antigos do Diversos, funcionassem corretamente, usei o plugin Dean's Permalinks Migration, que faz os redirecionamentos internamente.
Já na importação do BrPoint, como disse antes, a estrutura de arquivos era:
- BrPoint: /nome_da_categoria/nome_do_artigo.html
- BrPoint: /arquivo/nome_da_categoria/nome_do_artigo.html
Eu teria que transformar /nome_da_categoria/ em /arquivo/seo/, para isso usei a seguinte regra:
Essa regra pega toda a parte antes do nome do artigo (o nome das categorias, no caso) e pega o nome que vem antes do .html (nome do artigo), na segunda parte, uso somente o nome do artigo para colocar na categoria SEO no BrPoint.
Redirecionando Feeds
O Wordpress gera um incontável número de feeds:
- Para o blog.
- Para cada categoria.
- Para comentários.
- Para cada artigo.
- Etc...
Para resolver esse problema, usei uma regra que já havia usado para direcionar os feeds para o FeedBurner.
Redirecionando todas as categorias
Como decidi que os artigos de todas as categorias do BrPoint ficariam na categoria SEO do Brpoint, tive que criar uma regra que fizesse esse redirecionamento.
Essa regra pega qualquer coisa que possua /assunto/ (estrutura de categorias do BrPoint) e redireciona para http://www.brpoint.net/seo/.
Redirecionando o resto
Cada uma das regras acima é final (por isso o L), mas se uma determinada URL não for adequada a nenhuma das regras acima (imagens, por exemplo), preciso redirecioná-las para o novo blog.
Assim criei, no final do .htaccess, uma regra geral que redirecionará tudo que não foi visto antes.
Essa regra pega qualquer coisa e redireciona para o endereço do novo blog, com o mesmo endereço de arquivo, resolvendo o problema.
Conclusão
A transferência, em si, não é a parte mais trabalhosa.
O complicado é contornar os problemas que a transferência causa.
Mesmo com essas atividades é esperada uma queda, principalmente, na indexação dos artigos, mas é um preço que resolvi pagar para poder alavancar o blog principal.














Ótimo tutorial, sofri um pouco quando migrei de endereço, saindo de um subdominio do host para meu próprio dominio.
Mas nada comparado com as etapas aqui descrevidas. Mas imagino o quanto tem que ser estudado para fazer as alterações.
Parabéns.
Bruno, obrigado.
Deu um bocado de trabalho, mas o resultado está sendo compensador.
Estou conseguindo aumentar a atualização do BrPoint e, a princípio, não perdi nada do BrPoint.
Abraço
E quem assinava o feeds do SEO agora recebe o do BRPoint ou apenas da categoria Seo do site?
Até poderia ter feito desta forma, se o BrPoint não direcionasse todos os feeds para o mesmo endereço.
Bastaria mudar a linha de redirecionamento do feed para:
Abraço
meio off-topic, mas não pude deixar de comentar: que bom que o velho azul está de volta!
Mitchel, o outro tema era legal, mas cansou rápido, não sei quanto esse vai durar, mas por enquanto estou satisfeito.
Abraço
Agora sim, está muito melhor que o tema anterior.
Tava precisando de um tutorial explicando mesmo a exportação no WordPress.
Tiago, obrigado.
Abraço
Este artigo me será muito útil daqui a alguns dias, quando fundirei o Deskmod ao WinAjuda.
Aproveitando o ensejo, Bruno, queria pedir uma opinião. Migrei o WinAjuda para outro host, e na transição, para que os caracteres especiais (entities) fossem exibidos de maneira correta, tive que alterar a codificação do WordPress para ISO-8859-1. Isso traz algum malefício a curto/médio/longo prazo?
Grato desde já!
[]'s!
Rodrigo, só dará problemas, se você tiver que usar alguma ferramenta automatizada, que use UTF-8, que é quase um padrão.
Fora isso não existe problema algum.
Eu prefiro usar sempre o UTF-8.
Abraço
Tentei fazer isso, mas a m*rda do meu servidor não agüentou... Toda hora o consumo de CPU ultrapassava os 20%, e aí o servidor caía.
Desisti.
[]'s!
Rodrigo, o processo é bem puxado, mesmo, mas não deveria chegar a tanto.
Estava tentando transferir muitos artigos?
Existem outras formas de se fazer, mas na maioria você vai perder algumas coisas.
Abraço
Oi Bruno!
Eu tinha um blog no UOL (www.soseriados.zip.net) e criei um novo no wordpress.
Tenho como importar os posts do antigo sendo que o UOL não aparece na lista de provedores que o Wordpress faz automaticamente?
Não faço questão de manter categorias ou comentários, apenas os posts.
Grata,
Simone
Simone, você pode tentar importar do feed RSS, viram só os artigos, sem comentários, mas já é meio caminho andado.
Não me lembro se o UOL fornece feeds completos, se não fornecer, não consigo ver outra opção além de copiar e colar.
Abraço
Ixi Bruno, o feeds do UOL são parciais, na verdade muito parciais, apenas com título se me lembro bem.
A Simone vai ter que passar na unha mesmo.
Mas se for recorte e cole eu não vou perder as datas das postagens?
Elas vão ficar com a data do dia da colagem, certo?
Thanks pela ajuda!
Si
Dessa vez vou ser mais rápido que o Alves.
Na área de post do Wordpress tem uma opção para escolher a data da postagem. Basta modifica-la.
Vocês são uns anjos!
Obrigada!
Simone, infelizmente, esse é o único jeito que sobrou.
Bruno, obrigado pela ajuda.
Abraços
[...] escolher um em definitivo até a próxima revolta com o azul. Além disso, ele também ensina como transferir posts de um blog pra outro e vice-versa (e foi assim que o BrPoint e o IMNHO foram parar sob o mesmo domínio), dá as [...]
[...] nas últimas 2 ou 3 horas, dissecando o seu BrPoint, categoria SEO. Agora estou ‘preso’ neste tópico aqui, onde ele ensina a migrar posts de um endereço à outro. Se pra ele não foi nada fácil migrar de [...]
Olá Bruno. Ótimo tutorial, mas antes de seguir, uma dúvida: como ficam as estatísticas do blog? Tem como exportar? Estou migrando meu blog do ciso.wordpress.com para um hosting próprio com domínio (ciso.blog.br), Estou na dúvida se migro as mensagens pro novo ou se mantenho o velho e passo a escrever novos posts no novo, pois quero manter os números das estatísticas. O que me diz?
Opa, to pensando em fazer uma fusão lá no meu blog, no caso, seria um blog do wordpress.com para o host do meu blog atual. Com este tutorial os links do outro blog (wordpress.com) continuarão indexados? Outra coisa, desta forma os usuários do outro blog entrarão automaticamente no novo blog? Se não, existe alguma coisa que deve ser feita?
Obrigado.
Quando eu fiz a importação dos meus post (do meu blog wodrpress) para a minha instalação do wordpress 2.3.3, todas as tags dos post aparecem como números. Poderia me dar alguma dica para solucionar isto?
Olá Bruno, no passo da importação como na figura acima o WP aqui só permite arquivo de até 2MB. Na sua imagem acima permite 16MB. O meu upload tem 14MB. Como faço pra aumentar esses 2MB que meu blog permite e conseguir importar meus posts que fiz backup?
Obrigado