Фейсбук - жуткий монстр, разработавший свою собственную программную среду Open Graph, интегрировать которую куда-нибудь без кувалды и напильника бывает очень непросто.
Глючный Фейсбук
Самый часто встречающийся глюк при интеграции фейсбука на сайт – неправильно берущиеся картинки для лайков. Думаю, все видели примеры того, как нажимаешь на каком-нибудь сайте кнопку лайк, а тебе предлагают вставить в фейсбучный пост совершенно левые картинки – хорошо если это одна из картинок из поста, но бывают и картинки из похожих постов из сайдбара например, а что еще хуже – вообще элементы шаблона, например иконка RSS или даже кусок фона. Кроме шуток.
Значит, этому тупому Open Graph надо жестко указать, какие картинки брать из поста. Сначала надо прописать некий общий код интеграции Open Graph в хидере, в нем также можно указать, какую картинку брать дефолтом, если в посте не будет ни одной картинки. Далее, в шаблоне нужно указать, каким образом будет определяться значение параметра og:image, который и отвечает за предмет нашего разговора.
Здесь я не привожу никакие коды, потому что они могут меняться в каждом индивидуальном случае. Отсылаю вас к величайшему сайту про Фейсбук (и не только) HyperArts, например к этой статье.
Но если вы используете Вордпресс, можно (и нужно) обойтись плагинами. Большинство плагинов социальных кнопок позволяют управлять выводом картинок и дескрипшнов в фейсбуковские посты. У новомодного плагина Yoast SEO тоже есть поддержка вывода картинок и дескрипшнов, но глючная, как и много чего еще в этом плагине.
Мой выбор – плагин Facebook Open Graph protocol. Он осуществляет общую интеграцию фейсбука на сайт, в нем я выставляю общие настройки, которые дальше используют плагины соцкнопок и SEO.
Сегодня вышла новая версия Вордпресс 3.3. Она получила название Sonny в честь великого джазового саксофониста Сонни Ститтса (я, честно говоря, такого не слышал. Пойду сейчас бороться с невежеством…)
Очень длинный список улучшений, приведу основные:
Drag-and-Drop загрузчик медиафайлов
Единая кнопка загрузки с автоматическим определением типа файлов
Новая панель админа
Поддержка iPad/tablet
Вылетающие меню, доступ к любой странице админки в один клик
Импортер из Tumblr
Виджеты остаются на местах при смене темы
Новая функция is_main_query()
WP_Query
Полный список нововведений можно посмотреть в Кодексе.
Я в свое время клепал много различных сплогов и искал для них простенькие темы. И завязал с этим занятием, надо признаться: надоело, что практически в каждой теме зарыта какая-то бяка. То после часа настройки и подгона выясняется, что все написано страшно криво и, допустим, сайдбар не поддается никаким изменениям. То выясняется, что в футер зашиты какие-то гадкие линки на казино и прочий кал. Или вообще плагин TAC весь ругается красным.
В общем, я уяснил для себя одно простое правило: за простыми темами идти только в официальный репозитарий.
Сегодня приятно доставила статья “Почему вам никогда не следует искать бесплатные темы в Гугле или где-нибудь еще” на wpmu.org. Аффтар (симпатичная, надо сказать) разобрала первые 10 сайтов из выдачи Гугла по запросу Free WordPress Themes. Я не ожидал от этого исследования много приятностей, но все-таки результат поверг меня в шок. Из первой десятки в выдаче только один сайт (официальный репозитарий) содержал полностью безопасные темы. Остальные только и ждут, когда их темы скачают какие-нибудь наивные лохи и зальют к себе на сервер, а там уж они развернутся во всю мощь своего гнусно-хакерского отстоя.
Почитайте статью по ссылке, там много веселеньких скринов. Например, таких:
Аффтарше респект за проделанную работу.
А кстати, это я говорил про простенькие темы. А откуда качать не простенькие? Ответ: ищите нуленные темы авторитетных студий.
Как только есть возможность заменить какой-нибудь плагин функцией или хаком, я это делаю.
Например, почему бы не заменить плагин, выводящий список похожих постов? Я надеюсь, у вас на каждом блоге есть такой. У меня тоже на каждом, ну вот кроме этого. На этом пока нет, потому что постов еще мало. Но скоро поставлю ))
Зачем нужно выводить похожие посты?
По двум причинам. Первая – для людей: так вы побуждаете посетителя прочитать еще какой-нибудь пост на вашем сайте, пройти дальше по ссылкам. Вторая – для СЕО: вывод похожих постов критически необходим для внутренней перелинковки. Увеличиваеся количество внутренних ссылок, ускоряется индексация непопулярных страниц.
В общем, такой плагин необходим как для СДЛ, так и для сплогов.
Плагинов таких куча: Related Posts, YARPP…
Но давайте все же поищем хак.
Нашли у Александра Волкова, автора отличного блога alexvolkov.ru. Вот этот хак.
Но вот беда: если этот хак вставить в шаблон поста перед комментариями, где обычно ему и место, то вместо комментов к текущему посту выводятся комменты к последнему посту из списка похожих постов.
В комментах к посту на wprecipes.com, из которого Алекс и взял эту идею, один умный человек посоветовал добавить в конец кода строчку
wp_reset_query();
По идее, она должна все обнулить и решить проблему. И там в комментах пишут, что это помогает.
Но вот на одном из моих блогов это не помогло.
Как же мы решили проблему?
Сохраняем id поста, а в конце делаем обратную операцию.
Добавили в начало кода
$mpid = $post->ID;
а в конец
$post->ID = $mpid;
Получилось немного по-партизански, но что делать. Главное – все заработало ))
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, что-нибудь в этом роде.
Многие в последнее время замечали новую напасть – какие-то дикие параметры, добавляющиеся к урлу при переходе из RSS-ридеров. Даже могучий SEOmoz этого не избежал. Вот я открываю ссылку на их пост из Bloglines (да, я до сих пор не перешел на Google Reader, не знаю почему, наверное, времени нет разбираться), и что я вижу в адрес-баре?
Зачем вся эта часть после вопросительного знака? Кому она нужна? Правильно, для сбора статистики. Только из-за такой фигни, как сбор статистики, сгорает громадное количество, как бы сказать, пользы для СЕО.
Гугл херачит урлы. Картинко с сайта Sebastian’s Pamphlets
Почему? Да элементарно. Вот я захотел поставить у себя ссылку на этот пост. Скопировал не глядя да и присобачил к анкору. Нахрен мне уперлось заботиться о пользе SEOmoz и проверять, в каком виде получилась ссылка? Да вообще не уперлось. Мне надо, чтобы мои читатели перешли по этой ссылке и попали в нужное место. Что и происходит.
Так вот читатели-то перешли, а ссылочный вес – фигушки.
Теперь вместо полезной ссылки на этот свой пост, они получили никому не нужную ссылку, которая не передает никакого веса. А я небось не один, может, таких ссылок десятки или сотни.
Кроме пропажи ссылочного веса, такая фигня может вести к некорректной выдаче страницы, к 404 и 5хх ошибкам, к пропаже трекбеков, да в общем полная жопа со всех сторон.
Откуда это берется? Себастиан из Sebastian’s Pamphlets заявляет, что это происходит при одновременном использовании Аналитикса и Фидбернера, – оба, заметим, гугловские продукты. Пока Гугл не замечает или не желает исправлять такой ляп, он сам побуждает вебмастеров, которые не обратили внимания на такой фак (даже SEOmoz, как я уже сказал!), нарушать свои же гугловские инструкции об избегании передачи параметров в урле.
Для исправления такого звездеца Себастиан рекомендует такую штуку: зайти в свой аккаунт Фидбернера, в “Configure stats” и убрать галку с “Track clicks as a traffic source in Google Analytics”. По его утверждениям, это верное средство.
Проверить это и сделать скрины этого процесса я не могу, так как ни на одном аккаунте фидбернер у меня статистику не собирает. Почему? Потому что мне нафиг не нужны ссылки такого вида:
в ридерах у читателей. А статистику я как-нибудь и аналитиксом соберу =)
Но такие “добавки” к урлам могут возникнуть не только из-за этого. Мало ли что, всех вариантов и не предусмотришь. Для борьбы с ними раз и навсегда наш любимый товарищ 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 . Кто хочет поэкспериментировать? =)
Как известно, в Вордпрессе управление порядком страниц сделано через жопу. В редактировании страницы можно изменить ее порядковый номер, но представьте, если нужно поменять порядок десятков и сотен страниц? Открывать каждую в админке… Они там так и пишут: “We know this is a little janky, it’ll be better in future releases.”
Начиная с 2.7, в Quick Edit это стало немного легче, но все-таки.
В последнее время во всяких руководствах по скрещению Вордпресса и Твиттера пишут про плагин Tweet This. Он работает вроде addthis или sociable: ставит после поста кнопочки для быстрого постинга в социалки.
Отличие от других плагинов в том, что он сразу генерирует для поста ссылку в каком-нибудь url shortener’е. (Надо сказать, что с распространением Tweetmeme все эти плагины пошли ровным строем в утиль).
Поставил я его на одном из моих блогов. На тот момент там было всего-то 145 постов, и пощу я в него 3-4 поста в месяц. Через месяц залез зачем-то в БД: ОМГ… 3,5 килозаписей в таблице конфигурации! и все такая херня:
Пошел я к разрабу в блог, задал вопрос: типа, мил человек, а не пишет ли твой плагин чего в БД? На что он честно ответил:
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. Авторство мое).
Не знаете, как быстренько вытащить список всех страниц блога для прогона по социалкам, форумам, блогам и т.д.? Ладно, пару десятков адресов можно скопировать вручную. А если вы склепали говносайт на тысячи страниц?
Вот простое решение на 2 кб от SEO From the Dark Side. Выдает список всех страниц блога в нескольких форматах – простой текстовый список адресов, адреса с анкорами, и даже список, готовый к употреблению в хрумере!
Вы сказали…