Как загружается WordPress (порядок загрузки ядра для Фронта, Админки, REST, AJAX)


Содержание материала:

Изменение порядка загрузки плагинов

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

Я выполнил метод jsdalton, изменяющий параметр active_plugins , и он переупорядочивает массив, чтобы разместить панель в конце, но бар все еще не может получить доступ к функциям foo при его создании. Я прочитал соответствующий основной код – в основном wp-settings.php и wp_get_active_and_valid_plugins() в wp-includes\load.php – и кажется, что плагины должны быть загружены в том порядке, в котором они индексируются внутри active_plugins , поэтому Я не могу понять, что происходит не так.

Это делается при установке MultiSite. bar – класс, а foo – процедурный.

Вот урезанная версия foo / foo.php

И вот урезанная версия bar / bar.php

Это вывод из конструктора bar :

Solutions Collecting From Web of «Изменение порядка загрузки плагинов»

Не прикасайтесь к порядку загрузки, вместо этого меняйте порядок активации. В этом ответе можно найти рабочий пример.

Независимо от того, ваш конструктор бара всегда будет работать до того, как действие вызывается в вашем коде.

Я наткнулся на этот сценарий некоторое время назад, и вы в основном там, как я это сделал.

Проще говоря – закомментируйте все внутри функции this_plugin_last и поместите свой $ bar = new bar (); внутри есть. и просто делайте всю логику и еще то, что вам нужно в этой функции. это гарантирует, что foo будет загружен, прежде чем запускать ваш код (сам плагин необязательно должен быть загружен перед началом работы, только то, что вы используете, полагается на foo).

Добавьте вверху зависимого кода плагина ниже имени плагина, описания и т. Д .:

Плагин «foo» даже не нужно активировать для «бара», чтобы найти код.

Управление CSS/JS, которые загружают плагины WordPress

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

Как некоторые плагины работают сегодня

Давайте возьмем реальный пример. Плагин WP-Polls . Я думаю, что это хороший плагин. Он отлично подходит для опросов. Именно его я использую.

Если Вы хотите разместить на своем сайте опросы, вам нужен будет какой-нибудь JavaScript для обработки функционала ( т.е. возможности голосовать и видеть результаты голосования без необходимости обновлять страницу ) и CSS для определения стилей виджета опросов ( панели с результатами и много чего еще ).

CSS добавляется с помощью включения таблицы стилей через обращение wp_head() , размещенное в разделе :

JavaScript добавляется с помощью введения скрипта через обращение wp_footer() , размещенное в нижней части документа:

Это разумно. Это то, что они должны сделать, чтобы заставить этот плагин работать. Авторы плагинов должны обеспечить, чтобы их плагины были просты в использовании и работали.

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

Объединение ресурсов это не какая-то абстрактная концепция, о которой должны заботиться только самые элитные сайты. Это проблема для каждого веб-сайта. Люди решают эту проблему миллионом способов. CSS -спрайты призваны объединить все ресурсы изображений.

Шрифты иконок и SVG -спрайты предназначены для решения этой же проблемы. CSS -препроцессоры помогают объединить ваши таблицы стилей. Rails Asset Pipeline также помогает объединить ресурсы. Есть большое количество Grunt и Gulp плагинов, которые предназначены для того же самого.

Но мы сейчас говорим о WordPress , поэтому нам нужны решения именно для него.

Могут ли сами плагины помочь нам?

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

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

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

Решение 1: Используйте плагин

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

В разделе плагина, в панели администрирования WordPress вы увидите небольшую вспомогательную ссылку:

Для нашей демо-версии, я хочу объединить CSS нашей темы и CSS плагина WP-Polls . Поэтому я беру эти имена из подсказки и помещаю их в новую « очередь загрузки » в настройках плагина:

Теперь ни один из этих файлов стилей больше не загружается отдельно. MinQueue создает объединенную ( и закэшированную ) версию и обслуживает ее:

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

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

Также имейте в виду, что популярный плагин W3 Total Cache также осуществляет объединение, но я считаю, это он делает это намного сложнее. Вы добавляете стили через URL -адреса, и мне кажется, что это чревато ошибками.

Решение 2: Вручную выделяйте элементы и объединяйте их

Плагины, которые добавляют ресурсы, делают это через wp_enqueue_script и wp_enqueue style . Вы можете покопаться в коде плагина и найти, где они делают это. Тогда вы можете увидеть имя, которое они применяют, когда делают это.

После чего в собственном файле темы functions.php ( или пользовательском файле функций плагина ) вы можете выделить их из очереди. Простой пример извлечения из очереди одной таблицы стилей:

Теперь как вы можете найти этот ресурс и объединить его с CSS , который вы по-прежнему загружаете на странице самостоятельно. Возможно, вы используете CSS -препроцессор, тогда вы можете импортировать этот ресурс.

Возможно, вы используете обработчик задач наподобие Grunt, тогда вы можете добавить его в список файлов, которые будут выделяться и объединяться. Или просто вручную скопировать и вставить содержимое ресурса в собственную таблицу стилей ( просто помните, что в этом случае он не будет обновляться при обновлении плагина ).

Решение 3: Используйте плагин для выделения из очереди загрузки элементов и их объединения

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

Во время предыдущих дискуссий на эту тему Нейт Райт из Theme of the Crop показал нам совершенно новый плагин, предназначенный для этих целей, под названием Asset Queue Manager . Через его интерфейс вы легко можете выделить элементы, без необходимости лесть в код.

Через интерфейс сайта вы можете нажать ссылку в панели администрирования, чтобы вывести выпадающее меню со списком всех загружаемых элементов страницы:

Плагин содержит кнопку для выделения элементов из очереди загрузки. Плагин выведет их из очереди загрузки, пока вы не отмените это действие. Теперь вы можете объединять загружаемые ресурсы по своему усмотрению. В Asset Queue Manager еще одна кнопка, которая позволяет связаться непосредственно с ресурсом, таким образом, его очень легко найти. Довольно круто!

Заключение

Есть много способов управления CSS и JavaScript , которые загружают плагины WordPress . Вы можете и должны сделать это для каждого загружаемого ресурса.

Данная публикация представляет собой перевод статьи « Taking Control of the CSS-JS that WordPress Plugins Load » , подготовленной дружной командой проекта Интернет-технологии.ру

Настройки wp-config.php для безопасности Вордпресс

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

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

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

Перед тем, как вы начнете применять эти настройки, сделайте бэкап файла wp-config. Этот файл загружается до загрузки ядра Вордпресс, и ошибка в одном знаке может положить весь сайт.

Содержание:

1. Переместите wp-config.php

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

