По порядку.
1. Переиндексация Google.
Заходишь в Google Search Console, вставляешь URL страницы в строку проверки сверху, жмешь "Запросить индексирование". Обычно обновляется за 1-3 дня, иногда до недели. Гугл не гарантирует сроки, но через GSC это самый быстрый способ.
Если GSC нет, просто жди. Googlebot переползет сам, но может занять от пары дней до месяца.
2. Динамическое обновление через JS.
Можно менять мета-теги через DOM:
document.title = "Новое название";
document.querySelector('meta[name="description"]').setAttribute('content', 'Новое описание');
document.querySelector('meta[property="og:title"]').setAttribute('content', 'Новое название');
document.querySelector('meta[property="og:description"]').setAttribute('content', 'Новое описание');
НО. Для SEO это бесполезно. Googlebot рендерит JS, но не всегда корректно подхватывает динамические мета. Для соцсетей тоже не работает: Facebook, Telegram, VK при шеринге делают серверный запрос и парсят HTML до выполнения JS. Они видят то что в исходном HTML.
Если страница частично динамическая и тебе нужно разные мета для разных состояний, единственный нормальный путь это SSR (серверный рендеринг) или хотя бы prerender. Для чистого HTML без бэкенда это overkill, проще захардкодить нужные мета.
3. Twitter Card.
Twitter умеет фоллбечить на og: теги, но лучше добавить свои:
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Название">
<meta name="twitter:description" content="Описание">
<meta name="twitter:image" content="https://example.com/image.jpg">
Без twitter:card Twitter подтянет og:title и og:description, но превью картинки может не показать или показать мелко.
По соцсетям: после обновления мета на сайте зайди в отладчики:
Они закешировали старые данные, нужно принудительно сбросить кеш.
Огонь, особенно про дебаггеры соцсетей. Не знал что VK тоже кеширует. Запросил переиндексацию в GSC, буду ждать.