Na madrugada de quinta para sexta eu fiquei até altas horas só para conseguir importar os dados da “Tv Retrô” do Blogger para o WordPress. Na verdade tudo foi bem simples, só que aconteceu um grave problema que eu já sabia que iria acontecer: A questão das URLs. Veja a diferença:

No Blogger:
http://www.tvretro.net/2007/06/os-melhores-dos-anos-90-parte-i.html

No WordPress:
http://www.tvretro.net/2007/06/12/os-melhores-dos-anos-90-parte-i/

Como fazer com que não desse um erro 400 (página não encontrada)? Criar página por página estava totalmente fora de questão. Mesmo não sendo impossivel, já que eram “só” 90 posts, para um programador isso seria baixar o nível!

Achei algumas alternativas na internet, mas envolviam mexer no .htacess e outras coisas, e que não garantiriam a eficácia devido a problemas de diferença de acentuação do titulo entre os 2 blogs.

Olhando o mysql acabei descobrindo que o WordPress tem uma tabela com os endereços originais do Blogger e qual o ID do post no WordPress! Bingo!!! ai ficou fácil

Os passos que eu utilizei, para quem quiser entender melhor! Abri o arquivo principal do WordPress (index.php) e coloquei:

1º- Pegar a URL requisitada e analizar se as 5 últimas letras são “.html” ;

2º – Se não forem, executar a página normalmente. Se for, pegar a URL inteira, consultar o banco de dados que contém as URLs originais e me retornar o ID que o post ficou no wordpress

3º- Pegar o ID e consultar em outra tabela qual a URL no WordPress

4º- Pegar essa URL e redirecionar a solicitação de página para ela!

Como o WordPress por si só faz umas 500 buscas no mysql para montar uma página, acrescentei mais 2 querys! Acho que não teria muita queda de performance para até 10.000 acessos diários (ainda está um pouco longe disso)

Ficou assim:

Código fonte da transferência

Se alguém quiser tentar, é extremamente simples. Faça um backup do arquivo index.php original e coloque esse aqui no lugar (não esqueça de descompactar)! Substitua somente o endereço onde está o arquivo com a conexão do Banco de dados (linha 10) e pronto!!! Deve funcionar!

Download do index.zip