SEO vs GEO
Если вы делаете Flutter веб-приложение и рассчитываете на органический трафик из поиска, то честно говоря, готовьтесь к головной боли Flutter создает SPA (Single Page Application), которое рендерится на клиенте через JavaScript. И тут начинается самое интересное
Яндекс и Google по-разному обрабатывают такие сайты. Робот Яндекса плохо умеет выполнять JS флаттеровских приложух - он заходит на страницу и уходит, не дождавшись загрузки. В итоге в предпросмотре индексации видишь белый экран без метатегов. Google в этом плане попроще, их бот умеет выполнять JavaScript, но нужно тщательно тестировать время загрузки
Теперь о подводных камнях с Яндексом. Единственное рабочее решение - это динамический рендер, когда поисковым роботам показываешь статические страницы вместо Flutter-приложения. Используется "белый" клоакинг - страницы полностью копируют содержимое, просто добавляется SEO-разметка
Еще один момент, который многие упускают - это GEO (Generative Engine Optimization). Это оптимизация под нейронки. Классические SEO-механизмы там работают не так, как мы привыкли. Важен контент сайта, его фактическая нагрузка, цитируемость источника
Главная засада в том, что большинство LLM вообще не переходят на сайты напрямую. Они используют API поисковых сервисов и считывают только теги предпросмотра - title, description, og-теги. Даже если в промпте указать перейти на конкретный адрес, нейронка просто выполнит поиск через API. Еще частое явление - "додумывание", особенно в режимах с повышенной токенизацией
Что реально критично для SEO и GEO - это title (50-60 символов с ключевиками в начале), meta description (120-160 символов), правильно настроенные sitemap.xml и robots.txt. Без них никакая оптимизация не принесет результата. Плюс структура H1-H6 для контента и alt для изображений
Важный момент по jsonld разметке со schema.org - это "быстрые ответы" или сниппеты в Яндекс Вебмастере и Google Search Console. Не забывайте про RSS-фиды тоже. Но это относится непосредственно к SEO и быстрым ответом yagpt или gemini
В этом посте были ссылки, но мы их удалили по правилам Сетки