Importação do Blogger para o WordPress mantendo a URL

Como já expliquei em outro post, o WordPress e o Blogger criam a URL de um mesmo post de forma distinta.

Ao utilizar a ferramenta de importação do Blogger no WordPress 2.2 tive de fazer algumas alterações no arquivo blogger.php, que fica dentro do diretório import do wp-admin para manter o mesmo nome.

Primeiro, fiz a seguinte alteração na linha 518, de:

[code lang=”php”]
$post = compact(‘post_date’, ‘post_content’, ‘post_title’, ‘post_status’);
[/code]

para

[code lang=”php”]
preg_match(“/\.post-([0-9]+)$/”, $entry->id, $matches);
$blogger_id = $matches[1];
preg_match(“/([^\/]+)\.[a-zA-Z0-9]+$/”, $parts[‘path’], $matches);
$post_name = $matches[1];
$post = compact(‘post_date’, ‘post_content’, ‘post_title’, ‘post_status’, ‘post_name’);
[/code]

As duas primeiras linhas são apenas para pegar o id numérico do post no Blogger (vou precisar disso para recuperar os comentários antigos, da época em que eu usava o dotcomments).

As três últimas linhas são para pegar o nome do arquivo que o Blogger criou para o post (sem a extensão) e guardar na variável “postname” do post no WordPress.

Finalmente, após a linha abaixo:

[code lang=”php”]
add_post_meta( $post_id, ‘blogger_permalink’, $entry->old_permalink, true );
[/code]

acrescentei a seguinte linha para criar uma meta informação no post, chamada “blogger_id” com o id numérico do post no Blogger:

[code lang=”php”]
add_post_meta( $post_id, ‘blogger_id’, $blogger_id, true );
[/code]

Depois de tudo importado, vem a parte fácil. Em “Opções” vá em “Permalinks” e marque a opção “Personalisada”.

Se seu servidor suporta mod_rewrite ou uma ISAPI que faça isso (não vou explicar como, use o Google) utilize o permalink abaixo e os endereços dos posts no WordPress serão exatamente os mesmos de tinham no Blogger (toque o .php pela extensão que as páginas tinham no seu blog, claro):

/%year%/%monthnum%/%postname%.php

No meu caso não deu para manter o mesmo nome por não ter mod_rewrite, ISAPI API ou redirect, tive de deixar como:

/index.php/%year%/%monthnum%/%postname%/

Como a variável %postname% é exatamente a url (sem a extensão) da página no Blogger, pude alterar o template do Blogger para direcionar automaticamente cada url antiga para sua nova url no WordPress, como descrito nesse post.

Deixe um Comentário

6 Comentários.

  1. Importar comentário do DotComment no Wordpress | HoloCoCos @ TNT - pingback on 18 de junho de 2011 em 4:20
  2. Idivaldo, não sei o que essa pergunta tem a ver com o assunto do meu post, mas creio que a melhor forma é dirigindo…

  3. Idivaldo santos melo

    Gostaria de saber como fazer para trazer meu carro para santos S.P,.. esta pago, e queria usa-lo aqui como fazer ?

  4. eu quero saber URL

Não fique de fora, dê sua opinião!

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.