Куда идем?

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

В этой статье мы рассмотрим такой аспект внутренней оптимизации сайта, как заголовки страниц (Title). Я расскажу, как можно управлять заголовками Title с помощью стандартных средств Joomla, а также поделюсь некоторыми хитростями и трюками.

Вы можете удивиться, но далеко не все сайты уделяют должное внимание такому важнейшему элементу внутренней оптимизации, как заголовок страницы. Среди сайтов, с которыми я работал, встречались такие, которые имели заголовок на главной странице: «Home», или «ООО Моя фирма», или даже «mysite.ru». Интересно, что это не мешало быть им вполне успешными. Но успех был, скорее, из-за отсутствия высокой конкуренции. Так, например, в высоко конкурентных нишах такой сайт вряд ли оказался бы даже в первой десятке выдачи.

Почему Title так важен? Ответ очень прост: именно он показывается в результатах выдачи поисковых систем. Предположим, что вы ищите в поисковике какую-то услугу, скажем «Создание сайтов». При этом в выдаче появляется Три результата:

  • Качественное создание сайтов. Быстро и недорого. Гарантия результата.
  • Главная – Студия Василия Пупкина
  • Home

По какому результату вы кликните? Вероятно по первому. Ну может быть по второму. Но уж точно не по третьему.

Надеюсь, теперь важность такого элемента сайта, как заголовок страницы, понятна всем и каждому. Остается только разобраться, как управлять заголовками на сайте, сделанном на Joomla. Иногда это далеко не так тривиально, как кажется.

Как работает управление Title в Joomla

Прежде всего, нам следует определиться с тем, какой формат заголовков Title будет на сайте. Это могут быть либо заголовки, совпадающие с заголовками страниц H1, либо заданные вручную, либо состоящие из нескольких частей с разделителем, например: «Заголовок материала – Название сайта».

В Joomla есть одна общая опция для Title страниц. Она позволяет показывать либо только заголовок, либо заголовок и название сайта перед или после него.

Найти ее вы можете в  «Система –> Общие настройки –> Вкладка «Сайт» –> Блок «Настройки SEO» –> Включать название сайта в заголовок страницы.

1

Стоит ли включать название сайта в 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.

2

Иногда разработчики сторонних расширений Joomla делают очень неприятный ход, формируя где-то в коде Title, состоящий не только из названия, но и включающий в себя что-то еще. Например, в Virtuemart на странице товара Title будет выглядеть как:

«Название категории: Название товара». А если такой Title формируется где-то в ядре компонента (а чаще всего так и бывает) и не может быть изменен в настройках компонента, нужно использовать способ имеющий более высокий приоритет (правда, это не всегда удобно, т.к. автоматическое формирование Title всегда быстрее ручного).

Title, вручную заданный в настройках страницы (например, в настройках при создании статьи, категории, страницы стороннего компонента, и др.). Приоритет 2.

Любой хороший компонент даст вам возможность самостоятельно задать Title при создании единицы контента. Например, в Joomla, при создании материала имеется отдельная опция, устанавливающая Title. Правда ее не так просто найти. Вам нужно перейти на вкладку «Отображение», прокрутить страницу в самый низ, и там вы увидите опцию «Заголовок страницы в браузере»:

3

Если эта опция заполнена, то Title страницы будет совпадать именно с ней, а не с заголовком материла, т.к. приоритет здесь выше. Вы как бы переопределяете Title.

К сожалению, данная опция есть далеко не везде. Например, для категорий Joomla она отсутствует. Здесь помогут следующие варианты с более высоким приоритетом.

Title, автоматически созданный из названия пункта меню, к которому привязана страница. Приоритет 3.

Еще более высоким приоритетом является название пункта меню, с которым связана единица контента Joomla. Если контент связан с пунктом меню, то заголовком Title будет название пункта меню, а не название единицы контента.

4

