AI Meta Title Generator

Get 10 SEO-optimized title variants with pixel-width analysis, CTR scoring, and a live Google SERP preview.

Your 10 Title Variants

Title Chars Pixels Keyword CTR Score Actions
📱 Google SERP Preview (mobile/desktop)
toolspivot.com › your-slug-here

Click a title from the table above to preview

Your meta description will appear here — generate one with our AI Meta Description Generator.

✨ Next step: write a matching meta description Generate Description

О программе Генератор мета-заголовков на базе ИИ

Генератор мета-заголовков на основе ИИ от ToolsPivot создаёт SEO-оптимизированные теги title за считаные секунды — по ключевому слову, описанию страницы и выбранному тону. В отличие от большинства сервисов, которые ограничивают бесплатные генерации или требуют регистрацию, ToolsPivot работает без лимитов и без аккаунта: вставили данные, получили готовые варианты title.

Как пользоваться Генератором Meta Title от ToolsPivot

  1. Введите ключевое слово или тему страницы. Впишите основную фразу, по которой хотите ранжироваться — например, «купить кроссовки Nike в Москве» или «проверка сайта на ошибки».

  2. Добавьте описание (необязательно). Укажите контекст: тип страницы, целевую аудиторию или уникальное преимущество. Чем точнее описание, тем релевантнее результат.

  3. Выберите тон. Доступны 9 вариантов: дружелюбный, профессиональный, остроумный, неформальный, формальный, убеждающий, информативный, вдохновляющий, юмористический. Для коммерческих страниц подойдёт убеждающий, для блога — неформальный или информативный.

  4. Укажите аудиторию. Блогеры, разработчики, маркетологи, студенты, предприниматели или широкая аудитория. Нейросеть адаптирует формулировки под выбранный сегмент.

  5. Нажмите «Generate». ИИ проанализирует введённые параметры и сгенерирует варианты title. Результат появится через 3–5 секунд.

  6. Скопируйте или скачайте результат. Используйте кнопку Copy для вставки в CMS (WordPress, Битрикс, Tilda) или Download для сохранения файла.

Возможности Генератора Meta Title от ToolsPivot

  • Генерация по ключевому слову и контексту. Инструмент учитывает не только ключ, но и описание страницы, тон подачи и целевую аудиторию. Результат — title, который отвечает конкретному поисковому намерению, а не просто подставляет ключ в шаблон.

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

  • 6 сегментов аудитории. Генератор адаптирует выбор слов и структуру заголовка под конкретную группу: маркетологи получат title с акцентом на ROI и конверсии, студенты — на доступность и простоту.

  • Копирование и скачивание. Готовый title копируется в один клик или сохраняется файлом. Удобно при массовой работе — результаты не теряются.

  • Поле «Goal». Можно указать цель страницы: привлечение трафика, продажа, информирование. ИИ расставит акценты в заголовке — добавит призыв к действию для продающих страниц или усилит информативность для статей.

  • Диапазон «From – To». Задайте рамки длины заголовка в символах. Google отображает 50–60 символов, Яндекс — до 70. Настройка позволяет попадать в нужный диапазон сразу, без ручной обрезки.

  • Работа без регистрации. Никаких аккаунтов, подписок или ограничений на количество запросов. Открыли страницу — пользуетесь.

Зачем использовать Генератор Meta Title от ToolsPivot

  • Экономия 15–30 минут на каждом заголовке. Ручной подбор title с учётом ключей, длины и кликабельности занимает до получаса. Генератор выдаёт варианты за 5 секунд — разница в 100 раз.

  • Меньше перезаписей от Google. Поисковик переписывает 60–70 % заголовков, которые слишком длинные, короткие или не соответствуют содержанию. Заголовки из генератора ToolsPivot попадают в нужный диапазон символов и включают ключевые слова в начале.

  • Рост CTR в выдаче. Заголовки с правильной структурой — ключ в начале, триггер клика, чёткая выгода — получают на 15–35 % больше кликов, чем «голые» ключевые фразы. Генератор автоматически добавляет такие элементы.

  • Единый стиль для большого сайта. Интернет-магазин на 500 категорий, блог на 200 статей — вручную писать title для каждой страницы нереально. Выбрали тон, указали аудиторию — получили однородные заголовки для всего проекта.

  • Работает для Google и Яндекс одновременно. Google рекомендует 50–60 символов, Яндекс допускает чуть больше. Через настройку From–To можно генерировать title, который корректно отображается в обоих поисковиках.

  • Бесплатно и без ограничений. Сервисы вроде Пиксель Тулс, pr-cy.ru и Robotext либо ограничивают бесплатные генерации 2–5 в день, либо требуют подписку. ToolsPivot — 100 % бесплатно, без лимитов.

  • Совместимость с любой CMS. Скопированный title вставляется в Yoast SEO (WordPress), стандартные SEO-поля 1С-Битрикс, настройки страниц Tilda, OpenCart и любую другую платформу. Подробнее о создании полного набора мета-тегов — в отдельном инструменте.

Кому пригодится ИИ-генератор title и когда его запускать

SEO-специалисты используют генератор при аудите сайтов. Типичная ситуация: анализ мета-тегов показал, что у 80 из 200 страниц title длиннее 65 символов или вообще отсутствует. Переписывать вручную — несколько дней работы. С генератором — пара часов.