Вы можете безопасно перенести wp-config на один уровень выше корневой папки сайта:
Папка на уровень выше корневой папки недоступна из Интернета.

Не переносите файл, если на одном уровне выше уже есть файл wp-config, или ваш сайт установлен в подпапке или на субдомене.

Если вы хотите перенести wp-config в другое место (не на уровень выше), то перенесети файл в новое место, а на старом месте (корневая папка) создайте еще один wp-config и добавьте в него этот код:

Замените /путь/к/wp-config.php на новый адрес к файлу wp-config.

2. Смените ключи безопасности

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

Меняйте ключи время от времени, особенно если сайт был взломан. Замена ключей закроет все открытые сессии залогиненных пользователей, в том числе хакеров.

Вы можете сгенерировать новые ключи в официальном генераторе ключей Вордпресс.

3. Используйте SSL

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

Если у вас уже установлен сертификат, вы можете включить его принудительное использование на странице авторизации и в админке сайта:

4. Измените префикс базы данных

У каждой таблицы в базе данных есть префикс. Стандартный префикс — wp_ , но вы можете его изменить на что-нибудь уникальное, чтобы добавить хакерам работы. Чем больше препятствий вы создадите хакерам, тем меньше вероятность, что у них получится взломать сайт.

Найдите эту строку и замените префикс на свой, например, v6jt34_ .

После этого нужно переименовать таблицы и некоторые записи в таблицах базы данных.

5. Права доступа к файлам и папкам

С помощью этого скрипта вы можете установить права доступа всем файлам и папкам:

После этого вручную установите права доступа нескольким важным файлам и папкам.

6. Отключите редактирование плагинов и тем в админке

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

Редактирование файлов из админки сайта можно отключить:

7. Используйте FTPS

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

Чтобы включить принудительное использование FTPS, добавьте эту строку:

И включите использование FTPS в вашем ftp-клиенте (Filezilla).

8. Используйте SSH

Аналогично с предыдущим пунктом, если на вашем хостинге включен протокол SSH, вы можете включить его принудительное использование:

9. Отключите режим debug

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

Найдите эту строку и замените true на false :

Топ-пост этого месяца:  Валидация e-mail на лету с использованием jQuery.

10. Отключите отображение ошибок режима отладки во фронт-энде

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

11. Включите автоматическое обновление

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

Начиная с версии 3.7, минорные обновления Вордпресс устанавливаются автоматически, но можно включить автоматические крупные (мажорные) обновления. Добавьте эту строку в wp-config:

Читайте также:

Надеюсь, статья была полезна. Оставляйте комментарии.

Загрузка части контента на WordPress с помощью AJAX

Сергей Сосновский в своем блоге рассказывал, что с помощью технологии AJAX в целях поисковой оптимизации скрыл часть содержимого сайта от поисковых систем (что, кстати, не является клоакингом).

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

AJAX по сути — это динамическая загрузка части содержимого страницы с помощью JavaScript. Т.е. вроде бы на сайте эта часть контента отображается, но, если заглянуть в исходный код страницы, то там его нет. Или, если отключить в браузере поддержку JavaScript, то этого контента также не будет видно.

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

Итак, переходим к практике. Расскажу, как это сделать на WordPress на примере помесячного списка архивов, который выводится обычно в сайдбаре.

Предлагаю 2 варианта решения. Второй — наиболее простой.

Первый вариант

Создайте в папке с вашим WordPress-шаблоном новый php-файл (например, ajax_archives.php) со следующим содержимым:

Зайдите в админку WordPress и создайте новую страницу. Назовите ее как угодно, например «Список архивов». Справа в блоке «Атрибуты страницы» выберите шаблон «AJAX список архивов».

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

В том месте файла sidebar.php, где вы хотите увидеть список архивов, вставьте такой html-код:

AJAX мы реализуем с помощью jQuery, поэтому, если он еще не подключен на вашем сайте, в файл header.php перед кодом добавьте следующий код:

Теперь осталось добавить на сайт малюсенький скриптик, который будет загружать нужный контент. Создайте js-файл (например, scripts.js) и вставьте в него следующий код:

Вместо http://ВАШ_ДОМЕН/ajax_archives/ подставьте адрес выше созданной страницы.

Файл закиньте в папку с шаблоном вашего сайта и подключите в файле header.php, вставив следующую строку перед тегом :

Второй вариант

Этот вариант заметно проще, т.к. здесь не потребуется создавать дополнительную страницу.

Создайте в папке с вашим WordPress-шаблоном новый php-файл (например, ajax_archives.php) со следующим содержимым:


Именно первая строчка кода и позволяет избежать необходимости создания новой страницы.

В том месте файла sidebar.php, где вы хотите увидеть список архивов, вставьте такой html-код:

Если jQuery еще не подключен на вашем сайте, в файл header.php перед кодом добавьте следующий код:

Создайте новый js-файл (например, scripts.js) и вставьте в него следующий код:

Файл закиньте в папку с шаблоном вашего сайта и подключите в файле header.php, вставив следующую строку перед тегом :

Вот, собственно, и все. Можете наблюдать результат.

Подобным образом можно запихнуть хоть весь сайдбар, либо сделать несколько отдельных блоков с каким-то содержимым.

Смотрите также

  • WordPress плагин «jQuery Comment Links» 18 комментариев
  • WordPress-блог без спама, без капчи, но с комментариями 63 комментария
  • jQuery-скрипт: прокрутка к родительскому комментарию и обратно 26 комментариев
  • Как создать зеркало сайта на WordPress (плагин) 75 комментариев

Комментарии (197)

Dimox, подскажите пожалуйста, почему данный код, http://dimox.name/display-category-name-without-link/#comment-18439 (он рабочий, проверял) при использовании метода 2 не работает:

Вывожу его строго по инструкции и ничего не появляется. Делаю проверку, меняю код на:

Выводятся ссылки на архивы, которых нет в исходном коде.

Не подскажите куда копать? Спасибо

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

Друзья, подскажите, а как скрыть пункты меню(часть)?
то есть нужно скрыть «Главная страница»
Вывод осуществляется так: wp_nav_menu( array(
‘theme_location’ => ‘menu-1’,
‘menu_class’=>’nav navbar-nav pull-right’,
‘container’ => ‘ul’,
‘menu_id’ => ‘responsive-menu’
) );

Наконец-то нашел дельную статью. Мне надо было скрыть блок похожие статьи от робота. Так как поиск от google выводил ненужные статьи по запросам, потому что брал текст из ссылок блока похожих статей :). В с помощью 2 способа удалось спрятать, в коде страницы отображается только сам div c id.

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

а почему демо нет, просто способ 2 не срабатывает… просто пустой блок…. пути проверил все работают

