Этот небольшой раздел своего блога я хочу посвятить всевозможным плюшкам, которые помогают мне и помогут тебе в нелегком деле оптимизации и ускорения сайтов вообще и на wordpress'е в частности.
Ниже я буду постоянно добавлять то, что я узнал и проверил на практике. Это будут советы по снижению нагрузки на сервер, советы по ускорению загрузки твоего блога, советы по уменьшению объема передаваемой информации, а также инструменты и сервисы, которые помогают мне решать многие вопросы и облегчают жизнь.
Поехали!
Обновлено 14.04.2015
Инструменты WordPress оптимизатора (для всех)
Сервисы
GTMetrix.com - этот сервис, используя технологии Google и Yahoo, детально проверит скорость загрузки любой страницы твоего сайта, скажет, что загружается дольше, какие проблемы могут видеть на твоем сайте поисковики, и подскажет, как их исправить.
Lossless cжатие картинок (без потери качества)
Оптимизация картинок - важная деталь, если ты стремишься с уменьшению скорости загрузки твоего сайта и количества загружаемой информации. Первый сервис дает сжимать фотки с меньшими ограничениями, второй ограничивает по размеру в бесплатном варианте, но сжимает немного лучше.
Smushit - этот сервис сжимает фотки без потери качества, без ограничений в размерах и количестве. Рекомендую!
Дополнительно: Чтобы вообще не париться с прогоном всех картинок для своих статей, используй плагин WP Smush.it, через него также можно сжать уже загруженные на блог картинки. Правда, это будет довольно долго, если у тебя их больше 20-ти штук.
PunyPng.com - этот сервис тоже отлично сжимает фотки в режиме lossless, но с ограничениями по размеру, не больше 500x500 пикселей для зарегистрированных пользователей, если не ошибаюсь.
Плагины
Google XML Sitemap - этот плагин создает правильную карту сайта в форматах xml и gzip, как для Google, так и для Yandex.
Greg's High Performance SEO - отличный musthave плагин для любого владельца сайта на WP. Он дает возможность настраивать все необходимые для SEO функции. А именно: возможность указывать метатэги (meta description, keywords, title) для всех статей и страниц сайта. Его преимущественная особенность в том, что этот плагин действительно High Performance ("высоко-производительный"), он работает гораздо быстрее своих аналогов и рекомендуется к использованию на посещаемых сайтах, и в том случае, если вы заботитесь о скорости загрузки своего сайта. Популярный All in one SEO создает бОльшую нагрузку, поэтому не рекомендую его.
NoSpamNX - антиспам плагин для WP, защищает от 100% автоматического спама, отличная альтернатива Akismet-у без всяких регистраций. Установил и пользуйся!
После длительного использования этого плагина я заметил, что он все-таки пропускает спам и обновления иногда запаздывают, поэтому переключился на Akismet. (Я немного схитрил и зарегистрировал всего 1 ключ, который использую на всех своих сайтах).
WP SuperCache - рекомендую ставить просто на каждый сайт на вордпрессе. Скорость загрузки сайта (отклик) - сейчас важнейший показатель любого сайта, на это очень внимательно смотрят поисковые боты, и если твой сайт долго грузится, ты не попадешь в топ поисковиков по популярным запросам. А этот плагин сокращает объем страницы и скорость загрузки в среднем в 2 раза.
WP Smush - обязательный плагин для тех, у кого на сайте есть или будут картинки, он оптимизирует их автоматом. Прогоняет через сервис Yahoo Smush.it, и возвращает в таком же прекрасном качестве, но уже в облегченном виде. Объем картинок влияет на скорость загрузки страницы, прогоняй все картинки через этот сервис и в последствии твой сайт будет грузиться в 2 раза быстрее, чем если бы ты не использовал этот плагин. Также лучше на сайт не вставлять фотографии оригинального размера, а вместо этого использовать обработанные Вордпрессом, уменьшенные копии.
SimpleTags или Yet Another Related Posts Plugin - выводит ссылки похожие материалы на каждой странице под записью. Важный плагин для того, чтобы превращать новых посетителей в постоянных, увеличивать время их нахождения на сайте, уменьшать Bounce Rate и помогать поисковикам изучать твой сайт.
WP-Noindex - рекомендуется, если у тебя на сайте будет или уже есть много ссылок на внешние ресурсы. Он оборачивает ссылки в noindex, nofollow автоматически.
WPLANG Lite - рекомендуется, если ваш сайт имеет хорошую посещаемость и/или установленную тему, которая содержит много языковых вставок (много переведенных фраз и слов), и содержится на обычном (shared) хостинге. Он выделяет из общего языкового файла WordPress-а часть для внешней (публичной) стороны сайта (отделяет массивную часть, которая используется только в админ. панели), что позволяет экономить используемую оперативную память.
Этот плагин вы уже не найдете через поиск плагинов в админке, потому что его давно не обновляли, можете скачать здесь: https://downloads.wordpress.org/plugin/wplang-lite.0.4.zip
SyntaxHighlighter Evolved - красиво оформляет вставки кода. Необходим тебе, если ты будешь публиковать какой-то код на страницах своего сайта: CSS, HTML, PHP, C# и др. Я его использую, вот например, статья, в которой есть красивый код: Как убрать версию из скриптов и стилей WordPress.
Чеклист WordPress-оптимизатора:
- rel='nofollow' - добавлять этот тэг во все ссылки, которые ведут с твоего сайта и которым, ты не хочешь отдавать вес своих страниц.
- Sitemap - добавить свой сайт и сгенерированный sitemap.xml в Google Webmaster и Yandex Webmaster.
- Google & Yandex Webmaster - указать основной домен сайта с www или без (Host)
- Robots.txt - указать Яндексу и Google, какие разделы и страницы сайта индексировать, а какие нет, а также какой домен выбрать основным с www или без. ПРИМЕР ТУТ (просто поменяй twog.me на свой домен)
- Metadata (description, keywords = WordPress SEO)
- Код статистики, код Feedburner, код форм подписки в <noindex></noindex>, чтобы поисковики пропускали лишний код
- Внутренняя перелинковка:
- С главной ссылки на другие страницы, рубрики, карту сайта и самые популярные записи
- С других страниц и карты сайта ссылка на главную
- В каждой статье есть ссылка на главную страницу
- В каждой статье есть ссылки на другие похожие статьи
- На каждой странице ссылка на карту сайта
- Оптимизация статьи для поисковиков (SEO):
- В статье должны быть слова выделенное жирным
- В статье должны быть слова выделенное подчеркиванием
- В статье должно быть изображение с тегом ALT содержащее КС
- КС должно содержаться в первом предложении
- КС должно содержаться в последнем предложении
- В статье должны иметься ссылки на другие статьи вашего блога
- Все ненужные ссылки должны быть закрыты атрибутом rel="nofollow"
- В статье должна иметься хорошая плотность КС
- Настроить .htaccess (по желанию каждый пункт, не забудь поменять twog.me на свой адрес)
DirectoryIndex index.php AddDefaultCharset utf-8 Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.twog\.me$ [NC] RewriteRule ^(.*)$ http://twog.me/$1 [R=301,L] ## EXPIRES CACHING ## ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 2 days" ## EXPIRES CACHING ## ## EXPIRE HEADERS ## # 3 Month <FilesMatch "\.(flv|gif|jpg|jpeg|png|ico|swf)$"> Header set Cache-Control "max-age=7257600" # 1 Week <FilesMatch "\.(js|css|pdf|txt)$"> Header set Cache-Control "max-age=604800" # 10 Minutes <FilesMatch "\.(html|htm)$"> Header set Cache-Control "max-age=600" # NONE <FilesMatch "\.(pl|php|cgi|spl)$"> Header unset Cache-Control Header unset Expires Header unset Last-Modified FileETag None Header unset Pragma ## EXPIRE HEADERS ##
function _remove_script_version( $src ){ $parts = explode( '?', $src ); return $parts[0]; } add_filter( 'script_loader_src', '_remove_script_version', 15, 1 ); add_filter( 'style_loader_src', '_remove_script_version', 15, 1 );
Классный у Вас сайт!
Все написано по делу, конкретно и понятно, а главное все Полезное и Нужное!
Пишите почаще!!))
Спасибо 🙂 Очень приятно читать такое, Анжелика. Я обязательно буду писать еще.
Содержательная статья об оптимизации на вордпресс, спасибо. Сразу все мысли в кучку собрались.
Немного не поняла про - "Настроить .htaccess..."
EXPIRES CACHING - в нем даты окончания обращения к прописанным файлам?
Подскажите еще про рубрики. Как удалить cлово "category"? Я так понимаю, это надо делать в самом начале создания сайта, вот как раз у меня такая ситуация. Смотрю, у вас их тоже нет, в смысле - рубрики без category идут.
Богдан, повесьте уже что-нибудь куда можно кликнуть и отблагодарить за такие классные статьи.
Пожалуйста 🙂 Рад помочь.
Насчет настройки .htaccess
Вам из того кода .htaccess, который в статье про оптимизацию,
нужен только кусочек (если хотите склеить домены):
А записи EXPIRES CACHING это настройки для локального кэширования браузера.
Как бы сообщение вашему браузеру сохранять картинки, скрипты и файлы стилей
на жестком диске вашего компьютера и обращаться к ним, вместо того, чтобы
скачивать их каждый раз из интернета.
А насчет удаления /category/ из ссылок... У меня это делает плагин WordPress SEO by Yoast, но я вам рекомендую для решения этой задачи плагин WP No Category Base (надо кстати его добавить в статью).
хм.. как интересно с этим "EXPIRES CACHING", надо прописать себе такое.
За плагины спасибо, даже не знала что такие есть для рубрик. А для категорий тоже есть?
Здравствуйте, Богдан! Подскажите как удалить из верхней части страницы javascript, который грузится на странице в первую очередь. Проверку производил google page speed insights . Он мне написал "удалить из верхней части страницы javascript и CSS блокирующий отражение.Как всё это сделать объясните новичку, популярно.
Здравствуйте, Юрий.
Я посмотрел ваш сайт, у вас проблема похоже в том, что как бы дублируется тот код, который должен выводиться один раз. Проверьте в админке - меню Внешний вид - Редактор - слева "Заголовок" (header.php): есть ли в этом файле строчка wp_head(); и сколько раз она там упоминается?
Вы там ничего не редактировали самостоятельно? Что делали до того, как появилась эта проблема?
Это мой header.php.Никогда не редактировал
get_layout();
if(!isset($_POST['smt_layout'])){
get_template_part('top');
} else {
$return['title']=$SMTheme->show_title(false);
}
if ( isset($_POST['smt_layout'])&&$_POST['smt_layout']!=$SMTheme->layout ) {
$return['div']='#content .container';
ob_start();
}
if (!isset($_POST['smt_layout'])||$_POST['smt_layout']!=$SMTheme->layout) {
get_sidebar();
?> layout ) {
$return['div']='#main_content';
ob_start();
}
Понятно. Тут только вызовы функций get_layout() и get_template_part('top') могут вести дальше. Надо в них искать ошибки.
Здравствуй, Богдан! Ставлю плагин WP Super Cache. Активирую. Выдает ошибку:
"Permlink Structure Error
A custom url or permalink structure is required for this plugin to work correctly. Please go to the Permalinks Options Page to configure your permalinks."
В чем может быть ошибка?
Здравствуй, Виктор.
Ошибка происходит из-за того, что структура ссылок на твоем сайте еще не настроена, то есть работает по умолчанию.
Тебе надо зайти в админку - Параметры - Постоянные ссылки.
Затем на этой странице выбери подходящий вариант, то это это НЕ должен быть пункт "По умолчанию".
Я обычно выбираю "Название записи". Но тогда, если у тебя названия записей на русском, тебе понадобиться еще плагин "rus-and-lat", чтобы переводить в ссылках русские буквы в английские (транслит).
Или же, ты можешь выбрать вариант "Произвольно" и вписать в поле: /%post_id%/, тогда ссылки записей будут у тебя не /?p=123, а /123/. Логика та же, но WP Super Cache начнет работать.
Если что-то непонятно из всего этого, пиши 🙂
Здравствуйте! Наткнулся тут на вашу переписку. У меня та же проблема. А что станет с проиндектированными страницами если сменить тип постоянных ссылок. они же пропадут?
Здравствуйте, Константин.
Да, без правильно настроенного 301 редиректа можно потерять все свои проиндексированные страницы. Поэтому с вопросом изменения ссылок нужно быть очень осторожным.
КОД НЕ РАБОТАЕТ ДЛЯ https: почему?
спасибо за рекомендации:)