WordPress Support

Удаление ненужных мета-тегов в блоге на WordPress

Добавлено 31 января 2010 в категорию Плагины.

Заметил у себя в исходном коде страницы блога несколько мета-тегов, которых раньше не было. Например, <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 не рекомендую, некоторые популярные плагины из-за этого перестанут у вас работать.

Чтобы удалить почти все теги функции wp_head надо добавить в файл functions.php вашего шаблона код:

remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'feed_links', 2 );
remove_action( 'wp_head', 'rsd_link' );
remove_action( 'wp_head', 'wlwmanifest_link' );
remove_action( 'wp_head', 'index_rel_link' );
remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'start_post_rel_link', 10, 0 );
remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 );
remove_action( 'wp_head', 'wp_generator' );

А теперь немного подробнее о том, что мы удаляем.

feed_links_extra – это вывод ссылок на дополнительные RSS ленты вашего блога. То есть на RSS ленту рубрик, записей, тегов и т.д. Если вы не хотите, чтобы посетители подписывались на такие ленты, минуя подписку на главную ленту блога запретите создание ссылок на такие ленты в заголовке блога.  Хочу заметить, что данный код запретит блогу создавать ссылки на такие ленты, но сами ленты будут доступны простым добавлением /feed к урлу рубрики или тега.

feed_links – формально если вы запретите данное действие у вас в блоге не должны выводиться ссылки на основную ленту RSS и на RSS ленту комментариев. А на практике это работать не будет, так как функция wp_head не выводит эти самые ссылки на RSS ленты записей и комментариев, их вывод вы должны осуществлять вручную в файле header.php вашего шаблона кодом:

<link title="RSS Main Feed" rel="alternate" type="application/rss+xml" href="<?php bloginfo('rss2_url'); ?>" />
<link title="RSS Comment Feed" rel="alternate" type="application/rss+xml" href="<?php bloginfo('comments_rss2_url'); ?>" />

Вот интересно, как можно запретить в функции то, что она не делает. Или я что-то не так понимаю?

rsd_link – используется различными блог-клиентами или веб-сервисами для публикацииизменения записей в блоге. Не пользуетесь блог-клиентами? Удаляйте и не думайте.

wlwmanifest_link – тоже используется блог-клиентами, а вернее лишь одним из них – Windows Live Writer. Не используете WLW – удаляйте.

index_rel_link, start_post_rel_link, adjacent_posts_rel_link – это ссылки на главную страницу, на первый пост, и на предыдущий и следующий пост. Что делает parent_post_rel_link я не знаю, да и не особо хочу знать. Я попытался поискать зачем нужны эти ссылки в заголовке страницы, но так ничего не смог найти. Только какие-то непонятные объяснения насчет того, что эти ссылки сообщают поисковику о взаимосвязи документов между собой. Зачем поисковику на каждой странице блога считывать информацию о том какая у блога главная страница или какой в блоге первый пост? При всем уважении – даже самый убогий поисковик, написанный студентами без всяких подсказок найдет и первый пост в блоге и его главную страницу. Не говоря уже о такой вещи, как sitemap.xml, который есть практически у любого блогера и который содержит всю нужную для поисковика информацию. В общем, удаляйте вывод всей этой ерунды.

wp_generator – ну и последнее, вывод используемого движка и его версии. Тут даже разговоров быть не может, удаляйте немедленно. В WordPress постоянно находят какие-то баги и сообщать потенциальному взломщику, какую версию WordPress вы используете было бы глупо. Особенно, если у вас нет возможности обновлять WordPress на ваших блогах в день выхода новой версии.

Плагин WordPress "PS Auto Sitemap" создает карту блога для людей

Добавлено 31 января 2010 в категорию Плагины.

Еще один плагин генерации карты сайта. Только в отличие от недавно рассматриваемого плагина Google XML Sitemaps PS Auto Sitemap создает "человеческую" карту сайта, а не используемую только поисковыми системами карту в виде файла sitemap.xml. Карта сайта, создаваемая плагином представляет собой страницу, где перечислены названия (с ссылками) всех ваших статей и страниц в блоге. Причем в плагин встроено больше десятка различных красивых файлов стилей, оформляющих эту самую карту сайта. Этим, собственно, он меня и подкупил, так как похожих плагинов много, но в них надо самому сидеть и страдать с настройкой css стилей. В плагине нет парочки нужных функций для большого блога (вроде деления карты сайта на страницы), но для блогов с небольшим количеством записей он идеален.