Вариант 2 сработал, просто вышла беда с путями, нужно указывать путь точно включая www или без.

13 плагинов WordPress для ускорения загрузки сайта: как ускорить сайт на WP

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

Поисковики любят быструю загрузку

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

Google в июле 2020 запустил алгоритм Google Speed Update, он понижает в выдаче сайты, которые загружаются очень долго. Особенно рискуют интернет-магазины, потому что обычно они функционально перегружены.

Многие владельцы сайтов и SEO-специалисты жаловались на значительную просадку позиций после обновления алгоритма. Сервисы мониторинга позиции не показывали каких-либо значительных изменений:

График изменений по десктопной и мобильной выдаче

Но сайты, которые действительно долго загружались, просели в выдаче. Интересно, что по анализу Барри Шварца, владельца портала Seroundtable, апдейт больше всего навредил сайтам о здоровье:

Результаты анализа Барри Шварца

Пострадали 42% официальных ресурсов медучреждений, частных сайтов о здоровье и фитнесе, ЗОЖ. Причина такого смещения результатов неизвестна, точнее, нет официального ответа, зато есть версии, о которых мы рассказывали в статье «Как продвигать сайты в медицинской тематике».

Даже если ваш сайт далек от темы здоровья, работать над скоростью все равно нужно.

От чего зависит скорость загрузки сайта

Скорость загрузки сайта зависит от нескольких факторов, каждый из них можно ускорить по мере возможностей.

Серверные параметры, хостинг

Время ответа сервера — это время, за которое сеть и сервер вернул первый запрошенный байт HTML-файла. Чем больше это время, тем дольше у пользователя белый экран загрузки вместо сайта. Плохо, если время ответа сервера дольше трех секунд, Яндекс.Вебмастер покажет уведомление о критичной ошибке.

Скорость ответа сервера, верстка, оптимизация CSS и JS влияет на время загрузки основной части сайта.

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

По словам Джона Мюллера, Google определяет скорость сайта по общей картине, а не по промежуточным этапам. Быстрой загрузки первого байта (TTFB) недостаточно, это не показатель хорошего пользовательского опыта. Важно общее время загрузки и рендеринга, поэтому стоит работать над всеми доступными параметрами.

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

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

Почитать по теме:
«Как ускорить загрузку: оптимизируем код верхней части страницы»: асинхронная загрузка, jQuery, минификация и объединение кода, кэширование и другие способы.

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

Для этого в корневой директории нужно найти файл wp-config.php, в котором найти строку

И заменить ее на такой код:

Вес страницы сайта

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

Об этом в подробностях в статье «Как уменьшить вес сайта и ускорить загрузку страниц»: gzip, brotli, минификация и другие способы.

Редиректы

Редиректы замедляют скорость — сервер устанавливает соединение с одной страницей, получает ответ о перенаправлении и переходит на другую. Если на сайте много 301 редиректов, проверьте по источникам трафика, может, в некоторых случаях стоит заменить ссылку с редиректом на конечную страницу.

Редиректы с HTTP на HTTPS тоже могут тормозить процесс, в этом случае поможет технология HSTS (HTTP Strict Transport Security) — тогда браузер автоматически сделает внутренние редиректы, сразу сделает запрос на HTTPS и перенаправит пользователей на безопасное соединение. Для этого нужно подключить функцию HSTS в личном кабинете хостинга или прописать заголовок HTTP Strict Transport Security. Но советуем сначала протестировать функцию, чтобы убедиться, что все страницы доступны.

Плагины для ускорения загрузки сайта на WordPress

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

Optimize Database

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

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

Фрагмент работы с плагином

Совместим вплоть до 5.2.3 версии WordPress, нужна версия PHP 5.0 или выше.

WP-Optimize

Плагин для очистки базы данных, сжатия изображений и кэширования.

  • удаление резервных копий, спам-комментариев, пингбэков, трекбэков;
  • массовое сжатие изображений в формате PNG, JPG, GIF, BMP и TIF;
  • кэширование: специфический кэш для устройств, предварительная загрузка кэша, расширенные правила исключения для файлов;
  • gzip-сжатие HTML, JavaScript и CSS;
  • настройка автоматических очисток по расписанию.

Ускорение с помощью плагина Пример интерфейса

Работает бесплатно, есть премиум-версия с дополнительными возможностями. Совместим с версиями WordPress от 3.8.

WP Fastest Cache

Плагин создает статические html-файлы с сайта на WordPress и сохраняет их, то есть кэширует страницы.

  • кэширование страниц в браузере для более быстрой загрузки у пользователей, посещавших сайт ранее;
  • gzip-сжатие;
  • оптимизация кода;
  • уменьшение размера файлов css.

Данные работы плагина

Плагин совместим с HTTPS, поддерживает SSL, CDN, Cloudflare. Не работает с режимом Multisite. Совместим с версиями WordPress от 3.3

PageSpeed Ninja

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

  • кэширование страниц в браузере и на сервере;
  • gzip-сжатие файлов;
  • оптимизация порядка, котором будут загружаться стили и скрипты;
  • сжатие изображений;
  • предпросмотр изображений в низком разрешении;
  • и другие действия для ускорения загрузки и облегчения веса страницы.

PageSpeed Ninja предлагает действия по ускорению загрузки

Плагин может быть несовместим с некоторыми сайтами, поэтому проверьте совместимость на сайте PageSpeed.Ninja. Введите свой домен, результаты появятся на экране и придут на почту.

Совместим с версиями WordPress от 4.0.1 и выше.

PageSpeed Module

Плагин открывает дополнительные настройки страниц для ускорения загрузки, если на сайте используется веб-сервера с открытым исходным кодом Apache или Nginx.

  • очистка кэша от модулей;
  • включение режим разработчика для обхода кэширования PageSpeed.

Окно настройки плагина

Для работы нужно, чтобы был установлен веб-сервер Apache или Nginx. Плагин совместим с версиями WordPress от 4.4.

Jetpack

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

  • отложенная загрузка изображений для ускорения работы на мобильных устройствах;
  • темы для оформления;
  • поддержка статистики и аналитики;
  • автоматический постинг в соцсети с планированием публикаций;
  • статистика и аналитика сайта
  • Elasticsearch — поиск похожего контента на сайтах;
  • фильтрация спама;
  • ежедневное резервирование;
  • поддержка системы оплаты;
  • двухфакторная аутентификация для входа на сайт;
  • и другие возможности для безопасной работы на сайте и маркетинга.

Некоторые возможности платные, цена зависит от количества подключенных дополнений. Есть бесплатный минимальный тариф.

Загрузка изображений на сайт через плагин

Совместим с версиями WordPress от 5.1, версия PHP от 5.6.

