Статьи

Оптимизация блога на базе WordPress

1. Постоянные ссылки (ЧПУ)

Это первое что нужно настроить после установки блога. По умолчанию URL записи в WordPress имеет следующий вид - http://your–blog.ru/?p=102 Некрасиво и непонятно, правда? Традиционным помощником для нас тут является плагин rus-to-lat. Если у вас его еще нет - обязательно установите.

Какой же шаблон ЧПУ выбрать? Я использую вот такой:

/%year%/%monthnum%/%day%/%postname%.html

Почему? Вы наверно уже читали раньше другие статьи по оптимизации WordPress? Так вот, там везде упоминается такая ситуация:

Если вы уже подключили функцию постоянных ссылок, вы можете обнаружить, что на одину и ту же запись можно попасть по 4 разным ссылкам:
http://www.your–blog.ru/your-blog-post
http://www.your-blog.ru/your-blog-post/
http://your-blog.ru/your-blog-post
http://your-blog.ru/your-blog-post/

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

Мой шаблон ЧПУ частично решает эту проблему, вместо 4-х вариантов у нас остается только 2:
http://www.your–blog.ru/your-blog-post.html
http://your-blog.ru/your-blog-post.html

Далее можно пойти 3-мя путями:

1) Прописать редирект в .htaccess (этот файл создается автоматически в корневой папке блога при включении ЧПУ):

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.your-blog.ru$
RewriteRule ^(.*)$ http://your-blog.ru/$1 [R=301,L] 

Если вы добавите эти строчки в .htaccess, то если посетитель сделает запрос по адресу «www.your-blog.ru/…», его тут же перенаправит на «your-blog.ru/…». Говоря короче, данный рецепт позволяет избавиться от приставки www.

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

2) Прописать в robots.txt директиву Host:

Host: your-blog.ru
или
Host:www.your-blog.ru

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

3) Ничего не делать и предоставить поисковикам самим решать какой из вариантов им больше нравится. Обычно это срабатывает и в 80% все само склеивается безо всяких проблем.

 
2. Кодировка блога

Я всегда использую стандартную UTF-8, чего и вам советую. UTF-8 нормально понимается всеми современными браузерами и поисковыми системами, поэтому проблем с отображением блога возникнуть не должно. И кстати некоторые плагины которые могут вам понадобится могут не работать с кодировками отличными от UTF-8.
На разных хостингах сервера настроены по разному. Проблема решается просто, после того как вы включили ЧПУ и в корневом каталоге создался файл .htaccess вам надо будет открыть его и в самое начало файла добавить 2 строчки:

AddDefaultCharset utf-8
CharsetSourceEnc utf-8 

Это должно решить проблему с кодировкой.
 

3. robots.txt


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

User-agent: *
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /index.php?s=
Disallow: /xmlrpc.php
Host: your-blog.ru 

Это запретит к индексации служебные файлы.
 

4. Оптимизируем шаблон

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

1) <title>
Делаем Title удобный и для посетителя и поисковой системы. Для этого необходимо подправить файл header.php, который находится в папке your-blog.ru/wp-content/themes/ваша-тема/ или через “Внешний вид” => “Редактор тем” => Шаблон “Заголовок”.
Находим строчку между тегами <title>…</title> и заменяем ее на:

 <?php if ( is_single() ) { ?><?php wp_title(”); ?> - <?php } ?> <?php bloginfo(’name’); ?> 
или так:

 <?php if(is_home()) { echo ‘Название вашего блога’; } else { wp_title(”) ;} ?>

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

2) <description> и <keywords>

Это тэги предназначенные для поисковых систем. В стандартных темах для WordPress они обычно не выводятся. Как решить проблему?

Тут можно пойти 2-мя путями:

1) Найти и установить плагин Head META Description или что либо подобное. Он будет автоматом формировать <description> для каждого поста. Что-то подобное наверняка можно найти и для <keywords>.

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

