ТЗ переезд
Необходимо перенести весь контент с двух отдельных проектов, которые созданы с помощью wordpress и discourse, на один новый проект на cms forem.

Сайт на wordpress имеет 1500+ статей и 30+ категорий, 2000+ комментариев, пользователи
На discourse форуме 560+ статей, тегов 20+, пользователей 2500+

Самое важно, это не потерять при переносе SEO показатели сайта на wordpress. Поэтому нужно перенести все метатеги и сделать 301 редирект со старых ссылок статей на новые. Для сайта на discourse желательно тоже сделать 301 редирект.

Сайт на wordpress:

Так как wordpress самый популярный движок в мире, у нас есть возможность экспортировать данные с помощью нативных инструментов cms, есть огромная куча плагином, которые позволяют сохранять или передавать данные в любой формат, подключиться напрямую к базе, есть API и хорошая документация.


Сайт на discourse:

Discourse cms написана на Ruby и установка производиться на сервер в doker. Тут я вижу только возможность использовать API движка для экспорта контента, может быть можно еще подключиться удаленно к базе. 


Переносим на forem cms

Это новая cms от разработчиков популярного сайта https://dev.to. Forem появился в августе 2020 года, поэтому не так много информации о нем. Имеет API, который позволяет публиковать статьи удаленно. Написан на Ruby и устанавливается тоже в docker.


API позволяет публиковать статьи, комментарии, создавать пользователей и тд.


Формат данных

Проблема (или нет проблемы, нужно проверить) в разных форматах данных. В Wordpress в базе статья храниться в обычном html. В discourse, при публикации статей, поддержвается Markdown, BBCode и HTML. В Forem публикация статей происходит с помощью Markdown. Исходя из этого, наверное, необходимо будет все данные переделывать а разметку Markdown. 

Документация по Forem Markdown https://dev.to/p/editor_guide

Можно нагуглить как с BBCode и HTML преобразовать в Markdown. Вот первое, что нашлось по поиску:

Wordpress база использует mySQL, discourse и forem на PostgreSQL.

Но наверное лучше не через api делать а может напрямую с базы в базу. Вот пример скрипта https://github.com/thredded/thredded/wiki/Migrate-from-Forem

Список скриптов миграции на discourse с других движков: https://github.com/discourse/discourse/tree/master/script/import_scripts

Какие данные нужно перенести