Прежде чем создать свой сайт на WordPress

01.09.2016 · ≈ 6 мин чтения

Не повторяйте моих ошибок. И прежде чем создать свой сайт на WordPress сделайте следующие 10 правок:

Переведите версию с PHP 5 на  PHP 7

Серьезно. Именно с этого пункта я начал обновлять свой старый сайт, потому что он работал у меня на Php 5.3 (!).
Если у вас уже есть действующий сайт, то хотя бы доведите версию до 5.6, но если вы создаете новый сайт — переключите на своем хостинге версию php на 7.0, потому что она эффективнее и быстрее. Для того, чтобы перевести уже существующий сайт, потребуется много мороки, потому что изменилась еще и база данных. Теперь она не MySQL, теперь она MySQLi. И если вы пользуйтесь старыми плагинами, которые не обновлялись больше полутора лет — скорее всего они не будут работать на семерке. Имейте это в виду и пользуйтесь современными плагинами 🙂 Я же просто создал клон своего сайта на поддомене, и когда сайт представлял полную копию, я удалил старый и заменил его новым, работающим по новым стандартам php. Времени потратил четыре полных дня, поэтому при создании нового сайта — сразу же переключитесь на php 7.0

Используйте «легкую», адаптивную тему

Которая как минимум выпущена не раньше 2016 года, чтобы корректно работать с php 7. Важно чтобы тема адаптивная (чтобы отлично работала и смотрелась на мобильных девайсах). Но еще важнее, чтобы тема была с минимальным количеством запросов к БД. Мы все любим крутые и навороченные темы, у которых указано что они многофункциональны и многоцелевые. Я сам использовал именно такую тему. Но когда я проверил демо темы через сервис tools.pingdom.com, то был крайне удивлен:

В чистом виде (еще без плагинов) тема создавала 176 запросов, из которых 134 были к БД. После тщательной оптимизации, на моем работающем сайте, мне удалось снизить количество запросов до 118, что все равно было крайне много. И это при работающих 26 плагинах.

Поэтому было решено заменить тему на более легкую. Выбор пал на тему Hueman (даже не премиум), которая в демо создавала всего 57 запросов. Ха-ха!

Ну и уже после её оптимизации, использование распараллеливания загрузки и со всеми нужными мне плагинами, сайт на котором вы читаете эту статью генерирует всего 24 запроса. Разница колоссальна.

Распараллельте загрузку контента

Спецификация HTTP/1.1 советует, чтобы браузеры параллельно загружали не более 2-х компонентов веб-страницы с одного хоста. Поэтому создайте два поддомена, один для изображений и фотографий, второй для css. В идеале конечно создать еще третий для .js 🙂 Потому что старенький стандарт http все еще думает что поддомен — это отдельный хост и загружает информацию в таком случае параллельно, что ускоряет загрузку страницы.

Сделайте ваш сайт чуть-чуть безопаснее

Смените пользователя по умолчанию с Admin на другого, через админку. Просто создайте второго пользователя в роли админа, зайдите с него и удалите старого «Admin» переписав все его записи новому пользователю. Удалите упоминания о версии WordPress в коде шаблона. И поставьте плагин Login LockDown. Я не ставлю IThemes Security потому что многие функции теперь у него стали платные, а еще он нормально так нагружает сервер. А так же измените права доступа к hittaches только на чтение, после всех нужных правок в нем, таких как запрет листига директорий. Это как самый минимум.

Оптимизируйте изображения

Пока ваш сайт еще девственно чист, установите плагин EWWW Image Optimizer, настройте его и навсегда забудьте. Теперь каждое изображение которое вы будете использовать в своих записях и страницах будет сразу после загрузки оптимизировано. Бесплатно.

Уменьшите количество HTTP-запросов

Мы все используем готовую CMS и готовый шаблон. В обоих случаях ставка сделана на максимальную универсальность. Поэтому когда вы делайте сайт под себя, важно сократить количество HTTP запросов, заменив универсальные конструкции на статические. Потому что 80% загрузки страницы ориентировано на загрузку компонентов страницы: скриптов, фотографий, файлов CSS, зачастую через обращение к БД. Начните с правки header. Все что вызывается через php может быть заменено на статику — должно быть заменено. Н-р <html <?php language_attributes(); ?>> должен быть заменен на <html lang=»ru-RU»>
Так же <php> вызов всех .css файлов может быть заменен на <link rel> и прямой путь к файлу, без запросов к БД.

Объедините несколько файлов в один.

Если у Вас на страничке подключается больше одного css (например стили плагинов), то вы можете объединить их в один. Это очень простой, но действенный способ уменьшения количества http-запросов на сервер. Важно после объединения файлов убрать вызов функций этих самых старых .css, иначе сервер будет долго ждать ответа от несуществующего файла. В идеале конечно и .js так обьединить, но у меня до этого пока не доходят руки, и я сжимаю их в один с помощью плагина кеширования, о котором речь пойдет ниже.

Сожмите JS и CSS файлы

Сжатие файлов позволяет уменьшить их размер, пусть на чуть-чуть, но всё же. Просто прогоните свой сайт через гугловский Pagespeed и сожмите те js и css файлы, на которые он ругнется. Для сжатия я использовал сервис от гугла же: http://closure-compiler.appspot.com/home
Сам процесс сжатия очень простой — сервис просто удаляет все пробелы, новые строчки и комментарии внутри документа. Но я советую сам сохранить не сжатую версию файла у себя на сервере, скажем под имяOLD.js

Используйте «легкие» плагины

Если уж и использовать плагины, так только те, что не грузят сайт еще сильнее. Так например я отказался от WordPress Popular Post, потому что он просто фантастически увеличивал размер БД, да и к тому же создавал один дополнительный запрос к ней. Заменил его на Pageviews, который производит все вычисления на своих серверах. Так же заменил когда-то стоявший Ajax Search Pro, который был очень увесистый и чересчур «многофункциональный» на легкий Ajaxy Live Search.
А еще я советую вам поставить плагин Heartbeat Control, и установить настройки равные 60 секундам. Что такое Heartbeat? Это «сердцебиение» вашего сайта, по умолчанию равное 15 секундам. Именно оно направляет запрос на сервер каждые 15 секунд, когда вы в админке. Тем самым создавая дополнительную нагрузку. Потому что я например работаю в админке сразу в нескольких вкладках, и каждая из них раз в 15 секунд обращается к серверу. Поэтому просто растяите это сердцебиение до 60 секунд.

Используйте крутой плагин кэширования

Я перепробовал пяток различных плагинов кэширования. С некоторыми не корректно работали мои плагины, в некоторых мне не хватало настроек. В итоге я остановился на фаворите многих тестов, премиум плагине WP-Rocket. Конечно скачал его бесплатно 🙂 Очень простой в настройке, очень эффективный, а главное — с множеством тонких настроек.

Результат после

Во-первых, серьезно снизилась нагрузка на сервер. Если раньше я постоянно выскакивал за пределы тарифа своего виртуального хостинга, то сейчас картина следующая:

Во-вторых, возросла скорость загрузки страниц:

Так что, если вы только собираетесь делать сайт, то прежде чем создать свой сайт на WordPress выполните предложенные выше рекомендации. Лучше сделать это сразу, а не как я, спустя год после работы сайта. Но и на действующем сайте это сделать полезно.