Как избавится от сотен товарных карточек в html коде?
Переписать в json и вывести всё это в цикле в javascript - и будет на выходе один блок в котором гора карточек

примерно вот так 

snippet
snippet

это я единственное что на js умею
Повторяющиеся элементы выводятся с помощью циклов, на уровне бэкенда или фронтенда.

У тебя в руках скорее всего либо реально очень старый сайт, который писали руками с копированием, либо просто результат работы бэкенда.

В php это выглядело бы как-то так:
...
foreach (&items as $item) { ?>
[HTML-тело карточки товара со вставленными параметрами вида $item->title]
Могут быть как прямые выводы на ЯП, так и с помощью шаблонизатора.

Итого, если у тебя проект с бэкендом, или фронтом, которые позволяет рисовать в цикле из базы или файла, используй язык. А если нужно просто 1 раз занести список, то можно это сделать в файле и обратить к генератору статики, например Jekyll.