Есть 2 подхода:
1) Разруливать в компонентах/шаблонах, т.е. прописывать, что к чему в коде. Но это не гибко, так как придётся постоянно править код.
2) Промежуточный инфоблок, который хранит, какие свойства выводятся для определённой группы.
Создается инфоблок, элементы которого, имееют свойство с привязкой к разделу каталога и свойство, в котором, допустим, перечисляются активные свойства (коды свойств).
Теперь по идентификатору раздела, мы можем получить список активных свойств для этого раздела.
Такая же техника как и в таблицах. Промежуточный инфоблок, например, в котором, элементы содержат сопоставления групп и нужных свойств. Соответственно, в будещм легко всё будет настраивать из админки.
Чуть выше дополнил. Суть такова, по нужной ссылке с параметром ты вывод помещаешь в буфер, а потом в переменную, а потом отдаешь с нужными заголовками. Т.е. вместо вывода на экран сразу, ты используешь буфер и нужные заголовки.
Лично я бы делал на какой-нибудь cms поверх одного из мейнстримовых фреймворков: yii, symfony, laravel.
Конечно, это более медленный путь в отличие от готовых блогоориентированных движков, но в долгосрочной перспективе более выгодный.
Можно. Оптимально: 1 ключ - 1 пользователь и запирать в папке. Если несколько пользователей, то общая группа. Например, про chroot ssh можно почитать в мане дебиана
Как таковой проблемы в большом количестве файлов в одной директроии в современных фс нет. Но для программ, которые будут работать с этой директорией, например ftp, это будет очень тяжко. Оптимальный вариант - от 1000 до 3000 на папку.