Будущее SEO

На выходных попалась статья в блоге Semrush про то, что золотая эра SEO заканчивается, AI в результатах поиска Googel даёт всё больше ответов без клики на сайты, а AI-чаты (ChatGPT или Claude) предпочитают давать ссылки на крупные бренды. В результате малому бизнесу, который до сих пор уповал на поисковую оптимизацию и контент-маркетинг, достаётся все меньше трафика и что дальше делать — неизвестно.

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

Возможно, общость рекомендаций связана в том числе и с отсутствием у Semrush готового сервиса, в который можно ткнуть пальцем и сказать “пользуйтесь!”. Но в целом, я бы назвал развитие ситуации справедливым.

Чем, по сути, было поисковое продвижение для малого бизнеса последние, пожалуй, лет 10, если не больше? Буквально два направления, оба в меру сомнительные — расстановка ссылок и контент-маркетинг. Со ссылками примерно и так понятно — то, что начиналось с совершенно добровольного обмена или цитирования, давно выродилось в агрессивную тактику задалбывания предложениями разместить гостевой пост, разместить ссылку где-то в тексте, поменять ссылку в тексте 10 летней давности и поставить там вместо оригинала ссылку на другой сервис “почти такой же точно, но другой” — в общем, наверняка знаете, о чем речь. Но что не так с контент-маркетингом?

Да всё не так примерно. Вот есть сайт небольшого магазина или небольшой компании. Контента на нем в обычном случае не то, чтобы много — страницы товаров, оплата/доставка, “О нас”, что еще может быть в магазине? Но тут приходит контент-маркетолог и рассказывает, что не будет никаких продаж без контент-маркетинга — то есть новых статей пару раз в неделю на темы, связанные со сферой магазина. Без этого, авторитетно объясняет маркетолог, не будет ни репутации магазина, как выдающегося в своей нише, ни поискового трафика, поскольку что тут индексировать поиску?

Но поставьте себя на место владельца магазина. Где он возьмет материал на две статьи в неделю? О чем писать? Хорошую статью написать не очень просто, даже если у вас есть материал. А у какого количества магазинов и бизнесов вообще есть какой-то уникальный опыт, достойный статьи? Вы знаете, что получается в итоге — многочисленный статейный мусор “Топ-10 чего угодно”, где на первом месте приведен не имеющий недостатков продукт автора, а дальше всякие недостойные конкуренты, или “Советы начинающим кому угодно”, хоть сантехникам, хоть ядерным физикам. Пройдитесь по сайтам SaaS-продуктов — они все забиты регулярными статьями на совершенно общеобразовательные темы, часто скопированные либо у других, либо из википедии. Это была эпоха великого рерайта, что уж тут скрывать?

Вот теперь она справедливо заканчивается — если речь идет об ответе на вопрос, то AI хоть в чате, хоть в выдаче даст ответ лучше и быстрее, без излишней рекламы. А если продукт, сервис, магазин имеет что сказать, как обладатели уникального опыта, он не пропадет. Я вот в большом количестве поисков про клавиатуры встречаю один украинский магазин, у которого и хороший набор товаров, и глубокое знание темы, и много собственных тестов с подробными обзорами. Жаль, что он такой у нас один, но он заслужил свой поисковый трафик и меня в качестве покупателя.

Вот еще бы соцсети подобным образом очистить — но это прямо противоречит как бизнес-модели, так и интентам пользователей. Так что лучше туда просто не ходить. Шучу.

Новая трубка

Любителю покурить трубку, как и гитаристу или компьютерному гику, всегда нужна еще одна — в данном случае трубка. Вот мне как раз и приехала — чисто датская трубка, с клеймом Danish Crown, что вроде бы относится к производству легендарной Kriswill. Учитывая, что оригинальная Kriswill обанкротилася примерно в 1979 году, моя новинка относится примерно к 70-м. При этом она некуреная, внутренняя поверхность камеры идеально гладкая.

Danish Crown 925
Danish Crown 925

Как положено датчанке, она очень изящная и легкая. Вес трубки определяет способ её использования — если она комфортно держится зубами, то с ней и погулять по улице можно. Правда, не в такой ветер, как у нас последнюю неделю.

Табак и душа