All in One SEO Pack

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

  • поддержка Google AMP для ускорения загрузки мобильных страниц;
  • уведомление Google об изменениях на сайте;
  • автоматическая оптимизация заголовков и генерация метатегов;
  • поддержка Google Analytics;
  • встроенный API, который позволяет дорабатывать плагины под себя;
  • и другая функциональность для SEO.

SEO-меню плагина с модулями

Совместимость с PHP от 5.2.4 версии. Совместим с WordPress от 4.7 версии.

WP Total cache

Плагин справляется с кэшированием HTML-страниц, объединением стилей и скриптов, браузерным кэшированием.

  • тестирование настроек сервера, чтобы подобрать настройки плагина для комфортной работы;
  • импорт настроек, если работаете с несколькими проектами;
  • кэширование страниц и объектов;
  • сжатие CSS и JavaScript;
  • отслеживание работы плагина.

Интерфейс плагина

Нужна версия WordPress 3.2 или выше.

WP Super Cache

Плагин для кэширования HTML-страниц. Не оптимизирует JS/CSS, но с этим справляется следующий плагин из подборки.

  • простое включение и отключение кэширования;
  • настройка сроков и страниц для кэширования;
  • настройка кэширования для мобильной версии;
  • поддержка CDN;
  • сбор статистики по страницам.

Варианты настройки кэширования

Совместим с версиями WordPress от 3.1, минимальное требование — версия PHP 5.2.4 или выше.

Autoptimize

Плагин работает с кодом, скриптами и стилями страницы, ускоряя загрузку. Хорошо справляется в тандеме с предыдущим плагином.

  • оптимизация JavaScript и CSS;
  • исправление кода, блокирующего отображение верха страницы.
  • кэширование и объединение скриптов и стилей;
  • работа с заголовками;
  • перемещение скриптов в нижний колонтитул;
  • упрощение HTML.

Настройки плагина

Совместим с версиями WordPress от 4.0 и выше, версиями PHP от 5.3 и выше.

AMP for WordPress

Плагин ускоряет загрузку страниц, преобразовывая их в AMP. Такие страницы быстро загружаются: все элементы статичны, поэтому их положения и размеры можно определить до загрузки, и макет загружается сразу без перекомпоновки.

  • преобразование страниц в вид AMP, тогда к URL каждой страницы добавится /amp/;
  • отображение сайта как «Native AMP», тогда у каждого адреса будет только одна AMP-версия URL;
  • обновление кэша по расписанию.
Топ-пост этого месяца:  Как убрать «link rel=alternate» в head

Пример страницы с шаблоном AMP

Поддерживает CDN. Совместим с версиями WordPress от 4.9, PHP от 5.4.


Yandex.News Feed by Teplitsa

Плагин упрощает интеграцию сайта с Яндекс.Новостями, включая поддержку турбо.

  • трансляция контента для Яндекс.Новостей;
  • поддержка режима Турбо Страниц.
  • настройка категорий, которые попадут в трансляцию;
  • и другие настройки RSS-ленты для Яндекс.Новостей.

Настройка Турбо-страниц

Совместим с версиями WordPress от 3.9.

Smush Image Compression and Optimization

Плагин уменьшает и сжимает изображения для быстрой загрузки страницы.

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

Автоматическое изменение размера

Совместим с версиями WordPress от 4.6, PHP от 5.3 и выше.

Подборка бесплатных русифицированных плагинов поможет выбрать подходящий инструмент, чтобы ускорить загрузку страниц. Это позволит не потерять клиентов, которые не любят ждать долгой загрузки сайта, и не попасть под обновление алгоритма Google, которое опускает медленные сайты в выдаче.

Ускорение и защита сайта | Айри

В техническую поддержку Айри.рф часто задают вопросы, связанные с работой скрипта admin-ajax.php на хостинге (часто его работа прерывается, заканчивается ошибкой или вызывает большую нагрузку на хостинг). Как решить все эти проблемы?

Что такое admin-ajax.php

Скрипт admin-ajax.php (так называемый WordPress heatbeat, включен с версии WordPress 3.5.2) выполняет продление пользовательской сессии WordPress — для удобства использования административной панели. Если администратор или редактор часто работает с сайтом, то это избавляет от необходимости каждый раз вводить логин/пароль. Но для 99% посетителей сайта этот функционал, скорее всего, не нужен: они ведь только читает контент, не редактируют его.

В ряде случаев admin-ajax.php может отвечать за повышенное потребление памяти и CPU на хостинге: за счет частых — каждые 15 секунд — обращений к базе данных на фоне других запросов (большинство из которых уже могут быть закэшированы). Поскольку функционал admin-ajax.php является динамическим (его нельзя кэшировать), то облако Айри, как и любой другой кэширующий инструмент, пропускает все запросы напрямую к серверу, создавая существенную нагрузку.

Как бороться с admin-ajax.php

Лучшим способом устранение нагрузки от admin-ajax.php является полное отключение этого функционала. Лучше всего это осуществить либо редактированием внутри движка WordPress, либо путем установки соответствующего плагина.

Для отключения WordPress Heartbeat для всех страниц, кроме страницы создания новой записи, нужно добавить в header.php вашей темы:

Для решения этой проблемы через плагины WordPress можно использовать AJAX Heartbeat Tool или Heartbeat Control.

Отключаем от admin-ajax.php — снижаем блокировки сессий в PHP на сервере

В мне часто задают вопросы, связанные с работой скрипта admin-ajax.php на хостинге (часто его работа прерывается, заканчивается ошибкой или вызывает нагрузку на хостинг). Как решить все проблемы?

Что такое admin-ajax.php

Скрипт admin-ajax.php (так называемый WordPress heatbeat, включен с версии WordPress 3.5.2) выполняет продление пользовательской сессии WordPress — для удобства использования административной панели. Если администратор или редактор часто работает с сайтом, то это избавляет от необходимости каждый раз вводить логин/пароль. Но для 99% посетителей сайта этот функционал, скорее всего, не нужен: они ведь только читает контент, не редактируют его.

В ряде случаев admin-ajax.php может отвечать за повышенное потребление памяти и CPU на хостинге: за счет частых — каждые 15 секунд — обращений к базе данных на фоне других запросов (большинство из которых уже могут быть закэшированы). Поскольку функционал admin-ajax.php является динамическим (его нельзя кэшировать), то облако Айри, как и любой другой кэширующий инструмент, пропускает все запросы напрямую к серверу, создавая существенную нагрузку.

Как бороться с admin-ajax.php

Лучшим способом устранение нагрузки от admin-ajax.php является полное отключение этого функционала. Лучше всего это осуществить либо редактированием внутри движка WordPress, либо путем установки соответствующего плагина.

