Сайт дня (как попасть): Качественная разработка сайтов в Минске.
Дорогие друзья, в эфире пятый выпуск рубрики ответов на вопросы по движку блогов WordPress. Вы можете почитать другие материалы рубрики WordPress на Shakin.ru.
Сначала объявление от Ann Smarty:
"Здравствуйте, дорогие читатели Shakin.ru. Меня зовут Анна, я редактор SearchEngineJournal.com. Вы можете почитать интервью со мной, которое Михаил опубликовал ранее.
Как вы знаете из интервью, у меня нет опыта в отечественном продвижении, но некоторые из наших крупных американских клиентов хотят продвигаться в СНГ. Поэтому мы ищем команду отечественных линк билдеров для регулярных заказов.
В данное время тема: азартные игры. Упор на продвижение по блогам (ссылки в статьях), но рассмотрим все варианты. Если вы заинтересованы, пожалуйста пишите promote678@gmail.com - пообщаемся."
Так что все желающие сотрудничать с Анной могут писать на указанный e-mail.
Теперь приступим к вопросам и ответам по WordPress.
Мой блог на WordPress создает большую нагрузку на сервер. Что посоветуете в этой ситуации?
Последние дни я решал такую же проблему с блогом Shakin.ru. После посещаемости 1500 человек в сутки блог переехал с виртуального хостинга на vps, после 2000-2200 посетителей в сутки я перевел его на более мощный vps на fastvps, где блог размещается один.
Хотя я использую свою любимую "old school" версию WordPress 2.3.3, но в последнее время блог создавал большую нагрузку на сервер, медленно загружался и подтормаживал. Часто vps с 400 MB RAM и 1200 Mhz CPU зашкаливал по нагрузке.
Я оптимизировал шаблон, убрав из него лишние php коды, удалил ненужные плагины, сократив запросы к базе данных до минимума (для главной получилось 26 запросов, для внутренних - 35). Также я включил встроенное кеширование и попробовал различные плагины кеширования WordPress. Ставил nginx. Все эти меры мне не помогали - нагрузка на сервер, создаваемая блогом, хотя и немного снижалась, но была велика.
🔥 Кстати! Я провожу платный курс по продвижению англоязычных сайтов SEO Шаолинь seoshaolin.com. Для читателей блога я делаю хорошую скидку. По прокомоду "блог" тариф Про стоит не 50, а 40 тыс. рублей. Тариф Лайт не 25, а 20 тыс. рублей. Тариф Команда не 75, а 60 тыс. рублей. Пишите мне в Telegram @mikeshakin.И тут я обнаружил на блоге Макса скрипт кеширования, который подходит для блога на любой версии WordPress - нужно залить 2 файла в корень сайта и добавить несколько строчек кода в корневые файлы index.php и wp-comments-post.php. Скрипт платный, но можно попробовать бесплатную версию. Своих 30 wmz стоит однозначно. Я купил и очень доволен - нагрузка снизилась в разы. Для наглядности приведу графики нагрузки:
Нагрузка на сервер до установки maxsite-cache:
Нагрузка на сервер после установки maxsite-cache:
Скрипт можно ставить на все свои блоги. Плюс ко всему разработчик скрипта Макс любезно ответил на мои вопросы и даже доработал скрипт для удобного кеширования комментариев. Так что для снижения нагрузки от блога WordPress лучшим решением считаю скрипт Макса. Кстати, можете почитать интервью, которое Макс дал для читателей Shakin.ru.
Каким плагином сделан вывод картинок и материалов по тематикам в сайдбаре на Shakin.ru?
Я пробовал разные плагины, которые выводят в боковую панель (сайдбар) картинки и ссылки на материалы блога, и пришел к простому решению - я сделал вывод нужных картинок и ссылок на интересные материалы Shakin.ru без плагинов, вручную разместив ссылки и картинки в файле sidebar.php.
Да, плагины автоматизируют вывод интересных и популярных материалов, но они не могут это сделать в полном соответствии с точкой зрения автора блога. Картинки я уменьшил в Фотошопе, добавив к ним рамку в 2 пикселя, чтобы лучше смотрелись на оранжевом фоне. В итоге получается полный контроль над выводимыми материалами и никакой нагрузки на базу данных. С тем же плагином Popular Posts число запросов возрастало на 25-30.
Как добавить возможность печати на свой блог, чтобы посетители могли распечатывать мои статьи?
Возможность печати постов вашего блога можно сделать разными способами. Например, можно в нужном месте файла темы вашего блога single.php (в разных темах по-разному, может быть и index.php) поместить такой код:
<a href="javascript:window.print()">Печать</a>
Этот способ будет выводить на печать страницу целиком - с сайдбаром, шапкой, баннерами и т.д. Чтобы посетители могли распечатать страницу только с самим постом, советую поставить плагин WP-Print от Лестера Чана. Кстати, можете почитать интервью Лестера Чана для читателей Shakin.ru.
Как вывести список последних постов, опубликованные на моем блоге?
Это можно сделать без плагина, разместив в нужном месте (например, в боковой колонке путем редактирования файла sidebar.php) такой код:
<?php query_posts('showposts=5'); ?> <ul> <?php while (have_posts()) : the_post(); ?> <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li> <?php endwhile;?> </ul>
Этот код выведет 5 последних постов на вашем блоге. Если нужно вывести больше постов, поменяйте пятерку в верхней части кода 'showposts=5' на нужную цифру.
А можно выводить последние записи и плагином Recent Posts.
Можно ли сделать так, чтобы доступ к странице ввода логина и пароля блога был только у меня? Чтобы никто не мог зайти на нее и подбирать пароль?
Ограничить доступ к файлу wp-login.php можно с помощью добавления нескольких строчек кода в корневой файл .htaccess вашего блога. Открываем файл .htaccess блокнотом или Notepad++ и вставляем в него такой код:
<Files wp-login.php> Order Allow,Deny Allow from Ваш IP </Files>
Вместо фразы "Ваш IP" пишете свой IP. Узнать свой IP можете на этой странице. Также можно разрешить вход с других IP (работы, родственников и т.д.) путем добавления строчки Allow from с нужным IP.
Также можно разрешить вход в админку блога только с Вашего IP. Для этого создаем файл с названием .htaccess в папке https://ваш_сайт.ru/wp-admin/ и помещаем в него такой код:
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "Access Control" AuthType Basic order deny,allow deny from all # добавляете свой IP-адрес allow from Ваш IP # добавляете дополнительный IP-адрес allow from Дополнительный IP
Эти меры помогут повысить безопасность вашего блога.
Постовой (обмен постовыми): Seo-конкурс: сладкий сеопультенок от Гоги.
Качественные бесплатные иконки в 30 коллекциях
Тизерная партнерская сеть с самой высокой отдачей.
Десерт сегодня - видео о безумном серфере, который катается по огромной волне:
Подпишитесь на рассылку блога с полезными материалами по SEO
Спасибо, Михаил.
Всегда нахожу у тебя полезную информэйшн.
htaccess подправил. Скрипт может позже куплю, как только хоть на одном их моих ВП сайтов посещалка превысит 1 к.
Удачи.
На самом деле, https://internet.yandex.ru/ не всегда корректно определяет внешний IP. Если быть точным, то он может неправильно его определять при условии, что ваш провайдет сотрудничает в Яндексом по программе Яндекс.Локальная сеть (https://local.yandex.ru/), поскольку шлюз для Яндекса может отличаться от шлюза для остальных сайтов.
Поэтому лучше пользоваться независимыми сайтами типа myip.ru
Вот, согласен, инфа полезная, особенно про ограничение входа в админку по IP. Спасиба.
Спасибо за плагин maxsite-cache, сейчас у самого на одном из блогов такая проблема. Придется раскошелиться, судя по графику оно того стоит 🙂
А еще проще вот так:
<ul>
<?php wp_get_archives('type=postbypost&limit=5'); ?>
</ul>
Респект. Спасибо огромное, очень нужная статья. Жаль что кнопки печать - нет!
Хорошо, что есть скрипт, который поможет снизить нагрузку на сервер. Только вот есть проблема - не в том, что скрипт платный, а в том, что сам ВП такой тяжелый и разработчики ничего по этому поводу не делают. Кое-кто надеится на выпуск 3-й версии. Но по-моему качественных изменений можно и не дождаться
Как быть если айпишник не выделенный и может меняться ?
Отличный раздел с советами по вордпрессу - всегда с интересом его читаю.
Вопрос есть по .htaccess. какое содержание вы бы порекомендовали?
р.ы. еще бы сделали подписку на комменты для удобства 😉
Nginx отдает статику быстрее чем апач, т.о. имхо его имеет смысл использовать совместно с плагинами кэширования, а также для отдачи файлов, например изображений. Насколько я знаю, в nginx поддержка PHP похуже чем у апача, так что выводы "на лицо"))
LaaCrus, как вариант - использовать сервис типа dyndns или noip.com, и прописывать вместо ip доменное имя, полученное на этих сервисах
Спсибо, полезная статья.
Как выводятся графики текущей нагрузки, что-то не могу у себя найти? Я так понимаю это панелька ISPManager?
Идея со входом с одного айпи хорошая, вот только не применима тем, у кого он плавающий (ADSL)
Интересно, нет другого решения? Думаю, нет 🙁
А как называется плагин, который при попытке загрузить фото с твоего блога на чужой подгружает заранее заготовленную для этого дела картинку?
Спасибо
Mike, спасибо за подсказку.
Dimox, благодарю, не знал такой вариант.
ua-blogger, согласен, вордпресс не идет по пути оптимизации нагрузки, все больше ненужных наворотов.
LaaCrus, alvarvas, возможно, поможет вариант, если открыть доступ для сетки IP.
Мария, только пару дней назад снес подписку на комментарии, думал, никто ею не пользуется. Придется поставить 🙂
Олег, с nginx еще быстрее, согласен.
Сергей, это панель vds manager.
Как вариант, можно дополнительно защитить паролем на уровне сервера с помощью файла .htpasswd
В пишем .htaccess
Options -Indexes
AuthName "Blog Administration"
AuthType Basic
AuthUserFile /физический_путь/.htpasswd
AuthGroupFile /dev/null
require valid-user
В .htpasswd пара — имя:зашифрованный_пароль
Обычно в панелях управления есть удобные средства для защиты файлов
https://fleek.org/uskoryaem-wordpress-ili-wp-super-cache-otdyxaet/
Миша, ты вот это не пробовал? Я вот недавно залил себе - плагин очень мощный, поддержка есть memcache, cdn, minify, короче если настроить полностью - то это бомба кеширования. Им к стати, пользуются, монстры буржуйнета типа mashable.com, насколько знаю.
По максовскому кешу - хотел бы прикупить, но пока не уверен что-то. Насколько понял, он не поддерживает динамику, т.е. по большому счету только сателлиты на нем и блоги делать со стандартными функциями. А если у меня на сайтах всякие формы регистрации, разграничение прав и другие фишки - вроде не прокатит. Но за наводку спасибо.
Nginx не дает сильногого выигрыша в производительности,
попробуйте lighthttpd он в разы быстрее nginx,
им пользуются такие крупные сайты как wikipedia и youtube
Вячеслав, спасибо за ценное дополнение.
etno, большое спасибо, но этот плагин не работает с версией 2.3, я его хотел попробовать.
Gregor, спасибо, обязательно попробую.
Вот и появилась статья из моей любимой рубрики про WordPress. Как всегда почерпнул для себя порцию интересной информации, спасибо.
Очень надеюсь, что в будущем мне тоже придется переводить блог на выделенный сервер и устанавливать программы кеширования 🙂 .
Вот за скрипт кеширования отдельное спасибо. Очень был нужен.
Михаил, установила плагины WP-Print и WP-Email, о которых Вы писали, настроила - значки в постах не появляются. В чем может быть проблема?
а чем вы нагрузку смотрите? программа/скрипт?
Огромное спасибо за предоставленый материал.
Подскажите пожалуйста, каким плагином реализовать поиск по сушествуюшим тегам?
например у меня есть три статьи с тегом "кофе" и две с тегом "коньяк", и при выборе на виджите плагина тегов "кофе"и"коньяк" он выдал в результате пять статей??
зарание благодарю.
Добрый день, классная картинка к посту 🙂 можно оригинал выложить, чтобы качество получше? 🙂
Плагин от макса очень классный!
Из минусов плагина то , что при публикации комментария не пишет, что он отправлен на премодерацию...
а почему в итоге перешли с MaxSite-cache на Super Cache?
Кэш Макса - отличное решение, мне очень нравится, использую его на ряде своих сайтов.
Для эксперимента попробовал Super Cache - тоже понравилось. Перешел на Super Cache на этом блоге, так как там удобные настройки и обновления, как у обычного плагина WordPress.