SEO оптимизация блога WordPress без плагинов
Опубликовал Сергей ФещуковАпр 14
Доброго времени суток. Я снова продолжаю избавлять свой блог от плагинов.
На этот раз под "горячую руку" попал плагин All in one SEO. Весь функционал плагина я не использовал, а сам плагин, по статистике, создает хорошую нагрузку на сервер. Поэтому это стало причиной разборки плагина и замены его функционала обычным кодом.
Для себя я выделил несколько полезных функций из всего функционала плагина, которые и использую на данном блоге. В этом и будет заключаться суть поста - отключаем плагин и начинаем корректировку.
Замена заголовков
Хотя по стандарту WordPress 2.9 имеют нормальные заголовки, не все правильно, в плане SEO, прописывают текст в теге title. Я решил сделать заголовок следующим. На главной странице заголовок будет иметь вид "Название блога » Описание блога", которые берутся из базы данных, то есть из стандартных настроек. На странице поста заголовок будет иметь вид "Название поста « Название блога". В принципе, почти как и предлагает нам плагин.
Итак, нам необходимо будет отредактировать файл header.php из вашей темы. Находим ваш тег title и заменяем его на один из следующих. Для WordPress версий 2.5 и выше код будет следующим:
<title><?php wp_title('«', true, 'right'); ?><?php bloginfo('name'); ?><? if(is_home()){ ?> » <?php bloginfo(description); } ?></title>
Для более старых версий WordPress тег будет выглядеть так.
<title><?php wp_title(' '); ?> <?php if(wp_title(' ', false)) { echo '«'; } ?> <?php bloginfo('name'); ?> <? if(is_home()){ ?>» <?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 - всё, что вы хотели узнать об этом социальной сети, здесь!



















23 коммент. к записи
Комментарий от Ovsyannikov оставлен 14.04.2010 в 17:21
Сергей спасибо за такую замену. Я только не понял, description и keywords в посте будут сами добавлять или будут оставаться пустыми?
Ответить | Цитировать
Комментарий от Хэннер оставлен 14.04.2010 в 17:36
Статья была полезной.
Только вопрос: последний код с SQL запросами – это необходимо сделать, чтобы прописать МЕТА в старых постах после того, как избавишься от плагина All in one SEO?
Ответить | Цитировать
Комментарий от Twin оставлен 14.04.2010 в 17:43
Хэннер, да. Грубо говоря, он автоматически переносит все описания и ключевые слова в соответствующие произвольные поля.
Ответить | Цитировать
Комментарий от смски оставлен 14.04.2010 в 19:28
Спасибо за темку, все очень подробно расписал (разжевал
), сам пользуюсь тоже All in one SEO, сайт из-за него на некоторых дешевых хостингах изрядно поттормаживает, теперь буду пробовать твой метод!
Ответить | Цитировать
Комментарий от SEO_O оставлен 14.04.2010 в 19:28
Спасибо вам, за хорошую и полезную статью.
В вашей теме на маулнете оставил пост, жду вашего ответа.
Еще раз спасибо
Ответить | Цитировать
Комментарий от Twin оставлен 14.04.2010 в 20:01
Ovsyannikov, эти поля заполняются вручную. По умолчанию, они, как и любое другое поле, пустые. Автоматическое заполнение их уже более сложный механизм. Если оно нужно, то лучше оставить плагин.
Ответить | Цитировать
Комментарий от TiamatInc оставлен 15.04.2010 в 00:36
Очень интересное решение. А не пробовали замерить насколько падает нагрузка на сервер после такой замены?
Ответить | Цитировать
Комментарий от Twin оставлен 15.04.2010 в 08:23
TiamatInc, точно не могу сказать. Примерно, с плагином была нагрузка ~0.6%, сейчас выше ~0.4% не наблюдал ещё. Учитывая, что на блоге стоит WP Super Cache, плагин не каждый раз срабатывал, а только в тот момент, когда создавался кэш страницы.
Ответить | Цитировать
Комментарий от TiamatInc оставлен 15.04.2010 в 21:08
Twin, спасибо за ответ. Я не сказал бы что у Вас сильно посещаемый блог, неужели даже при такой посещаемости требуются плагины кеширования? Или Вы его поставили заранее.
Ответить | Цитировать
Комментарий от Twin оставлен 15.04.2010 в 22:17
TiamatInc, у хостеров слишком строгое ограничение по нагрузке на сервер, всего 0,12%. Я, конечно, превышаю его каждый день
Ну вот, чтобы снизить нагрузку поставил. Сейчас собираюсь переезжать на другой хостинг (там 5% нагрузки), но плагин оставлю, на будущее, думаю, пригодится.
Ответить | Цитировать
Комментарий от TiamatInc оставлен 15.04.2010 в 22:23
А у кого хоститесь, если не секрет?
Ответить | Цитировать
Комментарий от Twin оставлен 15.04.2010 в 22:25
TiamatInc, не секрет, host-food.ru
Ответить | Цитировать
Комментарий от TiamatInc оставлен 15.04.2010 в 22:39
Довольно низкие цены, но, как говорится, везде есть свои минусы. Хотя наверное для MFS-сайтов в самый раз будет.
Ответить | Цитировать
Комментарий от Twin оставлен 16.04.2010 в 11:13
TiamatInc, я делал небольшой обзор этого хостинга недавно на этом блоге и все свои мысли в нём описал. Минусы, конечно, есть при такой цене.
Ответить | Цитировать
Комментарий от Supaman оставлен 16.04.2010 в 22:07
а вот и обзор на твой блог http://blogozoom.ru/blog-sajtostroitelya-razobrali-po-polochkam
Ответить | Цитировать
Комментарий от Вега оставлен 17.04.2010 в 13:04
Хост фуд нормальный хостинг, особенно линейка вип тарифов. Агитировать всех не буду,но сам пользуюсь и в общемто доволен, хотя бывает и лежат.
Ответить | Цитировать
Комментарий от Twin оставлен 17.04.2010 в 13:11
Я понимаю, что вам хочется сказать своё слово в поддержку хостинга, но пожалуйста, делайте это в соответствующем посте.
Здесь я бы хотел услышать комментарии и мнения по данному способу реализации функций вышеописанных плагинов.
Ответить | Цитировать
Комментарий от СКор оставлен 23.04.2010 в 00:32
Я новичок, и хотел узнать о том, как без головняка осуществить внутреннюю оптимизацию блога. Теперь знаю! Спасибо большое! Успехов!
П. С. Пошел читать остальные посты
Ответить | Цитировать
Комментарий от Nordvind оставлен 07.05.2010 в 21:16
Хмм, я конечно не специалист в SEO, но вроде как на мета-теги keywords и description поисковики не обращают внимания, так как туда часто всякий шлак пихают…
Ответить | Цитировать
Комментарий от Twin оставлен 07.05.2010 в 21:29
Nordvind, по словам самих поисковых систем, оно так и есть. Но значение из description иногда (не во всех случаях) берутся поисковиками для составления сниппета (описания страницы в результатах поиска). А по счет keywords ещё ни у кого нет полной уверенности (да и проверить это никак нельзя), что этот мета-тег полностью не учитывается. Возможно последний влияет как-то на результаты поиска, но очень и очень слабо.
Ответить | Цитировать