Для отключения WordPress Heartbeat для всех страниц, кроме страницы создания новой записи, нужно добавить в header.php или function.php вашей темы:

Для решения этой проблемы через плагины WordPress можно использовать AJAX Heartbeat Tool или Heartbeat Control.

Это уникальная SEO-запись.

Отключаем от admin-ajax.php — снижаем блокировки сессий в PHP на сервере: 5 комментариев

Спасибо очень помогла статья, реально в последнее время возросла нагрузка на сервер. После внедрения кода всё нормализовалось!

Такая же проблема на хостинге бегет. Подскажите, этот код точно надо в header.php вставлять? Просто на другом сайте видел эту статью, там написано про function.php?

В моей теме вставлен в header.php но в вашем случае возможно вставить в function.php. Темы разные, помним об этом. И эта проблем далеко не последняя есть еще косяки в жуткой нагрузке от Yoast SEO.

Здраствуйте!
В Гугл-вебмастере в разделе»Ошибки сканирования» такая ошибка:
wp-admin/admin-ajax.php-код ответа 400.
Когда переходишь по адресу
wp-admin/admin-ajax.php открывается пустая страница в левом верхнем углу стоит 0
У меня вопрос:Как избавиться от этой ошибки?
Заранее Спасибо!

Возможно у вас какие-то проблемы с самим WP, мб ошибка при установке была. Рекомендую обратиться к веб-мастеру. Возможно проблема решится просто перезаливкой одного файла.

Загрузка статей по Ajax в WordPress – полное руководство

Загрузка статей по Ajax – можно сказать уже полностью стандартный функционал для многих блогов. Сегодня в этой статье мы рассмотрим данный способ, который прекрасно реализован на нашем сайте – Как Вы прекрасно видите, на нашем сайте отлично работает этот способ, и после нажатия на кнопку “Читать далее” подгружаются следующие статьи. Удобно? Безусловно. Итак приступим.

Для примера я рассмотрю вариант, если нам необходимо сделать данную подгрузку на странице блога, это index.php или category.php (все файлы располагаются в папке Вашей темы), обычно эти файлы есть всегда. Ищем вывод из базы наших статей, обычно это что-то в таком вот виде.

Как Вы заметили данный код выводит в цикле все записи. Сразу же после этого кода вставляем нашу кнопку “Загрузить еще”.

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

ajaxurl – Это обработчик AJAX-запросов в WordPress.

true_posts – Сериализованный массив, содержащий все необходимые параметры запроса, является свойством класса WP_Query.

current_page – Номер текущей страницы.

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

WordPress.org

Русский

admin-ajax.php перегружает сервер

Доброго времени суток.

Недавно на сейте аномально увеличилась нагрузка. После длительного и не очень плодотворного общения с техподдержкой хостинга определили, что много нагрузки идет от запросов типа:

31.180.243.14 — — [17/Mar/2020:11:33:44 +0300] kmvexpress.ru POST /wp-admin/admin-ajax.php HTTP/1.1 200 102 «http://***/wp-admin/post-new.php»

Техподдержка хостинга предложила отключить admin-ajax.php. Этот шаг имел смысл хотя бы для того, чтобы проверить на сколько данное действие снизит нагрузку.

Однако, после всех необходимых процедур, подобные обращения остались. За день приходит от 5000 подобных запросов. Что, по словам поддержки, дает дополнительную нагрузку на сервер.

Вот шаги, которые пробовали делать для отключения:

1. В header.php добавлен следующий код:

2. В файл functions.php добавлен следующий код (дублирующий функции первого на случай, если вдруг он не отрабатывает):

3. Был отключен плагин WP Ajaxify Comments, который так же имеет файл admin-ajax.php, позволяющий перезагружать комментарии без перезагрузки страницы. Время его работы на сайте было более 1 секунды.

Может кто-то сталкивался с подобными проблемами и подскажет, в чем может быть проблема?

  • Тема изменена 1 год, 7 мес. назад пользователем SeVlad. Причина: Оформляйте, пож, код как следует

admin-ajax.php используется для всех аяксных фишек как в админке, так и на фронтэнде. Также некоторые пейдж(де)билдеры любят его использовать где надо и где не надо.

Это я понимаю. Понимаю так же, что любой плагин, в теории, может пользовать его по чем зря. И этот же файл является потенциальным уязвимым местом.

Вопрос в другом: мои шаги 1 и 2 должны были отключить admin-ajax.php, однако этого не произошло. Или я не совсем правильно понимаю механику работы данных участков кода?

3. Был отключен плагин WP Ajaxify Comments

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

И этот же файл является потенциальным уязвимым местом.

Любой файл является потенциально уязвимым местом. Этот ничем не лучше и не хуже других в плане уязвимости.

мои шаги 1 и 2 должны были отключить admin-ajax.php

С какой радости? И что Вы вообще подразумеваете под «отключить»?

Инструкция по поиску виновного в пп 3-6.

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

Query Monitor сейчас посмотрю, спасибо.

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

Я тоже так подумал после тестирования P3 Plugin Profiler. Однако высокая нагрузка сохранилась, что довольно странно.

С какой радости? И что Вы вообще подразумеваете под «отключить»?

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

Отвечаю на Ваш вопрос в подобной Вам манере.

Составляя слова в предложения я стараюсь руководствоваться смыслом данных слов. Другими словами, если я пишу «отключить», то имею ввиду «прервать работу» или же «исключить, удалить» (взято из вики словаря).

На сколько я понимаю, сам admin-ajax.php продлевает пользовательские сессии. Если окно активно, то раз в 15 секунд, если окно не в фокусе, то раз в 60 секунд (как было написано в описании). Вы говорили выше, что здесь же используются «все аяксные фишки как в админке, так и на фронтэнде».

Чтобы отключить функционал я использовал wp_deregister_script(), что удаляет ранее зарегистрированный скрипт. Использовал это в 2 местах на сайте, хотя один из дублей явно должен быть лишним. Однако, это не возымело должного эффекта.

Когда более опытный разработчик вместо подсказки или помощи переходит к придиркам к словам, складывается общее впечатление о сообществе. Что не ведет к его (сообщества) процветанию и дзэну.

Надеюсь на Ваше понимание.

Чтобы отключить функционал я использовал wp_deregister_script(), что удаляет ранее зарегистрированный скрипт.

wp_deregister_script(‘heartbeat’); никоим образом может прервать работу вызываемого напрямую admin-ajax.php.

Когда более опытный разработчик вместо подсказки или помощи переходит к придиркам к словам

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

Как я оптимизировал медленный сайт WordPress: полный список из 40+ актуальных советов по оптимизации скорости WordPress

