Оптимизация под global search в Telegram

Оптимизация под global search в Telegram

FreePR42

 8 ноября 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, тем больше хайпанёте.