Posted: Февраль 13th, 2010 | Author: Golan | Filed under: Wordpress | Tags: Вордпресс, Как делать | 4 Comments »
Плагины – зло.
Они грузят базу и жрут ресурсы.
Как только есть возможность заменить какой-нибудь плагин функцией или хаком, я это делаю.
Например, почему бы не заменить плагин, выводящий список похожих постов? Я надеюсь, у вас на каждом блоге есть такой. У меня тоже на каждом, ну вот кроме этого. На этом пока нет, потому что постов еще мало. Но скоро поставлю ))
Зачем нужно выводить похожие посты?
По двум причинам.
Первая – для людей: так вы побуждаете посетителя прочитать еще какой-нибудь пост на вашем сайте, пройти дальше по ссылкам.
Вторая – для СЕО: вывод похожих постов критически необходим для внутренней перелинковки. Увеличиваеся количество внутренних ссылок, ускоряется индексация непопулярных страниц.
В общем, такой плагин необходим как для СДЛ, так и для сплогов.
Плагинов таких куча: Related Posts, YARPP…
Но давайте все же поищем хак.
Нашли у Александра Волкова, автора отличного блога alexvolkov.ru. Вот этот хак.
Но вот беда: если этот хак вставить в шаблон поста перед комментариями, где обычно ему и место, то вместо комментов к текущему посту выводятся комменты к последнему посту из списка похожих постов.
В комментах к посту на wprecipes.com, из которого Алекс и взял эту идею, один умный человек посоветовал добавить в конец кода строчку
wp_reset_query();
По идее, она должна все обнулить и решить проблему. И там в комментах пишут, что это помогает.
Но вот на одном из моих блогов это не помогло.
Как же мы решили проблему?
Сохраняем id поста, а в конце делаем обратную операцию.
Добавили в начало кода
$mpid = $post->ID;
а в конец
$post->ID = $mpid;
Получилось немного по-партизански, но что делать. Главное – все заработало ))
Вот полный код нашего нового хака:
<?php if(is_single()){?>
<div id=”related”>
<?php
$mpid = $post->ID;
$tags = wp_get_post_tags($mpid);
if ($tags) {
echo ‘<h3>Related Posts:</h3>’;
$first_tag = $tags[0]->term_id;
$args=array(
‘tag__in’ => array($first_tag),
‘post__not_in’ => array($mpid),
’showposts’=>4,
‘caller_get_posts’=>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<p><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”Permanent Link to <?php the_title_attribute(); ?>”><?php the_title(); ?></a></p>
<?php
endwhile;
}
} //if tags
?>
</div>
<?php
$post->ID = $mpid;
} // if single
?>
Вместо <h3> можете написать что-то свое, как вам там надо оформить заголовок.
Вывод ссылок тоже оформляете как вам нужно, у меня например он выводится списком:
<ul><li><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”Permanent Link to <?php the_title_attribute(); ?>”><?php the_title(); ?></a></li></ul>
И кстати: если у вас не сплог, а СДЛ, то вместо стандартного Related Posts лучше писать что-нибудь побуждающее посетителя щелкнуть по этим ссылкам, например: You may also be interested to read these articles, что-нибудь в этом роде.
Успешного вам блоггинга!
Delicious
Posted: Декабрь 28th, 2009 | Author: Golan | Filed under: SEO, Wordpress | Tags: SEO, Вордпресс, Как делать, плагин | 2 Comments »
Многие в последнее время замечали новую напасть – какие-то дикие параметры, добавляющиеся к урлу при переходе из RSS-ридеров. Даже могучий SEOmoz этого не избежал. Вот я открываю ссылку на их пост из Bloglines (да, я до сих пор не перешел на Google Reader, не знаю почему, наверное, времени нет разбираться), и что я вижу в адрес-баре?
http://www.seomoz.org/blog/how-personalized-search-changes-seo-and-doesnt?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+seomoz+%28SEOmoz+Daily+Blog%29&utm_content=Bloglines
Зачем вся эта часть после вопросительного знака? Кому она нужна? Правильно, для сбора статистики. Только из-за такой фигни, как сбор статистики, сгорает громадное количество, как бы сказать, пользы для СЕО.