Кажется, никогда об этом не писал, но иногда я курю трубку. Вообще, еще в детстве я с интересом крутил в руках отцовскую трубку — он курил её очень редко, в СССР трубочный табак был редкостью, — а своей собственной обзавелся в 1998-м году. Даже иногда ходил с трубкой по станции, вызывая восхищение сотрудников, мол, какой у нас главный инженер-то, а? Потом как-то забросил, да и вообще бросил курить, а пару лет назад вдруг увлекся снова. Как положено увлечению, причем, пожалуй, любому моему увлечению точно, у меня уже несколько трубок и еще добавится, запас разного табака заметно превышает потребности на ближайшие лет пять, но мне нравится.

А вот наткнулся на прекрасное эссе “Табак и душа” и, пару раз пересказав его, решил перевести и выложить здесь. Впервые оно было опубликовано в 1997 году, достаточно хорошо известно, автор католический богослов и это заметно по стилистике, которую я постарался сохранить.

Многострадальные украинские покупатели

Наткнулся в Forbes на очередной материал про то, что нехорошие украинские покупатели норовят покупать за границей и такие мелкие товары, чтобы дешевле 150 евро (в этом случае покупка не облагается пошлиной и НДС), а хорошие украинские магазины от этого страдают и загибаются. Разумеется, со ссылкой на требования МВФ и комментариями хороших украинских магазинов.

Я очень активно, особенно последние несколько месяцев, заказываю товары в западных магазинах, особенно на Amazon, и не менее активно — на Розетке. И вот что я могу сказать.

Во-первых, если товар есть в Украине — на Розетке, в других онлайн-магазинах, компаниях с онлайн-заказом, — я наверняка закажу его в Украине. Зачем мне тратить больше времени, доплачивать за услуги того же NPShopping (сервис Новой Почты по пересылке из западных магазинов), декларировать товары и так далее, если украинский продавец мне его отправить пусть чуть дороже, но в течение пары дней он окажется в почтомате в километре от моего дома (у меня частный дом в поселке, так что это близко, разумеется, в случае с квартирой в городе почтомат будет в этом же квартале)? Именно поэтому я большинство компьютерных аксессуаров заказывал на Розетке и только карман для диска, поддерживающий Thunderbolt5, пришлось купить на Amazon — ну нет его в принципе в продаже тут. Причем, он был дороже 150 евро, если что.

Во-вторых, большое количество товаров в Украине все же не продаётся. Это либо нишевое, либо специализированное — мне сейчас, к примеру, едет набор пакетиков увлажнителей, они кладутся в емкость и поддерживают там заданную влажность. Я их буду использовать для хранения трубочного табака, в наших магазинах такое не предлагается, а стоят, кстати, ерунду. Если этой мелочью завалить таможню — товар стоит 10-20 долларов, пошлина встанет в 10-20 процентов плюс услуги брокера. Бог с ней, с итоговой стоимостью товара для меня, но ведь пошлина должна как-то окупать работу таможни и приносить доход государству, как это планируется поместить в 2 доллара?

И, в третьих, всякий раз, когда украинский магазин жалуется, мне хочется взять попкорн и понаблюдать за зрелищем. Я недавно заказывал себе бумажные книги в самом крупном онлайн-магазине — Yakaboo. Две книги, не бестселлеры, но значатся в наличии. Сразу после покупки мне прислали 4 (!) письмо о том, что я зарегистрирован, вот мой логин/пароль (открытым текстом, причем я логинился через Google), вот моя покупка, вот мой чек. И уже утром — две рекламные рассылки с довольно одинаковым набором рекламных блоков. На следующее утро пришли еще две рекламные рассылки. На следующее утро — еще одна. Я специально пошел и проверил — книги значились как “готовятся к отправке”. Я отписался от всех рассылок “информационного характера”.

Заказ был сделан вечером вторника. Ни одного письма “Мы отправили вам ваш заказ” я не получил. Уведомление об отправке я получил почему-то в Viber (где оно свалилось в бизнес-чаты), а сами книги приехали в воскресенье.

И ведь это самый ходовой вид товара, где всё, по идее, отлажено. Пардон, но один из заказов Amazon недавно приехал на склад НП в Америке за 4 часа после заказа. Я не настаиваю на такой скорости, но посмотрите в пункт “во-первых” — если товар из украинского магазина будет ехать почти неделю, то в чем преимущество его перед Amazon, из которого на перекладных он доедет за неделю с лишним?

Но я несправедлив. За 15 лет украинские магазины научились не перезванивать покупателю. Правда, иногда пишут наутро после заказа “Еще актуально?” — видимо, многие заказывают в измененном состоянии карманы для SSD на несколько тысяч грн глубоким вечером, а утром с похмелья отказываются.

