vps хостинг рейтинг

Лучшие практики по созданию быстрых, качественных и оптимизированных веб-сайтов в WordPress

Клиенты обычно имеют свой личный опыт работы с веб-хостингами и делятся им в сети. Если вы посмотрите обзоры хостингов в Google, вы найдете десятки разных результатов. Чаще всего превалируют негативные отзывы, нежели положительные. Я постараюсь нивелировать эту тенденцию и поделюсь несколькими проблемами, связанными с хостингами WordPress, а также покажу, как я сам решаю их.

Я составил список плохих практик и рекомендаций по поводу того, что не нужно делать на сайте, основываясь на тысяче часов взаимодействия с клиентами, решения запросов в поддержку и устранения проблем, с которыми пользователи сталкивались ежедневно. Проблемы могут варьироваться от достаточно простых, присущих новичкам, до довольно сложных. Выбор правильного хостинга в данном случае очень важен. Однако ваше решение всегда должно идти рука об руку с пониманием того, как лучше всего оптимизировать свой WordPress-сайт.

Я часто вижу, что даже опытные разработчики сосредотачиваются на том, в чем они уже собаку съели, зачастую пренебрегая или не успевая изучить свежие методы оптимизации. Приведенные далее советы помогут вам создавать более качественные, быстрые и оптимизированные WordPress-сайты независимо от того, являетесь ли вы разработчиком WordPress или же начинающим пользователем.
Смена хостинга далеко не всегда быстрый способ решения проблем

Один из самых важных аспектов, который пользователи должны понять переход на другой хостинг не решает автоматически все проблемы. Если на вашем сайте имеются проблемы с кодом или проблемы с совместимостью определенных плагинов, это произойдет снова и снова, даже если вы будете менять хостинги.

Управляемый хостинг предложит максимальную поддержку, однако он не будет решать проблемы с кривыми плагинами или неправильным кодом. Хостинг WordPress не отвечает за написание PHP-кода, создание или редактирование произвольных функций в плагинах и темах, интеграцию или исправление сторонних сервисов, выполнение обновлений контента сайта. Здесь вам понадобится уже помощь опытного WordPress-разработчика, который погрузится в код и выявит суть проблемы. Где найти опытных разработчиков? Есть много площадок. К примеру, Codeable, toptal. В русском сегменте Kwork, Freelansim.

Многие хостинги также предлагают своих сторонних партнеров и разработчиков, которые помогут решить данные вопросы. Если имеется проблема с определенным плагином, вы также можете обратиться к его разработчику самостоятельно.
Работающий сайт не площадка для экспериментов

Я не устану повторять это снова и снова: никогда не используйте живые (работающие) сайты для целей разработки! Практически все крупные управляемые хостинги WordPress предлагают свои среды тестирования Это позволяет избежать выхода сайта из строя из-за ошибок, допущенных в процессе доработки. Обычно это приводит к белому экрану смерти.

Если вы не хотите использовать среду тестирования, предлагаемую хостингом, вы можете вести разработку локально, используя WAMP Это аббревиатуры от Windows Такие инструменты, как WAMP и MAMP (для Mac), позволяют быстро развернуть локальную среду разработки.

Эти инструменты постоянно улучшаются, однако имеются и другие проблемы и сложности, связанные с локальной разработкой. К примеру, одна из проблем: как добиться того, чтобы среда разработки была полностью идентична вашему работающему сайту. Вам нужно будет понять, как выкатить ваши локальные изменения обратно на рабочий сайт, не перезаписывая уже существующие данные и не ломая сайт. В зависимости от вашей конфигурации этот процесс может принести дополнительные сложности. Также стоит отметить проблемы с конфликтующими портами или ошибки с разными версиями MySQL.

Чтобы избежать некоторых сложностей, я рекомендую использовать такие инструменты, как DesktopServer и Local, которые созданы с целью ускорения ваших рабочих процессов при локальной разработке в WordPress. Эти инструменты позволяют быстро выкатывать изменения на рабочий сайт, имеют дополнительные решения, такие как WP-CLI, поддержку мультисайтов и т.д. Наличие поддержки мультисайтов является очень полезным аспектом, поскольку работа с крупными локальными сборками зачастую приводит к значительным сложностям.

Также прочитайте про:   Хостинг админ впс отзывы

Среды тестирования
Не разработчик? Тогда не трогайте код!

Люди, которые либо незнакомы с WordPress, либо не знают основ работы с кодом, не должны редактировать файлы. Одна из распространенных причин, по которой сайты WordPress ломаются (или выводят белый экран смерти), состоит в том, что кто-то отредактировал PHP-файл прямо в визуальном редакторе в консоли. Кроме того, вы не должны редактировать уже работающий сайт, мы об этом говорили ранее.

Хорошая администраторская рекомендация поместить следующий код в файл wp-config.php, удалив возможности edit_themes, edit_plugins и edit_files для всех пользователей. Это поможет предотвратить поломку сайтов в результате ошибочных или неумелых действий.
01
define(‘DISALLOW_FILE_EDIT’, true);

