SEO-эксперт

SEO-букмарклеты, инструменты

Для Быстрого SEO-парсера Владислава Островерха

Вставьте JS-код вместо ссылки в закладку браузера. Откройте нужную страницу, нажмите закладку — данные появятся сразу. Это базовый сценарий быстрого сео анализа без расширений.

Что такое букмарклет? Открыть объяснение +

Букмарклет — небольшая программа на JavaScript, сохранённая как обычная закладка. Она запускается только по вашему клику и работает с открытой вкладкой: читает метатеги, заголовки, ссылки или доступный HTML.

Отдельное расширение не нужно. Код можно использовать для аудита сайта, подготовки текста и анализа поисковой выдачи.

Chrome Safari Firefox Edge
Откройте сайт
в браузере
Нажмите закладку
Панель закладок браузера
▶Видео запускается само и повторяется без звука.
Установка за минуту

Как установить букмарклет

  1. 1

    Создайте закладку

    Добавьте любую страницу в закладки и откройте её редактирование.

  2. 2

    Вставьте JS вместо URL

    Скопируйте код ниже и полностью замените им адрес закладки.

  3. 3

    Нажмите на нужной странице

    Откройте сайт и запустите сохранённую закладку одним кликом.

Код из первого видео · ссылки из выдачи
javascript:(function(){function f(t){var a=document.createElement('textarea');a.value=t;a.style.position='fixed';a.style.top='-9999px';document.body.appendChild(a);a.focus();a.select();try{document.execCommand('copy')}catch(e){}document.body.removeChild(a)}function dec(h){try{var u=new URL(h,location.href);if(/(^|\.)bing\.com$/i.test(u.hostname)&&u.pathname.indexOf('/ck/a')===0){var x=u.searchParams.get('u');if(x&&x.indexOf('a1')===0){x=x.slice(2).replace(/-/g,'+').replace(/_/g,'/');while(x.length%4)x+='=';try{return decodeURIComponent(escape(atob(x)))}catch(e){try{return atob(x)}catch(e2){}}}}}catch(e){}return h}function ok(h){h=dec(h);var x=(h||'').toLowerCase();return h&&/^https?:\/\//i.test(h)&&x.indexOf(%27.pdf%27)<0&&x.indexOf(%27.docx%27)<0&&x.indexOf(%27yabs.yandex.ru%27)<0&&x.indexOf(%27yandex.ru/an/%27)<0&&x.indexOf(%27yandex.ru/video/%27)<0&&!/^https?:\/\/(?:www\.)?bing\.com\//i.test(h)&&!/^https?:\/\/(?:[^\/]+\.)?google\.[^\/]+\//i.test(h)}var seen=new Set(),l=[];function put(h){h=dec(h);if(ok(h)&&!seen.has(h)){seen.add(h);l.push(h)}}function add(e){if(!e)return;put(e.href||e.getAttribute(%27href%27))}document.querySelectorAll(%27a.OrganicTitle-Link[href],a.link.organic__url[href],a.zReHs[href],div.yuRUbf>a[href],li.b_algo h2>a[href],#b_results li.b_algo h2>a[href]').forEach(add);if(/(^|\.)google\./i.test(location.hostname)){document.querySelectorAll('h3').forEach(function(h){var a=h.closest('a[href]');if(!a)return;var href=a.getAttribute('href')||'';if(/^https?:\/\//i.test(href)){put(href);return}var box=a.parentElement;for(var i=0;i<6&&box;i++,box=box.parentElement){var c=box.querySelector('cite');if(c){var s=(c.innerText||c.textContent||'').trim().replace(/\s*›\s*/g,'/').replace(/\s+/g,'');var m=s.match(/^https?:\/\/[^…\s]+/i);if(m){put(m[0].replace(/\/+$/,''));return}}}})}var text=l.join('\n');if(navigator.clipboard&&navigator.clipboard.writeText){navigator.clipboard.writeText(text).catch(function(){f(text)})}else{f(text)}})();

Вставьте всю строку вместо URL новой закладки.

После сбора ссылок

Очистите список до одной страницы с каждого домена

Это не букмарклет, а важная рабочая форма. Она уже стоит в очереди на интеграцию в парсер — как только у прогера до неё дойдут руки. А пока здесь собрано всё в одном месте: букмарклеты и очистка ссылок.

Зачем удалять доменные дубли

После копирования выдачи из Яндекса, Google или Bing один сайт может встретиться несколько раз. Если отправить все страницы в анализ, парсер соберёт перекошенную статистику. Оставьте первую ссылку каждого домена и работайте только с уникальными сайтами.

  • субдомены считаются одним сайтом;
  • сохраняется первая встретившаяся ссылка;
  • повторы домена и некорректные строки удаляются.

После очистки результат появится в этом же поле.

Шаг 3 · нейроответы в поиске

Скопируйте Zero Click Яндекса, ответы Алисы и Google AI Overview

Букмарклет забирает тезисы нейроответа вместе со ссылками на источники. Эти данные можно добавить в материал для написания текста: увидеть, какие факты, формулировки и подтемы поисковая система уже считает полезными для пользователя. Так тезисы готовы для быстрого сео разбора.

Что попадёт в буфер

  • заголовки, абзацы и пункты нейроответа;
  • URL источников, найденные внутри блоков;
  • название и адрес страницы поисковой выдачи.

Используйте тезисы как материал для структуры и проверки полноты, а факты обязательно перепроверяйте по первоисточникам.

Zero Click · Алиса · Google AI Overview
javascript:(()=>{const W2AI='w2ai_'+Date.now(),cleanUrl=u=>{try{const x=new URL(u,location.href);if(!/^https?:$/.test(x.protocol))return%27%27;return x.href}catch(e){return%27%27}},visible=e=>{try{return!!(e.getClientRects().length)&&getComputedStyle(e).display!==%27none%27&&getComputedStyle(e).visibility!==%27hidden%27}catch(e){return false}},roots=[...document.querySelectorAll(%27.FactFold-Container .FuturisGPTMessage-GroupContent,.FactFold-Container .FuturisMarkdown,.pWvJNd,[data-container-id="main-col"]%27)].filter(visible),root=roots.sort((a,b)=>(b.innerText||%27%27).length-(a.innerText||%27%27).length)[0]||document.body,skip=e=>!!e.closest(%27.FuturisGPTMessage-GroupSources,.FuturisActionsPanel,.FuturisGPTMessage-HintsContainer,.FuturisInput,script,style,noscript%27),sels=%27h1,h2,h3,h4,h5,h6,p,li,[role="heading"],.FuturisMarkdown-Paragraph,.n6owBd.awi2gc%27,els=[...root.querySelectorAll(sels)].filter(e=>visible(e)&&!skip(e)),allUrls=new Set(),rows=[],norm=s=>(s||%27%27).replace(/\u00a0/g,%27 %27).replace(/[ \t]+/g,%27 %27).replace(/\s*\n\s*/g,%27 %27).trim(),txt=e=>{const c=e.cloneNode(true);c.querySelectorAll(%27script,style,noscript,svg,img,button,[aria-hidden="true"],[style*="display: none"],.FuturisFootnote,.WBgIic,.DHPVt%27).forEach(x=>x.remove());c.querySelectorAll(%27br%27).forEach(x=>x.replaceWith(%27\n%27));return norm(c.textContent)},urls=e=>{const s=new Set();e.querySelectorAll(%27a[href]%27).forEach(a=>{const u=cleanUrl(a.getAttribute(%27href%27));if(u&&!/^(javascript|data):/i.test(u)){s.add(u);allUrls.add(u)}});return[...s]},seen=new Set();els.forEach(e=>{const t=txt(e);if(!t||t.length<2)return;const us=urls(e),key=t+%27|%27+us.join(%27|%27);if(seen.has(key))return;seen.add(key);let prefix=%27%27;if(e.matches(%27h1,h2,h3,h4,h5,h6,[role="heading"]%27))prefix=%27\n%27;else if(e.matches(%27li%27))prefix=%27- %27;rows.push(prefix+t+(us.length?%27\nURL%27+(us.length>1?%27S%27:%27%27)+%27:\n%27+us.join(%27\n%27):%27%27))});if(!rows.length){const t=norm(root.innerText);if(t)rows.push(t);root.querySelectorAll(%27a[href]%27).forEach(a=>{const u=cleanUrl(a.getAttribute(%27href%27));if(u)allUrls.add(u)})}const out=%27=== AI RESPONSE ===\n\n%27+rows.join(%27\n\n%27)+%27\n\n=== ALL URLS ===\n%27+([...allUrls].length?[...allUrls].join(%27\n%27):%27URL не найдены%27)+%27\n\n=== PAGE ===\n%27+document.title+%27\n%27+location.href,toast=(msg,ok)=>{document.getElementById(W2AI)?.remove();const d=document.createElement(%27div%27);d.id=W2AI;d.textContent=msg;Object.assign(d.style,{position:%27fixed%27,left:%2750%%27,top:%2750%%27,transform:%27translate(-50%,-50%)%27,zIndex:%272147483647%27,padding:%2718px 26px%27,borderRadius:%2712px%27,background:ok?%27rgba(20,130,70,.96)%27:%27rgba(180,40,40,.96)%27,color:%27#fff',font:'600 15px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif',boxShadow:'0 8px 35px rgba(0,0,0,.35)',maxWidth:'80vw',textAlign:'center'});document.documentElement.appendChild(d);setTimeout(()=>d.remove(),5000)},fallback=()=>{const ta=document.createElement('textarea');ta.value=out;Object.assign(ta.style,{position:'fixed',left:'-99999px',top:'-99999px'});document.body.appendChild(ta);ta.select();const ok=document.execCommand('copy');ta.remove();toast(ok?'Скопировано: '+rows.length+' строк, '+allUrls.size+' URL':'Не удалось скопировать',ok)};navigator.clipboard&&navigator.clipboard.writeText?navigator.clipboard.writeText(out).then(()=>toast('Скопировано: '+rows.length+' строк, '+allUrls.size+' URL',true)).catch(fallback):fallback()})()

Откройте поисковую выдачу с нейроответом и нажмите сохранённую закладку.

НейроответТезисы + источники
Один клик копирует содержание нейроответа и все найденные URL в буфер обмена.
Шаг 4 · выжимка страницы

Скопируйте очищенный HTML-код страницы одним кликом

Букмарклет копирует содержимое открытой страницы прямо из реального браузера. Он удаляет CSS, JavaScript, формы, встроенные фреймы и служебные атрибуты. В буфере остаются текст, нужные HTML-теги, ссылки и основные данные изображений.

Браузер→Чистый HTML→Парсер
Когда пригодится

Парсер не может открыть сайт

Некоторые ресурсы блокируют автоматические запросы. Откройте документ вручную, запустите закладку и вставьте полученный код в функцию импорта HTML.

  • без CSS-стилей и лишних скриптов;
  • без форм, видео, iframe и служебных блоков;
  • с текстом, ссылками, таблицами и структурой документа.
Очищенный HTML страницы
javascript:(()=>{try{let d=document.documentElement.cloneNode(true);d.querySelectorAll('script,style,link,meta,noscript,iframe,object,embed,svg,canvas,template,dialog,form,input,button,select,textarea,option,video,audio,source,track').forEach(e=>e.remove());d.querySelectorAll('*').forEach(e=>{[...e.attributes].forEach(a=>{let n=a.name.toLowerCase();if(n.startsWith('on')||['style','class','id','role','tabindex','contenteditable','draggable','spellcheck','hidden','aria-hidden','aria-label','aria-labelledby','aria-describedby','data-src','data-srcset','srcset','loading','decoding','fetchpriority','crossorigin','integrity','nonce'].includes(n)||n.startsWith('data-'))e.removeAttribute(a.name)});if(e.tagName==='IMG')[...e.attributes].forEach(a=>{if(!['src','alt','title'].includes(a.name.toLowerCase()))e.removeAttribute(a.name)});if(e.tagName==='A')[...e.attributes].forEach(a=>{if(!['href','title'].includes(a.name.toLowerCase()))e.removeAttribute(a.name)})});d.querySelectorAll('*').forEach(e=>{if(!e.textContent.trim()&&!['IMG','BR','HR'].includes(e.tagName))e.remove()});let h='\n'+d.outerHTML,s=()=>{let x=document.createElement('div');x.textContent='Очищенный HTML скопирован в буфер обмена';x.style='position:fixed;top:20px;right:20px;z-index:2147483647;background:#222;color:#fff;padding:12px 18px;border-radius:6px;font:14px Arial,sans-serif;box-shadow:0 2px 10px #0004';document.body.appendChild(x);setTimeout(()=>x.remove(),3000)};navigator.clipboard.writeText(h).then(s).catch(()=>{let t=document.createElement('textarea');t.value=h;document.body.appendChild(t);t.select();document.execCommand('copy');t.remove();s()})}catch(e){let x=document.createElement('div');x.textContent='Ошибка: '+e.message;x.style='position:fixed;top:20px;right:20px;z-index:2147483647;background:#c00;color:#fff;padding:12px 18px;border-radius:6px;font:14px Arial,sans-serif';document.body.appendChild(x);setTimeout(()=>x.remove(),3000)}})();

После запуска появится сообщение: «Очищенный HTML скопирован в буфер обмена».

Открытая страницаHTML без лишнего мусора
Букмарклет работает с уже открытым документом, поэтому сайт видит обычный браузер, а не внешний парсер.
Коллекция будет расти

SEO-инструменты для анализа сайта одним кликом

Следующие версии страницы получат отдельный код и короткий ролик для каждой задачи. Каркас уже подготовлен под новые материалы.

Листайте карточки →

Готово

Очищенный HTML

Оставляет структуру, текст и ссылки без CSS и лишнего JavaScript.

Взять код →
Готово

Нейроответы поиска

Копирует тезисы и источники из Яндекса, Алисы и Google AI Overview.

Взять код →
ИнструментЧто проверяетДействий до результата
Стартовый парсерTitle, H1, Description1 клик
Ссылки из выдачиРезультаты Яндекса, Google и Bing1 клик
Уникальные доменыПовторы сайтов и некорректные URL1 клик
Нейроответы поискаТезисы и источники Яндекса и Google1 клик
Очищенный HTMLТекст, теги, ссылки и изображения страницы1 клик
Перед запуском

Проверяйте JavaScript-код и источник

Букмарклет выполняется в контексте открытой страницы. Не запускайте неизвестный скрипт во вкладке с почтой, банком, CRM или личным кабинетом.

  • Читайте понятный исходный код перед сохранением.
  • Не используйте строку, запрашивающую пароль или токен.
  • Проверяйте новый инструмент на нейтральной странице.

Если код изменён третьим лицом, удалите старую закладку и возьмите проверенную версию заново.

Короткие ответы

Вопросы об установке и использовании букмарклетов

Букмарклет — небольшой JavaScript-код, сохранённый вместо обычного URL в закладке браузера. По нажатию он обрабатывает открытую страницу и показывает результат без отдельной программы.

Нашли ошибку или нужна функция?

Напишите Владиславу — добавим полезный инструмент

Пришлите страницу, задачу и ожидаемый результат. Так следующая версия букмарклета получится прикладной, а видео покажет реальный сценарий.

Бонусный букмарклет

Title, H1 и Description — версия после долгих тестов

Этот букмарклет я долго тестировал, дорабатывал и несколько раз откатывал. В итоге оставил рабочую версию, которая показывает длину Title и Description, все H1, совпадающие основы слов и границы рекомендуемой длины.

Проверка страницыTitle · H1 · Description
Ролик запускается автоматически и показывает результат проверки прямо в браузере.

Заберите проверенную версию

Скопируйте всю строку и вставьте её в поле URL новой закладки.

Бонус · Title, H1 и Description
javascript:(function(){var stop=new Set('в на и с по к о а но да же ли уж вот тут там как что это то не из за до при над под от об со для или если ведь уже всё все был была было были будет будут который которая которые можно также является позволяет'.split(' '));function esc(s){return String(s||'').replace(/[&<>"]/g,function(m){return{'&':'&','<':'<','>':'>','"':'"'}[m]})}function stem(w){w=w.toLowerCase().replace(/[^а-яёa-z]/g,'');if(w.length<=4)return w;return w.slice(0,5)}function getStems(s){return(s.match(/[а-яёa-zA-ZЀ-ӿ]{2,}/g)||[]).map(stem).filter(function(x){return x.length>1&&!stop.has(x)})}function stemSet(s){return new Set(getStems(s))}function markTitleH1(str,inBoth,inOwn){return esc(str).replace(/[а-яёa-zA-ZЀ-ӿ]{2,}/gi,function(w){var s=stem(w);if(stop.has(s)||s.length<=1)return w;if(inBoth.has(s))return'<b style="outline:2px solid #1a1a1a;border-radius:3px;padding:0 3px;font-weight:700;font-style:normal">'+w+'</b>';if(inOwn.has(s))return'<b style="outline:2px dashed #888;border-radius:3px;padding:0 3px;font-weight:normal;font-style:normal">'+w+'</b>';return w})}function markDesc(str,ts,allHs){return esc(str).replace(/[а-яёa-zA-ZЀ-ӿ]{2,}/gi,function(w){var s=stem(w);if(stop.has(s)||s.length<=1)return w;var inT=ts.has(s),inH=allHs.has(s);if(inT&&inH)return'<b style="outline:2px solid #cc3300;border-radius:3px;padding:0 3px;font-weight:700;font-style:normal" title="дубль: Title + H1">'+w+'</b>';if(inT)return'<b style="outline:2px solid #1a1a1a;border-radius:3px;padding:0 3px;font-weight:700;font-style:normal" title="дубль: Title">'+w+'</b>';if(inH)return'<b style="outline:2px solid #0066cc;border-radius:3px;padding:0 3px;font-weight:700;font-style:normal" title="дубль: H1">'+w+'</b>';return'<b style="outline:2px dashed #aaa;border-radius:3px;padding:0 3px;font-weight:normal;font-style:normal" title="уникальное">'+w+'</b>'})}function limitLine(str,target,emptyText){var a=Array.from(str||''),out='',i;for(i=0;i<a.length;i++){var ch=esc(a[i]);if(i===target-1)out+='<span style="background:#fff3cd;outline:2px solid #d35400;border-radius:3px;padding:1px 2px">'+(ch===' '?'·':ch)+'</span><span style="color:#d35400;font-weight:700;margin:0 3px">←'+target+'</span>';else if(i>=target)out+='<span style="background:#fdecea;color:#b00020;padding:1px 0">'+(ch===' '?'·':ch)+'</span>';else out+='<span>'+(ch===' '?'·':ch)+'</span>'}if(!a.length)out='<span style="color:#999">'+emptyText+'</span>';if(a.length<target)out+='<span style="color:#d35400;font-weight:700;margin-left:6px">← до '+target+' осталось '+(target-a.length)+'</span>';return out}function statBadge(name,len,target){var d=len-target,ok=d<=0,icon=ok?'👍':'👎',s=d===0?'идеально':d<0?'не хватает '+Math.abs(d):'лишние '+d;return'<span style="padding:6px 10px;border-radius:8px;background:#f4f4f4;border:1px solid #ddd"><b>'+icon+' '+name+':</b> '+len+' / '+target+'</span><span style="padding:6px 10px;border-radius:8px;background:'+(d===0?'#eaf7ea':d<0?'#fff8e1':'#fdecea')+';border:1px solid '+(d===0?'#b7dfb7':d<0?'#ffe082':'#f5c2c7')+'"><b>Близость:</b> '+s+'</span>'}var t=document.title||'',target=57,descTarget=120,tLen=Array.from(t).length,url=window.location.href,descEl=document.querySelector('meta[name="description"]'),desc=descEl?descEl.getAttribute('content'):'',descShow=desc||'(Description не найден)',descLen=Array.from(desc).length,h1els=Array.from(document.querySelectorAll('h1')),h1texts=h1els.length?h1els.map(function(el){return el.innerText.trim()}):['(H1 не найден)'],ts=stemSet(t),allH1Stems=new Set();h1texts.forEach(function(h){getStems(h).forEach(function(s){allH1Stems.add(s)})});var ds=stemSet(desc),bothTitleAllH=new Set([...ts].filter(function(x){return allH1Stems.has(x)})),onlyT=new Set([...ts].filter(function(x){return!allH1Stems.has(x)})),markedT=markTitleH1(t,bothTitleAllH,onlyT),h1blocks='';h1texts.forEach(function(h,i){var hs=stemSet(h),bothWithTitle=new Set([...hs].filter(function(x){return ts.has(x)})),onlyH=new Set([...hs].filter(function(x){return!ts.has(x)})),label=h1texts.length>1?'H1 #'+(i+1):'H1';h1blocks+='<div style="margin-bottom:8px"><span style="font-size:11px;background:#f0f0f0;color:#555;padding:2px 8px;border-radius:4px;font-weight:600">'+label+'</span></div><div style="font-size:16px;line-height:2;margin-bottom:20px;padding:12px 14px;background:#fafafa;border-radius:8px;border:1px solid #eee">'+markTitleH1(h,bothWithTitle,onlyH)+'</div>'});var dInT=new Set([...ds].filter(function(x){return ts.has(x)&&!allH1Stems.has(x)})),dInH=new Set([...ds].filter(function(x){return allH1Stems.has(x)&&!ts.has(x)})),dInTH=new Set([...ds].filter(function(x){return ts.has(x)&&allH1Stems.has(x)})),dUniq=new Set([...ds].filter(function(x){return!ts.has(x)&&!allH1Stems.has(x)})),markedD=markDesc(descShow,ts,allH1Stems),descStats='<div style="display:flex;gap:10px;flex-wrap:wrap;font-size:12px;margin-bottom:10px"><span style="padding:3px 8px;border-radius:4px;border:2px solid #cc3300;color:#cc3300;font-weight:600">Title+H1: '+dInTH.size+'</span><span style="padding:3px 8px;border-radius:4px;border:2px solid #1a1a1a;color:#1a1a1a;font-weight:600">только Title: '+dInT.size+'</span><span style="padding:3px 8px;border-radius:4px;border:2px solid #0066cc;color:#0066cc;font-weight:600">только H1: '+dInH.size+'</span><span style="padding:3px 8px;border-radius:4px;border:2px dashed #aaa;color:#888">уникальных: '+dUniq.size+'</span></div>',old=document.getElementById('_seo_ov');if(old)old.remove();var ov=document.createElement('div');ov.id='_seo_ov';ov.style.cssText='position:fixed;top:0;left:0;right:0;bottom:0;z-index:2147483647;background:rgba(255,255,255,.72);display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;';var panel=document.createElement('div');panel.style.cssText='background:#fff;color:#1a1a1a;max-width:860px;width:94vw;border-radius:12px;padding:28px 32px;box-shadow:0 8px 40px rgba(0,0,0,.25);position:relative;max-height:90vh;overflow-y:auto;border:1px solid #ddd;';panel.innerHTML='<button onclick="document.getElementById(\'_seo_ov\').remove()" style="position:absolute;top:14px;right:16px;background:none;border:none;font-size:20px;cursor:pointer;color:#666">×</button><div style="font-size:11px;font-weight:600;letter-spacing:.08em;color:#888;margin-bottom:16px;text-transform:uppercase">SEO: Title / H1 / Description</div><div style="display:flex;flex-direction:column;gap:8px;margin-bottom:14px;font-size:13px">'+statBadge('Title',tLen,target)+statBadge('Description',descLen,descTarget)+'</div><div style="margin-bottom:8px"><span style="font-size:11px;background:#f0f0f0;color:#555;padding:2px 8px;border-radius:4px;font-weight:600">TITLE</span></div><div style="font-size:16px;line-height:2;margin-bottom:10px;padding:12px 14px;background:#fafafa;border-radius:8px;border:1px solid #eee">'+markedT+'</div><div style="font-size:14px;line-height:2;margin-bottom:22px;padding:12px 14px;background:#fff;border-radius:8px;border:1px dashed #ccc;word-break:break-word">'+limitLine(t,target,'Title пустой')+'</div>'+h1blocks+'<div style="margin-bottom:8px"><span style="font-size:11px;background:#f0f0f0;color:#555;padding:2px 8px;border-radius:4px;font-weight:600">DESCRIPTION</span></div>'+descStats+'<div style="font-size:15px;line-height:2;margin-bottom:10px;padding:12px 14px;background:#fafafa;border-radius:8px;border:1px solid #eee">'+markedD+'</div><div style="font-size:12px;color:#777;margin:0 0 6px 2px;font-weight:600">DESCRIPTION — ориентир 120 символов</div><div style="font-size:14px;line-height:2;margin-bottom:20px;padding:12px 14px;background:#fff;border-radius:8px;border:1px dashed #ccc;word-break:break-word">'+limitLine(desc,descTarget,'Description пустой')+'</div><div style="border-top:1px solid #eee;padding-top:12px;font-size:12px;color:#999;word-break:break-all"><span style="color:#bbb;margin-right:6px">URL</span><a href="'+esc(url)+'" style="color:#555;text-decoration:none" target="_blank">'+esc(url)+'</a></div>';ov.appendChild(panel);ov.addEventListener('click',function(e){if(e.target===ov)ov.remove()});document.addEventListener('keydown',function f(e){if(e.key==='Escape'){ov.remove();document.removeEventListener('keydown',f)}});document.body.appendChild(ov)})();

Код работает на открытой странице и выводит результат в браузере.

Следующий шаг

Попробуйте LSI-парсер бесплатно или подключите полную версию

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

Бесплатно

Однословные ключи

На открытой странице сервиса можно бесплатно собирать однословники и познакомиться с базовым принципом работы.

  • без оплаты;
  • подходит для первой проверки;
  • запуск прямо на сайте.
Открыть бесплатную версию →
1 000 ₽ в месяц

Полная версия и обучение

В Telegram-группе собраны инструкции и множество видео с примерами работы. Для покупки напишите Владиславу в личные сообщения и переведите 1 000 ₽.

  • полный набор возможностей;
  • закрытая группа пользователей;
  • видео по работе с инструментом.