Оптимизация под global search в Telegram
FreePR428 ноября 2017 года Павел Дуров объявил о скором эпическом обновлении Telegram. 15 ноября 2017 года Telegram анонсировал: альбомы, сохранение сообщений и улучшенный поиск.
Новинки сложно назвать «эпическими», но только если не касаться технической сторону вопроса, а там сделано много. Одна лишь заточка под iPhone X это жесть!
Наиболее же интересным стало улучшение системы поиска, т.к. с одной стороны это удар по гигимонии Google, Яндекс и иже; а с другой — очень сложное и ресурсоёмкое решение.
На фоне таких новостей, появляется возможность говорить об оптимизации под global search (с англ. глобальный поиск) в Telegram.
Как работает поиск в Telegram?
До недавнего времени поиск в Telegram осуществлялся только по юзернейм (англ. username) публичных аккаунтов, ботов, чатов (группы/супергруппы) и каналов. Теперь сюда добавили имя (англ. first name), фамилию (англ. last name) и название (англ. title) телеграм-ресурсов.
Сложность этой реализации состоит в том, что для поиска по такому объёму информации используется поисковый индекс — структура данных, которая содержит информацию о документах. Подробней можно прочитать в одноименной статья на «ВикипедиЯ», а я постараюсь объяснить просто и наглядно.
Если вы работали с Excel, то уже имеете некоторое представление о базах данных. Конечно, для хранения данных, Telegram использует вовсе не Excel, но сути это не меняет. В частности, информация о каналах хранится в специальной «табличке», которая может иметь вид:
Но такое представление данных не подходит для поиска, т.к. требует огромных ресурсов на выполнение дополнительных и однотипных действий. Поэтому создаётся отдельная «табличка» поискового индекса, которая представляет собой заранее подготовленные (проиндексированные) данные для системы поиска:
Как вы видите, здесь данные разбиты на ключевые слова (англ. keyword). Строк больше, но искать проще.
В частности, я перевёл все слова в нижний регистр (слово «Телеграм» стало «телеграм») и добавил варианты транслитерации (юзернейм «freepr42» представлен и как «фрипр42»). Таким образом, системе поиска не нужно выполнять всех этих действий, они уже выполнены.
Также я добавил поле weight (с англ. вес), которое может использоваться для расстановки приоритетов в ранжировании (позиционировании) результатов.
В частности, я заметил, что ключевого слова в названия важнее, чем юзернейме.
Вывод: если вы изменили название канала, чата и прочее, может понадобиться время на его переиндексацию — обновление новых данных в «табличке» поискового индекса.
Как оптимизировать канал под поиск в Telegram?
Теперь, когда мы имеем представление о том, как работает поиск в Telegram, можно переходить непосредственно к оптимизации. Здесь я выделю несколько факторов ранжирования + мои советы.
ОСНОВНЫЕ
1) Количество подписчиков — основной фактор ранжирования; особенно для первых двух позиций, для третьей это не столь существенно.
Совет: можете спокойно создать канал-прокладку, нагнать на него ботов или фейк-аккаунтов и получать поисковый трафик на нужный канал.
2) Ключевое слово в названии — причём именно точное его вхождение. Например, по запросу «фотографии» отображаются одни каналы, а по запросу «фотография» — другие. Особенно это важно для первых двух позиций, для третьей это не столь существенно.
Совет: выберите одно ключевое слово, по которому вы можете попасть в ТОП, используйте его склонения и вариации: фотография, фотографии, фоточки.
3) Ключевое слово в юзернейм — проще всего с англоязычным запросом — например, для запроса «photo» используем тот же ключевик; сложнее с русскоязычным — например, для запроса «фотографии» больший вес имеет транслитерацию (написание русских букв английскими) «fotografii», а англ. «photo» хоть и учитывает, но имеет меньший вес. Особенно это важно для третьей позиции, для двух первых см. 1 и 2 фактор.
Совет: используйте в юзернейм транслитерацию ключевого слова. Здесь тоже можно сделать канал-прокладку для нового или старого юзернейма.
КОСВЕННЫЕ
4) Длинна названия — с одной стороны, global search работает для поисковых запросов из 5 и более букв (т.е. по запросу «фото» вы ничего не найдёте, а вот по «фотография» или даже «фотог» — всё работает); а с другой — длинные названия ранжируются хуже (я не видел результатов с длинными названиями).
Совет: используйте ключевые слова из 5 и более букв и короткие название (2-3 слова, описание оставьте в Description).
5) Позиция ключевого слова в названии — чем оно ближе к началу, тем больше его вес.
Совет: начните название канала с ключевого слова.
Ну и напоследок — чем раньше вы займётесь оптимизацией своего канала под поиск в Telegram, тем больше хайпанёте.