Redirect old forum URLs to new Discourse URLs using permalinks

Redirecionando URLs Antigas de Fórum para Novas URLs do Discourse Usando Permalinks

Se você migrou de outro software de fórum para o Discourse usando um de nossos scripts de importação, então provavelmente deseja que todos os seus resultados de busca do Google, arduamente conquistados, continuem apontando para o mesmo conteúdo. O Discourse tem uma maneira integrada de lidar com isso para você como uma alternativa à escrita de regras do nginx, usando a tabela de consulta de permalinks.

A tabela de permalinks permite que você defina duas coisas: uma URL para corresponder e o que essa URL deve mostrar. Existem algumas opções para definir para onde a URL deve redirecionar. Defina uma destas:

  • topic_id: para mostrar um tópico
  • post_id: para mostrar uma postagem específica dentro de um tópico
  • category_id: para mostrar uma categoria
  • external_url: para redirecionar para uma URL que pode não pertencer à sua instância do Discourse

Por exemplo, se as URLs de tópico do seu fórum original fossem http://example.com/discussion/12345, e a URL desse tópico após a importação for http://example.com/t/we-moved/987, então você pode configurar o mapeamento assim:

cd /var/discourse
./launcher enter app
rails c
Permalink.create(url: '/discussion/12345', topic_id: 987)

O Discourse então realizará um redirecionamento com código de status de resposta HTTP 301 (movido permanentemente) para a URL correta do ID do tópico 12345. O 301 deve fazer com que os motores de busca atualizem seus registros e comecem a usar as novas URLs.

Se você quiser que algumas URLs redirecionem para fora do Discourse, você pode fazer isso definindo external_url:

Permalink.create(url: '/discussion/12345', external_url: 'http://archived.example.com/discussion/12345')

Informações Adicionais

Para encontrar o ID de uma subcategoria, você pode procurá-la pelo slug assim:

Category.find_by_slug('products').id

Para excluir o permalink dessa URL, faça o seguinte:

Permalink.find_by_url("/blah").destroy

Só pode haver um registro de permalink por URL, então basta pesquisar por URL.

Criando um mapa de tópicos do MyBB para o Discourse

Perguntas sobre redirecionamento do Discourse para WordPress

https://meta.discourse.org/t/discourse-to-wordpress-redirect-questions/87031

Normalização de Permalink


Última Revisão por @SaraDev em 2022-06-03T20:00:00Z

37 curtidas