Но здесь следует сделать уточнение. Материалы Joomla, как, собственно, и другие единицы контента, могут существовать в трех состояниях:

  • Не привязан к пункту меню Joomla
  • Привязан к пункту меню Joomla
  • Косвенно привязан к пункту меню Joomla

Пояснить эти состояния проще всего на примере материала Joomla. Предположим, у нас есть категория «Животные», а в ней есть материал «Собака».

Пока мы не создавали пунктов меню, связанных с этой категорией или этим материалом, то, соответственно, они находятся в первом состоянии – «Не привязан к пункту меню Joomla».

Если мы создали пункт меню типа «Материал» и привязали к нему материал «Собака», то материал находится во втором состоянии – «Привязан к пункту меню Joomla», а категория в первом – «Не привязан к пункту меню Joomla».

Если мы создали пункт меню типа «Блог категории», и привязали к нему категорию «Животные», то категория находится во втором состоянии – «Привязан к пункту меню Joomla», а материал в третьем – «Косвенно привязан к пункту меню Joomla».

Почему так? Дело в том, что материал  входит в категорию и, если категория привязана к пункту меню, материал также оказывается связан с этим пунктом, но косвенно.

В чем разница «косвенно или не косвенно»? Это важно для понимания установки заголовков Title 3-го и 4-го приоритетов, а именно:

Заголовок Title, материала, косвенно связанного с пунктом меню, не будет переопределяться настройками этого пункта меню.

Возвращаясь к нашему примеру:

Если мы свяжем категорию «Животные» с пунктом меню «Мои животные», то Title страницы категории изменится на «Мои животные», а Title материала «Собаки» не изменится, поскольку связь материала с данным пунктом меню косвенная.

Если мы свяжем материал «Собаки» с пунктом меню «Мои собаки», то Title материала изменится на «Мои собаки», т.к. связь с пунктом меню прямая.

Title, вручную заданный в настройках пункта меню, к которому привязана страница. Приоритет 4.

Здесь все просто и аналогично приоритету 2, только для пунктов меню. Если вы хотите, чтобы заголовок Title материала, привязанного к пункту меню, отличался от названия этого пункта меню, то в настройках пункта меню, перейдите на вкладку «Параметры страницы» и заполните поле «Заголовок страницы в браузере».

5

Этот способ имеет самым высокий приоритет переопределения заголовка, из тех, что доступны в админке. Выше будет только программное переопределение.

Программное переопределение 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

Есть и более сложные варианты, когда нужно сгенерировать корректный Title. Это страницы форума, пагинация и многое другое. Если вам нужно решить такую задачу, но вы чувствуете, что не справитесь с ней самостоятельно, от всегда можете обратиться ко мне за платной помощью через форму обратной связи. Буду рад помочь!

Об авторе
Wedal
(Виталий). Веб-разработчик полного цикла (Full Stack). Создатель и автор сайта Wedal.ru.
Основной профиль – создание сайтов и расширений на CMS Joomla.
Добавить комментарий

Комментарии  
0
Здравствуйте! Спасибо вам за очередную хорошую статью! Возник такой вопрос: "Имеет ли смысл заполнять опцию "Заголовок страницы в браузере" при условии, что Title в ней не будет отличаться от основного заголовка статьи прописываемого при ее? То есть, есть ли разница влияния заголовков с разным приоритетом на ранжирование материала, улучшает ли позиции в выдаче вариант "Заголовок страницы в браузере" или можно не заморачиваться при условии что title остается неизменным?
-1
Александр, если заголовок страницы в браузере и заголовок статьи H1 одинаковы, то смысла заполнять это поле нет. Другой вопрос, когда отдельная статья привязана к пункту меню Joomla. В этом случае заголовком страницы будет заголовок пункта меню и, если вы хотите сделать заголовком страницы заголовок статьи, нужно заполнить данное поле в настройках пункта меню.

Также советую почитать этот кейс:
http://wedal.ru/joomla/kak-sdelat-zagolovki-materialov-joomla-v-tege-h1-kejs-6.html
0
привет
на сайте стоит виртуал март
страницы категорий и товаров берут тайтл из поля внутри самой категории - где матаданные прописывают
Если там ничего не прописано, то задаются автоматически
притом это и тайтл и Н1 прописываются одинаково, вот примеры страниц катагории и товара
http://td-energomash.ru/shop/refuelers
http://td-energomash.ru/shop/refuelers/%D0%B0%D1%82%D0%B7-10-43119

Пробовал задавать тайтл категории через редактор меню в раздел заголовок страницы в браузере, но не меняет - видимо приоритет именно виртуал март над меню
Где можно исправить данное положение вещей, чтобы Н1 брался из заголовка категории виртуал март, а тайтл я бы прописывал или через меню, или через метаданные в самом виртуал март (но тогда бы разъединить Н1 и тайтл)
Где может находиться данная проблема и как ее исправить?
0
Александр, если категория или страница товара VM привязана к пункту меню, то приоритет заголовка пункта меню будет выше. Если изменение настроек пункта меню не приводит к изменению Title, то значит где-то в коде у вас программно задается заголовок через setTitle. Это может быть где угодно, но, вероятно, либо в макете категории/товара, либо в каком-то стороннем расширении.
0
А как сделать файл на сайте, чтобы для конкретных страниц привязать заголовки нужные мне?
чтобы обойти этот setTitle
0
Александр, для этого используются SEF-компоненты. Например, SH404SEF. Он сканирует все страницы сайта и вы можете в админке для любой из них задать уникальные заголовки.
0
У меня несколько сайтов на джумле, и когда устанавливаю джумлу ставлю первым делом компонент sh404sef. Надо будет как нибудь без него обойтись при случае.
А вот как на счет дублей страниц? sh404sef в этом отношении очень хорошо справляется.
0
Дима, я плохо отношусь к SH404SEF. Раньше и сам им пользовался. Сейчас избавился от него и не жалею. SH404SEF - это такой довольно мощный комбайн. При должной настройке он работает хорошо, но если у вас большой сайт, то база данных очень сильно раздувается из-за него. Также увеличивается нагрузка на сервер и замедляется загрузка страниц. Ну и главное - это коммерческое расширение.

В последних версиях Joomla 3 был добавлен новый роутер. Он убирает множество из ранее существовавших дублей. Нужно только активировать его в настройках Joomla. По умолчанию он выключен.
0
Что за роутер? Я знаю появилась такая штука как Маршрутизация URL, но это как бы для удаления ID элементов из URL адреса
0
Дима, да, это всё о том же. Эта "штука" не только удаляет ID из URL, но также убирает дубли.
0
Приветствую Виталий. Возникла задача добавлять в заголовок HTML теги (например ). Порыскав на просторах интернетов обнаружил статью http://mb4.ru/cms/joomla/807-insert-tags-in-module-title.html , но это решение крайне неудобно в связи с затиркой файла при обновлении joomla. Может Вы знаете более изящный способ?
0
ALEHAN, зачем вставлять html в заголовок? Обычно делают наоборот - обрамляют заголовок каким-то html.
0
Еще как зачем! Приведу пример. Заголовок: "Самый лучший заголовок". Его нужно оформить так:

Код:

<span style="font-variant: small-caps;">Самый</span><br /><span style="color:#f00">лучший</span><br /><i>заголовок</i>


Такое оформление бывает нужно для пунктов меню, заголовков статей и категорий, сейчас мне приходится это делать напрямую в БД. Видел примеры постобработки яваскриптом (оборачивание текста тегами), но это работает более менее если заголовок допустим состоит всегда из двух или из трех слов и применяется для всех, а иногда бывает необходимо сделать один из пунктов меню со специфическим оформлением именно внутри самого заголовка.
0
ALEHAN, странная, конечно, задача. Но если уж на то пошло, вы можете обработать заголовок в PHP (в макете вывода) таким образом, чтобы каждое слово обрамлялось в тег SPAN. Это очень легко. После этого через CSS вы сможете обращаться к каждому отдельному слову, используя псевдокласс ":nth-child".
1

