Устанавливать WordPress будем на Devuan 3 beowulf, а в качестве web-сервера используем nginx. Про Devuan я уже писал, если вкратце это урезанный Debian без systemd, с низким потреблением ресурсов.
Архив метки: Wordpress
Установка WordPress (Apache2)
Устанавливать WordPress будем на Devuan 3 beowulf, а в качестве web-сервера используем apache2. Про Devuan я уже писал, если вкратце это урезанный Debian без systemd, с низким потреблением ресурсов.
Отключение редакций и ревизий в WordPress.
В WordPress отключение редакций и ревизий приносит умиротворение и порядок. Не знаю, как вас, меня иногда бесит огромное количество этих самых ревизий. И, ладно бы, мой сайт прост как грабли и не имеет большого количества функционала и контента. А если это большой сайт и контента много и он добавляется часто? Беда. Редакции — это резервные копии, которые сохраняются в базе данных при каждом обновлении поста или страницы. Если Вам все же нужны ревизии записей и страниц, то можно ограничить количество их сохранения, а можно полностью отключить и удалить.
Итак, решение принято. Мы хотим ограничить количество редакций или отключить их вовсе. Пути три:
- Ограничить редакции и ревизии можно при помощи:
WP_POST_REVISIONS
, поместив в config.php:
define('WP_POST_REVISIONS' , 1);
- Поработать с хуком, таким образом либо ограничить редакции и ревизии, либо отключить:
wp_revisions_to_keep
Ограничиваем:
function limit_save_revisions_db($count, $post) { if ($post->post_type == 'page') {//для стандартных страниц WordPress сохраняем 1 ревизию return 1; } elseif ($post->post_type == 'post') {//для стандартных записей WordPress сохраняем 3 ревизии return 3; } elseif ($post->post_type == 'reviews') {//для произвольного типа записей "Отзывы" не сохраняем ревизий return 0; } else {//для всех остальных сохраняем 3 ревизии return 3; } } add_action( 'wp_revisions_to_keep', 'limit_save_revisions_db', 10, 2 );
- Или отключаем. Третий вариант предусматривает полное отключение редакций и ревизий в WordPress:
function deactivate_revisions( $count ) { return 0; } add_filter( 'wp_revisions_to_keep', 'deactivate_revisions' );
После этого неплохо бы почистить БД WP через PHPMyAdmin (не забываем сделать резервную копию базы данных WP):
DELETE FROM `wp_posts` WHERE post_type = 'revision';
DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%');
DELETE FROM wp_term_relationships WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%');
Можно ли отключить AMP для страниц WordPress?
В этом посте показано, как полностью отключить и удалить функцию Google Accelerated Mobile Pages (AMP) с веб-сайтов и страниц WordPress.
AMP ускоряет время загрузки вашего веб-сайта и обеспечивает высокую производительность для вашей аудитории и посетителей. Это достигается за счет удаления большого количества элементов HTML и JavaScript, которые замедляют загрузку веб-сайтов.
Однако не все видели эти преимущества, отстаиваемые Google и другими. Некоторые веб-мастера сообщают, что технология AMP мешает взаимодействию пользователей и плохо работает с рекламой с поддержкой AMP.
Если вы чувствуете, что ваши AMP-страницы не очень полезны и мешают взаимодействию пользователей с вашим сайтом, просто отключите и удалите их.
Если вы просто отключите AMP в WordPress без добавления соответствующих перенаправлений, это может вызвать у вас много проблем, включая ошибки 404, отсутствующие страницы и многое другое.
Чтобы начать отключение и удаление AMP из WordPress, выполните следующие действия:
Отключаем AMP для WordPress
Установив AMP для WordPress, просто перейдите на страницу плагинов и отключите установленный плагин AMP.
После деактивации плагина нажмите ссылку «Удалить», чтобы удалить его из WordPress.
Удаление плагина приведет к очистке его записей, хранящихся в базах данных, и связанных данных из WordPress.
Настраиваем перенаправления
Отключение AMP и удаление плагина — это только половина дела. Вы не можете просто удалить плагин AMP без добавления перенаправления.
Если Google отправляет поисковиков на ваши AMP-страницы, но ни одна из них недоступна, всем им будут показаны страницы с ошибкой 404. Это плохо.
Вы хотите, чтобы пользователи, посещающие страницы AMP, перенаправлялись на правильные страницы, не относящиеся к AMP. Для этого выполните следующие действия:
Сначала перейдите на страницу своих плагинов ==> Добавить новый.
Затем выполните поиск Redirection, как показано на изображении ниже. Когда вы найдете плагин Redirection, нажмите Установить.
После установки плагина активируйте его.
После включения перейдите в Инструменты ==> Redirection, чтобы настроить плагин. Вам может быть предложено запустить мастер установки. Просто выполните параметры по умолчанию и закончите.
На странице настроек добавьте новое перенаправление со следующими настройками:
В поле Source URL введите строку ниже
/(.*)/amp
Затем выберите REGEX в раскрывающемся списке справа от поля ввода.
В Target URL ниже введите:
http://www.yourwebsite.com/$1
Затем выберите падение вниз Group окна и нажмите, Redirections.
Когда вы закончите, нажмите кнопку «Добавить перенаправление», чтобы завершить настройку.
Это должно сработать!
Вывод произвольных типов записей и полей в WordPress на сайте.
Вывод произвольных типов записей в WordPress рассматриваю на примере темы Understrap.
Произвольные типы записей и поля:
Добавление произвольных типов записей в WordPress (чуть позже напишу о Pods)
Вывод произвольных типов записей в WordPress
Добавление произвольных полей к записям в WordPress
Вывод произвольных полей в записях WordPress
Вывод (отображение) произвольных типов записей в WordPress
Открываем папку с активной темой в любимом редакторе (я люблю VS Code). В примере я использую тему understrap (https://github.com/understrap/understrap). Поэтому если будете повторять за мной, рекомендую тренироваться именно на этой теме. Пояснять буду на примере пользовательского портфолио.
- Кастомные поля решил попробовать создавать при помощи плагина Pods (https://docs.pods.io/). Создал поле с именем «Работы» (works).
-
Создал страницу отвечающую за вывод постов из кастомного раздела — в папке page-templates works-template.php. В шапке прописываю имя шаблона и из админки WP создаю новую страницу и шаблоном выбираю его.
- Template Name: Template: Works - - Template for displaying a page without sidebar even if a sidebar widget is published. - - @package UnderStrap
Публикую страницу.
Вывод произвольных типов записей в WordPress на сайте
Вношу изменения в страницу works-template.php
Что-то типа:
$posts = get_posts("post_type=works&orderby=date&numberposts=5"); if ($posts) : ?> foreach ($posts as $post) : setup_postdata($post); the_title(); the_post_thumbnail(); the_excerpt(); endforeach; endif;
Можно скопировать из подходящего файла из имеющихся в теме, можно писать самому. Смысл вывести заголовки, изображения и отрывки постов.
Готово. Если вы все сделали правильно, то задача минимум достигнута. Мы вывели произвольные типы записей — из раздела «Работы» на страницу сайта. Дальше можно заняться деталями. А именно, чтобы наши полноценные записи выводились в нужной нам верстке, а не в стандартной для шаблона.
- Вывод произвольных типов записей в отдельном шаблоне
В корне темы создаю файл single-works.php и копирую в него код из single.php. Найдя строчки типа
get_template_part( 'loop-templates/content', 'single' );
я поменяю на свой шаблон — single-works.
Создаю файл content-single-works.php в папке loop-templates. Копирую в него код из content-single.php и меняю под нужную мне верстку Теперь «Работы» выводятся по шаблону content-single-works.php. Если необходимо изменить разметку, стили, то правим именно его.
Если мы все сделали правильно, то теперь имеем раздел для контента, который выводится со своей индивидуальной версткой.
Повышаем производительность WordPress
Большинство исследований показывают, что пользователи очень нетерпеливы и покидают сайт, если он не загрузился за 4 секунды или даже меньше. Мы находимся в эпоху, когда все должно быть быстрым, и пользователи просто не хотят ждать загрузки страницы. Это особенно верно для пользователей мобильных устройств.
WordPress – отличная CMS, которая поможет вам легко создавать красивые веб-сайты или блоги без необходимости платить веб-разработчику. Проблема с WordPress в том, что она может стать очень медленной из-за многих факторов. Новая установка WordPress, использующая одну из тем по умолчанию и минимум плагинов, может очень быстро загружаться и получать хорошие оценки Google Speed и Yahoo! YSlow.
Это пример чистого блога, использующего тему по умолчанию.
Значение слева – это показатель Google Page Speed, а значение справа – показатель Yahoo! YSlow. Двойной A – зеленый 97% и 87%. Время загрузки страницы составляет 0,9 секунды. Если вы получаете высокие баллы, подобные этим, вы можете гордиться собой, и ваши посетители могут быть счастливы!
К сожалению, 99% времени мы используем разные причудливые темы, много изображений и виджетов, которые добавляют тяжелые коды в наших страницах, что значительно замедляет нашу установку WordPress. Существуют также настройки WordPress по умолчанию, которые не помогают сэкономить ресурсы сервера.
Экономия на стоимости хостинга
Очень немногие блогеры серьезно относятся к оптимизации скорости загрузки сайтов, большинство из них просто не думают об этом, прежде чем это вызовет серьезные проблемы.
Медленная скорость загрузки страницы – признак того, что ваш блог использует слишком много ресурсов процессора и оперативной памяти вашего сервера.
Как увеличить скорость сайта WordPress
Для повышения скорости работы сайтов обычно выделяются три основные категории:
- Hardware
- Software
- Network
Мы сосредоточимся на программной части. Программное обеспечение включает в себя два основных аспекта: бэкэнд и Фронтэнд. Бэкэнд включает в себя оптимизацию баз данных и серверного код, такого как PHP и Java. Тем не менее, мы приложим максимум усилий для оптимизации внешнего интерфейса. Они включают в себя HTML, изображения, JavaScript и CSS-файлы и составляют 90% времени, необходимого для загрузки веб-сайта!
[bs_notification type=”danger” dismissible=”false”]Пожалуйста, создайте резервную копию WordPress перед началом процесса оптимизации. Это очень важно!!![/bs_notification]
Тест скорости WordPress
Прежде чем приступить к оптимизации производительности, запишите текущие данные, в том числе время загрузки страниц. (Список ресурсов для измерения скорости загрузки сайта вы можете найти ниже). Это поможет вам определить, насколько эффективны настройки производительности.
Бесплатные сервисы, описанные ниже, анализируют и тестируют вашу страницу (а не весь сайт) и представляют вам результаты тестирования. Я предпочитаю тестировать свои страницы, используя несколько разных сервисов, потому что каждый раз вы будете видеть разные результаты. Сложно определить среднее время загрузки с точностью, так как многие переменные могут изменять результаты испытаний каждый раз.
Neustar
- Зайдите на страницу http:// browsermob.com/ free-website-performance-test
- Введите ссылку на страницу которую вы хотите протестировать
- Run Instant Test
- Сохраните результат в PDF
GT Metrix
- Зайдите на страницу http://gtmetrix.com/
- Введите ссылку на страницу которую вы хотите протестировать
- Сохраните получившейся результат
Google Page Speed Online
- Зайдите на страницу https://developers.google.com/speed/pagespeed/insights
- Введите ссылку на страницу которую вы хотите протестировать
- Сохраните получившейся результат
Оптимизация картинок
Оптимизация изображения очень важна для ускорения вашего блога. Изображения в вашем блоге, могут быть слишком велики для настольных и мобильных устройств. Даже если вы тщательно сохранили свои изображения для Интернета с помощью Photoshop, Gimp, Acorn или другого графического программного обеспечения, вы будете удивлены, увидев, сколько килобайт вы все еще можете сохранить с помощью метода, который я собираюсь вам показать. Надеюсь, вам не придется оптимизировать каждое изображение отдельно. Это было бы огромной работой, особенно если у вас уже есть тысячи изображений в вашем блоге.
Вам нужно решение, которое может оптимизировать ваши существующие изображения в медиабиблиотеке, но также и любые новые изображения, которые вы загружаете автоматически. Решение заключается в использовании плагина под названием «EWWW Image Optimizer».
EWWW Image Optimizer
Есть несколько плагинов, которые делают то же самое, но EWWW один из лучших.
Преимущества использования EWWW Image Optimizer:
- Ваши страницы будут загружаться быстрее, потому что меньший размер изображения означает более быструю загрузку страницы.
- Вы можете оптимизировать сотни изображений всего за несколько минут.
- Вы можете оптимизировать любое изображение в WordPress, включая те, которые не находятся в библиотеке медиафайлов, например, изображения темы.
По умолчанию EWWW Image Optimizer использует методы оптимизации без потерь, поэтому качество изображения будет точно таким же до и после оптимизации. Единственное, что изменится – это размер вашего файла.
Установка EWWW Image Optimizer
Установите плагин (Плагины -> Добавить новый)
Давайте посмотрим на «Базовые настройки».
Единственное, что вам нужно сделать, это проверить «Remove metadat» и ввести «Bulk Delay», которая будет работать на вашем сервере. Если ваш блог работает на Шаред хостинге, вы можете выбрать 5, 6 или 10 секунд. Если же ваш блог работает на VPS или выделенном сервере, паузы в 3 секунды должно быть достаточным.
Игнорируйте «Cloud Settings», «Advanced Settings» и «Conversion Settings», так как их настройки по умолчанию удовлетворят большинство пользователей.
Оптимизация изображений из медиабиблиотеки
Существует два способа оптимизации существующих изображений.
Первый способ. Перейдите в «Media Library» и оптимизируйте каждое изображение по одному. Нажмите «Библиотека». Обратите внимание: в «Медиабиблиотеку» добавлен новый раздел «Оптимизатор изображений». На снимке экрана выше показано, что исходные изображения не обрабатывались и указывают размер каждого изображения. Давайте нажимаем ссылку «Optimize now!» И посмотрим, что произойдет.
Как вы видите, изображения были уменьшены на 2,1%, что составляет экономию в 42,7 KB.
Другой способ оптимизации изображений из медиабиблиотеки – выбрать изображения, которые вы хотите, и выбрать опцию «Bulk Optimize» и нажать «Apply».
Массовая оптимизация изображений
В меню «Медиафайлы» выберите «Bulk Optimize». Введите длительность паузы между обработкой изображений и нажмите «Start optimizing». Оптимизация начинается сразу. Каждое изображение, имеющееся в вашей медиабиблиотеке, имеет копии самого разного размера, и все они оптимизируются в случае необходимости.
Вы можете видеть на изображении выше, что ранее оптимизированные изображения не были повторно оптимизированы. Когда вы прокручиваете страницу вниз, вы можете видеть состояние всех изображений по мере их оптимизации.
- Некоторые изображения уменьшены, а некоторые нет. Небольшие изображения в большинстве случаев не уменьшаются, потому что оптимизировать нечего.
- Вы можете видеть ход оптимизации и можете остановить процесс в любое время, нажав кнопку «Stop Optimizing».
На той же странице «Bulk Optimize» найдите эту область и нажмите «Scan and optimize».
Теперь все ваши изображения оптимизированы. Изображения на всех ваших постах и страницах вашего блога, а не только на первой странице будет загружаться быстрее.
Будьте внимательны при добавлении слишком большого количества изображений
Слишком большое кол-во изображений на любой веб-странице могут значительно увеличить размер страницы и количество запросов. Подумайте об удалении ненужных изображений или, по крайней мере, убедитесь, что вы оптимизировали изображения перед их загрузкой в свой блог.
Всегда определять атрибуты widht и height изображений
Всякий раз, когда вы добавляете изображение используя HTML код, убедиться, что вы добавляете его атрибуты размера. Это повлияет на производительность.
Всегда показывать размер изображений
Вместо того чтобы пытаться сделать изображение менее заметным, масштабируя его на лету внутри кода HTML, измените размер изображения до нужных размеров. В противном случае браузерам все равно придется загружать большое изображение, прежде чем уменьшать его, тем самым уменьшая производительность вашего сайта.
WordPress делает это автоматически для вас всякий раз, когда вы загружаете изображение с помощью функции загрузки медиаданных в панели администратора.
Если вы загружаете и вставляете изображения вручную, не забывайте это правило. Некоторые плагины могут это делать.
Используйте правильные форматы изображений
Прежде чем загружать изображения, убедитесь, что вы сохранили их как оптимизированные.
Лучшие форматы: PNG 8/24 бит, JPEG, GIF (когда изображение действительно мало). Иллюстрации и графика с меньшим количеством цветов отлично работают с PNG 8 бит. Фотографии и изображения, содержащие больше цветов, обычно должны быть сохранены в формате JPEG.
Есть программное обеспечение для оптимизации изображений.
- JPEG Club (http://jpegclub.org/) for JPEG
- PNG Crush (http://pmt.sourceforge.net/pngcrush/) for PNG Image
- Magick (http://www.imagemagick.org/script/index.php)