Скачиваем плагин с его домашней страницы и устанавливаем его:

1. Распаковываем архив.

2. Копируем папку ps-auto-sitemap в /wp-content/plugins/.

3. Заходим в админку блога на вкладку "Плагины" и активируем плагин.

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

<!-- SITEMAP CONTENT REPLACE POINT -->

А затем указать ID созданной страницы в "ПараметрахPS Auto Sitemap" в "PostID of the sitemap". Здесь же вы можете настроить остальные параметры плагина. И хотя плагин пока еще без перевода (русские языковые файлы я автору плагина отослал) вам все должно быть понятно и так. Поиграйтесь со стилями в "Select style", там попадаются довольно интересные примеры вроде:

Только помните, что многие шаблоны частично или полностью несовместимы со стилями от плагина. Например, дефолтный шаблон в WordPress везде вставляет стрелочки в списках и тем самых портит общую картину. Для дефолтного шаблона достаточно удалить код из style.css:

.entry ul li:before, #sidebar ul ul li:before {
	content: "0BB 020";
	}

Другие шаблоны могут потребовать более сложной правки, но многие в ней не нуждаются вообще, смотрите сами. И не забудьте поставить галку на "Using cache" – использование кеша практически полностью избавляет от лишних запросов к базе данных, что актуально при больших картах сайта. Этой функции мне очень не хватало в других плагинах создания карты сайта.

Еще один плюс плагина в том, что при минимальном изменении кода он научится выводить рубрики так, как вы их выводите с помощью плагина My Category Order. Для этого откройте файл плагина ps_auto_sitemap.php и найдите строчку:

137
$categories = get_categories( 'exclude=' . $ex_cat_ids );

поменяйте ее на:

137
$categories = get_categories( 'orderby=order&exclude=' . $ex_cat_ids );

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

 

Автор плагина: Hitoshi Omagari

Страница плагина: [ссылка]

Рассматриваемая версия: 1.1.3 от 17.02.2009

Совместимость с версией WordPress: 2.3.1 и выше.

Плагин WordPress "Video Embedder" для вставки в записи блога видео-роликов.

Добавлено 23 января 2010 в категорию Плагины.

Очень часто блогеры встраивают в свои записи видео-ролики с различных популярных видео-сайтов, вроде YouTube или RuTube. Однако люди, ведущие блоги на WordPress зачастую сталкиваются с ситуацией, когда визуальный редактор режет часть кода ролика и он не воспроизводится в записи. Чтобы этого избежать надо всегда пользоваться HTML-режимом редактора, а такой вариант подходит не каждому: ведь, чтобы код ролика "не поехал" эту запись редактировать в визуальном редакторе больше нельзя. Поэтому появилось немалое количество плагинов для WordPress, которые встраивают ролики в запись посредством специальных тегов. И хотя я зарекался делать переводы плагинов на русский язык в этот раз я сделал исключение, так как несмотря на огромное количество поддерживаемых плагином Video Embedder видео-сайтов русских среди них не было и мне пришлось доработать плагин на предмет включения в него поддержки наших видео-сайтов Smotri.com и RuTube.ru.

Установка проста, скачиваем русскую версию плагина по ссылке внизу этого поста или оригинальный плагин со страницы автора:

1. Распаковываем архив.

2. Копируем папку video-embedder в /wp-content/plugins/.

3. Заходим в админку блога на вкладку "Плагины" и активируем плагин.

Собственно вот и все, плагин уже работает. Для справки по использованию плагина и для переопределения тегов вы должны зайти в "ПараметрыVideo Embedder", но не думаю, что вам нужно что-либо там менять.

Использование плагина очень простое, заключите ID видео-ролика в записи в специальные теги. Как пример:

[rutube]ffb7efa65e46f1188dc7b141029a2fb8[/rutube] или [youtube]0SKKzSmwSxo[/youtube]

На всякий случай в админке блога на вкладке плагина приведены примеры того, как правильно из ссылки на ролик вырезать ID. Русских видео-сайтов я добавил в плагин только два самых популярных, если у кого-нибудь возникнет нужда еще в каком-нибудь русском видео-сайте, то напишите мне и я его встрою в плагин. Если вы все сделали правильно, то увидите в своей записи нужные вам ролики:

или

 

Автор плагина: Kristoffer Forsgren

Страница плагина: ([ссылка]

Скачать русский плагин: video-embedder.zip

Рассматриваемая версия: 1.7.1 от 12.01.2009

Совместимость с версией WordPress: 2.3 и выше.