Интересные разделы:
Wordpress

В этой статье полностью описанны методики оптимизации сайта на Wordpress

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

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

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

Рабочие места не предназначены для развития

Мы можем повторить это тысячу раз. Никогда не используйте рабочие места для развития! Теперь почти все основные хостинговые сайты, размещенные на WordPress, имеют среды разработки и исполнения, и, конечно, не без причины. Использование этих решений предотвращает случайное падение рабочего места из-за неудачных попыток что-то проверить. Если вы не хотите использовать эти решения, вы можете воспользоваться преимуществами локальной разработки и тестирования, используя то, что некоторые называют батареями LAMP или LEMP. Они предназначены для работы с Linux, Apache / Nginx, MySQL и PHP. А такие инструменты, как WAMP и MAMP, упростят и ускорят сборку сервера для локальной разработки.

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

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

Локальные среды и среды тестирования выполнения могут помочь вам справиться с проблемами до того, как они сломают сайт.

Контролировать запросы AJAX

Посмотрите, как запросы AJAX используются на веб-сайте, а также плагины, которые используют AJAX. Например, API WordPress Heartbeat использует /wp-admin/admin-ajax.php для доступа к AJAX через браузер. Многие из этих функций не нужны. Особенно частое использование этого файла происходит при скачках трафика и загрузке процессора. Это может значительно замедлить ваш сайт. Это несколько похоже на запуск DDoS-атаки на себя.

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

Оптимизация сайта на первом месте, а дальше хостинг

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

Административный хостинг обеспечит как можно большую поддержку и помощь, но не будет вовлечен в отладку вашего кода или плагинов. Написание хорошего PHP-кода, создание и изменение плагинных ресурсов и тем, изменение интеграции и наполнение сайта контентом не входит в обязанности веб-хостинга. Это может сделать опытный разработчик, который углубится в работу сайта, изучит проблему и решит ее. Мы рекомендуем использовать плагин W3 Total Cache

Вы не разработчик? – не вводите код

Люди, которые не знакомы с WordPress или не знакомы с основами программирования, не должны редактировать файлы. Одна из наиболее распространенных причин блокировки сайтов WordPress заключается в том, что кто-то редактирует файл PHP непосредственно из редактора внешнего вида на панели управления. Кроме того, нет необходимости изменять рабочее место, как указано выше. Рекомендация для администраторов: вставьте следующий код в файл wp-config.php с привилегиями edit_themes, edit_plugins и edit_files для всех пользователей. Это помешает пользователям покинуть сайт, изменив код.

define ('DISALLOW_FILE_EDIT', true);

Он также отключает возможность редактирования файлов тем или установки плагинов для пользователей. Для этого вставьте следующий код в файл wp-config.php.

define ('DISALLOW_FILE_MODS', true);

Обратите внимание, что приведенные выше команды также отключат редактор файлов для тем и плагинов. Больше информации о WordPress Codex.

Чрезмерная оптимизация может отрицательно сказаться на производительности.

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

Ниже мы перечислили несколько проблем, с которыми мы регулярно сталкиваемся:

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

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

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

2 × CDN = 2 × скорость загрузки, верно?

CDN могут на самом деле значительно сократить время загрузки контента в разных географических областях, но только с правильной конфигурацией. Одна из самых популярных услуг – Cloudflare, технически является прокси-сервером и немного отличается от обычного поставщика CDN, поскольку вы отправляете весь DNS, а не только контент на веб-сайте.

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

Большое количество плагинов SEO не предлагают более высокую позицию в результатах поиска

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

Не экономьте на темах и плагинах

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

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

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

Ожидание обновления установленных плагинов – большая проблема для пользователей WordPress, которые покупают решения в сторонних каталогах, таких как ThemeForest. Многие разработчики тем включают дополнительные плагины, такие как Revolution Slider или Visual Composer. Дело в том, что при обнаружении уязвимостей в интегрированном подключаемом модуле пользователь должен дождаться обновления разработчиком темы, хотя сам подключаемый модуль может быть устранен немедленно. Это делает многие сайты очень уязвимыми для хакеров.

Будьте осторожны при работе с рекламными сетями и сторонними сервисами.

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

Вот краткое сравнение того, как рекламные сети могут влиять на ваш сайт WordPress.

Параметры теста. Мы добавили три объявления AdSense размером 400 × 350 в функцию тестирования. На сайте есть предопределенная тема: двадцать шесть шестнадцать. Мы измеряли скорость загрузки до установки AdSense и после.

До AdSense (результаты теста)

  • Первый заряд: 1372 с.
  • Перезагрузка: 1,013 сек.
  • Распределение контента по связи:

После AdSense (результаты теста)

  • Первый заряд: 4,103 с.
  • Перезагрузка: 3712 сек.
  • Распределение контента по связи:

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

Ниже приведен еще один пример сайта с большим количеством внешних HTTP-рекламных запросов, который вызвал огромную нагрузку на WordPress.

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

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

  • Первый заряд: 15 908 с. | 221 HTTP-запрос
  • Перезагрузка: 13,957 сек. | 66 HTTP-запросов

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

Пример асинхронного JavaScript:

src = “example.js” асинхронный

Пример ожидающего JavaScript:

src = “example.js”, чтобы отличаться

У Патрика Секстона есть еще один метод задержки JavaScript. WordPress версии 4.1 и выше имеет фильтр, с помощью которого вы можете легко добавлять асинхронные атрибуты или отличаться в ваших скриптах.

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

Популярные проблемы с производительностью легко диагностировать.

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

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

