Практические советы по оптимизации блога на WordPress, повышению его привлекательности и функциональности » Сергей Токарев - персональный блог

Практические советы по оптимизации блога на WordPress, повышению его привлекательности и функциональности

Начнём с оптимизации блога.

Как известно, основная нагрузка на сервер идёт из-за частого обращения к базе данных MySql. Следовательно, чтобы уменьшить требовательность WordPress'a, нам нужно уменьшить количество посылаемых к базе данных запросов, и по возможности уменьшить объём запрашиваемых из неё данных.

Уменьшить количество запросов можно за счёт того, что прописать их статично прямо в шаблоне. Начнём с файла header.php.

Функции между тегами <header> </header>

1. Функцию < ?php bloginfo('html_type'); ?> можно заменить на text/html

2. < ?php bloginfo('charset'); ?> на UTF-8 (Если Вы при настройке не указывали другую)

3. В теге Title, во многих темах стоит < ?php bloginfo('name'); ?> , её можно заменить на название блога.

4. < ?php bloginfo('version'); ?> (версия Вашего WP) также можно прописать прямо в шаблоне.

5. < ?php bloginfo('stylesheet_url'); ?> (путь к файлу CSS), прописываем вручную. Например, http://Адрес_Блога/wp-content/themes/Папка_с_темой/style.css

6. <link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="< ?php bloginfo('rss2_url'); ?>" /></link> заменяем на <link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="Адрес

Вашего фида” />

Функции между тегами <body> </body>

7. В головной части Вашей темы Вы найдёте строчку: <a href="<?php echo get_settings('home'); ?>/">< ?php bloginfo('name'); ?></a>, где первую функцию можно заменить на адрес Вашего блога, вторую на его название.

8. После названия блога, почти во всех темах идёт его описание, т.е. < ?php bloginfo('description'); ?> , которое можно так же заменить на описание Вашего блога.

9. Если у Вашей темы вверху выводятся страницы, значит функцию < ?php echo get_settings('home'); ?> Вы может заменить и там.

Далее идём к файлам, выводящим наши записи.

10. В них Вы можете найти что-то вроде этого < ?php the_author(); ?> т.е. то, что выводит автора записи. В моём случае это выглядет так <a href="<?php the_author_url(); ?>">< ?php the_author(); ?></a> Ну и заменяем первое на адрес автора, второе на его имя. (Данные изменения рекомендуются только для персональных блогов, где автор всегда один и тот же.)

Вот закончился первый этап работы. Теперь при загрузке страницы будет происходить на 13 запросов меньше. Но стоит обратить внимание на то, что некоторые из этих функций могут использовать Ваши плагины. И изменения головной части может нарушить их работу. У меня таких нет, поэтому я сделал всё выше описанное без вреда для блога.

Следующим шагом нам надо уменьшить объём запрашиваемых данных. Т.е. сделать так, чтобы при просмотре блога, статьи отображались не полностью. Здесь можно воспользоваться двумя способами:

1. Настроить блога так, чтобы он отображал только анонсы статей, и с помощью <!--more--> обрезать её. Но тут есть одно НО, анонс будет отображаться везде, в том числе и в RSS, что не очень приятно.

2. Чтоб на главной и в RSS отображались полные тексты, а при просмотре категорий, тегов и т.д. их анонсы. Т.е. так как на этом блоге. Для этого воспользуемся функцией < ?php the_excerpt(); ?> , которую нужно поставить там, где будет выводиться наша статья. Т.к. нам нужно, чтобы на главной выводились полные статьи, а на остальных анонсы, нам надо создать эти остальные страницы, т.е. те, которые будут отображать теги, категории, архивы, результаты поиска. В большинстве случаев в комплекте темы присутствуют только файлы, отображающие страницы и категории, поэтому копируем файл category.php или index.php, если первого нет, и копируем его со следующими именами:

tag.php - шаблон отображения меток

author.php - записи одного автора

date.php - записи за определённый промежуток времени, архивы

Теперь вставляем < ?php the_excerpt(); ?> во все эти файлы, кроме index.php, и на всех страницах кроме главной у Вас будут отображаться анонсы. Например, рубрика моего блога Money-майкерство.

Просматривая рубрику, Вы наверняка заметили рекламный блок после второго поста. Это довольно удобно, не приходиться загружать верхушку рекламными блоками. Сразу возникает вопрос, как его туда засунуть? Тут нам на помощь придёт знание PHP. Берём две строчки

< ?php if ($count==1) { include (TEMPLATEPATH . '/Ваш файл с рекламой.php'); } ?>
< ?php $count = $count + 1; ?>

И помещаем их перед < ?php endwhile; ?> в выше обозначенных файлах. А в корне темы создаём файл с произвольным названием, куда поместим код рекламы. В таком положении реклама будет отображаться после второго поста, Если изменить $count==1 на $count==2 , после третьего и т.д.