Можно пойти дальше и удалить функциональность обновления тем и установки плагинов для клиентов. Поместите следующий код в файл wp-config.php, чтобы ограничить данные возможности.
01
define(‘DISALLOW_FILE_MODS’, true);

Примечание: приведенный выше код также отключил редактор файлов для плагинов и тем.
Не пытайтесь сэкономить на темах/плагинах

Ваше стремление к экономии понятно, но не пытайтесь этого делать с темами и плагинами. WordPress это фундамент вашего сайта, а темы и плагины это сама конструкция, в которой существуют ваши элементы. Обращайтесь к проверенным разработчикам с хорошей репутацией, смотрите рейтинги, читайте обзоры. Анализируйте поддержку продукта. Учитывая, что в каталоге WordPress более 50 000 плагинов, постарайтесь провести свое исследование заранее.

Очень часто через устаревшие и плохие темы Согласно последнему исследованию на WP Loop, примерно половина всех плагинов в каталоге не обновлялись более 2 лет. Это, конечно, шокирует.

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

Получение обновлений для плагина, идущего в комплекте с другими решениями значительная проблема для пользователей WordPress, которые приобретают товары на рынках, таких как ThemeForest. Многие разработчики тем включают в комплект дополнительные плагины, как, к примеру, Revolution Slider или Visual Composer. Проблема состоит в том, что, если будут обнаружены уязвимости в этих плагинах, вам придется ждать обновлений от разработчиков тем, хотя сам плагин может быть исправлен уже на следующий день. В итоге многие сайты остаются открытыми и уязвимыми для злоумышленников.
Следите за вашими администраторскими AJAX-вызовами

Следите за многократными администраторскими AJAX-вызовами с вашего WordPress-сайта и с ваших плагинов, которые могут использовать AJAX. К примеру, WordPress Heartbeat API использует для запуска AJAX-вызовов из веб-браузера. Чаще всего эти запросы не кэшируются. Высокое использование данного файла обычно происходит во время всплесков трафика, нагрузки на CPU, что может привести к тому, что ваш сайт перестанет работать. Это то же самое, как если бы вы запустили DDoS-атаку на самого себя.

Если имеются сторонние плагины, использующие admin-ajax.php, убедитесь в том, что они совершают вызовы корректно. Обычно вы можете посмотреть на запрос HTTP POST и определить, основываясь на имени, какой плагин его вызвал. К примеру, get_shares_count. Он относится к популярному плагину для шаринга в социальных сетях. Такие вызовы будут многократно расти на сайтах с высоким трафиком.

Однако стоит помнить о том, что AJAX загружается после загрузки страницы. Потому, если вы видите такие вызовы в тесте скорости сайта, это не обязательно означает, что они плохие и от них нужно отказываться. Есть также интересное сравнение производительности между admin-ajax.php и WordPress REST API.
Будьте аккуратны с использованием рекламных сетей и внешних сервисов

Также прочитайте про:   Обзор хостинга впс

Многие сайты с высоким трафиком зарабатывают на продаже рекламы. Удаление сторонних объявлений не вариант. Однако очень важно, чтобы количество сторонних сетей было сведено к минимуму. Исследуйте, насколько сильно эти сети нагружают ваш сайт.

Ниже приведено краткое сравнение того, как рекламные сети могут влиять на WordPress-сайт.

Параметры тестирования: я добавил три Google Adsense объявления размерами 300250 на тестовый сайт, на котором установлена тема twenty sixteen. Ниже приведены тесты скорости.

До AdSense

Первый просмотр: время загрузки 1.372 с

Повторный просмотр: время загрузки 1.013 с

Разбивка контента по соединениям:

После AdSense

Первый просмотр: время загрузки 4.103 с

Повторный просмотр: время загрузки 3.712 с

Разбивка контента по соединениям:

Просто добавив 3 объявления Google AdSense, мы создали 6 дополнительных соединений. Сайт WordPress с объявлениями работает в 2.7 раз медленнее, чем без них. В основном это связано с дополнительным временем поиска DNS и более активным использованием JavaScript на странице. Можно представить, что произойдет, если на масштабных сайтах будут добавлены 10 объявлений на одну страницу. В данном случае не важно, насколько быстрый ваш хостинг; он все равно никак не справится с задержкой со стороны внешних соединений.

Еще один пример, взятый от New Relic: сайт имеет очень много HTTP-запросов к сторонним рекламным сетям, что приводит к серьезной нагрузке на него.

Было так много запросов, что сервер вообще перестал загружаться. Сайт оказался недоступен, пытаясь загрузить все внешние запросы.

Еще один яркий пример сайт Huffington Post. Если вы проведете тест скорости на данном сайте, вы увидите огромное количество HTTP-запросов к рекламным сетям. Диаграмма показывает то, что я увидел в тестах. Время загрузки превысило 13 секунд!

Первый просмотр: время загрузки 15.908 с, общее количество HTTP-запросов: 221
Повторный просмотр: время загрузки 13.957 с, общее количество HTTP-запросов: 66

