Одним из важнейших элементов SEO-оптимизации сайта является его внутренняя оптимизация. Правильно настроенный сайт, соблюдающий все рекомендации поисковых систем, уже может занять хорошие позиции в выдаче и привлекать посетителей без каких-либо дополнительных вложений.
В этой статье мы рассмотрим такой аспект внутренней оптимизации сайта, как заголовки страниц (Title). Я расскажу, как можно управлять заголовками Title с помощью стандартных средств Joomla, а также поделюсь некоторыми хитростями и трюками.
Содержание
- Как работает управление Title в Joomla
- Приоритет заголовков Title
- Title, совпадающий с названием сайта, когда нигде больше он не задан (0 – самый низкий приоритет)
- Title, автоматически созданный из названия страницы (например, названия статьи, названия категории, страницы стороннего компонента, и др.). Приоритет 1.
- Title, автоматически созданный из названия пункта меню, к которому привязана страница. Приоритет 3.
- Title, вручную заданный в настройках пункта меню, к которому привязана страница. Приоритет 4.
- Программное переопределение Title (5 – самый высокий приоритет)
- Генерация Title с помощью SEF-компонентов
- Создание пользовательского Title с помощью настраиваемых полей Joomla
- Более сложные варианты генерации Title
Вы можете удивиться, но далеко не все сайты уделяют должное внимание такому важнейшему элементу внутренней оптимизации, как заголовок страницы. Среди сайтов, с которыми я работал, встречались такие, которые имели заголовок на главной странице: «Home», или «ООО Моя фирма», или даже «mysite.ru». Интересно, что это не мешало быть им вполне успешными. Но успех был, скорее, из-за отсутствия высокой конкуренции. Так, например, в высоко конкурентных нишах такой сайт вряд ли оказался бы даже в первой десятке выдачи.
Почему Title так важен? Ответ очень прост: именно он показывается в результатах выдачи поисковых систем. Предположим, что вы ищите в поисковике какую-то услугу, скажем «Создание сайтов». При этом в выдаче появляется Три результата:
- Качественное создание сайтов. Быстро и недорого. Гарантия результата.
- Главная – Студия Василия Пупкина
- Home
По какому результату вы кликните? Вероятно по первому. Ну может быть по второму. Но уж точно не по третьему.
Надеюсь, теперь важность такого элемента сайта, как заголовок страницы, понятна всем и каждому. Остается только разобраться, как управлять заголовками на сайте, сделанном на Joomla. Иногда это далеко не так тривиально, как кажется.
Как работает управление Title в Joomla
Прежде всего, нам следует определиться с тем, какой формат заголовков Title будет на сайте. Это могут быть либо заголовки, совпадающие с заголовками страниц H1, либо заданные вручную, либо состоящие из нескольких частей с разделителем, например: «Заголовок материала – Название сайта».
В Joomla есть одна общая опция для Title страниц. Она позволяет показывать либо только заголовок, либо заголовок и название сайта перед или после него.
Найти ее вы можете в «Система –> Общие настройки –> Вкладка «Сайт» –> Блок «Настройки SEO» –> Включать название сайта в заголовок страницы.
Стоит ли включать название сайта в Title всех страниц? Хороший вопрос. Точного ответа на него нет. Здесь есть свои плюсы и минусы.
Плюсы:
- Если название содержит основные ключевые слова, есть возможность попасть в выдачу по составным запросам, о которых вы даже не думали, например Title: «Товары Virtuemart – Уроки Joomla», где первая часть – заголовок, а вторая – название сайта, может появиться в выдаче и по запросу: «Уроки Virtuemart».
- Узнаваемость бренда. Если ваш бренд известен, и он включен в название сайта, то вероятность клика по такому заголовку в выдаче будет выше. Пример: «Купить телевизор» или «Купить телевизор – SAMSUNG». По второму заголовку будут кликать чаще.
Минусы:
- Длинный Title разбавляет ключевые слова и снижает их вес. Например, заголовок: «Как затопить печку», вероятно, будет выше в результатах и будет более кликатебельным, чем «Как затопить печку – Печка-сервис. Камины, уголь дрова».
- Длина Title в выдаче поисковых систем ограничена 70-80 символами, так что часть длинного заголовка может вообще не отобразиться. С добавлением названия сайта такая вероятность повышается.
- Пользователи не любят много букв. Заголовок должен быть четким и понятным, как вывеска. Согласитесь, вывеска «Книжный магазин» выглядит привлекательнее, чем «Книжный магазин – книги, журналы, библиотека, ломбард».
Включать ли название сайта в Title страницы, вы должны решить для себя сами. Можно попробовать оба варианта и замерить динамику переходов на сайт из поисковых систем. Главное – теперь вы знаете, как легко можно управлять таким включением в Joomla.
Приоритет заголовков Title
Перейдем к более сложным вещам. В Joomla управление заголовками Title для разных страниц может осуществляться из разных мест. Все зависит от структуры сайта. Но существует общее правило приоритетов, согласно которому будет показываться Title.
Посмотрите следующую таблицу:
Место добавления Title |
Приоритет |
Программное переопределение Title |
5 |
Title, вручную заданный в настройках пункта меню, к которому привязана страница |
4 |
Title, автоматически созданный из названия пункта меню, к которому привязана страница |
3 |
Title, вручную заданный в настройках страницы (например, в настройках при создании статьи, категории, страницы стороннего компонента, и др.) |
2 |
Title, автоматически созданный из названия страницы (например, названия статьи, названия категории, страницы стороннего компонента, и др.). |
1 |
Title, совпадающий с названием сайта, когда нигде больше он не задан |
0 |
На странице сайта Joomla всегда будет показан Title с самым высоким приоритетом (5 –самый высокий). Ниже мы в обратном порядке подробно рассмотрим каждый из вариантов добавления заголовка, начиная с самого низкого приоритета.
Title, совпадающий с названием сайта, когда нигде больше он не задан (0 – самый низкий приоритет)
Бывают в Joomla бесхозные страницы. Такие, которые можно считать служебными. О них не заботятся программисты, т.к. продвигать их никто никогда не будет. Яркий пример – страница «Забыли логин?». Она является частью компонента управления пользователями. У нее нет заголовка, а есть только форма ввода адреса электронной почты для отправки напоминания логина. Когда эта страница не привязана к пункту меню, то она является бесхозной, такой, для которой не заданы: Заголовок, Title, и другие важные SEO-элементы. Для таких страниц Joomla будет устанавливать Title, совпадающий с названием сайта, заданным в общих настройках, в админке. Естественно, такой Title имеет самый низкий приоритет. Он устанавливается, когда поставить больше просто нечего. Исправить ситуацию бесхозности позволит привязка такой страницы к пункту меню (которое может быть и скрытым, важен сам факт существования такого пункта). Об этом будут рассказано ниже.
Title, автоматически созданный из названия страницы (например, названия статьи, названия категории, страницы стороннего компонента, и др.). Приоритет 1.
Более важным, чем никакой, будет самый простой заголовок единицы контента. Например, когда вы создаете на сайте статью, вы обязательно должны задать для нее название. Без этого статья просто не сохраниться. Это название и станет заголовком Title, если не задано ничего с более высоким приоритетом. Это же относится и к категориям, и к страницам, генерируемым другими компонентами, например, к товарам Virtuemart.
Иногда разработчики сторонних расширений Joomla делают очень неприятный ход, формируя где-то в коде Title, состоящий не только из названия, но и включающий в себя что-то еще. Например, в Virtuemart на странице товара Title будет выглядеть как:
«Название категории: Название товара». А если такой Title формируется где-то в ядре компонента (а чаще всего так и бывает) и не может быть изменен в настройках компонента, нужно использовать способ имеющий более высокий приоритет (правда, это не всегда удобно, т.к. автоматическое формирование Title всегда быстрее ручного).
Title, вручную заданный в настройках страницы (например, в настройках при создании статьи, категории, страницы стороннего компонента, и др.). Приоритет 2.
Любой хороший компонент даст вам возможность самостоятельно задать Title при создании единицы контента. Например, в Joomla, при создании материала имеется отдельная опция, устанавливающая Title. Правда ее не так просто найти. Вам нужно перейти на вкладку «Отображение», прокрутить страницу в самый низ, и там вы увидите опцию «Заголовок страницы в браузере»:
Если эта опция заполнена, то Title страницы будет совпадать именно с ней, а не с заголовком материла, т.к. приоритет здесь выше. Вы как бы переопределяете Title.
К сожалению, данная опция есть далеко не везде. Например, для категорий Joomla она отсутствует. Здесь помогут следующие варианты с более высоким приоритетом.
Title, автоматически созданный из названия пункта меню, к которому привязана страница. Приоритет 3.
Еще более высоким приоритетом является название пункта меню, с которым связана единица контента Joomla. Если контент связан с пунктом меню, то заголовком Title будет название пункта меню, а не название единицы контента.
Но здесь следует сделать уточнение. Материалы Joomla, как, собственно, и другие единицы контента, могут существовать в трех состояниях:
- Не привязан к пункту меню Joomla
- Привязан к пункту меню Joomla
- Косвенно привязан к пункту меню Joomla
Пояснить эти состояния проще всего на примере материала Joomla. Предположим, у нас есть категория «Животные», а в ней есть материал «Собака».
Пока мы не создавали пунктов меню, связанных с этой категорией или этим материалом, то, соответственно, они находятся в первом состоянии – «Не привязан к пункту меню Joomla».
Если мы создали пункт меню типа «Материал» и привязали к нему материал «Собака», то материал находится во втором состоянии – «Привязан к пункту меню Joomla», а категория в первом – «Не привязан к пункту меню Joomla».
Если мы создали пункт меню типа «Блог категории», и привязали к нему категорию «Животные», то категория находится во втором состоянии – «Привязан к пункту меню Joomla», а материал в третьем – «Косвенно привязан к пункту меню Joomla».
Почему так? Дело в том, что материал входит в категорию и, если категория привязана к пункту меню, материал также оказывается связан с этим пунктом, но косвенно.
В чем разница «косвенно или не косвенно»? Это важно для понимания установки заголовков Title 3-го и 4-го приоритетов, а именно:
Заголовок Title, материала, косвенно связанного с пунктом меню, не будет переопределяться настройками этого пункта меню.
Возвращаясь к нашему примеру:
Если мы свяжем категорию «Животные» с пунктом меню «Мои животные», то Title страницы категории изменится на «Мои животные», а Title материала «Собаки» не изменится, поскольку связь материала с данным пунктом меню косвенная.
Если мы свяжем материал «Собаки» с пунктом меню «Мои собаки», то Title материала изменится на «Мои собаки», т.к. связь с пунктом меню прямая.
Title, вручную заданный в настройках пункта меню, к которому привязана страница. Приоритет 4.
Здесь все просто и аналогично приоритету 2, только для пунктов меню. Если вы хотите, чтобы заголовок Title материала, привязанного к пункту меню, отличался от названия этого пункта меню, то в настройках пункта меню, перейдите на вкладку «Параметры страницы» и заполните поле «Заголовок страницы в браузере».
Этот способ имеет самым высокий приоритет переопределения заголовка, из тех, что доступны в админке. Выше будет только программное переопределение.
Программное переопределение Title (5 – самый высокий приоритет)
Помимо управления через админку, Title страниц также можно изменить программно – прямо в коде шаблона сайта или макета страницы. Этот вариант наиболее сложный и используется не для единичных переопределений, а для массовых, объединенных каким-то общим принципом или правилом.
Например, вы хотите добавить в Title автора материала или категорию, или дату его создания, а может все сразу в каком-то определенном формате.
Перед программными манипуляциями с заголовками нужно один раз добавить строку:
$document = JFactory::getDocument();
Далее:
$document = JFactory::getDocument();
//Получить текущий Title
$current_title = $document->getTitle();
//Установить свой Title
$document->setTitle(‘Мой собственный Title’);
//Или же дополнить текущий
$document->setTitle($current_title.’ – ’.‘Мой собственный Title’);
Вставлять этот код удобно в переопределенные макеты страниц различных компонентов. Например, описанная выше проблема с заголовками страниц товаров Virtuemart, содержащий категории в Title, решается вставкой в макет страницы товара всего двух строчек кода:
$document = JFactory::getDocument();
$document->setTitle($this->product->product_name);
А если добавить немного фантазии, таким же способом можно создать уникальный Title, включающий в себя не только название товара, но и, например, его стоимость. При этом Title для любого товара будет генерироваться автоматически, и он также автоматически изменится при изменении цены товара. Это может сэкономить массу времени.
Генерация Title с помощью SEF-компонентов
В работе с заголовками Title в Joomla, как вы, я думаю, уже поняли, есть один существенный недостаток – управление ими разбросано по разным местам админки. Согласитесь, было бы гораздо удобнее, если бы Title для любой страницы сайта можно было бы задать в одном месте. Скажем: вводишь URL страницы, вводишь Title, сохраняешь.
Такие решения есть. Одно из них, широко известный компонент SH404SEF. В нем как раз есть подобный менеджер, который позволяет задать любой странице по URL заголовок,title и мета-теги. На первый взгляд, это очень заманчиво.
Но все же я хотел бы предостеречь вас от использования этого компонента и ему подобных. Причин тому несколько, но, если оставить его платность и необходимость периодического платного обновления подписки для получения обновлений, то главный недостаток подобного решения – оно очень тяжелое. Давайте представим, что у вас большой сайт, содержащий десятки тысяч страниц. Если у нас будет менеджер, позволяющий так легко управлять заголовками, то все страницы сайта и их заголовки должны будут храниться в базе данных, а при каждом запросе любой страницы сайта, нужно будет доставать из этой, далеко не маленькой базы, отдельную запись. Это существенно увеличит нагрузку на сервер и замедлит загрузку страниц. К тому же, имея такое количество страниц, вы просто замучаетесь прописывать для них заголовки вручную.
Я советую все-таки хорошо разобраться со стандартными способами формирования заголовков в Joomla, описанными в этой статье, и применять их, а не сторонние расширения. Пусть где-то это не слишком удобно, но зато бесплатно, хорошо протестировано и быстро работает.
После правильной настройки всех заголовков Title на сайте и переиндексации страниц поисковыми системами, очень вероятно, что вас сайт поднимется в результатах поиска гораздо выше, чем был. Проверить позиции вы сможете, например, через Топвизор.
Создание пользовательского Title с помощью настраиваемых полей Joomla
Благодаря появлению в Joomla настраиваемых полей, теперь мы можем добавить к форме редактирования материала дополнительное поле, в котором можно будет установить Title для страницы материала, отличный от названия материала. Благодаря этому подходу можно значительно упростить работу с Title в Joomla. О том, как сделать это, вы можете прочитать в кейсе Как сделать разные Title и H1 для статей в Joomla.
Более сложные варианты генерации Title
Есть и более сложные варианты, когда нужно сгенерировать корректный Title. Это страницы форума, пагинация и многое другое. Если вам нужно решить такую задачу, но вы чувствуете, что не справитесь с ней самостоятельно, от всегда можете обратиться ко мне за платной помощью через форму обратной связи. Буду рад помочь!
Также советую почитать этот кейс:
http://wedal.ru/joomla/kak-sdelat-zagolovki-materialov-joomla-v-tege-h1-kejs-6.html
на сайте стоит виртуал март
страницы категорий и товаров берут тайтл из поля внутри самой категории - где матаданные прописывают
Если там ничего не прописано, то задаются автоматически
притом это и тайтл и Н1 прописываются одинаково, вот примеры страниц катагории и товара
http://td-energomash.ru/shop/refuelers
http://td-energomash.ru/shop/refuelers/%D0%B0%D1%82%D0%B7-10-43119
Пробовал задавать тайтл категории через редактор меню в раздел заголовок страницы в браузере, но не меняет - видимо приоритет именно виртуал март над меню
Где можно исправить данное положение вещей, чтобы Н1 брался из заголовка категории виртуал март, а тайтл я бы прописывал или через меню, или через метаданные в самом виртуал март (но тогда бы разъединить Н1 и тайтл)
Где может находиться данная проблема и как ее исправить?
чтобы обойти этот setTitle
А вот как на счет дублей страниц? sh404sef в этом отношении очень хорошо справляется.
В последних версиях Joomla 3 был добавлен новый роутер. Он убирает множество из ранее существовавших дублей. Нужно только активировать его в настройках Joomla. По умолчанию он выключен.
Такое оформление бывает нужно для пунктов меню, заголовков статей и категорий, сейчас мне приходится это делать напрямую в БД. Видел примеры постобработки яваскриптом (оборачивание текста тегами), но это работает более менее если заголовок допустим состоит всегда из двух или из трех слов и применяется для всех, а иногда бывает необходимо сделать один из пунктов меню со специфическим оформлением именно внутри самого заголовка.
Я бы не сказал, на многих платных шаблонах встречал подобные решения, но их общая проблема отсутствие пластичности, то есть делается один обработчик на любой заголовок (например оборачивание всех слов спанами, как Вы предложили), и действительно, большинство подобных задач можно решить. Но вопрос именно в возможности внедрения html в заголовки, и как я понял рабочего варианта не существует, кроме прямой правки БД. Жаль, основная проблема правки БД, в том, что при внесении любых изменений и сохранении код вычищается.
Если вы хотите иметь Title, отличный от названия материала, то должны создать пункт меню типа "Материал". В настройках этого пункта меню можно будет указать заголовок.
Если материалов много и вы не хотите для каждого создавать пункт меню, то вам нужно добавить к материалам дополнительное поле Joomla, в которое вы будете вводить Titile, и внеси в макет материала правку с проверкой: если это поле заполнено, то устанавливать Title из него. Знаю, что это звучит не слишком понятно. Постараюсь в ближайшем будущем опубликовать кейс на эту тему. Вопрос, действительно, значимый.
Подскажите, пожалуйста - в чём может быть причина того, что на всех пунктах меню не отображается название сайта (кроме главной) ?
То есть - здесь есть https://s.mail.ru/6nXw/Mm7FqZxyR , а тут уже нет https://s.mail.ru/4xzX/QYUTCABCT
Все настройки на этом сайте https://s.mail.ru/FUU9/YDMRnMtdj идентичны настройкам на другом моём сайте, в котором такой проблемы нет.
Будет.