Редизайн блога

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

Собственно, рассказать стоит только то, что весь процесс — от макетирования до полной имплементации и исправления багов, — занял у меня часа полтора. Конечно, благодаря AI — я взял привычный Claude Code, применил уже проверенный на паре мелких задач скилл frontend-design и так всё и сделал. Claude расспросил, какие стили я предпочитаю, какой шрифт для чего лучше использовать, что лучше сохранить из существующей темы (а тут стояла Mainroad, довольно старая тема) и нарисовал три макета в разном стиле.

Мне оставалось выбрать один из трех и через минут 15 можно было тыкать его на локальном сервере. Возможно, Claude Code и сам бы справился с вылизыванием верстки, но я предпочитаю держать минимальное количество MCP серверов, лучше уж я ему скриншотов накидаю.

Не обошлось без казусов — например, исправляя ширину поста, он вдруг заявил “А еще я убрал красную линию в заголовке” и на самом деле её убрал. Пришлось сказать, чтобы вернул.

Но результат мне нравится. Надеюсь, аудитории тоже будет лучше.

P.S. На самом деле надо честно сказать, что еще полтора часа заняли попытки заставить комментарии отображаться корректно — то есть, используя те же цвета, что и на остальном блоге. Ну, потому что в мире Умпутуна владельцы сайтов не должны хотеть других цветов кнопок и ссылок. Но и это победили.

Когда opinion превращается в баг

У меня за долгое время использования компьютеров скопилось какое-то количество старой техники, в основном ноутбуков и планшетов, плюс я год назад увлекся и накупил очень старых ноутбуков и даже снял несколько видео — про свой самый первый ноутбук из 1994 года, про старые ThinkPad и так далее. При этом есть у меня теплое отношение к Linux — впервые я что-то такое попробовал еще в 2000-м (это были RedHat 6 и Mandrake), даже жил на Gentoo, регулярно пользовался Ubuntu, и так далее. Поэтому понятно, что когда культовый гик DHH (Дэвид Хайнмайер Хенссон, создатель Ruby on Rails и сооснователь 37 Signals) начал в каждом твите анонсировать собственную сборку Omarchy, я определенно захотел попробовать. Меня даже не остановили соображения, что DHH — чувак очень самобытный, а сборка названа opinionated и основана на ArchLinux — что я теряю, кроме свободного времени?

Аналитика миллениалов

Выходные в социальной сети, ранее известной как Twitter, прошли под знаком новой функции — About this account.

Функция предельно простая — теперь, кликнув на дату регистрации в профиле пользователя, можно увидеть, в какой стране он находится и через какое приложение (с точностью до страны магазина приложений) он пользуется сетью. Первоначальный вариант включал в себя еще и страну, из которой аккаунт был зарегистрирован, но почти сразу функция пропала вообще, а потом выкатилась уже без этого поля.

Не даем заснуть колонкам

На выходных задумался, что за последний год у меня сильно изменился шаблон поведения в совершенно стандартных сценариях использования продуктов. Если раньше, встречая какое-то мелкое неудобство, я пробовал его решить настройками или чьим-то готовым решением, то сейчас я начинаю думать — “А нельзя ли это устранить вообще? Что посоветует AI?”. И по результатам небольшого чата вполне может последовать радикальная перенастройка системы или даже написание программы, которая решит проблему.

История про долгую историю окупаемости

В очередной раз встретил выступления “экспертов” про то, что AI — это пузырь, компании глубоко убыточны, инвестиции никогда не окупятся, ну, вы тоже встречали, — и вспомнил прекрасную историю из прошлого.

На четвертом курсе института нам читал лекции по экономике железнодорожного транспорта профессор Бондаренко и на лекции, посвященной расчету окупаемости капвложений (сейчас бы сказали — “инвестиций”), рассказал о том, что он входил в рабочую группу экономистов, занимавшихся разработкой ТЭО (технико-экономического обоснования) системы “Экспресс” — автоматизированной системы продаж билетов на пассажирские поезда в СССР. Кажется, речь шла о системе “Экспресс-2”, запущенной во всесоюзном масштабе в середине 80-х годов прошлого века.

Приятный сеанс вайбкодинга

