Доброго времени суток. Я снова продолжаю избавлять свой блог от плагинов. :) На этот раз под "горячую руку" попал плагин All in one SEO. Весь функционал плагина я не использовал, а сам плагин, по статистике, создает хорошую нагрузку на сервер. Поэтому это стало причиной разборки плагина и замены его функционала обычным кодом.

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

Замена заголовков

Хотя по стандарту WordPress 2.9 имеют нормальные заголовки, не все правильно, в плане SEO, прописывают текст в теге title. Я решил сделать заголовок следующим. На главной странице заголовок будет иметь вид "Название блога » Описание блога", которые берутся из базы данных, то есть из стандартных настроек. На странице поста заголовок будет иметь вид "Название поста « Название блога". В принципе, почти как и предлагает нам плагин. :)

Итак, нам необходимо будет отредактировать файл header.php из вашей темы. Находим ваш тег title и заменяем его на один из следующих. Для WordPress версий 2.5 и выше код будет следующим:

<title><?php wp_title('&laquo;', true, 'right'); ?><?php bloginfo('name'); ?><? if(is_home()){ ?> &raquo; <?php bloginfo(description); } ?></title>

Для более старых версий WordPress тег будет выглядеть так.

<title><?php wp_title(' '); ?> <?php if(wp_title(' ', false)) { echo '&laquo;'; } ?> <?php bloginfo('name'); ?> <? if(is_home()){ ?>&raquo; <?php bloginfo(description); } ?></title>

Добавление мета-тегов

Для реализации этой функции будем использовать произвольные поля description и keywords соответственно. Также вся эта функция будет выполняться при условии, что вы просматриваете главную страницу, отдельный пост или отдельную страницу, поэтому в левых случаях работа кода выполняться не будет. ;)

Обратите внимание, что в переменной $meta_desc и $meta_key необходимо вписать описание и ключевые слова для главной страницы. Ну и вот собственно сам код, который необходимо добавить в блок head во всё тот же файл header.php:

<?php if ( ( (is_home()) && (!is_paged()) ) || (is_single()) || (is_page()) ) {
$meta_desc = is_home() ? "здесь описание" : get_post_meta($post->ID, 'description', true);
if ($meta_desc) { ?>
  <meta name="description" content="<?php echo $meta_desc; ?>" />
<?php }
$meta_key = is_home() ? "здесь ключевые слова" : get_post_meta($post->ID, 'keywords', true);
if ($meta_key) { ?>
  <meta name="keywords" content="<?php echo $meta_key; ?>" />
<?php } } ?>

Как я уже выше сказал, вместо здесь описание и здесь ключевые слова вставляем описание и ключевые слова соответственно для главной страницы блога. Для постов добавляем произвольные поля description и keywords и просто заполняем их соответственно. И всё будет работать.

Закрытие от индексации

Хотя закрыть от индексирования некоторые директории/разделы сайта можно с помощью файла robots.txt, я всё же решил выделить эту функцию из всего функционала плагина. Следующий код закрывает от индексации все страницы, не относящиеся к главной, посту или отдельной странице. Также добавляется код в блок head в файле header.php:

<?php if ( ( (!is_home()) || (is_paged()) ) && (!is_single()) && (!is_page()) ) { ?>
 <meta name="robots" content="noindex,follow" />
<?php } ?>

Простой переход от плагина к произвольным полям

Чтобы не париться и не переписывать вручную все описания и ключевые поля постов, вы можете воспользоваться следующим кодом:

UPDATE `wp_postmeta` SET `meta_key`='description' WHERE `meta_key`='_aioseop_description';
UPDATE `wp_postmeta` SET `meta_key`='keywords' WHERE `meta_key`='_aioseop_keywords';

Это SQL-запрос, который сделает всю нудную работу за вас. :) Например, через PhpMyAdmin отправьте этот запрос и дело сделано. Или можете использовать любую другую программу для работы с базой данных.

Вот и на этом всё. Удачного дня Вам! Если ещё остались функции, которые вам нужны, пишите в комментариях, сделаю всё возможное. ;)

Да, и так как я любитель музыки, оставляю вам хороший и позитивный трек группы Story of the Year под названием Remember a Time с их последнего альбома 2010 года.

Немного коммерческой информации

Блог о Twitter - всё, что вы хотели узнать об этом социальной сети, здесь!