Всем привет!
Думал зайти на пять минут и поправить то, что давно собирался. В итоге потратил вечер и всё утро.
Переделал метки, подписку, поиск и внешний вид. Ниже что и зачем.
Метки
Из ста семидесяти трёх статей сто шестьдесят семь жили без единой метки. Сначала это было ленью, потом привычкой, потом я решил, что так и задумано. Загадка продержалась пару лет.
Попробовал модель эмбеддингов. Она читает текст и превращает его в набор чисел: у текстов про одно и то же числа близкие, у разных далёкие. Дальше сравниваешь статью с описаниями тем и берёшь ближайшие. Модель русская, стоит локально, сто тридцать пять мегабайт, наружу ничего не отправляет.
С первого раза получилась ерунда, и это её ерунда, не моя. В «Железо» попали рассуждения о жизни, в «Инциденты» половина блога, в «Производительность» новости про обновления сайта. Выглядело так, будто машина надо мной издевается. Пришлось уточнять формулировки тем и поднимать порог: метка ставится только когда тема действительно главная.
Теперь у каждой статьи три метки по смыслу. У настройки sshd это SSH, Linux и Ubuntu. У разбора майнера безопасность и инциденты. Дневник банкротства получил банкротство и личное.
Похожие статьи
Под каждой статьёй блок «Читайте также», три материала по смыслу, а не по дате. На шпаргалке по rsync это WinSCP и копирование файлов, на разборе sshd это SSH-ключи и резервное копирование. Если близкого нет, блок не показывается.
Дневнику банкротства ссылки ставил руками: модель растерялась, вокруг одни серверы, а тут человек рассказывает про долги.
В остальном всё само. Вышел пост, через пару минут у него уже есть соседи, и нажимать ничего не нужно.
Поиск
У статей не было описаний, карточек при отправке ссылки и разметки для роботов. Поисковик видел заголовок и простыню, человек по ссылке видел ту же простыню, только без картинки. Так и жили.
Карта сайта вела на адрес с редиректом, поправил. Файл для нейросетей собирается сам четыре раза в день, а не раз в неделю по настроению.
Подписка
Раньше был один общий дайджест раз в неделю, всё подряд. Теперь при подписке выбираешь рубрики и частоту: раз в неделю или сразу после выхода статьи. Поменять можно по ссылке в любом письме.
Блок подписки поставил в конце каждой статьи. Отдельно сделал страницу «Начать здесь» для тех, кто попал на одну статью из поиска и не понял, куда его занесло.
Кто подписался раньше, вы ничего не потеряли: у вас по-прежнему все рубрики и дайджест раз в неделю. Ссылка на настройку появится в ближайшем письме, раньше её просто не было. До этого момента менять настройки негде, так что ждите пятницы.
Telegram
Автопубликацию каждой статьи отключил совсем. Десять ссылок подряд это не лента, это спам с благородным лицом. Подписчик такое открывает один раз, а дальше просто перестаёт замечать канал.
Теперь раз в неделю, по пятницам в шесть вечера, выходит один пост-дайджест: заголовки и первые абзацы статей. Собирается сам.
Внешний вид
Шапка занимала шестьсот пикселей и съедала первый экран на ноутбуке. Теперь сто пятьдесят.
Фон был чисто чёрный, с белым текстом, на ярком экране от такого устают глаза. Теперь фон почти чёрный, текст тёплый светлый, кегль крупнее и отступы больше. Оранжевый акцент и терминальные блоки кода оставил как были, они тут не виноваты.
И новый фавикон. В закладках вместо него была серая клякса непонятного происхождения. Теперь птица, и её хотя бы можно опознать.
Служебное
В подписку лезли боты. Подтверждение срабатывало по обычному клику по ссылке, а ссылки сканируют все кому не лень. Боты подписывались с деловым видом, подтверждали и уходили в базу, как будто так и надо.
Переделал: подтверждение только кнопкой, домены проверяются, одна подписка на адрес в сутки, неподтверждённые чистятся через шесть часов. И видно, откуда пришёл человек: из письма, из Telegram или из поиска.
Если всё это оказалось зря, я вам не скажу, но вы заметите.
Не прощаемся!