Дата публикации: 2020-04-12

От автора: если вам нужна оптимизация скорости сайта WordPress, которая улучшает оценку/время загрузки, то я покажу вам, как использовать для этого отчет Pingdom , GTmetrix и Page Speed Insights. Я уже говорил об одном из самых популярных уроков WP Rocket, в том числе и об W3 Total Cache и WP Fastest Cache, которые в совокупности содержат более 500 комментариев и используются более чем 200 000 человек. Давай сделаем и твой сайт!

Плагин хостинга и кэширования — это два ключевых фактора в руководстве по оптимизации WordPress. SiteGround был оценен и по результатам опроса на Facebook стал #1 (он был #1 и в прошлом году), и я пользуюсь им. Вы можете использовать Google Page Speed Insights и Byte Check, чтобы проверить скорость вашего хостинга/TTFB. WP Rocket был №1 плагином для кэширования в другом опросе Facebook, и его я тоже использую. Да … обе эти услуги платные (SiteGround стоит 3,95 — 11,95 долл. США в месяц, а WP Rocket — 39 долл. США в год), но это то, чем я настраиваю скорость большинства загрузок. У меня есть урок для WP Rocket, и SiteGround предоставит вам бесплатную миграцию — оба варианта легкие.

1. Pingdom vs. GTmetrix vs. Google Page Speed Insights

По данным WP Rocket, Pingdom — самый точный способ измерения времени загрузки. Это первичная метрика, которую вы должны измерять (не оценки), но есть корреляция.

Бесплатный курс «Основы создания тем WordPress»

Изучите курс и узнайте, как создавать мультиязычные темы с нестандартной структурой страниц

У GTmetrix есть более надежные рекомендации … например, какие изображения нужно оптимизировать на вкладке «Page Speed» (шаги 14-16) и использовать CDN на вкладке «YSlow» (шаг 11). Это также полезно для поиска плагинов медленной загрузки, если они появляются несколько раз в отчете или занимают много времени для загрузки на вкладке «Waterfall». Поскольку плагин P3 Profiler больше не работает, используйте GTmetrix.

Google Page Speed Insights хорош только для одной вещи — проверки скорости сервера. Если вы видите, что время отклика сервера в отчете должно учитывать переход на более быстрый сервер ( шаг 3 ). В противном случае это довольно бесполезная вещь, и есть много статей, которые объясняют, почему. Google рекомендует, чтобы время отклика было более 200 мс, и вы можете добиться этого, обновив тарифы текущей хостинговой компании, чтобы добавить больше ресурсов сервера или переключиться на хост, который использует технологию с более высокой скоростью (серверы NGINX, накопители твердотельных состояний, PHP7, HTTP / 2, HHVM и т. д.).

2. Что делать, если хостинг медленный

Запустите свой сайт через bytecheck.com и проверьте TTFB (время до первого байта). В идеале это должно быть меньше 500 мс (лучше всего 200 мс). Это и сокращение времени отклика сервера в Page Speed Insights являются хорошими показателями скорости сервера. Если же сервер медленный, можно или модернизировать тарифы с помощью текущего хоста, или попробовать SiteGround (используемый мной хост), который почти всегда получает TTFB> 200 мс.

Вы также можете проверить TTFB на вкладке GTmetrix Timings …

3. Время загрузки 200 мс на SiteGround

Хостинг — это фактор №1 в руководстве по оптимизации WordPress, и вы видели мои отчеты.

Я использую SiteGround, который занял первое место в недавнем опросе на Facebook, проведенном WordPress Hosting Group, в котором приняли участие более 6500 человек, которые хорошо осведомлены о хостинге …

В прошлогоднем опросе он тоже стал №1. Люди, которые перешли на SiteGround, опубликовали результаты в Twitter …

SiteGround имеет 3 тарифа (я использую полувыделенный тариф GoGeek ) …

Более дорогие тарифы включают в себя больше ресурсов сервера (количество серверов является фактором №1 в руководстве по оптимизации WordPress). Вы можете увидеть полную сравнительную диаграмму тарифа StartUp vs. GrowBig vs. GoGeek. GrowBig предоставляет вам около 2-х серверных ресурсов как StartUp, а GoGeek — это полувыделенный сервер, который дает вам еще больше ресурсов. GrowBig + GoGeek имеют приоритетную поддержку, и возможность размещать неограниченное количество сайтов. Цена за Облачный хостинг подскакивает аж до $ 80 / год, но он поставляется с 2CPU + 4 ГБ оперативной памяти и работает быстрее, чем GoGeek.

Топ-пост этого месяца:  Как вывести произвольные поля ACF в тегах Wordpress

Вы можете увидеть это на странице функций …

Мне нравится SiteGround, потому что …

Он №1 в опросе на Facebook в 2020 году

И №1 в опросе на Facebook в 2020 году

Высоко оценён в обсуждениях здесь, здесь и здесь

Ivica запускает WordPress Speed Up Group и оценивает их как #1

Люди, которые переходят на SiteGround, обычно видят хорошие улучшения времени загрузки

Среднее время загрузки — 1,3, а у меня 200ms в Pingdom + .5s в GTmetrix

Технология скорости использует SSD, серверы NGINX, HTTP / 2, PHP7


SG Optimizer поддерживает обновление сайта с помощью последней версии PHP

Облачный хостинг включает HHVM, который даже быстрее, чем PHP7

Выбор из 5 дата-центров (выберите ближайший к вашим посетителям)

Они единственные, Кто размещён на всех 3 страницах WordPress, Joomla, Drupal

Автоматическое ежедневное резервное копирование

Автоматические обновления WordPress

Еженедельные уведомления по электронной почте

cPanel прост в использовании ( просмотр демо )

Все планы поставляются со свободным Let’s Encrypt SSL

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

Активация 1-Click Cloudflare делает всё очень легким

Я обычно получаю 100% времени, но 99,99% гарантируется

Техподдержка обычно отвечает в течение 10 минут

SiteGround перенесет вас бесплатно (просто заполните билет )

SiteGround НЕ является компанией EIG (EIG имеет ужасную репутацию)

Очень полезен в группах Facebook, WordCamps

50-ти людям я рекомендовал SiteGround в июле, ни один не отказался

Их полувыделенный тариф поставляется с 4-кратным количеством ресурсов сервера, в отличие от обычного общего хостинга,

1-ступенчатая компоновка WordPress и соответствие PCI, если вы запустите сайт eCommerce