Гугл херачит урлы.
Картинко с сайта Sebastian’s Pamphlets
Почему? Да элементарно. Вот я захотел поставить у себя ссылку на этот пост. Скопировал не глядя да и присобачил к анкору. Нахрен мне уперлось заботиться о пользе SEOmoz и проверять, в каком виде получилась ссылка? Да вообще не уперлось. Мне надо, чтобы мои читатели перешли по этой ссылке и попали в нужное место. Что и происходит.
Так вот читатели-то перешли, а ссылочный вес – фигушки.
Теперь вместо полезной ссылки на этот свой пост, они получили никому не нужную ссылку, которая не передает никакого веса. А я небось не один, может, таких ссылок десятки или сотни.
Кроме пропажи ссылочного веса, такая фигня может вести к некорректной выдаче страницы, к 404 и 5хх ошибкам, к пропаже трекбеков, да в общем полная жопа со всех сторон.
Откуда это берется? Себастиан из Sebastian’s Pamphlets заявляет, что это происходит при одновременном использовании Аналитикса и Фидбернера, – оба, заметим, гугловские продукты. Пока Гугл не замечает или не желает исправлять такой ляп, он сам побуждает вебмастеров, которые не обратили внимания на такой фак (даже SEOmoz, как я уже сказал!), нарушать свои же гугловские инструкции об избегании передачи параметров в урле.
Для исправления такого звездеца Себастиан рекомендует такую штуку: зайти в свой аккаунт Фидбернера, в “Configure stats” и убрать галку с “Track clicks as a traffic source in Google Analytics”. По его утверждениям, это верное средство.
Проверить это и сделать скрины этого процесса я не могу, так как ни на одном аккаунте фидбернер у меня статистику не собирает. Почему? Потому что мне нафиг не нужны ссылки такого вида:
http://feedproxy.google.com/~r/seomoz/~3/bU-hyvhvffY/how-personalized-search-changes-seo-and-doesnt
в ридерах у читателей. А статистику я как-нибудь и аналитиксом соберу =)
Но такие “добавки” к урлам могут возникнуть не только из-за этого. Мало ли что, всех вариантов и не предусмотришь. Для борьбы с ними раз и навсегда наш любимый товарищ Joost de Valk написал суперполезный, как всегда, плагин Permalink Redirect. Когда приходит запрос на открытие страницы
http://www.example.com/page1/?q=ek
плагин автоматически выдаст 301 редирект на нужный пермалинк:
http://www.example.com/page1/
Наслаждайтесь =)
P.S. Интересно правда, что этот плагин будет делать с короткими пермалинками, вида http://golanblog.info/?p=157 . Кто хочет поэкспериментировать? =)
Delicious
Posted: Декабрь 2nd, 2009 | Author: Golan | Filed under: Wordpress | Tags: Вордпресс, плагин | 1 Comment »
Как известно, в Вордпрессе управление порядком страниц сделано через жопу. В редактировании страницы можно изменить ее порядковый номер, но представьте, если нужно поменять порядок десятков и сотен страниц? Открывать каждую в админке… Они там так и пишут: “We know this is a little janky, it’ll be better in future releases.”
Начиная с 2.7, в Quick Edit это стало немного легче, но все-таки.
Вот простые решения: плагины My Page Order и pageMash.
Работают похоже, просто drag and drop страницы в списке.
My Page Order:

My Page Order Wordpress plugin
pageMash:

