Руслан Янбердин: Не знаю как с JS и GO дела обстоят, но в PHP у меня реально получается "ужиматься" до 20 (ну максимум 30) строк. Да, в классе становится "людно" - много функций, но читаемость кода повышается в разы.
"Любой крупный магазин" - это не показатель того, что там правильная архитектура. Основное правило в вебе - не заставляйте пользователя думать, ну и кликать много.
А чем вас не устраивает Nested Sets? Его широко используют. Он очень быстр при выборке данных, хотя уступает в скорости при их обновлении. Ну и для него очень много имплементаций в сети. Хотя бы тот же https://github.com/yiiext/nested-set-behavior
А в панели разработчика так и должно быть - функцией load вы грузите целую страницу, а уже потом по id контент должен обрабатываться. Ищите проблему в ID.
Pjax это "надстройка" над Ajax, позволяющая легко добавить в историю браузера новый урл. Если это нужно в вашем случае (например, нажимая "Загрузить еще" вы подгружаете 2-ую страницу каталога) - то используйте его.
"Автоматом" :) никак, ну может быть если прикладом побить ... хотя тоже вряд ли... По сути - логика вставки текста (ссылка это же текст) в textarea - полностью за вами. Самое банальное - считываете value у textarea и икрементируете его на значение ссылки: value += link.