Сервис Photon в плагине Jetpack позволяет пользователям и разработчикам WordPress снять нагрузку со своего сервера и выдавать изображения с помощью CDN инфраструктуры сети WordPress.com. Кроме этого сервис так же позволяет выполнять разные манипуляции над изображениями, например изменять их размер, использовать разные фильтры и многое другое.
Photon является бесплатным сервисов, но есть одно ограничение — вы должны использовать плагин Jetpack на вашем сайте, и не можете обращаться к Photon API напрямую. Если вы не хотите использовать плагин Jetpack на вашем сайте WordPress, то вам придется искать альтернативу.
Imageproxy
Программист из компании Google Уилл Норрис описывает свои отношения с Jetpack как «сложные» и по «философским причинам» отказывается пользоваться популярным плагином, но сервис Photon ему понравился настолько, что он решил написать альтернативу, которую можно запустить на своем собственном сервере.
Imageproxy — это программа написанная на языке Go, которая позволяет запускать прокси-сервис для изображений, с возможностью изменять их размеры и т.д (кроме фильтров, которыми Уилл не пользуется).
Мы попробовали запустить imageproxy на нашем тестовом сервере Debian:
$ cd ~ $ git clone https://github.com/willnorris/imageproxy $ export GOPATH="$HOME/imageproxy" $ cd ~/imageproxy $ go get $ go build $ ./imageproxy --addr proxy.wpmag.ru:8080 imageproxy (version HEAD) listening on proxy.wpmag.ru:8080
Это конечно подразумевает что вы справились с установкой языка Go на вашей системе.
Другие параметры к imageproxy
можно посмотреть в самом исходном файле imageproxy.go
. При работе важно установить список доменных имен, откуда разрешено загружать изображения.
Каким образом Уилл заменяет адреса изображений на своем сайте пока не известно. Он упомянул лишь то, что в Jetpack хорошо реализована эта логика, которую можно использовать и для imageproxy. Наверное в ближайшее время можно ожидать появление плагина для WordPress, который будет работать с imageproxy.
Если вы не готовы компилировать и запускать imageproxy на вашем собственном сервере, а так же по той или иной причине не хотите использовать плагин Jetpack, есть и альтернативные решения. Например сервисы resize.ly, embed.ly или плагин Dynamic Image Resizer.