Большие сайты должны выполнять оптимизацию базы данных.

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

Вы можете конвертировать ваши таблицы в несколько простых шагов. Для начала убедитесь, что вы используете MySQL 5.6.4 или новее и что резервное копирование было выполнено в качестве меры предосторожности. В этом примере используется таблица wp_comments. Просто запустите команду ALTER, чтобы конвертировать для работы с InnoDB.

ALTER TABLE wp_comments ENGINE = InnoDB;

Если вы работаете с текущей версией phpMyAdmin, вы можете открыть нужную таблицу, перейти на вкладку «Операции» и изменить механизм хранения.

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

define ('WP_POST_REVISIONS', false);

Или просто измените сумму, сохраненную для каждого поста или страницы:

define ('WP_POST_REVISIONS', 3);

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

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

DELETE FROM wp_posts WHERE post_type = "revision";

Вы также можете использовать плагин WP-Optimize для этих целей.

Изменение ядра WordPress плохо

Создайте правило: изменение ядра WordPress для обеспечения работоспособности вашего кода – плохая идея. Особенно на рабочем месте. Такие манипуляции могут создать уязвимости на вашем сайте. И если вы не ожидали, что изменения будут обновлены для новых версий ядра, ваши изменения будут потеряны с каждым новым обновлением WordPress. Прежде всего, если вы используете встроенные в WordPress инструменты и ресурсы, плагины, дочерние темы и хуки.

Журнал ошибок – твой друг

Если вы знаете, как управлять файлами WordPress и файлом wp-config.php, журнал ошибок может помочь. Регулярно проверяя его, вы избавите себя от всех видов головной боли и познакомитесь с WordPress. Немногие пользователи обращаются к реестру, прежде чем обращаться в техническую поддержку по хостингу. С некоторыми простыми настройками в wp-config.php вы можете активировать журнал ошибок, который по умолчанию сохраняется в /wp-content/debug.log.

Включить регистрацию:

define ('WP_DEBUG_LOG', true);

Вывод журнала на страницу:

define ('WP_DEBUG_DISPLAY', true);

Больше подробностей в коде WP_DEBUG.

Убедитесь в совместимости с PHP 7 и HHVM перед переносом сайта.

Известно, что PHP 7 и HHVM очень полезны для повышения производительности сайта WordPress. И, конечно же, всегда хорошо использовать самое лучшее и новейшее. Но сначала убедитесь, что сайт совместим с этими технологиями. Например, если вы обновляете с PHP 5. 6 до PHP 7, вы должны протестировать все функции вашего сайта WordPress в работающей среде или локально, чтобы убедиться, что нет проблем совместимости. Устаревший плагин, но очень важный для вас, может не работать с PHP 7, а это значит, что вам нужно подождать обновления, прежде чем переходить к новейшим технологическим решениям.

Тебе действительно нужна универсальная тема?

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

Я не имею в виду, что все универсальные аргументы отрицательны. На самом деле, при правильной настройке они могут работать очень быстро: вот пример с темой Avada, загрузка которой занимает 700 мс. Тем не менее, это займет много знаний и времени, чтобы оптимизировать существующую тему. Для большинства пользователей WordPress, если они не используют половину функциональности темы, использование простейших тем является выходом. Не дайте себя одурачить красивыми баннерами и оригинальными курсорами. В большинстве случаев весь этот набор параметров замедляет работу сайта.

Гугл здесь не одинок

Не бойтесь искать ответы в Google. Интернет полон предложений и решений. В течение нескольких минут вы можете решить большинство ваших проблем. Ответы на распространенные вопросы, такие как «как изменить DNS на GoDaddy» или «как использовать sFTP», легко доступны в Google.

В Интернете есть отличные ресурсы WordPress, такие как StackExchange и WordPress Codex, не говоря уже о сотнях блогов с учебными пособиями.

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

Скрипты не всегда нужно загружать на сайт

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

Одним из примеров является популярный плагин Contact Form 7. Как показано ниже, загрузите файлы CSS и JavaScript на домашнюю страницу веб-сайта, хотя вы не используете никакие контактные формы.

Есть несколько способов решить эту проблему. Во-первых, использовать функцию wp_dequeue_script (), представленную в WordPress 3.1. Это позволяет вам удалить скрипты из очереди загрузки на вашем сайте. Вот пример использования этой функции с контактной формой 7. Разработчик контактной формы 7 также имеет документацию по использованию JavaScript и CSS только при необходимости.

Второй способ заключается в использовании специальных плагинов WordPress, таких как Gonzalez или Plugin Organizer. Ниже приведен пример использования Gonzalez на нашем сайте. Удобное окно настроек позволяет удалять файлы JavaScript и CSS из плагина Contact Form 7 со всех страниц, кроме страницы контактов, всего несколькими щелчками мыши, что увеличивает скорость загрузки остальной части сайта.

Wordpress

В этом разделе Web Разработчики собрали самые актуальные материалы на тематику Wordpress. Если вы желаете изучить данную Cms, то начните отсюда. Wordpress является самой популярной Cms в мире. Для Wordpress написанно много различны плагинов. На Wordpress можно сделать Web сайт любой сложности, за короткое время. Существует огромная сообщество разработчиков на Wordpress. Данная Cms постоянно обнавляется, это говорит о том что Wordpress не стоит на месте, а с каждым обнавлением только улучшается. На Wodpress существует огромное количество шаблонов на любой вкус, достаточно просто установить готовый шаблон в пару кликов и у вас уже готовый сайт. У данной Cms есть подробная и понятная документация, вы можете изучить ее при необходимости