Копирайтерам инструмент помогает подобрать цепляющую формулировку. Вы написали статью на 2 000 слов, проверили плотность ключевых слов и читаемость текста — осталось придумать title. Вместо 20 минут подбора вариантов — 5 секунд генерации.

Владельцам интернет-магазинов на Ozon и Wildberries генератор полезен для карточек товаров. Да, маркетплейсы используют собственные алгоритмы формирования заголовков, но принцип тот же: ключ в начале, выгода, конкретика. Генератор даёт базу, которую остаётся адаптировать под формат площадки.

Фрилансеры и самозанятые, которые ведут свой сайт-портфолио, могут быстро создать title для каждой страницы без привлечения SEO-агентства. Вбили ключ «дизайн логотипов на заказ», выбрали профессиональный тон — получили заголовок, готовый к публикации.

Маркетологи в агентствах запускают генератор при миграции сайтов. Переезд домена с переделкой URL-структуры требует новых title для всех страниц. Массовая генерация через ToolsPivot + ручная доработка — самый быстрый способ.

Что учитывать при составлении title для Google и Яндекс

Title — первое, что видит человек в поисковой выдаче. От него зависит, кликнет пользователь на вашу ссылку или пролистает дальше. Google использует title как один из основных факторов ранжирования, Яндекс — аналогично, хотя может формировать сниппет иначе.

Длина. Google отображает примерно 580–600 пикселей, что соответствует 50–60 символам латиницы. Кириллица чуть шире, поэтому для русскоязычных сайтов безопасный предел — 55 символов. Яндекс показывает до 70 символов, но обрезает без логики, если title слишком длинный. Инструмент ToolsPivot позволяет задать диапазон — например, от 45 до 58 символов — и получить заголовок точно в рамках.

Ключ в начале. Поисковики придают больший вес словам в первых 3–5 позициях заголовка. «Купить кроссовки Nike в Москве — доставка за день» сработает лучше, чем «Быстрая доставка кроссовок Nike — купить в Москве». Разница в порядке слов = разница в позициях.

Уникальность внутри сайта. Дублирующиеся title — частая ошибка. Проверьте через SEO-проверку сайта, нет ли у вас одинаковых заголовков на разных страницах. Каждый URL должен иметь собственный title.

Бренд в конце. Если добавляете название компании — ставьте его после разделителя (| или —) в конце. Ключ важнее бренда для ранжирования.

Быстрые ответы о генераторе мета-заголовков

Генератор meta title от ToolsPivot бесплатный?

Да, полностью бесплатный. Без регистрации, без лимитов на количество генераций, без скрытых подписок. Все функции — выбор тона, аудитории, настройка длины — доступны сразу.

Какую длину title рекомендуют Google и Яндекс?

Google отображает 50–60 символов (580–600 пикселей) до обрезки. Яндекс допускает до 70 символов, но может переписать заголовок по своим алгоритмам. Для русскоязычных сайтов оптимальный диапазон — 45–58 символов с пробелами. Генератор ToolsPivot позволяет задать этот диапазон в полях From и To.

Чем этот генератор отличается от ChatGPT?

ChatGPT — универсальный чат-бот, который не учитывает SEO-специфику title без подробного промпта. Генератор ToolsPivot заточен под SEO: настройки тона, аудитории, длины и цели страницы уже встроены в интерфейс. Вы получаете готовый к публикации заголовок без составления промпта.

Можно ли генерировать title для Яндекс.Директ и Google Ads?

Инструмент создан для органических SEO-заголовков, но результаты подходят и как основа для рекламных объявлений. Для рекламы учтите ограничения платформ: Яндекс.Директ допускает до 56 символов в заголовке, Google Ads — до 30 символов.

Генератор работает с русским языком?

Да. Введите ключевое слово и описание на русском, выберите нужный тон — ИИ сгенерирует title на русском языке. Инструмент корректно работает с кириллицей и учитывает русскую морфологию при подборе формулировок.

Почему Google переписывает мой title?

Google переписывает title в 60–70 % случаев, если заголовок слишком длинный, не содержит ключевого слова, не соответствует содержанию страницы или перегружен ключами. Заголовки длиной 51–55 символов переписываются реже всего — примерно в 15 % случаев.

Как проверить title после публикации?

