Запуск WordPress из сети CDN, созданной с помощью сервиса Amazon S3
Сайт, загрузка которого выполняется очень быстро, обладает многочисленными преимуществами, среди которых особо можно отметить следующие:
- Поисковая система Google при ранжировании сайтов принимает во внимание скорость их открытия. Иными словами, чем быстрее открывается сайт, тем выше будут его показатели, а следовательно, и позиция в поисковой выдаче.
- Если сайт открывается медленно, пользователи просто закроют его и перейдут к другим ресурсам. Мало того, что вы потеряете посетителей, так еще и впечатление от сайта будет изрядно подпорчено.
Что такое Content Delivery Network (CDN)?
Сеть доставки (и дистрибуции) контента (коротко CDN) – это специальная система географически распределенных серверов, позволяющая оптимизировать процесс распространения контента. С помощью CDN можно заметно повысить скорость открытия страниц сайта, что достигается благодаря следующим двум факторам:
- Обработка большого числа запросов к серверу может привести к заметным задержкам при открытии страниц сайта. К примеру, если на вашей главной странице расположено 100 изображений, сервер не может одномоментно наштамповать их и выполнить остальной PHP-код. Сеть CDN обладает всеми необходимыми функциями для быстрой передачи файлов, что приводит к заметному ускорению работы сайта в целом.
- Файлы, занесенные в CDN, хранятся сразу на нескольких серверах во всем мире, что позволяет быстро получить их из любой точки планеты. Географическое расположение играет здесь немаловажную роль. При запросах всегда выбирается тот сервер сети CDN, который находится ближе всего к пользователю.
Создание CDN с помощью Amazon S3
Amazon S3 (Amazon’s Simple Storage Service) – облачный сервис, позволяющий хранить любые типы файлов. Amazon S3 может применяться для разных целей: к примеру, для резервного копирования важных файлов, – однако мы собираемся использовать этот сервис для хранения статичных файлов своего веб-сайта, чтобы их можно было в случае необходимости быстро предоставить читателям.
Нам понадобится создать аккаунт в AWS (Amazon Web Services). Для этого можно использовать уже существующий Amazon аккаунт, либо создать новый с помощью следующей ссылки: зарегистрироваться в AWS. На открывшейся странице необходимо выбрать пункт “Create an AWS account”.
Стоит отметить, что Amazon взимает плату за свои S3 сервисы, однако компания также предлагает воспользоваться бесплатным испытательным периодом, длящимся один год (“free tier”). Даже если этот год закончится, стоимость запуска CDN через Amazon S3 не вызовет больших финансовых потерь. Цены находятся в разумных пределах, что не может не радовать. Детали бесплатного использования S3 сервисов доступны на странице Free Tier.
После создания своего аккаунта вы сможете войти в консоль AWS. Удостоверьтесь в том, что вы находитесь на вкладке Amason S3 (в консоли доступны и другие сервисы Amazon). В данном разделе вы можете создать так называемый “bucket”. Под словом bucket здесь подразумевается папка верхнего уровня. Она должна обладать уникальным именем (уникальным в том плане, что оно должно отличаться от всех остальных bucket’ов, используемых в Amazon S3).
После того как bucket будет создан, вам понадобится установить для него некоторые важные настройки в консоли. Для начала нужно перейти в раздел Account Settings и щелкнуть по ссылке Security Credentials. Здесь вы можете создать новый Access Key (ключ доступа). Для обращения к созданному bucket’у применяются Access Key Id и Secret Key (по сути, те же логин и пароль). Оставьте страницу открытой, поскольку в дальнейшем вам понадобится скопировать эти данные.
Установка W3 Total Cache
W3 Total Cache – один из моих любимых плагинов (наряду с WordPress SEO by Yoast). Он предлагает великолепные инструменты для кэширования и минимизации WordPress сайта; разработчики плагина не обманывают, когда утверждают о десятикратном увеличении производительности сайта.
Установите плагин, активируйте его и перейдите в раздел Settings. Вследствие того что настройки являются довольно многочисленными, они распределены по девяти страницам. Для начала нам понадобится перейти на страницу CDN Settings и настроить параметры выполнения CDN.
Настройка CDN
Перейдем на страницу General Settings, отыщем на ней секцию, посвященную CDN, и выберем Amazon S3 в качестве типа CDN. Как только мы сделаем это, нам понадобится вернуться на страницу CDN Settings. Под разделом General мы должны включить все настройки для файлов, размещаемых в сети CDN (вложения, wp-includes, файлы темы, минимизированные файлы и произвольные файлы). Пункт “Force over-writing of existing files” лучше всего оставить неотмеченным, чтобы избежать проблем при запуске CDN.
В следующем разделе нам понадобится ввести информацию, полученную от Amazon S3, чтобы плагин мог загружать файлы на S3 серверы. Укажите Access Key ID, Secret Key и название bucket’а, заданное в AWS аккаунте. Включите SSL Support и вбейте в Replace site’s hostname следующую строку: bucketname.s3.amazonaws.com, где bucketname – это название bucket’а, указанное вами для CDN. Чтобы проверить, правильно ли вы ввели данные, можно воспользоваться кнопкой Test S3 Upload.
Под разделом Advanced выберите Export Changed Files Automatically (при изменении файлов они будут автоматически обновляться в CDN). Используйте следующие настройки в качестве отправной точки для задания интервалов загрузки: auto upload (автозагрузка) – 3600 секунд, re-transfer cycle interval (интервал цикла повторной передачи) – 900 секунд, re-transfer cycle limit (предел цикла повторной передачи) – 25 файлов. Для файлов wp-includes укажите:
*.css;*.js;*.gif;*.png;*.jpg
Для файлов темы:
*.css;*.js;*.gif;*.png;*.jpg;*.ico;*.ttf;*.otf,*.woff
Для импортируемых файловых типов:
*.jpg;*.png;*.gif;*.avi;*.wmv;*.mpg;*.wav;*.mp3;*.txt;*.rtf;*.doc;*.xls;*.rar;*.zip;*.tar;*.gz;*.exe
Следующее поле – это список произвольных файлов, которые могут загружаться в CDN. Мы добавим в него все статичные типы файлов, которые могут присутствовать в плагинах:
favicon.ico wp-content/gallery/* wp-content/uploads/avatars/* wp-content/plugins/*.js wp-content/plugins/*.css wp-content/plugins/*.jpg wp-content/plugins/*.gif wp-content/plugins/*.png wp-content/plugins/*.po wp-content/plugins/*.mo
Вы можете оставить поля Rejected Users Agents и Rejected files пустыми, если у вас нет соответствующих файлов, которые вы хотели бы исключить из CDN.
Теперь введите в Set Cookie Domain строку yourdomain.com и сохраните настройки.
Перейдите на страницу Browser Cache Settings и найдите раздел Media & Other Files. Включите параметр Enable HTTP Compression и сохраните настройки.
Теперь вы можете загружать свои файлы в CDN. Вернитесь к странице CDN settings. В разделе General вы обнаружите несколько кнопок, позволяющих вам передавать файлы в CDN. Щелкните по каждой из кнопок, чтобы загрузить все свои файлы. Вернитесь к странице General Settings и подключите CDN.
Как только вы сделаете это, убедитесь в том, что режим предварительного просмотра отключен (выполнить это можно в самом верху страницы Settings), выйдите из системы (этот шаг необходим в том случае, если вы выбрали параметр, обходящий загрузку файлов в CDN для зарегистрированных пользователей) и обновите главную страницу. Посмотрите, увеличилась ли скорость открытия сайта. Чтобы проверить, передаются ли изображения для вашего сайта из CDN, достаточно щелкнуть по любому из них правой кнопкой и скопировать его URL; URL должен включать в себя строку “s3.amazonaws.com” вместо “yourdomain.com”.
Теперь ваш сайт будет запускаться из CDN, и, как следствие, скорость открытия его страниц многократно увеличится. Есть ли смысл в этом? Успешно ли вы справились с размещением своего сайта? Делимся своими мнениями по этому поводу.
http://www.doitwithwp.com/speed-up-wordpress-free-amazon-cdn/