Добавляем ссылкам в блогролле rel="nofollow"

Два года назад я уже описывал хак, с помощью которого можно добавить rel="nofollow" в ссылки в блогролле блога. К сожалению, WordPress обрастает различной и зачастую избыточной функциональностью, а возможности указать свое собственное значение rel при добавлении или правке ссылок до сих пор не появилось. Хак, конечно, решает эту проблему, однако хакать WordPress становится утомительным занятием из-за постоянных апдейтов движка. Именно поэтому я ищу способы заменить описанные в этом блоге хаки на хуки, которые хранятся в файле functions.php вашего шаблона и сохраняются при апдейте WordPress на новую версию. В данной статье я приведу вам код, который добавит rel="nofollow" ссылкам в блогролле блога без правки файлов движка.

Читать дальше..

Вставка кода в комментариях

C самого начала работы этого блога я предусмотрел возможность вставлять в записи и комментарии код с помощью плагина WP-Syntax. Даже специально перед формой добавления комментария написал подсказку, как правильно использовать синтаксис вставки кода. Именно поэтому меня страшно раздражало, когда посетители вставляли код так, что половина его съедалась и я не мог понять о чем идет речь и как помочь комментирующему. Продолжалось это ровно до того момента, пока я не попытался сам ответить с кодом в комментарии, будучи не авторизован в блоге. К моему большому удивлению часть моего кода в комментарии оказалась испорченной. Как пример: вот из такого простого кода в комментарии:

Я получил почему-то обрезок в виде:

Все div'ы оказались вырезанными из комментария, даже несмотря на то, что их защищали теги pre (с тегами code тоже самое, кстати).

Читать дальше..

Вывод информации о нагрузке блога на WordPress

Вывод информации о нагрузке WordPressВ последнее время меня стали спрашивать о том, как я вывожу в футере информацию о нагрузке блога при генерации страницы. Я имею ввиду число запросов к MySQL базе, время генерации страницы и число затраченной на это памяти. В основном, конечно, спрашивают о памяти, так как код показа числа запросов и времени генерации встроен в дефолтный шаблон WordPress, хоть по умолчанию и закомментирован. Сразу скажу, что память считается функцией memory_get_usage и я понятия не имею, как именно она работает. Скажем, не секрет, что последние версии WordPress даже при выделенных 32Мб памяти частенько не хотят работать, а поэтому число, выводимое функцией memory_get_usage ставит меня в тупик: во-первых, на локальном сервере функция выводит число потребляемой памяти раза в 4 большее, чем на хостинге и, во-вторых, в любом случае это число меньше 32Мб, без которых WordPress по сути работать не хочет. Вероятно, использование функции зависит от каких-то настроек сервера, но все мои поиски информации об этом не принесли никакого результата. Но, тем не менее, выводимое число потребляемой памяти можно использовать, как абстрактную величину: скажем, можно оценить насколько вырастает потребление памяти при включении какого-то плагина или генерация каких страниц блога у вас затрачивает наибольшее количество памяти.

Читать дальше..

Вывод в RSS полных заголовков из SEO плагинов

WordPress формирует RSS ленту блога, используя "родные" заголовки записей. То есть, если вы используете какой-то из плагинов, формирующих титлы страниц, то такие сформированные титлы использоваться при создании RSS ленты не будут. Зачастую, на это можно не обращать внимания, но иногда возникает необходимость отдать в RSS полный текст заголовка, который вы прописали в одном из SEO плагинов вроде All in One SEO Pack или Seo Title Tag. Самой простой пример - при трансляции ленты в Twitter короткие заголовки делают ваши твиты крайне неинформативными. И именно в этом случае было бы неплохо отдать в RSS ленту полный заголовок записи, прописанный вами специально для поисковых систем.

Читать дальше..

Удаляем ненужные элементы wp_head

Заметил у себя в исходном коде страницы блога несколько мета-тегов, которых раньше не было. Например, <meta name="generator" content="WordPress 2.8.4" />, показ которого я давным-давно удалил, а также еще несколько строчек с непонятным мне содержимым, что-то вроде:

<link title="RSD" rel="EditURI" type="application/rsd+xml" href="" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="" /> 
<link title="" rel="index" href="" />
<link title="" rel="start" href="" />
<link title="" rel="prev" href="" />
<link title="" rel="next" href="" />
<meta name="generator" content="WordPress 2.8.4" />

Заголовки и ссылки я вырезал, но думаю и так понятно о чем я. Удивило меня то, что раньше почти все мета-теги образовывались напрямую в файле header.php шаблона и для удаления версии WordPress достаточно было удалить строчку:

<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />

Однако в последних версиях WordPress почти все мета-теги выводятся не через файл шаблона, а через функцию wp_head и поэтому прямо удалить лишний тег нельзя. Удалять вызов самой функции wp_head не рекомендую, некоторые популярные плагины из-за этого перестанут у вас работать.

Читать дальше..

12345