Отказ от участия в партнерской программе — если вы решите зарегистрироваться на SiteGround, используя мою партнерскую ссылку, я пожертвую вам немалый кусок без каких-либо затрат. В этом году я пожертвовал 3000 долларов Красному Кресту на Ураган Харви — в следующем году, вероятно, средства пойдут на нужды детей. Ваша поддержка очень поможет, и я бы искренне ее оценил. Я стараюсь делать свои обзоры объективными и подкрепленными доказательствами в виде опросов , твитов и реальных разговоров . Если вы не хотите использовать на таких условиях, вот не-партнерская ссылка на SiteGround. В любом случае, я действительно верю, что это лучший хостинг WordPress, и ваш сайт будет работать быстрее / лучше … проведите исследования в группах Google / Facebook, и вы обнаружите, что большинство людей говорят то же самое.

4. PHP7

Почему только 15% пользователей WordPress используют PHP7?

Это ведь делает сайт быстрее?

Yoast даже предлагает вам обновление …

Это потому что большинство хостов поддерживают его …

Ваша хостинговая компания НЕ будет автоматически обновляться до последней версии PHP, так как ваша тема /плагины могут быть несовместимы (а они не хотят сломать сайт). Это означает, что вам нужно сделать это самостоятельно или запросить помощь у своего хоста). Ещё это означает, что, если вы были на одном хосте в течение многих лет и никогда не делали обновлений, вероятно, вы все еще используете PHP5.

Шаг 1. Установите плагин версии PHP для проверки текущей версии.

Шаг 2. Запустите средство проверки совместимости PHP, чтобы убедиться, что тема /плагины совместимы.

Шаг 3 : переход на PHP7, связавшись с инструкциями вашего хоста или с Google для конкретного хоста. Если вы используете хостинг SiteGround WordPress, их плагин SG Optimizer делает за вас всё (проверит текущую версию PHP, совместимость, обновления до PHP7). Кроме того, Supercacher заботится о статическом кэше, динамическом кэше, memcache и даже HHVM, если вы находитесь в их облачном тарифе.

5. Настройка плагина Cache (в идеале WP Rocket)

Существует множество плагинов кэша, но этот, по опросу в Facebook , является лучшим. Ваш плагин и хостинг вашего кэша – два наиболее важных фактора, поэтому попробуйте купить WP Rocket, если у вас есть 39 долларов.

Если вы вложите $ 39 в покупку WP Rocket , то увидите мой обучающий курс WP Rocket . Плагин прост в настройке, часто обновляется с новыми функциями , имеет обширную документацию и потрясающую поддержку . Он объединяет Cloudflare, MaxCDN, lazyloading videos / photos / iframes, очистку базы данных, удаление строк запроса и многое другое. Большинство других плагинов кэшей не работают с очисткой базы данных или lazyload, в таком случае вам потребуется установить плагины WP-Optimize и Lazy Load For Videos . С WP Rocket вам не нужно устанавливать отдельные плагины для этих функций.

6. Очистка базы данных

Удаляет папки спама и корзины, трекбэки, пингбэки, таблицы базы данных, переходные процессы и тысячи потенциальных почтовых исправлений и почтовых черновиков, которые накопились за время работы, и которые WordPress сохраняет автоматически. Этот мусор и замедляют ваш сайт. Я рекомендую использовать WP Rocket или WP Optimize, чтобы удалять их каждую неделю или около того. Все должно быть хорошо, но на всякий случай сделайте резервную копию своего сайта, если впервые очищаете базу данных! Если вы используете WP Rocket, запустите (и отметьте) его в настройках базы данных …

Если вы не используете WP Rocket, используйте бесплатный плагин WP-Optimize …

7. Настройка Cloudflare

Бесплатный Cloudflare повышает скорость, безопасность и защиту от спама. Их CDN размещает ваши файлы в 115 дата-центрах, что помогает выгружать ресурсы на их серверы (уменьшая нагрузку на ваш). Дата-центры также уменьшают географическое расстояние, необходимое для доставки вашего контента посетителям. Cloudflare легко настроить с помощью WP Rocket (альтернативные методы настройки я перечислю ниже).

Если вы используете WP Rocket, установите это в настройках Cloudflare …

Электронная почта вашего аккаунта и глобальный ключ API находятся в профиле Cloudflare …

Альтернативные методы настройки Cloudflare

Большинство хостов также имеют возможность активировать Cloudflare в cPanel …

8. Настройки скорости Cloudflare

Перейдите к настройкам скорости Cloudflare и скопируйте их. Проверьте свой сайт, учитывая, что Auto Minify и Rocket Loader могут вызвать проблемы. Включите SG Railgun и ускоренные мобильные ссылки.

9. Защита Hotlink от Cloudflare

Защита Hotlink запрещает пользователям использовать их изображения на своем веб-сайте — что засасывает ваш хостинг-процессор (пропускная способность). Перейти к Cloudflare в настройках scrape shield и включите это …

10. Правила страницы WPF для Cloudflare

Cloudflare говорит: «Мы рекомендуем создать правило страницы, чтобы исключить административную часть сайта из возможностей Cloudflare. Такие функции, как Rocket Loader и Auto Minification, могут непреднамеренно нарушать функции back-end в разделе администратора».

Перейдите к настройкам Page Rule …

Создайте эти 2 правила для панели администратора …

11. MaxCDN

MaxCDN — зачем использовать другой CDN, если у вас уже есть Cloudflare? А вот зачем…

MaxCDN имеет 56 дополнительных дата-центров

MaxCDN использует более быстрые SSD-серверы с подключением 10 ГБ

MaxCDN не взимает плату за трафик HTTPS, а Cloudflare взимает

MaxCDN имеет панели мониторинга, которые предоставляют большое количество информации о ваших кэш-файлах

Команда MaxCDN помогла мне сконфигурировать мой CDN и улучшить показатель GTmetrix YSlow на 8%, поставив «вишенку на тортик», чтобы сделать мой отчет на 100% идеальным (см. ниже)

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

Шаг 1. Подпишитесь на MaxCDN, используя мой купон на 25%, или попросите бесплатную пробную версию.

Шаг 2. Создайте pull-зону (см. Руководство).

Шаг 3: В настройках этой зоны перейдите в Pull Zone и выберите Manage → Settings. Найдите CNAME, который должен выглядеть примерно так: omm.onlinemedia.netdna-cdn.com

Шаг 4. Вставьте свой CNAME в поле «CDN CNAME (S)» WP Rocket …

Шаг 5: В MaxCDN перейдите на вкладку “manage cache” в настройках pull-зоны и очистите файлы …

Шаг 6: Запустите свой сайт в GTmetrix, “content delivery network” в YSlow должна быть зеленой.

Если вы расширите элементы в GTmetrix и увидите, что проблема связана с вашим CDN, обратитесь в службу поддержки MaxCDN, которая должна помочь вам исправить её. У них отличная поддержка.