Однако простое удаление рекламы это не самое подходящее и реалистичное решение. Многие сайты полагаются на рекламу в качестве дохода. В этом случае можно проанализировать скрипты и обеспечить их загрузку самым оптимальным образом. Вы можете использовать async или defer для загрузки скриптов, чтобы они не мешали представлению страницы. Важно всегда соблюдать баланс между воспринимаемой производительностью и актуальной производительностью.

Пример async скрипта:
src=»example.js» async

Пример defer скрипта:
src=»example.js» defer

Патрик Секстон также предложил другой метод отсрочки (defer) загрузки JavaScript. В версиях WordPress 4.1 и выше имеется фильтр, в который вы можете добавить атрибуты async и defer к вашим скриптам.

Если вы полагаетесь на сторонние сервисы, то вы должны кэшировать их ответы. Зачем? Потому что могут появиться такие проблемы, как белый экран смерти. Любой сторонний сервис, который вы добавляете к своему WordPress-сайту, должен быть проверенным и надежным. В конце концов, если сервис упадет, это затронет весь ваш сайт и все ваши бизнес-операции. Если вы используете URL-адреса, сгенерированные WordPress, в социальных сетях, то эти адреса также перестанут функционировать.
Чрезмерная оптимизация может навредить производительности

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

Также прочитайте про:   впс хостинг это

Ниже я перечислил список проблемных сценариев, с которыми я сталкиваюсь на постоянной основе:

Попытки закэшировать кэш

В отличие от типичных VPS или автономных серверов, многие управляемые хостинг-провайдеры предлагают свое собственное кэширование, которое выполняется на уровне сервера (Redis или Memcache). Такие провайдеры запрещают использовать кэширующие плагины, поскольку это может привести к массе ошибок, в частности, к ошибке 502. Попытка кэшировать кэш не самая удачная идея.

Плагины, такие как WP Rocket и Cache Enabler, сами по себе хороши, но они предназначены для серверов, которым требуется дополнительная помощь по ускорению вашего сайта. Изучите материалы про кэширование объектов, что является распространенной практикой серверного кэширования.

Добавление двух CDN это двойной прирост скорости, верно?

CDN, сети доставки контента, значительно сокращают время загрузки и задержку при передаче контента в разные географические регионы, однако лишь при грамотной настройке. Популярный провайдер Cloudflare. В техническом плане Cloudflare это прокси-сервис, и он немного отличается от типичного CDN-провайдера, поскольку вы меняете свои DNS на DNS сервиса, а не просто передаете ему свои ресурсы.

Обычно я сталкивался с такой ситуацией: пользователи добавляют CloudFlare, а потом ставят KeyCDN или MaxCDN в связке с ним. Люди читают в блогах, что необходимо установить CDN, и потому делают это. Они не задумываются о текущей среде. Хотя эта комбинация и может работать в определенных ситуациях, чаще всего она приводит к глобальному хаосу. Стоит остановиться на чем-то одном: либо на CloudFlare, либо на стороннем CDN-провайдере.

Чем больше SEO-плагинов, тем выше позиции в выдаче?

Вы хотите доминировать в выдаче поисковых систем? Добавление трех SEO-плагинов не позволит вам добиться этой цели. На самом деле, есть много проблем с совместимостью, возникающих при попытке запустить All In One SEO, Yoast и другие SEO-плагины сразу. К примеру, вывод дублирующих мета-тегов. Добавление дополнительных плагинов не означает, что ваша текущая ситуация с SEO как-то улучшится.
Общие проблемы с производительностью легко диагностировать

Даже если вы не являетесь экспертом в WordPress, вы все равно сможете легко диагностировать общие проблемы с производительностью. Я рекомендую использовать WebPageTest для опытных пользователей WordPress, поскольку он поддерживает последние протоколы, такие как HTTP Если же вы менее подкованы в техническом плане, то в таком случае вы можете прибегнуть к Pingdom. Простой анализ водопада запросов покажет вам, имеются ли ненужные редиректы, отсутствующие файлы, чрезмерные DNS-запросы, слишком долгие по загрузке скрипты или запросы от рекламных сетей.

Проанализировав оценки производительности и коды ответов, вы сможете понять, с чего начать решение проблем на своем WordPress-сайте.
Модификация ядра WordPress плохая задумка

Изменение файлов ядра WordPress, чтобы обеспечить работоспособность вашего кода плохая идея. Это может сделать ваш сайт уязвимым для злоумышленников. Если у вас включена активная процедура обновления, вы будете терять все изменения с выходом каждой новой версии WordPress. Вместо этого вы должны использовать инструменты и возможности WordPress, такие как сторонние плагины, дочерние темы, произвольные типы записей, хуки.
Проверьте совместимость с PHP 7/HHVM

Статистика показывает, что PHP 7 Естественно, всегда приятно и полезно использовать новейшие технологии, однако сначала вам нужно убедиться в том, что ваш сайт совместим с ними. К примеру, если вы обновляетесь с PHP 5.6 до 7, вам нужно протестировать все функциональные возможности вашего сайта в специальной тестовой среде либо локальн

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *