Меню

Что такое генератор тегов seo

SEO генератор тегов или SEO инструменты: Управление метатегами PRO 2.0

Когда-то давно мы в компании написали такой вот модуль SEO инструменты: Управление метатегами PRO . Модуль был написан в пору, когда не было SEO от Битрикс. В ходе использования модуля и с развитием платформы в нём не хватало ряда вещей:

  1. Собственной архитектуры (реализация на инфоблоках — это хорошо для быстрого старта. Но как оказалось переделать поле Строка в поле Текст возможно только через удаление столбца, а это значит писать отдельный код и переписывать методы, которые возвращают значение чтобы не убить данные пользователей). Да и вообще, я не сторонник инструментов универсализации когда они совсем не нужны, к тому же — обязательно наступит день когда придуманная «фишка» будет заключаться в умении сформировать правильный запрос (а это уже пол дела) и тут инфоблоки будут только мешать;
  2. Пользовательского интерфейса. Не хватало дружелюбия к пользователю. В наше время покупают «за обёртку» — поэтому нужно чтобы пользователю нравилось, чтобы он думал — это «из коробки», иначе его будет это отторгать. В старом модуле мы использовали подход дёшево и сердито (это не плохо и не хорошо — это взвешенное бизнес решение). Модуль больше предназначался для разработчиков нежели для пользователей сайта. Да и продавали мы «сервис», а не модуль — поэтому было не до «сюсюкания» с интерфейсом. К тому же, как показывает практика пользователь не хочет делать ничего. Его желание: Оплатил — Установил — Сразу всё пусть работает. Это идеальный вариант. В глубине творческой души программиста накатить инструменты для более простого управления со стороны пользователя было всегда;
  3. Были ограничения, которые порой портили всю картину. Казалось бы, простые вещи (то есть элементарный логические выводы) нельзя было реализовать. Пример: Правила срабатывали только тогда, когда ключи установлены на странице. А ведь хочется и без ключей и иногда, чтобы не все ключи были заданы (Подробнее об этом ниже);
  4. Хорошей работы с кэшем. Из-за недостатка знания в программировании (это не стыдно признать и не стыдно говорить другим — наша профессия это всегда изучение, изучение, изучение) работа с кэшем была построена несколько неверно на мой взгляд и эту неприятную особенность нужно было устранить, к тому же мета теги — это каждая страница, а то, что вызывается везде, должно быть минимумом затрат;
  5. Ещё гибче условия срабатывания. Ключи не были подвержены условиям установки (хотя по логике вещей должны). А в правилах не хватало ещё более гибких условий (нужно больше «маны» ). Хочется всё и сразу ;
  6. Срабатывание логики для постранички. Разные мета теги для постранички — это стандарт поисковиков (страничка должна быть уникальна);
  7. Интеграция с платформой (Приоритеты). Дико бесило, что в ряде случаев необходим был функционал системы по работе с мета данными, а в ряде случаев — модуля. Не были учтены особенности платформы, такие как — SetTitle и SetPageProperty(‘title’). А у каждого сайта были свои тараканы в голове особенности работы с заголовком h1 и тегом title. Нужно было учитывать битрикс. С выходом SEO для инфоблоков (хоть я в корне не согласен с идеей SEO от битрикс) это стало головной болью. Справедливости ради, скажу — люди (купившие модуль) НИ РАЗУ не использовали вкладку SEO для инфоблоков. В оправдание я слышал, что это слишком сложно;
  8. Впихивать переменные в качестве значений ключа прямо из формы (то есть в качестве значения указывать переменные (глобальные) или вызовы статического метода);
  9. Перенести всю работу с ключами для разработчика в отдельное место (чтобы не прыгать по всему проекту и не смотреть, где же был задан ключ);
  10. Получать сгенерированные значения тэгов в качестве строки, чтобы формировать на странице текст (например продающие тексты);
  11. Устанавливать ключи для раздела/страницы находясь непосредственно на разделе/странице;
  12. Возможность управлять ключами и правилами из публичной части сайта. Лазить в админку, чтобы изменить галочку тоже раздражало;
  13. Демо-режим. Нужно дать потенциальному покупателю возможность пощупать решение;
  14. Наличие прав доступа для работы с модулем;
  15. Событий для модуля. Лучшая кастомизация — дать возможность управлять кодом через события;

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

Концепция/идея

  1. Работа c SEO никогда не должна быть зависима от какой либо сущности на сайте. Это моё ИМХО. Пилить вкладки для каждой сущности (а судя по инфоблокам это будет каждый раз новая таблица) считаю ненормальным. SEO должно быть самодостаточным и ни от чего не зависеть;
  2. Есть 3 сущности: Ключи , Правила , Теги;
    Ключ — это сущность, которая представляет из себя # Код # = Значение (может устанавливаться в рамках страницы, в базе данных и из файла):
    #COMPANY_NAME# = Рога и копыта

    То есть — это некоторая переменная, которая принимает значение.
    Таким образом мы имеем набор ключей, которые могут быть установлены на страницах. Это могут быть ключи для:
    — детальных страниц;
    — страниц разделов
    — определённых страниц (конкретный раздел);
    — определённого сайта / шаблона сайта;
    — страниц, на которых выполняется определённое условие PHP;
    — страниц, на которых установлено конкретное значение переменной запроса ($_REQUEST) или определена переменная, например просто print;
    Шаблон тэга — это строка из набора символов, среди которых может быть использован ключ:

    Лучшие футболки в магазине #COMPANY_NAME#

    Правило — это сущность, которая включает в себя n тэгов (title,keywords,description,author, и любые другие), которые будут установлены на странице при выполнении условий для этой сущности.
    Таким образом мы имеем набор правил, которые могут быть установлены на страницах. Это могут быть правила для:
    — детальных страниц;
    — страниц разделов
    — определённых страниц (конкретный раздел);
    — определённого сайта / шаблона сайта;
    — страниц, на которых выполняется определённое условие PHP;
    — страниц, на которых установлено конкретное значение переменной запроса ($_REQUEST) или определена переменная, например просто print;
    — определённого набора установленных ключей на странице;

  3. Модуль всегда можно выключить в настройках модуля (мне всегда не нравилось — чтобы подтвердить, что что то не работает из-за конкретного модуля его нужно обязательно удалять);
  4. Модуль дополняет работу с SEO от Битрикс и ни в коем случае не конкурирует с ним. Почему? Потому что это не нужно. Если у вас простенький сайт и особо за SEO вы не переживаете — настройте SEO в инфоблоках. Но если у вас портал, на котором есть многосайтовость, региональность и прочие штуки, которые вы бы хотели добавить в мета информацию о сайте или огромный каталог товаров, в котором нужен специфичный подход к формированию тэгов — этот модуль поможет. Хотя при желании модуль спокойно заменяет и SEO из коробки. Я бы например от инфоблоков взял работу с картинками, а от модуля — с тэгами;
  5. Документация. Подробная документация с примерами (частыми решениями). За всю историю работы со старым модулем обычно у людей возникали одни и те же вопросы. Я решил вынести примеры работ с модулем в отдельную главу документации

Для работы с инфоблоками из старого модуля благополучно перекочевал компонент » Автоматическая установка ключей для элемента/раздела(ов) ИБ » с некоторыми изменениями. Это облегчает работу с инфоблоками на уровне пользователя.

Примеры (взято из описания старого модуля) :
Пример формирования правила одного из тэгов для динамически формируемой страницы каталога:

Купить #NAME# в эксклюзивном магазине #SALE_NAME# (таргетинг по маске: /catalog/*).

Пример формирования правила одного из тэгов для д инамически формируемой страницы каталога, а также с учетом региона:

Купить #NAME# в эксклюзивном магазине #SALE_NAME# #TOWN# (таргетинг по маске: /catalog/*).

Пример использования модуля для управления тегами статической страницы в зависимости от региона:

Доставка в #TOWN# (таргетинг: /delivery/index.php).

Особенности работы с модулем подробно описаны в документации;

  1. Настройка работы с комплексным компонентом
  2. Настройка работы с простыми компонентами
  3. Работа с постраничной навигацией
  4. Работа с заголовками (title)
  5. Работа с приоритетами
  6. Установка ключей из файла (для разработчиков)

Модуль SEO генератор тэгов и документация для него.

Планы на будущее:

  1. Поддержка PHP функций, а также пользовательских функций для работы со значениями Ключей при генерации тегов, например toLower();
  2. Вести учёт и некоторую статистику установленных на странице тэгах;
  3. Мастер демо-данных (идея пока очень сырая, но пользователь же ленив и надо чтобы он одним пальцем ковыряя в носу составил нормальный продающий текст)
  4. Подсказки для выбора ключей в формах, чтобы человек не думал как пишется код ключа — а выбрал его из списка.
  5. Записать пару скринкастов)))

На создание вдохновили люди: Алексей Коваленко (человек-пароход), Сухарев Антон (человек-перфекционист)

ЗЫ: Продающих речей я писать никогда не умел и не умею . Хочу лишь сказать, что желание сделать модуль больше для людей, чем для разработчиков реализовалось. Это никак не отменяет помощь в настройке и интеграции модуля с вашим сайтом.

ЗЫ2: Картинки (интерфейсной части) по ссылке к модулю.

Источник

Serge Tkach

Мой официальный сайт

Список переменных, которые используются в модуле SEO Tags Generator

Модуль SEO Tags Generator позволяет Вам автоматически генерировать HTML-тег Title, Мета-теги Description и Keywords, HTML-тег H1. На сегодняшний момент он является одним из самых востребованных модулей для OpenCart в Рунете с таким функционалом. К версии 3.x в нем появилось уже столько переменных, что теперь для них нужна отдельная документация. Также отдельно вынесена инструкция по Условным выражениям модуля и список функций для преобразования текста.

Универсальные переменные — доступны во всех сущностях

* Под «все сущности» имеется ввиду те, для которых в модуле в принципе реализована автоматическая генерация SEO-тегов. В данный момент это категории, товары, производители.

[shop_name] — название магазина, определенное в настройках. Часто в название магазина администраторы прописывают тайтл главной страницы, что является некорректным.

[config_telephone] — телефон, указанный в контактах в настройках магазина (не в шаблоне, и не в модуле)

[original_text] — переменная, которые хранят исходный текст категории (товаров, производителей) в момент генерации. Это появилось из просьб: «Мне надо дописать в конце текста для всех товаров номер телефона с призывом позвонить».

[original_text]
Позвони мне, позвони! Позвони мне ради бога!

Еще один пример использования:
[original_text] При заказе на сумму от ххх — доставка по городу бесплатная. Гарантия возврата и обмена — 14 дней!

Переменные городов в модуле SEO Tags Generator

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

Эти переменные являются дополнительными, и добавляются отдельно. И чтобы не запутывать, описание переменных для городов вынесено на отдельную страницу — http://sergetkach.com/seo-tags-generator-city/

Переменные, доступные для страниц категорий

[category_name] — название категории. Имеется ввиду главная категория товара. Если не установлен SEO PRO, то это понятие отменяется. И туда попадает категория, определенная эвристическим способом. Я предположил, что категория, которая была добавлена позже всех, является категорией наибольшей вложенности. То есть, такой категорией, которая обычно становится главной.

[static_category_h1] — хранит значение того HTML-тега H1, который заполнен вручную в админке, а не того, который генерится автоматом — учтите это!

[count_products] — переменная используется в мета-тегах категории. Ей возвращается кол-во товаров в данной категории. Бывают случаи, когда в категории нет товаров, а только дочерние подкатегории. В таком случае, этой переменной возвращается кол-во товаров, ее дочерних категорий.

[page_number] — номер страницы категории согласно пейджинации.
( [page_number] ) — страница [page_number]
(!) Перед использованием этой переменной необходимо сначала проверить, не генерируется ли на вашем сайте нумерация страниц автоматически. К примеру, в некоторых шаблонах и при использовании модуля SEO Мультиязык оно уже генерируется.

[min_price] — минимальная цена товара в данной категории

[max_price] — максимальная цена товара в данной категории

[category_nested] — Цепочка всех категорий от Текущей категоии до ее Верхней родительской категории.
Это нужно, когда даны категории с неполными названиям (к примеру Велосипеды -> Горные -> Титановые)
Если мы открыли категорию «Титановые», то [category_name] в мета-тегах товара даст нам плохой ключ
А вот, как получить более качественный ключ:
[category_nested] => Титановые Горные Велосипеды
lower_case( [category_nested] ) => титановые горные велосипеды
upper_case_first( lower_case( [category_nested] ) ) => Титановые горные велосипеды

[category_nested SORT_FROM_PARENT_TO_CHILD] — Разворачивает цепочку категорий в обратном порядке
Пример 1: Велосипеды -> Горные -> Титановые
[category_nested] => Титановые Горные Велосипеды
[category_nested SORT_FROM_PARENT_TO_CHILD] => Велосипеды Горные Титановые