Я в последнее время практически большую часть работы делаю с использованием AI-агентов, которые при этом что-то программируют. На меня за это регулярно сердятся “настоящие” программисты, мол, я ничего не понимаю, что там AI пишет, будет масса проблем потом, кто это сможет поддерживать и вообще… Я, правда, честно отвечаю, что меня не волнует, кто это сможет поддерживать, пока с этим справляется даже нынешний AI, тем более, что большинство вещей, которые в итоге получаются — это прототипы, которые используются для разовой или нерегулярной задачи. Если в итоге станет понятно, что идея, алгоритм или последовательность операций даёт нужный результат — “правильной” разработкой займутся живые люди, которые сделают “правильный” проект. Хотя при этом я неплохо представляю, что откуда берется, что с данными происходит и как проверить итоговый результат — а вот какой алгоритм сортировки применен или как не по канонам названы методы, меня и волновать не должно, я такого и про результат работы живых людей не знаю.

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

Никакого Борисполя

Певица Елка убрала из своей популярной песни слова “завтра в 7:22 я буду в Борисполе сидеть в самолете и думать о пилоте”. Теперь она поёт “завтра в 7:22 я буду лететь к тебе, сидеть в самолете и думать о пилоте”.

Получилось странно (ну, девушка летит к кому-то, а думает о пилоте, в исходном варианте никакого “тебя” и не существовало, кажется), но это у нее вышла художественная правда. Сидеть в самолете в Борисполе она больше никогда не будет. Мы, я надеюсь, как раз будем, а вот у нее в жизни больше никогда никакого Борисполя не случится.

Как и Прованса, я надеюсь. Пусть в Пхеньян летит.

Контекст ненужных MCP

Если вы начали использовать MCP практически сразу, как я — сходите в конфиг и удалите оттуда первые референсные серверы типа fetch и filesystem. Claude во всех видах давно умеет обращаться к более современному web-fetch, который работает через серверы Anthropic, на порядок реже банится сайтами и нормально извлекает контент. Что касается filesystem, то на Claude Desktop он еще может использоваться, а вот Claude Code гораздо лучше справляется своими силами, а MCP только занимает контекст.

Достаточно стандартная картина при установленном SuperClaude

Что подводит нас к разговору о контексте и его использовании. Любой MCP занимает место в контексте, примерно так же, как любое приложение, запущенное на смартфоне и работающее в фоне, влияет на энергопотребление и заряд батареи. Еще место в контексте занимают сообщения в сессии, файлы вида CLAUDE.md (причем как локальный в проекте, так и общий, на уровне пользователя), агенты, которые настроены в Claude Code. Если при этом поставить что-то типа прекрасного фреймворка SuperClaude и вдобавок согласиться на все предложенные дополнения, включая MCP, то получившийся Claude Code, безусловно справится с немалым количеством задач больше и лучше, чем до этого, но вот свободного контекста останется мало. Если конкретно — поскольку я по этим граблям и прошелся, — можно обнаружить, что из общего контекста в 200k токенов несколько тысяч занято системным промптом, полтора десятка тысяч — системными tools, 68k(!) — всеми MCP, и еще 25k — всеми файлами памяти, от CLAUDE.md до десятка файлов с инструкциями для компонентов SuperClaude. И для собственно сообщений чата остается лишь четверть, а то и меньше общего объема.

В общем, настоятельно рекомендую для начала удалить ненужные вам MCP — начиная с упомянутых выше fetch и filesystem. Из всего, что ставит SuperClaude, я в общем конфиге (на уровне пользователя, он загружается всегда, хоть и последним) оставил sequential-thinking, serena (рекомендую, это полностью заменяет все собственные попытки что-то сохранить в файл, чтобы потом напомнить Claude Code, чем вы занимались в прошлую сессию), tavily (веб-поиск, но не обязательно) и context7 (поиск по документации библиотек, фреймворков и так далее). Если вам нужно что-то типа chrome-tools или playwright — ничто не мешает в корне нужного проекта положить файл .mcp.json, где дописать нужные. Именно в этом проекте они и будут работать. К сожалению, отключить на уровне проекта нельзя, хотя все установщики норовят прописаться именно на user-scope.

Тот же контекст после выключения ненужных в конкретном проекте MCP серверов

Результат подобной чистки контекста вполне достойный — у меня получилось довести MCP tools до 21,5k токенов, что более чем в три раза меньше дефолтного состояния, а объем свободного контекста — до почти 95k. К сожалению, Claude автоматически резервирует 45k в качестве буфера для автосжатия сессии и это тоже не отключается.

