Migração de comentários Disqus para um novo domínio ou paltaforma

Recentemente migramos do Drupal para o Blogger. Usávamos e ainda usamos o Disqus como plataforma para os comentários do nosso blog. Como os caminhos (URLs) para os artigos mudaram, também tivemos de fazer uma migração dos comentários.

Ferramentas Disqus para migração de threads

O Disqus tem várias ferramentas que ajudam na migração de comentários baseada em mudanças de domínio ou de caminhos:

  • Domain Migration Wizard: usar quando a única coisa que muda é o domínio (os caminhos para os artigos permanecem iguais).
  • Upload a URL map: fornecer um ficheiro CSV com o mapeamento dos caminhos antigos para os novos.
  • Redirect Crawler: se têm configurados redirects 301 para todos os caminhos antigos, este crawler faz o mapeamento automático dos caminhos antigos para os novos.

Como migramos os threads do Disqus

Apesar de termos criado redirects 301 para os nossos caminhos antigos, nem todos os artigos ficaram cobertos, por isso não usamos o Redirect Crawler.

Os redirects que se podem configurar no Blogger têm uma limitação: não é possível redireccionar para outro domínio. Como temos o blog em duas línguas e como usamos um sub-domínio para a versão Portuguesa do blog, não podemos fazer o redireccionamento apropriado dos caminhos antigos dos artigos Portugueses (www.broculos.net/pt/...) para o novo sub-domínio (pt.broculos.net/...), por isso o Redirect Crawler estava fora de questão.

Para migrar os threads, criamos um ficheiro CSV com o mapeamento dos caminhos antigos para os novos, o que foi bastante simples:

http://www.broculos.net/pt/artigo/as400-cap%C3%ADtulo-1-introdu%C3%A7%C3%A3o,http://pt.broculos.net/2007/10/as400-chapter-1-introduction.html
http://www.broculos.net/pt/artigo/as400-cap%C3%ADtulo-2-comandos,http://pt.broculos.net/2007/10/as400-chapter-2-commands.html
http://www.broculos.net/pt/artigo/as400-cap%C3%ADtulo-3-bibliotecas,http://pt.broculos.net/2007/10/as400-chapter-3-libraries.html
...

Threads em falta e como funciona o Disqus

Depois de usarmos a ferramenta de mapeamento de URLs, ainda tínhamos muitos artigos sem comentários e não percebíamos porquê. Nesta altura, é importante perceber como o Disqus identifica threads e como os relaciona às páginas.

O Disqus usa o identificador Disqus, que se pode passar ao script Disqus usando uma variável JavaScript de configuração chamada disqus_identifier. Este identificador é o que determina o thread apropriado a carregar.

Não é obrigatório usar o identificador Disqus, mas se o definirem na página, o Disqus vai usá-lo para carregar o thread. Se não estiver definido, o Disqus vai usar o URL da página.

É suposto a migração mapear os caminhos antigos aos novos, mas descobrimos que muitos threads não tinham um caminho associado e, por causa disso, não foi possível migrá-los com as ferramentas Disqus. A única forma de identificá-los foi usando o identificador Disqus.

Como é que descobrimos que os threads não tinham um caminho associado? Quando começamos a investigar porque é que a migração tinha falhado para alguns artigos, usamos a ferramenta de exportação do Disqus, que exporta todos os threads e comentários num formato XML.

Ao inspeccionar o ficheiro XML, descobrimos os threads que não tinham um caminho associado e os seus respectivos identificadores. O que fazemos então é, para todas as páginas que não mostram comentários, definir manualmente o identificador e passá-lo ao script Disqus.

Podem identificar o thread com o seguinte código algures na página (antes de ser carregado o script Disqus):

var disqus_identifier = "id";

Fizemos isto para todas as páginas com threads em falta e o problema ficou resolvido.

Nuno Freitas
Publicado por Nuno Freitas em 22 abril, 2013

Artigos relacionados