Мыслите правильно!
Однозначно, весь текст статьи/публикации/материала нужно разбивать на модули:
1. Заголовки статьи: все уровни ("дерево" заголовков или, проще говоря, содержание)
2. Теги (1..N)
3. Параграф (1..N)
4. Изображение (1...N)
5. Видео (1..N)
6. Исходный код (1..N)
7. Спойлер (1..N)
8. Внутренний iframe (1..N)
9. Внешний виджет: ролик youtube, codepen.io, jsfiddle.com и т.д. (1...N)
10. Комментарии (1..N)
11. Линки (1..N)
и т.д.
И саму структуру статьи ("древовидный каракас"): где и что должно располагаться, что и куда должно быть вложено, и в каком порядке следовать друг за другом (разметка вместе с ID-шниками ресурсов).
Это поможет проще контролировать контент, сделать хороший поиск и использовать повторяющиеся элементы (в одной или разных публикациях) из одного источника (по ID).И про правильное хранение текстовых данных (сегментацию):
здесь