pageMash Wordpress plugin
Delicious
Posted: Ноябрь 28th, 2009 | Author: Golan | Filed under: Twitter, Wordpress | Tags: Вордпресс, плагин, Твиттер | No Comments »
В последнее время во всяких руководствах по скрещению Вордпресса и Твиттера пишут про плагин Tweet This. Он работает вроде addthis или sociable: ставит после поста кнопочки для быстрого постинга в социалки.
Отличие от других плагинов в том, что он сразу генерирует для поста ссылку в каком-нибудь url shortener’е. (Надо сказать, что с распространением Tweetmeme все эти плагины пошли ровным строем в утиль).
Поставил я его на одном из моих блогов. На тот момент там было всего-то 145 постов, и пощу я в него 3-4 поста в месяц. Через месяц залез зачем-то в БД: ОМГ… 3,5 килозаписей в таблице конфигурации! и все такая херня:
O:9:”magpierss”:17:{s:6:”parser”;i:0;s:12:”current _item”;a:0:{}s:5:”items”;a:0:{}s:7:”channel”;a:6:{ s:2:”id”;s:46:”tag:search.twitter.com,2005:search/is.gd/*****”;s:4:”link”;s:48:”http://search.twitter.com/search?q=is.gd%*****”;s:9:”link_self”;s:51:”http://search.twitter.com/search.atom?q=is.gd/*****”;s:5:”title”;s:28:”is.gd/**** – Twitter Search”;s:11:”link_search”;s:40:”http://search.twitter.com/opensearch.xml”;s:7:”updated”;s:25:”2009-08-28T14:26:31+00:00″;}s:9:”textinput”;a:0:{}s:5:”ima ge”;a:0:{}s:9:”feed_type”;s:4:”Atom”;s:12:”feed_ve rsion”;N;s:5:”stack”;a:0:{}s:9:”inchannel”;b:0;s:6 :”initem”;b:0;s:9:”incontent”;b:0;s:11:”intextinpu t”;b:0;s:7:”inimage”;b:0;s:13:”current_field”;s:0: “”;s:17:”current_namespace”;b:0;s:19:”_CONTENT_CON STRUCTS”;a:6:{i:0;s:7:”content”;i:1;s:7:”summary”; i:2;s:4:”info”;i:3;s:5:”title”;i:4;s:7:”tagline”;i :5;s:9:”copyright”;}}
Ну не звездец ли, дорогие товарищи??
Пошел я к разрабу в блог, задал вопрос: типа, мил человек, а не пишет ли твой плагин чего в БД? На что он честно ответил:
Yes. Two rows are added to the wp_options table: tweet_this_settings and tweet_this_password. The first stores your Tweet This settings in a serialized array of over 60 values, and also your Twitter username. The second stores your Twitter password (if you have provided it) in plain text. This is necessary because the password must be sent unencrypted to the Twitter API, and other Twitter plugins do the same thing.
Four rows per post are added to the wp_postmeta table: tweet_this_url, tt_auto_tweet (true/false), tt_auto_tweet_text, and tt_tweeted (true/false).
When you deactivate Tweet This, tweet_this_password and the tweet_this_url custom fields are deleted, but the other data remains.
Но на хрена в _options что-то записывать?!
Вот мудак.
Кроме того, в коде обнаружилась какая-то адсенсовская реклама. Непонятно, где она выводится, но вообще все это бесит.
Так что: будьте бдительны, дорогие собратья оптимизаторы, и держитесь подальше от торфяных болот.
(Эта статья была впервые опубликована на nulled.ws. Авторство мое).
Delicious
Posted: Ноябрь 25th, 2009 | Author: Golan | Filed under: Wordpress, Инструменты | Tags: Вордпресс, плагин | 5 Comments »
Не знаете, как быстренько вытащить список всех страниц блога для прогона по социалкам, форумам, блогам и т.д.? Ладно, пару десятков адресов можно скопировать вручную. А если вы склепали говносайт на тысячи страниц?
Вот простое решение на 2 кб от SEO From the Dark Side. Выдает список всех страниц блога в нескольких форматах – простой текстовый список адресов, адреса с анкорами, и даже список, готовый к употреблению в хрумере!
Загрузить плагин Blog Link Spider
Скачано 170 раз
Delicious