Цитирую Wedal:

ALEHAN, странная, конечно, задача...


Я бы не сказал, на многих платных шаблонах встречал подобные решения, но их общая проблема отсутствие пластичности, то есть делается один обработчик на любой заголовок (например оборачивание всех слов спанами, как Вы предложили), и действительно, большинство подобных задач можно решить. Но вопрос именно в возможности внедрения html в заголовки, и как я понял рабочего варианта не существует, кроме прямой правки БД. Жаль, основная проблема правки БД, в том, что при внесении любых изменений и сохранении код вычищается.
0
ALEHAN, вообще, фильтрация поля заголовка зависит от расширения. Но чаще всего поле заголовка фильтруется как плоский текст. Да, вы можете побороться с этим в каждом отдельном случае, но скорее всего получите хаки, о чем писали в самом начале. Так что да - универсального рабочего варианта не существует.
0
Здравствуйте. Где в менеджере материалов при создании материала прописывается расширенный заголовок?
0
Юлия, что такое "расширенный заголовок"? Вы имеете ввиду Title? Если да, то он не прописывается в настройках материала. Он будет совпадать с названием материала.

Если вы хотите иметь Title, отличный от названия материала, то должны создать пункт меню типа "Материал". В настройках этого пункта меню можно будет указать заголовок.

Если материалов много и вы не хотите для каждого создавать пункт меню, то вам нужно добавить к материалам дополнительное поле Joomla, в которое вы будете вводить Titile, и внеси в макет материала правку с проверкой: если это поле заполнено, то устанавливать Title из него. Знаю, что это звучит не слишком понятно. Постараюсь в ближайшем будущем опубликовать кейс на эту тему. Вопрос, действительно, значимый.
0
Здравствуйте.

Подскажите, пожалуйста - в чём может быть причина того, что на всех пунктах меню не отображается название сайта (кроме главной) ?
То есть - здесь есть https://s.mail.ru/6nXw/Mm7FqZxyR , а тут уже нет https://s.mail.ru/4xzX/QYUTCABCT

Все настройки на этом сайте https://s.mail.ru/FUU9/YDMRnMtdj идентичны настройкам на другом моём сайте, в котором такой проблемы нет.
0
Юрий, скорее всего дело в шаблоне Joomla или в каком-нибудь сео-расширении. Но вероятнее в шаблоне. Попробуйте изменить шаблон сайта на любой стандартный и проверить. Если название сайта появится, значит нужно копать код шаблона.
-1
Изменил шаблон - перемен не произошло.
0
Юрий, а страницы, на которых нет названия сайта в Title, это страницы Joomla или какого-то стороннего компонента? Т.е., например, если вы создадите новую статью через менеджер материалов Joomla и откроете ее на сайте, название сайта будет в Title?
0

Цитирую Wedal:

Юрий, а страницы, на которых нет названия сайта в Title, это страницы Joomla или какого-то стороннего компонента?
Стороннего компонента.
Т.е., например, если вы создадите новую статью через менеджер материалов Joomla и откроете ее на сайте, название сайта будет в Title?


Будет.
0
Юрий, значит этот сторонний компонент сам управляет заголовками Title для своих страниц. Настройки Joomla для Title на него могут не действовать. Если этот же компонент используется у вас на другом сайте, где Title формируется правильно, то смотрите внимательнее именно настройки компонента, а не Joomla.
0
Спасибо за статью всё очень подробно разжевали!
0
Здравствуйте, подскажите, как сделать так, чтобы тайтл для категорий отображал в заголовках количество материалов в данной категории?
0
Игорь, это можно сделать только через установку Title через setTitle. В этот метод вы должны передать строку, содержащую название категории и количество материалов в нет. Предварительно количество материалов еще нужно получить. Ну и применить этот метод нужно в макете категорий, для которых требуется такой Title.
0
Спасибо