Теперь сделаем навигацию на блоге более удобной.

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

Страница 1 из 38: 1 2 3 4 5 » … В конец »

Для этого нам потребуется плагин WP-PageNavi, русскую версию которого можно скачать на dimox.name

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

А в файле single.php где-нибудь в конце перед < ?php endif; ?> вставляем < ?php include (TEMPLATEPATH . '/related-post.php'); ?>

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

Комментариев (21) на "Практические советы по оптимизации блога на WordPress, повышению его привлекательности и функциональности"

  1. Root canal:

    Всё правильно, но если сайт имеет приличную посещаемость, то нагрузка на сервер всё равно будет приличной и могут возникнуть проблены с хостингом. Поэтому что-бы радикально уменьшить количество посылаемых к базе данных запросов и по максимальному уменьшить объём запрашиваемых из неё данных, лучше использовать кэширование. Есть хороший плагин - WP Super Cache http://ocaoimh.ie/wp-super-cache/ Очень стабильный и действительно делающий своё дело.

  2. Сергей Токарев:

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

  3. Успешный вебмастер:

    Мне кажется что такие действия придадут блогу еще большей уязвимости

    ВП и так очень дырявый а тут еще редактирование ))

  4. maxim:

    TEMPLATEPATH - это что? переменная должна быть?

  5. Fan:

    Очень долго сидел и правил шабы для того что бы снизить нагрузку на сервант т.к. мцхост писал письма... В чём-то другом дело оказалось, видимо вредоносный код был или ещё что-то подобное. За материал спасибо.

  6. Сергей Токарев:

    Тоже на mchost. Он мне писал, и не один раз, в итоге пришлось уйти. Изменение шаблона снизило нагрузку, всё в норме пошло, затем опять начала подниматься, я поставил кеширование, нагрузка опят упала, но через некоторое время опять начала подниматься, и довольно высоко, около 400-800%. Все мои усилия оптимизировать были бесполезны, в итоге он меня заблокировал. Щас перешёл на eskhosting, тариф для блогов. Всё просто замечательно

  7. Андрей:

    Спасибо за информацию. Пригодилась.

  8. blogomober:

    3. В теге Title, во многих темах стоит , её можно заменить на название блога.

    незнаю как на это отнесется к примеру плагин all-in-seo-pack. Есть предположения что может криво заработать.

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

  9. Flector:

    анонсы вырезают html-теги, выглядит это не слишком то красиво.

  10. Сергей Токарев:

    Да, кстати. Спасибо что дополнили

  11. sergey:

    спасибо за инфу. пойду проверю

  12. Никому не нужные записки | BackSpark.net - черным по белому о заработке в Интернете:

    [...] его работу. Помог мне в этом материал Токарева Практические советы по оптимизации блога на WordPress, пов

  13. Noble Ossage:

    Спасибо, весьма полезно.

    Тег TITLE не стал менять - именно из-за плагина all-in-seo-pack.

    А вот плагин постраничной навигации - очень приятная вещь. И нужная.

  14. Александр:

    А не подскажете - как сделать так, чтобы разбить страничку блога на БЛОКИ, где в каждом блоке будут отображаться только статьи определенной рубрики?

    С уважением Александр.

    Спасибо.

  15. Сергей Токарев:

    Не знаю. Посмотрите на форумах поддержки WP, там наверняка есть темы по данной теме

  16. vladnu:

    в общем вопрос стоит ли использовать или Wordpress илиDLE -

    вообще -?? отсоветуйтесь - и ещё в сайдбаре хотелось бы сделать превьюшки новостей или полных обзоров которые собираюсь делать еженедельно .из за начальных знаний ХТМЛ и незнания ПХП как это сделать ума не приложу и возможно ли это вообще сделать в DLE -вот тут фото cariqru.blogspot. com

    cariq. ru справа в сайдбаре думаю поставить что то такое типа превью с прокруткой- но другой вопрос уже в том -под эти обзоры нужно делать статические страницы и есть ли модуль какой нибуль ?? так как в DLE чёт я не нашел возможностей таких- если вы от души поржете над этм постом буду только рад- если поделитесь дельным советом - вдвойне рад

  17. edd:

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

  18. Алекс:

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

  19. Сергей Токарев:

    @Алекс, Это нужно Ваш sidebar смотреть. Видимо у Вас там прописано чтобы одни блоки показывать на всех страница, а другие только при полном просмотре

  20. semchyk:

    полезно почитать спасибо.

  21. Спасибо за статью, Пытался скачать плагин Дмитрия Ветрова, но попадаю на сайт http://zarabotai.lv

    Поменяйте ссылку пожалуйста. Очень нужен этот плагин

Оставьте комментарий!