Вопросы и ответы
Инструмент действительно бесплатный?
Да, для основного сценария. У Google Search Console, Yandex Webmaster, Yandex Metrika, Bing, CrUX и PageSpeed Insights есть бесплатные тарифы, и ни одна обязательная зависимость не требует карты. Необязательные платные адаптеры для SERP и бэклинков описаны, но не поставляются; если такой адаптер появится, он будет работать с вашим ключом и останется выключенным по умолчанию. См. Источники данных и квоты.
Нужен ли токен для каждого провайдера?
Только для тех, которые вы настраиваете. GSC, Yandex Webmaster, Yandex Metrika, Bing и CrUX требуют токен или API-ключ; PSI работает без ключа. lv24-seo auth status --json показывает наличие и источник, но не значение. См. Справочник конфигурации.
Инструмент парсит Google или Яндекс?
Нет. Данные запросов, позиций и индексирования берутся из API провайдеров. Проект не парсит выдачу, не решает CAPTCHA и не автоматизирует Яндекс Бизнес. См. Источники данных и квоты.
Где хранятся мои данные?
В локальной базе SQLite в storage.data_dir (по умолчанию data/seo.sqlite3), плюс файлы отчётов, которые вы запросили через --out. Относительный data_dir из seo.toml привязывается к файлу конфигурации, поэтому один конфиг использует одну базу из любого рабочего каталога; встроенное значение по умолчанию и LV24_SEO_DATA_DIR остаются process-scoped. Телеметрии нет. Данные покидают машину только через вызовы API провайдеров и включённые вами каналы доставки. См. Безопасность и приватность.
CLI или MCP — что использовать?
Оба работают поверх одного движка и возвращают одни и те же данные. CLI нужен для терминала, cron и CI. MCP-сервер даёт агентам 11 инструментов через stdio или streamable HTTP. См. MCP и навыки агентов.
Приложение или CLI?
Приложение оборачивает тот же движок как sidecar PyInstaller и добавляет дашборд, формы настроек и страницу рекомендаций. CLI остаётся сценарируемой поверхностью, и оба читают один seo.toml и один каталог данных. См. Приложение.
Приложение обновляется само?
Да, для Windows NSIS, macOS .app и Linux AppImage: приложение проверяет latest.json, проверяет подпись minisign и устанавливает обновление только после подтверждения. deb, rpm и portable ZIP обновляются вручную. Перед запуском установщика приложение останавливает только запущенные им PID sidecar движка; если остановить не удалось, обновление блокируется с UPDATE_ENGINE_BUSY и повторяется после завершения того запуска. Сборка 0.1.0 вышла до появления обновлятора и требует одного ручного обновления. См. Релизы и обновление.
Почему сборки неподписанные?
Подпись кода ОС требует платных сертификатов и нотаризации, которые проект не покупает. Пакеты для Windows и Linux не подписаны; macOS использует ad-hoc-подпись. Полезная нагрузка обновлений отдельно подписана minisign — это защищает обновления, но не делает установщик доверенным для ОС. Перед запуском проверьте SHA256SUMS.txt. См. Безопасность и приватность.
Windows SmartScreen блокирует установщик. Что делать?
SmartScreen, Smart App Control или антивирус могут предупредить, потому что у установщика нет подписи Authenticode. Скачивайте только со страницы релиза, сверьте SHA-256 с SHA256SUMS.txt и разрешите Windows запустить именно это приложение, только если принимаете риск. Не отключайте SmartScreen и антивирус. См. Установка.
macOS не открывает приложение. Что делать?
Приложение подписано ad-hoc, поэтому Gatekeeper предупреждает при первом запуске. Откройте его один раз через «Системные настройки» → «Конфиденциальность и безопасность» → «Всё равно открыть» или щёлкните по приложению правой кнопкой и выберите «Открыть». Не отключайте Gatekeeper. См. Установка.
Как хранятся токены в Linux?
Через связку ключей Secret Service ОС, если установлен extra secrets. Приложение передаёт переменные session bus и XDG runtime, нужные связке ключей. Без связки ключей задайте LV24_SEO_ALLOW_FILE_SECRETS=1, чтобы использовать файловый резерв с правами 0600; он печатает предупреждение при каждом запуске. См. Справочник конфигурации.
Можно ли вести несколько сайтов?
В одном конфиге — нет: один seo.toml описывает один проект и один набор целей провайдеров. Заведите конфиг на сайт и передавайте --config path/to/seo.toml; приложение работает с одним выбранным конфигом за раз. См. Справочник конфигурации.
Почему цифры Яндекса и GSC расходятся?
Они измеряют разное. GSC отдаёт до 50 000 строк в день с задержкой 2–3 дня. Яндекс отдаёт не более 3 000 запросов за период, не поддерживает связку запрос-страница и отстаёт примерно на четыре дня. Инструмент не суммирует данные между движками и не заполняет отсутствующие строки нулями. См. Источники данных и квоты.
Как изменить язык отчёта?
Задайте report.locale как ru, en или zh (по умолчанию ru). Эта настройка управляет почтой, Telegram, текстовой сводкой CLI и HTML из report weekly --out. JSON-конверты, снимки, report.json и report diff остаются на каноническом английском. См. Справочник конфигурации.
Как долго хранятся данные?
Снимки и строки обхода остаются в SQLite, пока вы не удалите каталог данных; на каждую комбинацию типа, ресурса и периода хранится один снимок. storage.raw_retention_days зарезервирован и сейчас ничего не делает, потому что сырые архивы не пишутся. Перед обновлением сделайте резервную копию базы. См. Безопасность и приватность.
Почему недельный отчёт неполный?
Провайдеры отстают и ограничивают данные. Проверьте data_age_days, truncated, limitations[] и warnings[] в конверте и увеличьте --lag-days, если последние дни ещё заполняются. Последняя страница GSC, точно заполнившая лимит 50 000 строк, помечается усечённой, а не полной. report diff также требует двух сохранённых недельных запусков. См. Устранение неполадок.
Можно ли получить логи?
Да, но логирование опционально. Задайте LV24_SEO_LOG_LEVEL=INFO (или DEBUG, WARNING, …) для CLI или lv24-seo mcp serve; редактирующий обработчик устанавливается только в этих точках входа. Когда stderr не терминал, каждая запись — одна JSON-строка. Стабильным интерфейсом диагностики остаётся конверт --json. См. Справочник конфигурации.
Можно ли запускать в CI?
Да. Используйте --json вместе с кодами выхода и report diff --markdown для комментария к pull request или сводки задания; предупреждения идут в stderr, поэтому stdout остаётся валидным Markdown. Токены держите в секретах CI, а не в seo.toml. См. Справочник CLI.
Как внести вклад?
Сначала откройте issue, создайте ветку от main, держите одну область на изменение и прогоните полную проверку перед pull request:
uv sync --extra dev
uv run ruff check . && uv run ruff format --check . && uv run mypy src && uv run pytest -qСм. руководство для участников, чтобы узнать, какие изменения принимаются, и формат коммитов.
Куда сообщать об ошибках?
Ошибки движка, CLI и MCP: issues lv24-seo-optimizer. Ошибки приложения: issues lv24-seo-optimizer-desktop. Приложите вывод lv24-seo version, точную команду, конверт --json и код выхода. Удалите токены и данные клиентов.
Отправляется ли телеметрия?
Нет. Телеметрического эндпоинта нет, и отключать нечего: раздела [privacy] не существует. Инструмент отправляет данные только провайдерам, которые вы запрашиваете, и включённым каналам доставки; приложение обращается к GitHub только за метаданными обновлений.
Source: _source/engine-cli.md, _source/engine-config.md, _source/engine-data-sources.md, _source/engine-security.md, _source/engine-releases-0.5.2.md, _source/desktop-README.md, _source/desktop-security.md, _source/desktop-releases-0.2.2.md.