2) Вы помните что мы сделали с <title>? Все можно реализовать по аналогии:

<meta name=”description” content=”<?php if ( is_single() ) { ?><?php the_title(); ?> - <?php } ?> <?php bloginfo(’name’); ?>”> 
- будет выводить для постов заголовок поста в качестве описания, а на главной будет выводить название блога.


5. Что выводим на странице?


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

Давайте обсудим мой шаблон:

1) Шапка: Логотип и название блога, ссылки ведут на главную страницу. Удобно и пользователям и полезно для внутренней перелинковки и обмена PR.

2) Левая колонка: Flash-плеер, форма поиска и календарь. Плеер это просто игрушка для сеня и для пользователей, поисковая форма повешена для использования по назначению, а вот календарик выполняет двоякую функцию. Он не только показывает посетителям мои записи за месяц но и упрощает индексацию, а так же передает Google PR внутрь сайта.

3) Средняя колонка: Список постов и листинг на главной странице и текст поста + комментарии на страничке записи. Каждой записи назначена дата и список категорий, есть ссылка на комментарии и кнопочка(всего 1, а не мега-портянка как у некоторых) для добавления поста в соц.сервисы. Кнопочка эта является плагином “Share This”. Внизу идет листинг страниц, для быстрого доступа к внутренним страницам, это работает плагин “WP-PageNavi”. На страницах записей наверху можно увидеть ссылки на соседние по датам посты, и для внутренней оптимизации полезно и листать странички удобнее. Под формой комментариев галочка для подписки на комментарии - самый верный способ вернуть комментирующего на блог.

4) Права колонка: “Что-то сделать”, разделы, архив и счетчики. Наверх я вынес подписку на RSS и ссылку для логина на блоге. С помощью плагина “Category Cloud” я превратил список категорий в облако тэгов. А почему не сделать тэги отдельно? Во-первых их бы пришлось заполнять каждый раз вручную. Во-вторых для поисковых систем это выглядело как попытка дублирования информации, когда на одну страницу можно попасть и через категории и через тэги. Я просто выбрал более универсальное решение. Далее идет архив, но про него все понятно, функции у него как у календарика.

5) “Подвал”: Список последних записей, реклама, ссылки. Ссылки ведут на те блоги что я периодически почитываю, реклама помогает оплачивать хостинг (и кстати находясь там она не мешает посетителям), а “Последние записи” помогают тем кто пришел с поисковых систем на внутренние страницы увидеть какие темы актуальны в моем блоге в настоящее время, ну и опять же это полезно для передачи PR со старых страниц на новые.

 

6. Плагины

На этом блоге я пользуюсь следующими плагинами:
ЖЖ-Кросспостер - дублирует мои записи в ЖЖ
AJAX Comments - добавляет комментарии без обновлении страницы
Akismet - анти-спам
Audio player - флеш-плеер в записях
Category Cloud - облако тэгов из категорий
FeedBurner FeedSmith - перевод всех подписчиков на FeedBurner
Gravatar - Аватары к коментариям
RusToLat - понятные адреса страниц
Share This - соц. сервисы в одной кнопке
Subscribe To Comments - подписка на комментарии
WP-PageNavi - улучшеный листинг страниц.

 
7. Что еще можно сделать?

Небольшой список моих соображений и наблюдений:
Заранее продумайте структуру блога: что, как и где должно работать. Важно чтобы вы понимали как устроен ваш собственный блог.
Эксперементируйте с различными плагинами для перелинковки (Related Posts, Random Posts, Last Posts и т.п.) в зависимости от ситуации может получится действительно что-то полезное.
Всегда заранее обдумывайте процесс установки сложных плагинов и плагинов на Ajax`e. Некоторые из них в неумелых руках могут нанести серьезный вред блогу.
Сделайте своему блогу уникальный дизайн.

Изучайте теги вывода информации в WordPress, это поможет вам при изменении шаблона. Зная эти тэги можно делать действительно интересные вещи не нуждаясь в плагинах.