- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
На сайте например есть пару сотен тысяч товаров, у каждого товара есть по несколько изображений, у каждого изображения по 5 и более миниатюр разных размеров. Эти миниатюры (превьюшки) используются на каждой странице разных размеров копии, а оригинал используеися только в галерее товара.
Сама суть вопроса, как правильно хранить эти картинки?
Например, каждому товару соответствует папка на сервере с именем равным id товара, в этойто папке и лежат все изображения товара, имена у них имеют префикс который соответствует размеру миниатюры, и в момент когда клиент заходит на страницу товара, скрипт ищет папку с ид товара переберает содежимое в ней и регуляркой отфильтровывает нужные миниатюры. Другой вариант, хранить адреса к этим картинкам в базе, тогда не надо будет перебирать папку с изображениями товара. Хранение адресов в базе проще и практичнее, например так легко задать последовательность вывода картинок и установить основную, но этоже можно сделать и префиксами к именам файлов - но так будут корявые имена со всякими лишними символами помимо имени товара.
Вот меня интересует, какой лучше способ использовать, с точки зрения производительности, удобства и оптимизации. Или предложите свой более продуманный вариант.
В любом случае будут лишние символы в названии изображения, 5 изображений с одинаковым именем не сделаешь.
Можно вообще все в одну папку сделать, название ведь для каждого товара разные, т.е. будет ручка.png, ручка200x300.png - это для миниатюр, карандаш.png, карандаш200x300.png и т. д.
Так же если хотите чтобы все было упорядочено, то можно разбить по папкам, например название папки - категория, и туда соответственно грузить все.
Просто если для каждого товара создавать папку и грузить туда по 5+ изображений это громоздко, у вас же не пару товаров, а 2к+.
Это получится 2к+ папок
bomjik, а что плохого в том, что много папок?
Вот меня интересует, какой лучше способ использовать, с точки зрения производительности, удобства и оптимизации.
Путь к миниатюре определенного типа, должен однозначно просчитываться по формуле из пути к оригиналу (который хранится в базе) и названия типа миниатюры.
Например оригинал:
/file/587238.jpeg
Тип миниатюры:
tb123
Путь к миниатюре:
/cache/images/tb123/587238.jpeg
bomjik, а что плохого в том, что много папок?
Много папок так же плохо, как и много файлов в одной папке. Тяжело ОС это обрабатывать.
В старых файловых системах вообще были ограничения на количество файлов в одной папке.
Грубо говоря, чем больше папок/файлов, тем больше времени надо, чтобы получить доступ к искомой.
Посмотрите как это решено в разных движках магазинов - не сталкивался.
В WordPress вполне логичное решение: год/месяц/картинки.jpg - для блога подходит идеально. Для ecommerce, если сразу загружать 100.000 товаров, то уже не очень.
Solmyr, Почему именно такой способ? В чем именно здесь оптимизация?
Я чтоб не делать тыщи файлов в одном каталоге делаю субкаталоги, например, можно по первым двум буквам MD5 хэша id товара, например.
сделать подпапки и не мучать мозг
/images/1.jpg
/images/small/1.jpg
/images/preview/1.jpg
/images/full/1.jpg
и тд
если картинок папок много, добавить внутри папок еще иерархию
если ваш сервер не справляется с папками, то сменить сервер надо было лет 5 назад
Много папок так же плохо, как и много файлов в одной папке. Тяжело ОС это обрабатывать.
При обыкновенных запросах к файлам, по их именам, ОС абсолютно фиолетово, какая там именно у вас структура каталогов. Много папок или много файлов. Разница появляется если вы какой-то программой для просмотра структуры папок начинаете на сервере пользоваться и инициализируте итерацию по директории.
При бэкапах/репликации в общем случае хорошо, когда у вас итого мало папок, не мало папок в какой-то конкретной подпапке, а вообще, итого папок мало. Это обычно бывает при такой структуре, когда в одной папке много файлов.