Пример 2: Одежда -> Для мужчин
[category_nested] => Для мужчин Одежда
[category_nested SORT_FROM_PARENT_TO_CHILD] => Одежда Для мужчин
lower_case( [category_nested SORT_FROM_PARENT_TO_CHILD] ) => одежда для мужчин

[category_nested sort=»2,3″]
Пример: Главная категория товара — Пальто
Категория Пальто имеет следующую цепочку вложенности: Одежда -> Для мужчин -> Верхняя одежда -> Пальто
Генерация произойдет вот так:
[category_nested] => Пальто Верхняя одежда Для мужчин Одежда
[category_nested SORT_FROM_PARENT_TO_CHILD] => Одежда Для мужчин Верхняя одежда Пальто
[category_nested sort=»1″] => Пальто
[category_nested sort=»2,3″] => Верхняя одежда Для мужчин
lower_case([category_nested sort=»2,3″]) => верхняя одежда для мужчин
upper_case_first( lower_case([category_nested sort=»2,3″]) ) => Верхняя одежда для мужчин

[category_nested SORT_FROM_PARENT_TO_CHILD exclude=»1″] — модификатор exlude=»1″
Такая запись значит: использовать цепочку вложения категорий, сортировать от родителя к детям, исключить первое звено цепочки
Исходная цепочка «Подбор багажника по модели авто -> Audi -> A6 -> (С7) 2011-2018»
превратится в: «Audi A6 (С7) 2011-2018»

