но слепить таким способом целую страницу, 10-20 страниц - слабо себе представляю.
вам надо почитать для затравки, например, о CMS. Затем скорее всего о бэкенд части, потому как генерация страниц именно с его помощью и происходит. Никто в светлом уме не верстает 20 разных страничек для однотипных товаров.
Например, Есть у нас интернет магазин смартфонов. Есть модели самсунга, сони, айфона и тд и тп. Верстка у них одинаковая, меняются только данные. Для того чтобы получить страничку с конкретным товаром клиент, то есть юзер, кликает по ссылке с товаром, в этот момент происходит запрос к серверу, в запросе к серверу передается уникальный идентификатор нужной нам странички. На сервере этот запрос обрабатывается, на основании этого уникального идентификатора генерируется запрос к базе данных, который выберет только нужные нам данные (текст, ссылки и прочее) для конкретной страницы. Запрос возвращает бэкенду данные. А бэкенд вставляет их в нужные места на странице. Вуаля. У нас есть одна и та же верстка, но в соответствии с запросом она выдает нам разные данные. Надеюсь понятно объяснил.
Так что без бэкенда в этом деле каши особо не сваришь)