GTmetrix YSlow без MaxCDN

GTmetrix YSlow с MaxCDN

Поиск и устранение неисправностей MaxCD

12. Белый список IP-адресов

MaxCDN, Cloudflare и на вашем сервере все IP-адреса должны быть белыми, чтобы они корректно работали и не позволяли брандмауэру блокировать IP-адреса друг друга.

Список IP-адресов

IP-адрес сервера находится в хостинге cPanel

Найдите IP-адрес вашего сервера — это находится в вашем cPanel (инструкции Google для хоста).

Белый список IP сервера в MaxCDN — перейдите в область белых списков MaxCDN и вставьте IP-адрес своего сервера.

Белый список IP-адресов сервера в Cloudflare — перейдите в настройки брандмауэра Cloudflare и выполните то же самое.

Белый список MaxCDN / Cloudflare IP-адресов на вашем хосте — обратитесь к своему хосту, чтобы узнать, может ли использоваться белый список IP-адресов Cloudflare и IP-адресов MaxCDN, поскольку большинство хостов не позволяют вам использовать «белый список».

13. Lazyload Videos/Iframes

Задержка загрузки видео до тех пор, пока вы не прокрутите страницу вниз, и они станут видимым. Я смог уменьшить время загрузки нескольких сообщений примерно на 6 секунд, просто включив это (так как видео — тяжелый элемент). Вы можете сделать то же с фотографиями, но постоянная загрузка раздражает, поэтому я отключил. Если вы не используете WP Rocket, можно сделать это, используя плагин Lazy Load For Videos.

Если вы используете WP Rocket, включите lazyload в основных настройках …

Light Youtube Embeds — еще один вариант загружать видео только после нажатия кнопки воспроизведения. Я не собираюсь изобретать колесо (и вам понадобятся некоторые знания в области кодирования), поэтому следовал этому учебнику по light Youtube embed. Вы в основном вставляете код в свой веб-шаблон и еще один код в CSS, а затем вставляете каждое видео с помощью кода «div». Если вам нужна помощь, можете заставить моего разработчика сделать это за вас, но это имеет огромное значение.

14. Обслуживание масштабированных изображений

Изображения могут быть оптимизированы тремя способами. Можно запустить любую страницу через GTmetrix, и она сообщит вам обо всех неоптимизированных изображениях, но ТОЛЬКО для этой страницы. Начните с изображений, которые появляются на нескольких страницах (так как это ускоряет загрузку нескольких страниц), а затем перейдите к изображениям, которые появляются на отдельных страницах.

Serve Scaled Images- изменения размеров больших изображений на меньшие. GTmetrix сообщает вам корректные размеры. Просто нажмите на изображение в GTmetrix, измените его на новые размеры и замените.

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

Ползунок: 1903 (w) x 400 (h)

Изображения карусели: 115 (h)

Виджет изображений: 414 (w)

Полноформатное изображение блога: 680 (w)

Бесплатный курс «Основы создания тем WordPress»

Изучите курс и узнайте, как создавать мультиязычные темы с нестандартной структурой страниц

Избранные изображения: 250 (w) x 250 (h)

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

15. Указывайте размеры изображений

Specify Image Dimensions — это значит, что вам нужно указать ширину и высоту изображения в HTML или CSS. Обычно это происходит в виджетах, HTML или CSS разделах веб-сайта, так как визуальный редактор позаботится об этом автоматически. GTmetrix снова предоставит вам корректные размеры, теперь нужно найти это изображение и указать ширину + высоту …

16. Сжатие изображений без потерь

Optimize Images – сжимает изображения без потерь с помощью Imagify или Kraken (оба доступны до тех пор, пока вы не исчерпаете ежемесячный лимит). Существуют и другие совершенно бесплатные плагины с неограниченным сжатием, но НЕ используйте их, поскольку они имеют ошибки, не работают или могут разорвать изображения.

Подпишитесь на Imagify

Установите Imagify Plugin

Вам будут предложены следующие инструкции:

Введите свой ключ API из учетной записи Imagify

Установите уровень сжатия (нормальный, агрессивный, ультра)

Массово оптимизируйте все изображения (фото ниже) на вашем сайте

Как только вы достигли своего предела, заплатите 4,99 доллара США или подождите следующего месяца, чтобы сбросить свой лимит

После регистрации, массовая оптимизация всех изображений будет доступна на вашем сайте …

17. Сохранение изображений в корректном формате

Использование корректного формата PNG / JPEG — PNG несжатый формат (больший размер файла) и должен использоваться в простых изображениях с небольшим количеством цветов. JPEG — сжатый (меньший размер файла), он немного снижает качество изображения меньшего по размеру и с большим количеством цветов.

18. WP Disable

WP Disable позволяет отключать настройки в WordPress, которые потребляют процессор и замедляют работу сайта. У него также есть опции для контроля сигнала (если вы помните, есть heartbeat control plugin, теперь вы можете удалить его и просто использовать WP Disable) … а также несколько других параметров, которые могут ускорить работу веб-сайта/панели администратора. Перейдите в настройки и просто отключите то, что вы не используете …

Советы по использованию WP Disable

Отключить ВСЕ, что вы не используете

Удаление спама — хорошая идея

Emojis, Google Maps и Gravatars занимают много времени, чтобы загрузиться

Pingbacks и trackbacks обычно не стоят дополнительных ресурсов

Настройте пост-версии на 3-5 резервных копии, сотни копий не нужны

Различные параметры на вкладке «request» могут увеличить время загрузки

19. Локальный хост Google Analytics

В правой части настроек WP Disable вы можете ввести код UA Google Analytics. Это должно исправить элемент кэширования «leverage browser caching для Google Analytics, который часто встречается в приложениях GTmetrix, Pingdom и Google Page Speed Insights. Обязательно удалите любые другие коды отслеживания и плагины Google Analytics и убедитесь, что ваша GA продолжает отслеживать данные пользователя.

20. Минимизация плагинов

Удалили ли вы плагин Hello Dolly и импортер WordPress? Как насчет замены плагина Twitter с виджетом Twitter или плагина Facebook с виджетом Facebook? Вместо того, чтобы использовать плагин Google Analytics, почему бы не вставить код отслеживания непосредственно в нижний колонтитул (или даже лучше, разместить его локально )? Yoast генерирует XML-карту сайта, поэтому плагин Google XML Sitemaps не нужен. Просматривайте свои плагины и деактивируйте / удалите те, которые вам не нужны. Вы также должны избегать использования 2 отдельных плагинов, если они имеют повторяющиеся функциональные возможности.

21. Избегайте больших модулей CPU

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

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