[category_level] — суть переменной в том, что она показывает, какой уровень вложенности у данной категории
К примеру, есть следующий уровень вложенности категорий:
Подбор багажника по модели авто -> Audi -> A6 -> (С7) 2011-2018 (см http://aguri.ru)
Задача:
Сделать так, чтобы в категории Audi и любой ее подкатегории не отображалась бы название самой первой родительской категории, но при этом у самой первой родительской категории ее название бы показывалось.
Как это сделать?
В дефолтной формуле можно указать
( [category_level] > 1) [category_nested SORT_FROM_PARENT_TO_CHILD exclude=»1″] [category_name]

Если такие причудливые формулы нужны только для «Подбор багажника по модели авто», то формулу нужно вписать прямо в ней и выбрать переключатель «Наследовать» в настройках категории пункт «Наследование формул в дочерних категориях, если те будут пусты».

Альтернативным путем было бы вписать для каждой категории 2-го порядка (Audi, BMW, Chevrolet и тд) специфические формулы, где было бы указано: [category_nested sort=»1″]
А для каждой категории третьего порядка: [category_nested sort=»2, 1″]
И для каждой категории четвертого порядка: [category_nested sort=»3, 2, 1″]
Через настройки отдельной категории это сделать возможно, но слишком рутинно, если учесть, что этих категорий десятки.

Дополнительные переменные для категорий

Внимание!
Далее перечислены переменные, при использовании которых необходимо приложить дополнительные усилия. Так что хорошенько подумайте перед тем, как это использовать 🙂

  1. В настройках модуля необходимо включить «Использовать падежи для названия категорий».
  2. В самих категориях ниже поля с названием заполнить необходимые падежи. При этом им. пад. ед.ч является ОБЯЗАТЕЛЬНЫМ к заполнению.

[category_name_singular_nominative] — название категории в единственном числе именительном падеже. «Картриджи для принтеров» становятся «Картридж для принтера». То есть, это так называемое «обозначающее слово», которое дает понять, о чем конкретно идет речь, и служит ключевым словом для товаров из этой категории.
Когда это может понадобиться?
К примеру, у одного клиента все товары имели название вида «CANON MP240» (то есть, содержали указание производителя и модели). Формула: «[product_name] купить в супер-пупер магазине по цене» давала мета-описание без ключевого слова «картридж». Получалось: «CANON MP240 купить в супер-пупер магазине по цене. «.
А вот при использовании обозначающего слова получалась совсем другая история: «[category_name_singular_nominative] [product_name] купить в супер-пупер магазине по цене. » — генерирует: «Картридж для принтера CANON MP240 купить в супер-пупер магазине по цене. «

[category_name_plural_nominative] — название категории во множественном числе именительном падеже. Так категория с назаванием «Смартфоны» в этой графе будет абсолютно такой же самой «Смартфоны». Но вся прелесть начинается с дочерними подкатегориями и их сокращенными названиями. Так если у Вас подкатегория «Двухядерные», то в мн.ч. им. пад. должно быть прописано «Двухядерные смартфоны».

[category_name_plural_genitive] — название категории во множественном числе родительном падеже. «Смартфоны» становятся «смартфонов». Можно использовать формулу: «Большой выбор [category_name_plural_genitive]»

* Примечание
На самом деле над переменными [category_name_plural_nominative] и [category_name_plural_genitive] можно извращаться как угодно. У некоторых клиентов есть товары, которые можно обозвать разными словами или словосочетаниями. И вот они для себя решали, что в этих полях они будут хранить синонимы. Тут главное соблюсти принцип единообразия: если синоним хранится в [category_name_plural_nominative], то он должен прописываться именно в это поле абсолютно для всех категорий. Иначе, придется для каждой категории прописывать свою отдельную формулу.

Переменные, доступные для страниц товаров

[product_name] — название товара. Внимание! Название товара иногда содержит и название производителя, и название категории, и даже модель. В таком случае, не надо к названию товара добавлять соовтетсвующие переменные этих сущностей.

[static_product_h1] — хранит значение того Мета тега H1, который заполнен вручную в админке

[model] — модель товара

[sku] — Артикул товара (Складской номер)

Ряд кодов товаров для разных стран и регионов (кроме артикула). В некоторых магазинах эти поля приспособлены под другие нужды. Любое неиспользуемое поле (например, UPС) можно использовать под год выпуска телефона и так далее.
[upc] — универсальный код товара (штрих-код)
[ean] — европейский номер товара
[jan] — японский штрихкод
[isbn] — это международный номер бумажной или электронной книги
[mpn] — международный код производителя товара (или партии)

[price] — цена товара с учетом Скидки (discount). Акция (special) не учитывается. Подробнее о существенных отличиях Скидок и Акций в OpenCart читайте здесь — https://opencart-guide.com/vopros-otvet/chem-skidki-otlichayutsya-ot-akcij-v-opencart.html

[special] — акционная цена товара. Вы можете выпячивать акционную цену в мета-описании товаров, которые могу «засветиться» в сниппетах поисковиков. Испоьзуйте конструкцию: ([special]) Внимание, скидка! Старая цена [price]. Акционная цена: [special] [price]

[manufacturer] — название производителя в мета-тегах товара

[static_manufacturer_h1] — хранит значение того Мета тега H1, который заполнен вручную в админке

[count_sales] — Кол-во продаж товара, если он был продан хотя бы 1 раз

[rating] — Рейтинг товара, если есть отзывы

[reviews] — Кол-во отзывов, если они есть

[attributes]
Выводит все атрибуты товара, которые определены в настройках модуля (для всех товаров по умолчанию)
или в настройках категории (для товаров данной категории)
Выводит атрибуты в таком формате:
Название атрибута 1: Значение атрибута 1; Название атрибута 2: Значение атрибута 2; .
Пример:
Жесткий диск: 500 GB; Оперативная память: 8 GB .

[attribute index=»1″]
Выводит только значение атрибута, индекс которого соответствует тому, который задан в «Настройка атрибутов» в модуле для всех товаров по умолчанию или же для товаров конкретной категории в настройках этой категории.
Это можно использовать для сокращения кол-ва символов в мета-тегах, заменяя название атрибута на иконку utf-8
Пример: 💽: [attribute index=»1″] => 💽: 500 GB

Переменные категории, которые доступны в товарах

  • [category_name]
  • [static_category_h1]
  • [category_name_singular_nominative]
  • [category_name_plural_nominative]
  • [category_name_plural_genitive]
  • [category_nested] — изначально эта переменная была создана именно для использования в товарах, но пользователи приспособили ее и для использования в самих категориях
  • [category_nested SORT_FROM_PARENT_TO_CHILD]
  • [category_nested sort=»2,3″]

[model_synonym] — синоним модели товара. Это ошибка природы, которая используется крайне редко. В версии 3.0.0 данная переменная была убрана из функционала модуля по умолчанию. Для ее использования необходимо устанавливать дополнительный модификатор.

Переменные, доступные для страниц производителей

[manufacturer_name] — название производителя в мета-тегах производителя

[static_manufacturer_h1] — хранит значение того Мета тега H1, который заполнен вручную в админке

[page_number] — номер страницы категории согласно пейджинации.
( [page_number] ) — страница [page_number]
(!) Перед использованием этой переменной необходимо сначала проверить, не генерируется ли на вашем сайте нумерация страниц автоматически. К примеру, в некоторых шаблонах и при использовании модуля SEO Мультиязык оно уже генерируется.

Источник

Adblock
detector