Откройте страницу в браузере и нажмите Ctrl+U — найдите тег в коде. Или используйте <a href="https://toolspivot.com/ru/grammar-checker">проверку грамматики</a> от ToolsPivot для дополнительного контроля качества текста. Также подойдут расширения вроде SEO META in 1 CLICK.</p> <h3>Title и H1 — это одно и то же?</h3> <p>Нет. Title отображается в поисковой выдаче и на вкладке браузера, H1 — на самой странице. Они могут совпадать, но чаще различаются: title делают короче и SEO-ориентированнее, H1 — более понятным для читателя. Подробнее о структуре тегов — в <a href="https://toolspivot.com/ru/schema-markup-generator">генераторе разметки Schema</a>.</p> <h3>Сколько ключевых слов вставлять в title?</h3> <p>Одно основное и максимум одно дополнительное. Переспам ключами в title снижает <a href="https://toolspivot.com/ru/word-counter-tool">читаемость и кликабельность</a> и может привести к понижению позиций. Google расценивает это как keyword stuffing.</p> <h3>Подходит ли генератор для интернет-магазинов?</h3> <p>Да. Для карточек товаров используйте формулу: название товара + характеристика + город (если локальный бизнес). Для категорий: тип товара + «купить» + город. Генератор ToolsPivot создаст базовый вариант, который вы доработаете под конкретную CMS — будь то OpenCart, 1С-Битрикс или WooCommerce.</p> <h3>Как генератор title связан с другими SEO-инструментами?</h3> <p>Title — один элемент из цепочки: <a href="https://toolspivot.com/ru/ai-meta-description-generator">мета-описание</a>, <a href="https://toolspivot.com/ru/ai-keyword-cluster-ideas">кластеризация ключевых слов</a>, <a href="https://toolspivot.com/ru/keywords-research-tool">подбор ключевых слов</a>, <a href="https://toolspivot.com/ru/long-tail-keyword-generator">длинные ключевые фразы</a>. Для лучших результатов используйте все инструменты вместе: подберите ключи, сгенерируйте title и description, проверьте <a href="https://toolspivot.com/ru/page-speed-checker">скорость страницы</a>.</p> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "Генератор meta title от ToolsPivot бесплатный?", "acceptedAnswer": { "@type": "Answer", "text": "Да, полностью бесплатный. Без регистрации, без лимитов на количество генераций, без скрытых подписок. Все функции — выбор тона, аудитории, настройка длины — доступны сразу." } }, { "@type": "Question", "name": "Какую длину title рекомендуют Google и Яндекс?", "acceptedAnswer": { "@type": "Answer", "text": "Google отображает 50-60 символов (580-600 пикселей) до обрезки. Яндекс допускает до 70 символов, но может переписать заголовок по своим алгоритмам. Для русскоязычных сайтов оптимальный диапазон — 45-58 символов с пробелами." } }, { "@type": "Question", "name": "Чем этот генератор отличается от ChatGPT?", "acceptedAnswer": { "@type": "Answer", "text": "ChatGPT — универсальный чат-бот, который не учитывает SEO-специфику title без подробного промпта. Генератор ToolsPivot заточен под SEO: настройки тона, аудитории, длины и цели страницы уже встроены в интерфейс." } }, { "@type": "Question", "name": "Можно ли генерировать title для Яндекс.Директ и Google Ads?", "acceptedAnswer": { "@type": "Answer", "text": "Инструмент создан для органических SEO-заголовков, но результаты подходят и как основа для рекламных объявлений. Для рекламы учтите ограничения платформ: Яндекс.Директ допускает до 56 символов в заголовке, Google Ads — до 30 символов." } }, { "@type": "Question", "name": "Генератор работает с русским языком?", "acceptedAnswer": { "@type": "Answer", "text": "Да. Введите ключевое слово и описание на русском, выберите нужный тон — ИИ сгенерирует title на русском языке. Инструмент корректно работает с кириллицей и учитывает русскую морфологию при подборе формулировок." } }, { "@type": "Question", "name": "Почему Google переписывает мой title?", "acceptedAnswer": { "@type": "Answer", "text": "Google переписывает title в 60-70 % случаев, если заголовок слишком длинный, не содержит ключевого слова, не соответствует содержанию страницы или перегружен ключами. Заголовки длиной 51-55 символов переписываются реже всего — примерно в 15 % случаев." } }, { "@type": "Question", "name": "Как проверить title после публикации?", "acceptedAnswer": { "@type": "Answer", "text": "Откройте страницу в браузере и нажмите Ctrl+U — найдите тег title в коде. Или используйте анализатор мета-тегов от ToolsPivot для быстрой проверки без просмотра кода." } }, { "@type": "Question", "name": "Title и H1 — это одно и то же?", "acceptedAnswer": { "@type": "Answer", "text": "Нет. Title отображается в поисковой выдаче и на вкладке браузера, H1 — на самой странице. Они могут совпадать, но чаще различаются: title делают короче и SEO-ориентированнее, H1 — более понятным для читателя." } }, { "@type": "Question", "name": "Сколько ключевых слов вставлять в title?", "acceptedAnswer": { "@type": "Answer", "text": "Одно основное и максимум одно дополнительное. Переспам ключами в title снижает читаемость и может привести к понижению позиций. Google расценивает это как keyword stuffing." } }, { "@type": "Question", "name": "Подходит ли генератор для интернет-магазинов?", "acceptedAnswer": { "@type": "Answer", "text": "Да. Для карточек товаров используйте формулу: название товара + характеристика + город. Для категорий: тип товара + купить + город. Генератор ToolsPivot создаст базовый вариант, который вы доработаете под конкретную CMS." } }, { "@type": "Question", "name": "Как генератор title связан с другими SEO-инструментами?", "acceptedAnswer": { "@type": "Answer", "text": "Title — один элемент из цепочки: мета-описание, кластеризация ключевых слов, подбор ключевых слов, длинные ключевые фразы. Для лучших результатов используйте все инструменты вместе." } } ] } </script></p><section class="bv-related-tools" aria-label="Related tools"><h2 class="bv-related-tools-title">Related Tools You Might Like</h2><div class="bv-related-tools-grid"><a class="bv-related-tool" href="https://toolspivot.com/ru/llms-txt-generator" title="Генератор llms.txt"> <span class="bv-related-tool-icon"><img alt="Генератор llms.txt" src="https://toolspivot.com/theme/smallseo/icons/llms-txt-generator.png?v=1779331628" loading="lazy" /></span> <span class="bv-related-tool-name">Генератор llms.txt</span> <span class="bv-related-tool-arrow"><i class="fa fa-arrow-right" aria-hidden="true"></i></span> </a><a class="bv-related-tool" href="https://toolspivot.com/ru/ai-keyword-cluster-ideas" title="Идея кластеризации ключевых слов с помощью ИИ"> <span class="bv-related-tool-icon"><img alt="Идея кластеризации ключевых слов с помощью ИИ" src="https://toolspivot.com/theme/smallseo/icons/ai-keyword-cluster-ideas.png?v=1754767380" loading="lazy" /></span> <span class="bv-related-tool-name">Идея кластеризации ключевых слов с помощью ИИ</span> <span class="bv-related-tool-arrow"><i class="fa fa-arrow-right" aria-hidden="true"></i></span> </a><a class="bv-related-tool" href="https://toolspivot.com/ru/ai-meta-description-generator" title="Генератор мета-описаний на базе ИИ"> <span class="bv-related-tool-icon"><img alt="Генератор мета-описаний на базе ИИ" src="https://toolspivot.com/theme/smallseo/icons/ai-seo-meta-description-generator.png?v=1754767380" loading="lazy" /></span> <span class="bv-related-tool-name">Генератор мета-описаний на базе ИИ</span> <span class="bv-related-tool-arrow"><i class="fa fa-arrow-right" aria-hidden="true"></i></span> </a><a class="bv-related-tool" href="https://toolspivot.com/ru/ai-humanizer" title="AI Humanizer"> <span class="bv-related-tool-icon"><img alt="AI Humanizer" src="https://toolspivot.com/theme/smallseo/icons/ai-humanizer.png?v=1779300097" loading="lazy" /></span> <span class="bv-related-tool-name">AI Humanizer</span> <span class="bv-related-tool-arrow"><i class="fa fa-arrow-right" aria-hidden="true"></i></span> </a><a class="bv-related-tool" href="https://toolspivot.com/ru/ai-content-detector" title="AI Content Detector"> <span class="bv-related-tool-icon"><img alt="AI Content Detector" src="https://toolspivot.com/theme/smallseo/icons/ai-content-detector.png?v=1779300449" loading="lazy" /></span> <span class="bv-related-tool-name">AI Content Detector</span> <span class="bv-related-tool-arrow"><i class="fa fa-arrow-right" aria-hidden="true"></i></span> </a><a class="bv-related-tool" href="https://toolspivot.com/ru/online-ping-website-tool" title="Инструмент пинга веб-сайта в Интернете"> <span class="bv-related-tool-icon"><img alt="Инструмент пинга веб-сайта в Интернете" src="https://toolspivot.com/theme/smallseo/icons/no_image.png?v=1780401052" loading="lazy" /></span> <span class="bv-related-tool-name">Инструмент пинга веб-сайта в Интернете</span> <span class="bv-related-tool-arrow"><i class="fa fa-arrow-right" aria-hidden="true"></i></span> </a></div></section></div> </div> <div class="col-md-4" id="rightCol" > <div class="search_dots_section p20 box_shadow_border"> <div class="tool_heading text-center"> <h2 class="fs18 mn">SEARCH</h2> <div class="heading_border mb10 mt10"></div> </div> <div id="sidebar_search"> <div class="input-group"> <input id="sidebarsearch" autocomplete="off" placeholder="Search from seo tools" class="form-control" type="text"> <span class="input-group-btn"> <button class="btn btn-secondary" type="button"><span class="glyphicon glyphicon-search"></span></button> </span> </div> <div id="sidebar-results" class="search-resultsbar box_shadow_border" style="background: rgb(255, 255, 255) none repeat scroll 0% 0%; border-radius: 10px; padding: 15px 0px; display: none;"></div> </div> </div> <div class="sidebar_adds p5 mt15 box_shadow_border"> <div class="sideXd"> <!-- Autorelaxed AdSense (CWV-safe) --> <div class="adsense-wrapper" style="min-height:420px;width:100%;overflow:hidden;"> <ins class="adsbygoogle" style="display:block;width:100%;height:420px" data-ad-format="autorelaxed" data-ad-client="ca-pub-3744783675211834" data-ad-slot="7393957901"> </ins> </div> <script> window.addEventListener('load', function () { (adsbygoogle = window.adsbygoogle || []).push({}); }); </script> </div> <br> <div class="sideXd"> <!-- Small Sidebar / In-content AdSense (CWV-safe) --> <div class="adsense-wrapper" style="min-height:250px;"> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-3744783675211834" data-ad-slot="9168512573" data-ad-format="auto" data-full-width-responsive="true"></ins> </div> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="popular_tool_box box_shadow_border pn mb10"> <ul> <li class="popular-seo-t pn"> <h3 class="mn p10">Popular SEO Tools</h3> </li> <li class="pg-hovr"> <div class="icon_image plagrism-checker"></div> <a href="https://toolspivot.com/ru/plagiarism-checker">Plagiarism Checker</a> </li> <li class="aw-hovr"> <div class="icon_image word-count-checker"></div> <a href="https://toolspivot.com/ru/word-counter-tool">Word Counter</a> </li> <li class="kpc-hovr"> <div class="icon_image keyword-position-checker"></div> <a href="https://toolspivot.com/ru/keyword-rank-checker">Keyword Rank Checker</a> </li> <li class="gc-hovr"> <div class="icon_image grammer-chacker"></div> <a href="https://toolspivot.com/ru/grammar-checker">Grammar Checker</a> </li> <li class="da-hovr"> <div class="icon_image domain-ath"></div> <a href="https://toolspivot.com/ru/domain-authority-checker">Domain Authority Checker</a> </li> <li class="pr-hovr"> <div class="icon_image readability-checker"></div> <a href="https://toolspivot.com/ru/readability-checker">Readability Checker</a> </li> <li class="ic-hovr"> <div class="icon_image image-comp"></div> <a href="https://toolspivot.com/ru/image-compressor">Image Compression Tool</a> </li> <li class="ris-hovr"> <div class="icon_image reverse-image"></div> <a href="https://toolspivot.com/ru/reverse-image-search">Reverse Image Search</a> </li> <li class="pac-hovr"> <div class="icon_image page-athority"></div> <a href="https://toolspivot.com/ru/page-authority-checker">Page Authority checker</a> </li> <li class="sc-hovr"> <div class="icon_image spell-checker"></div> <a href="https://toolspivot.com/ru/text-to-speech-converter">Text To Speech</a> </li> <li class="bc-hovr"> <div class="icon_image backlink-checker"></div> <a href="https://toolspivot.com/ru/backlink-checker">Backlink Checker</a> </li> <li class="arc-hovr"> <div class="icon_image xml-sitemap-generator"></div> <a href="https://toolspivot.com/ru/sitemap-generator-tool">Sitemap Generator</a> </li> <li class="bm-hovr"> <div class="icon_image back-link-m"></div> <a href="https://toolspivot.com/ru/backlink-maker">Backlink Maker</a> </li> <li class="dac-hovr"> <div class="icon_image domain-age-checker"></div> <a href="https://toolspivot.com/ru/domain-age-checker">Domain Age Checker</a> </li> <li class="wpt-hovr"> <div class="icon_image exif-remover"></div> <a href="https://toolspivot.com/ru/exif-data-remover">Exif Data Remover</a> </li> <li class="wssc-hovr"> <div class="icon_image website-seo-score"></div> <a href="https://toolspivot.com/ru/website-seo-checker">Website Seo Score Checker</a> </li> <li class="kdc-hovr"> <div class="icon_image keyword-dencity-checker"></div> <a href="https://toolspivot.com/ru/keyword-density-checker">Keyword Density Checker</a> </li> <li class="wpsc-hovr"> <div class="icon_image lorem-ipsum"></div> <a href="https://toolspivot.com/ru/lorem-ipsum-generator">Lorem Ipsum Text Generator</a> </li> <li class="wcc-hovr"> <div class="icon_image exif"></div> <a href="https://toolspivot.com/ru/exif-data-viewer">Exif Data Viewer</a> </li> <li class="mc-hovr border-bottom"> <div class="icon_image mozrank-checker"></div> <a href="https://toolspivot.com/ru/moz-rank-checker">Moz-rank Checker</a> </li> </ul> </div> </div> </div> </div> <script> (function(){ var AJAX = 'https://toolspivot.com/ru/ai-meta-title-generator/ajax'; var BASE_URL = 'https://toolspivot.com/'; var DESC_TOOL_URL = 'https://toolspivot.com/ru/ai-meta-description-generator'; var $ = function(id){ return document.getElementById(id); }; // ----- Pixel width estimation (Roboto/Arial-ish) ----- // Google's actual cutoff is ~580px not 60 chars. We measure with a hidden canvas. var canvas = document.createElement('canvas'); var ctx = canvas.getContext('2d'); ctx.font = '20px Arial, sans-serif'; function pixelWidth(t){ return Math.round(ctx.measureText(t).width); } // ----- CTR heuristic ----- function ctrScore(title, keyword) { var s = 0; var t = title.toLowerCase(); var k = (keyword || '').toLowerCase(); // Keyword in first half: +25 if (k && t.includes(k)) { var pos = t.indexOf(k); if (pos < title.length / 2) s += 25; else s += 12; } // Numbers (listicle bonus): +15 if (/\b(\d{1,3})\b/.test(title)) s += 15; // Power words: +10 each (cap 25) var powers = ['best','top','free','ultimate','proven','complete','essential','easy','quick','simple','new','exclusive','guaranteed','guide','how to']; var pHits = 0; powers.forEach(function(p){ if (t.includes(p)) pHits++; }); s += Math.min(25, pHits * 8); // Year (recency bonus): +10 if (/\b20\d{2}\b/.test(title)) s += 10; // Brackets/parens (eye-catchers): +5 if (/[\[\(]/.test(title)) s += 5; // Question mark (engagement): +5 if (/\?/.test(title)) s += 5; // Optimal length (40-60): +15 if (title.length >= 40 && title.length <= 60) s += 15; // Over-length penalty: -15 if (title.length > 65) s -= 15; return Math.max(0, Math.min(100, s)); } function keywordPosition(title, keyword) { if (!keyword) return 'No keyword'; var t = title.toLowerCase(), k = keyword.toLowerCase(); var i = t.indexOf(k); if (i === -1) return '<span class="amt-pill amt-pill-red">Missing</span>'; if (i < title.length * 0.33) return '<span class="amt-pill amt-pill-green">Start</span>'; if (i < title.length * 0.66) return '<span class="amt-pill amt-pill-yellow">Middle</span>'; return '<span class="amt-pill amt-pill-red">End</span>'; } function charPill(len) { if (len < 40) return '<span class="amt-pill amt-pill-yellow">' + len + '</span>'; if (len <= 60) return '<span class="amt-pill amt-pill-green">' + len + '</span>'; if (len <= 65) return '<span class="amt-pill amt-pill-yellow">' + len + '</span>'; return '<span class="amt-pill amt-pill-red">' + len + '</span>'; } function pixelPill(px) { if (px <= 580) return '<span class="amt-pill amt-pill-green">' + px + 'px</span>'; if (px <= 620) return '<span class="amt-pill amt-pill-yellow">' + px + 'px</span>'; return '<span class="amt-pill amt-pill-red">' + px + 'px</span>'; } function esc(s){return String(s||'').replace(/[&<>"']/g,function(c){return {'&':'&','<':'<','>':'>','"':'"',"'":'''}[c];});} function extractTitlesFromResponse(raw) { // Best case: it returned a clean JSON array try { var trimmed = raw.trim().replace(/^```(?:json)?|```$/g, '').trim(); var parsed = JSON.parse(trimmed); if (Array.isArray(parsed)) return parsed.filter(function(x){ return typeof x === 'string' && x.length > 5; }); } catch (e) {} // Fallback: extract first [...] block var m = raw.match(/\[[\s\S]*\]/); if (m) { try { var parsed2 = JSON.parse(m[0]); if (Array.isArray(parsed2)) return parsed2.filter(function(x){ return typeof x === 'string'; }); } catch (e) {} } // Fallback: split on newlines, strip numbering return raw.split(/\n+/).map(function(l){ return l.replace(/^\s*[\d.)\-*"]+\s*/, '').replace(/["'`]+$/g, '').trim(); }).filter(function(l){ return l.length > 10 && l.length < 120; }).slice(0, 10); } function pickBest(rows) { var bestIdx = 0, bestScore = -1; rows.forEach(function(r, i){ if (r.ctr > bestScore){ bestScore = r.ctr; bestIdx = i; } }); return bestIdx; } function updateSerp(title, keyword) { $('amtSerpTitle').textContent = title; var slug = (keyword || 'your-page') .toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, ''); $('amtSerpUrl').textContent = slug; } // ---- Form handlers ---- $('amtClear').addEventListener('click', function(){ $('amtKeyword').value = ''; $('amtBrand').value = ''; $('amtResult').classList.remove('is-shown'); }); $('amtGenerate').addEventListener('click', function(){ var keyword = $('amtKeyword').value.trim(); if (!keyword) { alert('Please enter a primary keyword.'); $('amtKeyword').focus(); return; } var payload = { prompt: 'seo_meta_title', keyword: keyword, title: keyword, brand: $('amtBrand').value.trim(), pageType: $('amtPageType').value, tone: $('amtTone').value, targetLength: document.querySelector('input[name="amtLen"]:checked').value, powerWords: $('amtPowerWords').checked ? '1' : '', includeYear: $('amtIncludeYear').checked ? '1' : '' }; $('amtResult').classList.add('is-shown'); $('amtResultCard').innerHTML = '<div class="amt-loading"><i class="fa fa-spinner"></i>Generating 10 SEO-optimized titles...</div>'; $('amtGenerate').disabled = true; fetch(AJAX, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }).then(function(r){return r.json();}).then(function(res){ $('amtGenerate').disabled = false; if (!res.success) { $('amtResultCard').innerHTML = '<div class="amt-error">Generation failed. Try again.</div>'; return; } var titles = extractTitlesFromResponse(res.data || ''); if (!titles.length) { $('amtResultCard').innerHTML = '<div class="amt-error">The AI didn\'t return valid titles. Please try again with a clearer keyword.</div>'; return; } var rows = titles.map(function(t){ return { title: t, chars: t.length, px: pixelWidth(t), ctr: ctrScore(t, keyword), pos: keywordPosition(t, keyword) }; }); var bestIdx = pickBest(rows); var html = '<h2 style="font-size:18px;margin:0 0 14px;color:#1a202c;">Your ' + rows.length + ' Title Variants <span style="font-weight:400;color:#6b7280;font-size:13px;">— click any title to preview</span></h2>' + '<table class="amt-table"><thead><tr>' + '<th style="width:50%;">Title</th>' + '<th style="text-align:center;">Chars</th>' + '<th style="text-align:center;">Pixels</th>' + '<th style="text-align:center;">Keyword</th>' + '<th style="text-align:center;">CTR Score</th>' + '<th>Actions</th>' + '</tr></thead><tbody>'; rows.forEach(function(r, i){ var isBest = i === bestIdx; html += '<tr ' + (isBest ? 'class="amt-best"' : '') + ' data-title="' + esc(r.title) + '">' + '<td><div class="amt-title-text">' + esc(r.title) + (isBest ? ' <span class="amt-pill amt-pill-green" style="margin-left:6px;">🏆 BEST</span>' : '') + '</div></td>' + '<td style="text-align:center;">' + charPill(r.chars) + '</td>' + '<td style="text-align:center;">' + pixelPill(r.px) + '</td>' + '<td style="text-align:center;">' + r.pos + '</td>' + '<td class="amt-score-cell">' + r.ctr + '<span class="amt-score-bar"><span class="amt-score-bar-fill" style="width:' + r.ctr + '%;"></span></span></td>' + '<td>' + '<button class="amt-action-btn amt-preview" data-i="' + i + '">Preview</button>' + '<button class="amt-action-btn amt-copy" data-i="' + i + '">Copy</button>' + '</td>' + '</tr>'; }); html += '</tbody></table>'; $('amtResultCard').innerHTML = html; // Wire up actions document.querySelectorAll('.amt-preview').forEach(function(b){ b.addEventListener('click', function(){ var idx = parseInt(b.getAttribute('data-i'), 10); updateSerp(rows[idx].title, keyword); document.getElementById('amtSerpTitle').scrollIntoView({behavior:'smooth', block:'nearest'}); }); }); document.querySelectorAll('.amt-copy').forEach(function(b){ b.addEventListener('click', function(){ var idx = parseInt(b.getAttribute('data-i'), 10); navigator.clipboard.writeText(rows[idx].title).then(function(){ var old = b.innerHTML; b.innerHTML = '✓ Copied'; setTimeout(function(){ b.innerHTML = old; }, 1500); }); }); }); // Pre-populate SERP with the best updateSerp(rows[bestIdx].title, keyword); // Cross-tool link: pre-fill description generator $('amtNextStep').href = DESC_TOOL_URL + '?title=' + encodeURIComponent(rows[bestIdx].title) + '&keyword=' + encodeURIComponent(keyword); }).catch(function(e){ $('amtGenerate').disabled = false; $('amtResultCard').innerHTML = '<div class="amt-error">Network error. Please try again.</div>'; }); }); })(); </script> </div></div></div><!-- Bug Button --> <style> #bug-btn { position: fixed; bottom: 20px; right: 20px; padding: 12px 18px; background: #fa4c10; color: #fff; font-weight: 600; border-radius: 8px; cursor: pointer; z-index: 9999; } </style> <a id="bug-btn" href="https://docs.google.com/forms/d/e/1FAIpQLSc2gvlcBGr_8E0ceKnZMKwuUZBEk0tHRlHdq516KwnxVUaM0Q/viewform?usp=pp_url&entry.123456789=" target="_blank" rel="nofollow noopener" onclick="this.href += encodeURIComponent(window.location.href)"> Report a Bug </a> <!-- Bug Button End--> <div class="f_intro_bg text-center"> <form class="navbar-form mn" action="#"> <img src="https://toolspivot.com/theme/smallseo/img/form_subcribe_footer.png?v=1743851072" class="f_icon" loading="lazy" decoding="async"> <span class="f_text">Subscribe to our Newsletter</span> <div class="input-group"> <input id="newsletterEmail" name="email" placeholder="Enter your Email Address" class="form-control search_input pl30" type="email"> <div class="input-group-btn"> <button id="newsletterSubscribe" type="submit" class="btn btn-default search_button">Subscribe</button> </div> </div> </form> </div> <div class="f_description_bg text-center"> <div class="f_graph"> <div class="container"> <div class="col-lg-1 col-md-1"></div> <div class="col-lg-3 col-md-3 col-sm-4 col-xs-12 f_logo_box f_contect pn"> <a class="navbar-brand ptn" href="https://toolspivot.com/ru/"><img src="https://toolspivot.com/uploads/ToolsPivot Light Logo.png" alt="Logo" loading="lazy" decoding="async" /></a> <div class="contect_info col-xs-12 pn"> <p>CONTACT US</p> <span>marketing@toolspivot.com</span> </div> <div class="address_info col-xs-12 pn"> <p>ADDRESS</p> <span>Ward No.1, Nehuta, P.O - Kusha, P.S - Dobhi, Gaya, Bihar, India, 824220</span> </div> </div> <div class="col-lg-4 col-md-4 col-sm-4 col-xs-12 lef_to_right_border f_version"> <p>Our Most Popular Tools</p> <a href="https://toolspivot.com/ru/word-counter-tool" title="Word Counter"><div class="ver_img has-fa"><i class="fa fa-file-text-o"></i></div></a> <a href="https://toolspivot.com/ru/plagiarism-checker" title="Plagiarism Checker"><div class="ver_img has-fa"><i class="fa fa-search"></i></div></a> <a href="https://toolspivot.com/ru/sitemap-generator-tool" title="Sitemap Generator"><div class="ver_img has-fa"><i class="fa fa-sitemap"></i></div></a> <a href="https://toolspivot.com/ru/robots-txt-generator" title="Robots.txt Generator"><div class="ver_img has-fa"><i class="fa fa-android"></i></div></a> <a href="https://toolspivot.com/ru/reverse-image-search" title="Reverse Image Search"><div class="ver_img has-fa"><i class="fa fa-picture-o"></i></div></a> <a href="https://toolspivot.com/ru/keywords-research-tool" title="Keywords Research"><div class="ver_img has-fa"><i class="fa fa-key"></i></div></a> <a href="https://toolspivot.com/ru/backlink-maker" title="Backlink Maker"><div class="ver_img has-fa"><i class="fa fa-link"></i></div></a> <a href="https://toolspivot.com/ru/meta-tag-generator" title="Meta Tag Generator"><div class="ver_img has-fa"><i class="fa fa-tags"></i></div></a> <a href="https://toolspivot.com/ru/page-speed-checker" title="Page Speed Checker"><div class="ver_img has-fa"><i class="fa fa-tachometer"></i></div></a> <a href="https://toolspivot.com/ru/article-rewriter-tool" title="Article Rewriter"><div class="ver_img has-fa"><i class="fa fa-pencil-square-o"></i></div></a> </div> <div class="col-lg-4 col-md-4 col-sm-4 col-xs-12 f_contect pl30" style="min-height: 230px;"> <div class="mor_pages"> <p>QUICK LINKS</p> <li><a href="https://toolspivot.com/ru/">Дом</a></li><li><a href="https://toolspivot.com/ru/page/changelog">Changelog</a></li><li><a href="https://toolspivot.com/ru/page/privacy-policy">Privacy Policy</a></li><li><a href="https://toolspivot.com/ru/page/terms-of-service">Terms of Service</a></li><li><a href="https://toolspivot.com/ru/page/write-for-us">Писать для нас</a></li><li><a href="https://toolspivot.com/ru/contact">Свяжитесь с нами</a></li><li><a href="https://toolspivot.com/ru/page/about-us">О нас</a></li> </div> </div> </div> </div> </div> <div class="clearfix"></div> <div style="position: relative;"> <div class="container-fluid p10 footer"> <div class="container pn"> <div class="col-md-6 col-sm-12 col-xs-12 text-center pull-right_big"> </div> <div class="col-md-6 col-sm-12 col-xs-12"> <p class="text-center margin0">Авторское право © 2018-2026 ToolsPivot.com. Все права защищены. </p> </div> </div> </div> </div> <script type="text/javascript"> $("body").append('<div class="top">↑</div>'),$(window).scroll(function(){$(this).scrollTop()>220?$(".top").fadeIn(500):$(".top").fadeOut(500)}),$(".top").click(function(a){return a.preventDefault(),$("html, body").animate({scrollTop:0},500),!1}) </script> <script> jQuery(document).ready(function(){ jQuery("#newsletterSubscribe").click(function(e) { e.preventDefault(); var newsletterEmail = jQuery('#newsletterEmail').val(); if (newsletterEmail == '') { sweetAlert(oopsStr, inputEm, "error"); }else { jQuery.post(baseUrl + 'newsletter', {subscribe: '1', email: newsletterEmail}, function (data) { if (data.success) sweetAlert('Success', data.msg, "success"); else sweetAlert(oopsStr, data.msg, "error"); }); } }); }); </script> <!-- Bootstrap --> <script src="https://toolspivot.com/theme/smallseo/js/bootstrap.min.js?v=1743851074" type="text/javascript"></script> <!-- Sweet Alert --> <script type='text/javascript' src='https://toolspivot.com/theme/smallseo/js/sweetalert.min.js?v=1743851074'></script> <!-- App JS --> <script src="https://toolspivot.com/theme/smallseo/js/app.js?v=1779073530" type="text/javascript"></script> <!-- Master JS --> <script src="https://toolspivot.com/ru/rainbow/master-js" type="text/javascript"></script> <!-- XD Box --> <div class="modal fade loginme" id="xdBox" role="dialog" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button id="xdClose" type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title" id="xdTitle"></h4> </div> <div class="modal-body" id="xdContent"> </div> </div> </div> </div> <script> $("#collapse0").collapse();</script></body> </html> <!-- Cookie consent banner — GDPR/ePrivacy compliance. Renders only if no consent cookie set yet. --> <div id="bvCookieBar" style="display:none;position:fixed;left:0;right:0;bottom:0;background:#1a202c;color:#fff;padding:14px 20px;z-index:9998;box-shadow:0 -2px 12px rgba(0,0,0,0.15);font-size:14px;line-height:1.5;"> <div style="max-width:1200px;margin:0 auto;display:flex;gap:16px;align-items:center;flex-wrap:wrap;"> <div style="flex:1;min-width:240px;"> 🍪 We use cookies for analytics, ad personalization, and to improve your experience. By continuing to use this site, you agree to our <a href="https://toolspivot.com/ru/page/privacy-policy" style="color:#fa4c10;text-decoration:underline;">Privacy Policy</a>. </div> <div style="display:flex;gap:8px;flex-wrap:wrap;"> <button type="button" id="bvCookieAccept" style="background:#fa4c10;color:#fff;border:0;padding:9px 18px;border-radius:6px;font-weight:600;cursor:pointer;">Accept all</button> <button type="button" id="bvCookieDecline" style="background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.3);padding:9px 16px;border-radius:6px;font-weight:600;cursor:pointer;">Reject</button> </div> </div> </div> <script> (function(){ var COOKIE = 'bv_cookie_consent'; var bar = document.getElementById('bvCookieBar'); // Read consent cookie function getConsent() { var m = document.cookie.match(/(?:^|; )bv_cookie_consent=([^;]+)/); return m ? decodeURIComponent(m[1]) : null; } function setConsent(val) { var d = new Date(); d.setTime(d.getTime() + 365 * 86400 * 1000); document.cookie = COOKIE + '=' + val + '; expires=' + d.toUTCString() + '; path=/; SameSite=Lax'; } if (!getConsent()) { bar.style.display = ''; } document.getElementById('bvCookieAccept').addEventListener('click', function(){ setConsent('accepted'); bar.style.display = 'none'; // Optionally re-fire analytics with consent if (typeof gtag === 'function') gtag('consent', 'update', { ad_storage: 'granted', analytics_storage: 'granted' }); }); document.getElementById('bvCookieDecline').addEventListener('click', function(){ setConsent('declined'); bar.style.display = 'none'; if (typeof gtag === 'function') gtag('consent', 'update', { ad_storage: 'denied', analytics_storage: 'denied' }); }); })(); </script>