Можно и силами сайта - но я только в общих чертах знаю, к сожалению.
На странице должен быть ява-скрипт, который оказавшись на стороне пользователя определяет разрешение экрана (серверу сия инфа, вроде, недоступна) и на месте принимает решение о поджимании картинки.
хотя есть еще способ - вместо всех картинок маленькие кликабельные иконки, скажем 192х128. Но это неудобно - особенно если окажется, что реальный размер фотографии лишь чуточку больше. К тому-же алгоритмы уменьшения изображений, что доступны для пхп и ява, в целях экономии машинных ресурсов очень просты и сильно уродуют картинку.
из объективных минусов - если у статьи есть какое-то свое форматирование, то ресайзинг фотографий все убъет.
именно поэтому большинства сайтов оптимизируют под какое-то минимально-допустимое для просмотра разрешение, из предположения, что у большинства пользователей разрешение не ниже.