Добавляем текст описания в категории wordpress блога
Достаточно давно идут споры относительно сокрытия от индексации тегов и категорий wordpress блога дабы это не приводило к дублированном контенту. Честно говоря, никогда не понимал такие жесткие меры предосторожности, тем более, что в итоге текст на страницах получается не такой уж и дублированный. Конечно, при этом мы должны понимать, что на страницах категорий и тегов нужно выводить не полноценные статьи, а лишь их вступление (краткое превью). Сначала во многих своих блогах, как и здесь, я публиковал посты полностью, но чуть позже решил отказаться от такого принципа – сделать клик по заголовку статьи или ссылке читать далее, думаю, не так сложно. Тем более, при просмотре категорий (разделов) блога гораздо удобнее быстро увидеть как можно больше постов на одной странице нежели постоянно пользоваться полосой прокрутки браузера и читать то, что тебе, по сути, и не нужно.
Пока что краткие превью для постов блога у меня реализованы лишь на WordPress Inside и Дизайн Мании, но в дальнейшем планирую перейти на такой формат полностью. Разные тематические блоги я изначально создаю с краткими анонсами для постов, это кроме всего прочего, еще и не создает сложности с поисковыми системами. Если на страницы отображается 2-3 поста в «полный рост», то, скорее всего, это может вызывать некоторые вопросы относительно дублированного контента. В противном случае в разделе будет отображаться лишь абзац текста, разбавленный еще 5-6 абзацами других статей. И сюда же я предлагаю добавлять небольшое текстовое описание для раздела. Что-то вроде вступительного слова, подобную реализацию можете видеть на страницах категорий моего блога про водрпресс:
При этом вы можете добавлять сколько угодно текста – делать лишь краткое введение для раздела, либо размещать там полноценную статью, допустим, о плагинах wordpress – насколько они полезны и т.п. Таким образом, кстати, можно создать для блога полноценный раздел, способный привлекать дополнительный трафик по нужным ключевым словам.
Создание описаний для категорий
В системе управления блогом wordpress есть специальные функции для работы с описанием категорий и тегов. Если вы заглянете в админку системы в меню «Рубрики» (категории), то увидите при добавлении новой рубрики следующие поля:
Особенно интересным выглядит описание, куда можно добавить соответствующий текст. В большинстве тем и шаблонов wordpress я не видел никаких упоминаний об этом поле, поэтому, можно предположить, что оно создано для внутреннего использования в самой админке по типу подсказки для редакторов. Тем не менее, эту информацию можно выводить и в самом шаблоне. Для этого используются функции category_description и tag_description.
Вот пример вывода описания категории с заголовком:
<div> <strong><?php single_cat_title('Currently browsing'); ?></strong>: <?php echo category_description(); ?> </div> |
Следует лишь помнить, что этот код должен быть в цикле wordpress loop – посмотрите файл index.php или архивный archive.php. Чаще всего там уже выводится заголовок категории или тега, а вот код с category_description добавите сами.
Также вам может пригодиться условный оператор для отображения описания лишь на первой странице. Про них детально рассказывал в статье Выводим текста только на главной. Используйте для данной задачи is_paged(). Если добавляете условие в общий файл index.php, то получится конструкция по типу следующей:
<?php if ((is_category()) and (!is_paged())) { ?> <div> <strong><?php single_cat_title('Currently browsing'); ?></strong>: <?php echo category_description(); ?> </div> <?php } ?> |
Планин Rich Text Tags
Данный плагин добавляет в поле описания категорий и тегов полноценный текстовый редактор для того чтобы вы могли написать не просто обычный текст, а еще задать определенное форматирование.
Установка плагина Rich Text Tags простая – скачиваем его с официального сайта вордпресс здесь, после чего: разархивируем, копируем на фтп в директорию плагинов /wp-content/plugins/ и активируем в админке.
Далее для каждой категории или тега задаем нужное описание и добавляем код вывода их в файл шаблона, где задается отображение категории в блоге (чаще всего это archive.php). Вывод новых описаний осуществляется стандартными функциями вордпресс, о которых я говорил выше:
<?php echo category_description(); ?> <?php echo tag_description(); ?> |
Вот, в принципе, и все. Неплохо было бы, конечно, для разделов (категорий) и тегов выводить еще нужные ключевые слова (keywords) и описание (description) – сейчас я использую для этого кое-какие правки в файле плагина Platinum Seo Pack, хотя было бы неплохо найти специальный плагин, который позволял также легко модифицировать эту информации прямо из админки – возможно вы видели подобные разработки? На сайте wordpress я встречал парочку решений, но все они показались мне далекими от идеального – один требовал дополнительные модули, другой не работал с последними версиями системы. Возможно, вы встречали более-менее стабильное решение? – буду признателен за подсказки в комментариях:)
В общем, не ленитесь и добавляйте описание хотя бы для категорий блогов. Это позволит:
- Немного уникализировать текст на страницах разделов, защитив от дублированного контента.
- Оптимизировать страницы категория для получения дополнительного трафика на них.
- Поможет читателям блога разобраться в структуре сайта и почитать чему посвящены те или иные разделы проекта.
Короче говоря, один сплошной позитив, хотя и времени потратить на разработку придется больше, но мы ведь за создание нормальных СДЛ:)
P.S. Постовой. Перспективная система ротапост для заработка на блоге — монетизируй блоги.
Автор блога SEO Зоопарк приглашает в клуб друзей контекстной рекламы — заходим и читаем.
Спасибо Саша за пост, как раз эта тема меня давно интересовала. А не знаешь, как для рубрики задать свой title при этом не изменяя название рубрики?
Нужно было на wordpressinside статью постить) Там вроде в самую тему было бы…
Текстовое описание — это несомненно «+» для продвижения. Спасибо за статью.
Спасибо. Особенно за плагин Rich Text Tags. Думаю, что такие страницы нужно настраивать обязательно. Закрывать их от поисковиков — полная глупость (моё мнение).
Даже не предполагала о такой возможности. Посмотрела реализацию на WordPress Inside — отлично! Спасибо за полезный пост, попробую реализовать на новом блоге, там это очень пригодится, чтобы сразу было понятно распределение материалов по категориям.
Александр, вот я думаю то, что тебе нужно http://kirik.com.ua/wordpress-plugin-optimizaciya-rubrik-i-tegov/
Если подключить текст на страницах категорий/тегов, и добавить тайтлы нужные — их будет легче чем статьи продвигать в поисковиках :)
SEOinSoul, я добавляю только через правку плагину Platinum Seo Pack, там код подправляю слегка, плагин от kirik нужно будет попробовать, хотя я весьма критично ко всему такому отношусь — он ведь не на оф. сайте, какая будет поддержка в вордпресс3, например, и т.п. Короче ставлю сторонние модули по минимуму, есть на оф. сайте аналоги, но нужно их проверять, т.к. много неточностей там.
iDeny, тема отчасти про сео, так что я уже здесь решил, тем более в последний момент сорвался другой пост, нужно было писать что-то новое быстро)
Tod, если юзать только те плагины, которые есть на оф. сайте, некоторые задачи сводятся к такому геморою, что мало не покажется. Поддерживать плагин буду только при моей личной необходимости, делался на скорую руку для конкретной задачи на одном сайте, даже в блоге у себя не юзаю.
Kirik, понимаю, поэтому дописал для себя Platinum Seo Pack под один сайт, получилось корявенько, но работает:) Правда приходится игнорировать обновления плагина либо менять код опять.
SEOinSoul, Tod спасибо, буду пробовать.
Использую эти возможности в своeм блогe. Прaвдa, с мeткaми, нeжeли с кaтeгориями у мeня всe подругому — я их и от поисковиков зaкрывaю, и описaния нe использую. Нaдо рeоргaнизовывaть структуру, но лeнь.
Подскажите, в чем может быть причина того, что на сайте не отображается форматирование в категориях?
1. Я поставила код вывода описания категорий
2. Установила плагин Rich Text Tags
3. Сделала описание категории + отформатировала его (выделение жирным + тег )
Но на сайте появился только голый текст (без форматирования)
Почему? И как можно это исправить?
Света, попробуй в файле плагина rich-text-tags.php где-то в последних строчках добавить код:
Там одна из строк есть, нужно вставить еще одну. Мне помогло. Это же вроде бы можно сделать в файле functions.php
Спасибочки ;), помогло после того как этот код поставила именно в файл functions.php
А как можно поставить условие, чтоб описание тэга не выводилось, если оно не заполнено? Нужно для того, чтобы некоторые описания все-таки выводились.
Владимир, не совсем понял вопрос. Если описание пустое, то ничего и выводиться не будет)
Да, не так я сформулировал вопрос. У меня есть заголовок «Описание сайта» и «Описание категории». Для описания сайта я ставлю условие is_home, заголовок и описание появляются только на главной. Для описания категории ставлю is_category. Можно ли как-то добавить условие, чтоб если описание категории не заполнено, то и заголовок не выводился?
Огромное спасибо.
Я этот метод (вывода описания для тегов) использую для продажи ссылок на странице категорий. Поскольку очень часто категория имеет приличный PR (1, 2 и даже 3).
Ковырялся с Rich Text Tags часа 2: не мог форматирование текста отобразить на странице.
Оказалось, что версия плагина 1.2.1 не подходит к моей версии вордпресса 2.8.6.
Скачал версию плагина 1.0.3 и всё заработало.
Оно то классно, но функция wp_list_categories() при выводе списка Рубрик выводит это описание в тайтл ссылки и выглядит всё это, мягко говоря, некрасиво. Так ещё оказывается, что в самой функции вывода тайтлов нет :(
А есть он в недокументированной функции get_the_category_list(), но она не использует category_description()
Каким макаром они друг с другом связаны?
Да, Тод, таже самая проблема как и у «Тестовой страницы»
Добавляя текст в описание, он дублируется в тайтл ссылки. как вылечить?
Блин, раза с 5-го понял о чем вообще идет речь)) В функции wp_list_categories есть опция use_desc_for_title — для нее указываем значение 0 и все.
Ну это я уже узнал после некоторого колупания в мануале по прессу. Сначала просто отвлёкся на другой параметр. Тоже у кого-то в статье чё-то прочитал. А хто-то лоханулся. Опять убеждаюсь в том, что первоисточник лучше, чем копипаст, рерайт или перевод.
Но, как оказалось такая фишка не решает проблему с дублированным контентом. В файле сайтмап у меня 23 ссылки, грубо говоря 23 страницы. ПО данным яндекс веб-мастера загружено 167 страниц, индексируется 47. Причём яндекс индексирует скрытую от пользователей категорию в которой 2 почти пустых поста без комментариев (планы и текущие проекты) и в ней он находи 11 страниц, ОТКУДА??? Мало того почти все посты яндексом проиндексированы как ?p=23, а те которые имеют нормальный урл, в большинстве случаев имеют двойника с /feed в конце.
Гуугл-вебмастер тулс говорит про 41 страницу с задвоенным мета описанием. И там проиндексировано всё подряд типа /?cat=1 /2010/06/ каждая статья имеет дубль /статья/comment-page-1/
Мало этого, уже не помню откуда выцепил, я сначал думал почему такой разрыв в номерах постов ?p=№, оказывается каждое вложение(рисунок) в вордпрессе имеет свою страницу, которая тоже индексируется…
Ужас… кто это всё придумал? И как теперь его соптимизировать и прописать каждой странице свои мета теги? Доп. полями я так понял уже не обойтись. НАверно прийдётся посмотреть чего там Александр Кирик за плагин вымутил и на его основе попробовать сделать свой. Потому, что нужно каждой существующей странице ставить в соответствие мета теги (и возможно тайтл), а это у меня пока лезет в БД в таблицу с параметрами блога. А надо видимо заводить отдельную…
Пока такой проблемы не заметил, как у «тестовой страницы»
Тод, наткнулся на еще один подводный камень.
При включённом алл-ин-сео, это описание, выводится в дескрипшен. не отрывками, ни первым предложением, а тупо полностью.
Мне кажется такой дубль не есть хорошо.
У тебя на wordpressinside такой проблемы нету, поскольку стоит platinum seo pack 1.3.7 ? верно?
Тестовая Страница, если вы занимаетесь сайтом клиента под заказ тогда да, нужно копаться во все нюансах, в остальных случаях я бы не парился вообще, яндекс может индексировать все что угодного, доверия к нему нет никакого, главное чтобы в выдаче появлялись правильные страницы. Закрыть от индексации лишнее можно через robots.txt
Artem, интересный такой «прикол», даже не знаю что ответить, но вообще я за platinum seo:) Возможно там отмечена галочка в настройках all in seo чтобы автоматически генерировать дескрипшн — убрать бы ее и посмотреть что будет. Ну, либо как вариант поставить platinum seo.
Подскажите, пожалуйста, где и какие в platinum seo нужно вносить правки, чтобы можно было задавать title и description для категорий? Я так понял, что где-то в function is_admin()? Но так как программер из меня еще тот, разбираться мне в ней еще год)) Буду очень признателен за помощь)))
Дмитрий, в platinum seo такой возможности, увы нет.
Я имел в виду правки в текст файла плагина, как Вы это сделали. Я нашел плагин для указания тайтлов для страниц категорий, но чтобы он выводил еще и дескрипшн, в нем надо тоже копаться. А если уж переписывать плагин, то лучше platinum seo — так сказать, чтоб все в одном)))
Tod! такой вопрос… может быть я чего то не понял, но в посте не описано как сделать так, чтобы описание выводилось только на первой странице категории. Ткни, пожалуйста, мордой :)
tarser, про это можно почитать здесь — вывод текста в блоге только на главной — там и пример кода есть.
А как вывести описание поста, чтобы в каждом посте свое описание?
Возникло 2 вопроса.
Я где-то однажды прочитал, что в WordPress по умолчанию скрыты от индексации страницы категории (словно в robots «disallow /category»). Вопрос в общем то именно по этой части.
Что нужно конкретно сделать, чтобы быть уверенным, что страницы категорий индексируются? В роботс прописать «Allow /category» или просто стереть «disallow /category»?
Кроме того, есть ли возможность (плагин какой-нибудь) выводить в качестве текста анонса статьи какой-нибудь другой текст, не отображаемый в самой статье, как это сделано на DLE.
Заранее спасибо за ответ!
clinoc11, не понял вопрос, что за описание поста?
Андрей, не уверен, что по умолчанию там что-либо закрыто, можно поставить плагин All in One Seo Pack или Platinum Seo дабы точно задать настройку индексации. Но опять же на 99% думаю там не закрыто, в wp часто наоборот проблема в том что люди хотят закрывать. Можно в robots.txt правила прописать, если что. По поводу анонса статей это похоже на произвольные поля.
Ставил в functions.php вот такой код:
и что-то все равно не работает форматирование. Может что-то не так делаю?
Dimax, код не отобразился… попробуйте добавить его в файл модуля rich-text-tags.php. А вообще в последних версиях все вроде бы нормально работает.
Кстати. если использовать этот плагин с Category SEO Meta Tags 2.2 то при добавления описания в этом плагине, в исходном коде страницы отображаются два теги description, как исправить?
rednager, я тут недавно писал про плагин Category SEO Meta Tags где рассмотрел правку кода для All in one seo pack дабы он не выводил второй description. К сожалению, без правки php кода плагинов не обойтись.
Да я знаю, я всё сделал, но тут в другом дело, после выполнения всего, что описано в двух этих статьях при добавдении описания через Category SEO Meta Tags и через All in One SEO Pack (это при помощи плагина Rich Text Tags) в исходном коде отображаются два тега «Описания», то есть в той статье, которую вы предлагаете в ссылке выше мы просто убираем !пустой! тег «Описания», который генерирует All in One SEO Pack, а тогда что выводить в описании категории, если при добавлении чего-то вылетают два тега описания двух плагинов?
То есть тут вопрос решатся может одним путём:
1) Не выводит пустой тег «Описания», который генерирует плагин Category SEO Meta Tags.
Я вот не знаю как это сделать, копаюсь в плагине уже два дня… =(
rednager, все равно «не догоняю» в чем проблема) Код в той статье для плагина All in One SEO Pack проверяет есть ли какое-то описание description. Если есть (задано в статье или через Category SEO Meta Tags), то ничего не происходит, если нет выводится автоматический description от плагина All in One SEO Pack. Я пробовал на одном из сайтов код, все работало верно.
спасибо! и вправду мало где пишут об этой функции
Ееееее! Спасибо за отличное решение) *побежал заказывать описание для категорий сайта и привлекать доп. трафик на блог*
В своем посте Вы описываете реализацию анонса для конкретного раздела (рубрики), а как сделать то же самое для самой записи (поста)? — как показано у Вас на самом первом скриншоте.
dim, в большинстве шаблонов анонс для постов выводится автоматически. Но вообще делается это через функции the_content (с форматированием) или the_excerpt (без форматирования).
Действительно помогло
Спасибо автору материала! Много полезного у Вас! Добавил в rss теперь буду почаще заходить.
Frianacec, спасибо) удачного развития вашему блогу.
Привет, слушай а как в плагине Rich Text Tags, сделать так чтобы текст статический в Рубрике выводился после записей рубрики?
А лучше всего, чтобы часть текста показывалась до записей рубрики и другая часть текста после записей рубрики… Как реализовать?
Благодарю!!!
Тимур, нужно разместить код вывода описания после отображения постов, после цикла, который выводятся записи блога. Про 2 част текста была такая же идея, но реализовать ее не смог, поэтому хз.
Отписал по этому поводу на 2-х WP форумах, жду..
2 части текста выводить просто идеально будет..
Тимур, без правки самого модуля, думаю, это сделать никак нельзя. А если человек разбирается в php, то он просто добавить в модуль (в базу данных и сам код) еще одно поле описания.