Не забудьте, что добавляемые вручную серверы также можно добавить только для текущего проекта — для этого нужно в команде claude mcp add не указывать -s user. Но не забывайте, что в этом случае сервер все равно пропишется в дефолтном .claude.json в контексте текущего проекта, а не отдельным файлом в его директории.

К предыдущему конфигу просто добавлен github-mcp-server

P.S. Напоследок хочу показать еще одну страшную картинку полностью забитого контекста. На ней в MCP tools из приведенных 70+k токенов более 50k занимает один сервер — github_mcp_server. Очень яркий пример того, что комфорт требует компромиссов и наоборот.

Если рассудок и жизнь дороги вам…

Немного вечернего брюзжания.

После довольно долгого перерыва я включил вечером свой ноутбук. Я его не включал с февраля, когда его как компьютер в студии заменил новый Mac mini, а ездить я никуда за это время не ездил, так что смысла включать и не было.

В общем, это занятие не для слабонервных. Сам-то ноутбук — это MacBook Pro 2019 года, еще Intel, — включился и загрузился. Но дальше оказалось, что весь прикладной софт безнадежно устарел и даже не может обновиться. Напомню, речь идет не о ноутбуке, который бы я достал из залежей прошлых десятилетий, и там всё очень старое — нет, ноутбук еще в феврале имел все обновленные программы. Семь месяцев прошло.

Google Chrome сам обновиться уже не может — пришлось скачать вручную и поставить самостоятельно.

Mimestream — почтовый клиент для Gmail — оказался версии 1.6.3, предлагал обновиться до 1.7.3 , отваливался с ошибкой и вообще-то обновляться надо было до текущей 1.8.0, но тоже пришлось вручную ставить.

Но прекраснее всего (и предсказуемее) повел себя Telegram. Он тут же показал кнопку Update и выгрузился. Запустил опять — опять кнопка Update и выгрузился после нажатия. Короче, я проверил, что он обновляет — версия на февраль была 11.11, текущая 11.15 и это свидетельство гения победителей олимпиад каждый раз обновлялся на следующий билд и, видимо, собирался пройти пару десятков таких циклов. Пришлось опять-таки пойти на сайт, скачать свежую версию и поставить поверх.

Черт его знает, как мы дошли до такой эфемерности.

Talk Radio

Немного неожиданно посмотрел довольно старый фильм — Talk Radio, который снят Оливером Стоуном в 1988 году. Фильм в биографии Стоуна не самый заметный — он пришелся между реально крутыми “Взводом”, “Wall Street”, “Рожденный 4 июля” и “The Doors” и так сильно не нашумел. Хотя сам по себе очень достойный.

Я вообще вышел на него совсем с другой стороны — попросил ChatGPT составить список фильмов и сериалов, где показана кухня радио и ТВ — мне нравится, имея любительский опыт стримов, подкастов и монтажа, разглядывать технические детали, погружаться в атмосферу студий и newsrooms. Разумеется, мне посоветовали и The Morning Show, и The Newsroom, и даже “День радио” — и Talk Radio среди прочего.

Эрик Богозян в роли главного героя — Барри Шамплейна
Эрик Богозян в роли главного героя — Барри Шамплейна

И я в итоге вспомнил, что году в 1990-м, когда в киосках среди газет продавались брошюрки вида “Обзор фильмов года”, как раз про этот фильм тоже было написано. Это не была рецензия — просто короткая справка о фильме с описанием сюжета. Но вот что я помню, это впечатление от описания — чувствовалось, что и его автор, и я как читатель, были изумлены необычными обстоятельствами. Ну, представьте себе — где-то в Далласе местное радио, на нем программа, где ведущему может позвонить любой желающий и поговорить в прямом эфире на любую тему. Что про это мог подумать советский юноша — да не бывает такого! Что у нас, радио нет, что ли? Мы же знаем, что туда можно написать письмо, оно туда не факт, что дойдет, но, видимо, какие-то письма доходят, иначе что читают ведущие “В рабочий полдень”? Но позвонить? Даже с гласностью это как-то плохо уживалось.

Вы понимаете, что сейчас я смотрел этот фильм и, понимая, что происходящее там совершенно нормально (да я сам такие эфиры по несколько раз в месяц делаю), я вспоминаю, как же всё было ненормально в нашей жизни 35 лет назад.