Метатеги и H1
Показывает Title, Description и главный заголовок текущей страницы.
Код для сео анализа →Вставьте JS-код вместо ссылки в закладку браузера. Откройте нужную страницу, нажмите закладку — данные появятся сразу. Это базовый сценарий быстрого сео анализа без расширений.
Букмарклет — небольшая программа на JavaScript, сохранённая как обычная закладка. Она запускается только по вашему клику и работает с открытой вкладкой: читает метатеги, заголовки, ссылки или доступный HTML.
Отдельное расширение не нужно. Код можно использовать для аудита сайта, подготовки текста и анализа поисковой выдачи.
Добавьте любую страницу в закладки и откройте её редактирование.
Скопируйте код ниже и полностью замените им адрес закладки.
Откройте сайт и запустите сохранённую закладку одним кликом.
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 новой закладки.
Откройте страницу результатов поиска и нажмите сохранённую закладку. Букмарклет сам определит поисковую систему, соберёт адреса результатов без дублей и скопирует список построчно. Список пригодится для быстрого сео сравнения результатов.
Создайте закладку и вставьте код вместо URL.
Откройте выдачу Яндекса, Google или Bing.
Нажмите закладку — весь список попадёт в буфер.
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 один сайт может встретиться несколько раз. Если отправить все страницы в анализ, парсер соберёт перекошенную статистику. Оставьте первую ссылку каждого домена и работайте только с уникальными сайтами.
Букмарклет забирает тезисы нейроответа вместе со ссылками на источники. Эти данные можно добавить в материал для написания текста: увидеть, какие факты, формулировки и подтемы поисковая система уже считает полезными для пользователя. Так тезисы готовы для быстрого сео разбора.
Используйте тезисы как материал для структуры и проверки полноты, а факты обязательно перепроверяйте по первоисточникам.
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()})()
Откройте поисковую выдачу с нейроответом и нажмите сохранённую закладку.
Букмарклет копирует содержимое открытой страницы прямо из реального браузера. Он удаляет CSS, JavaScript, формы, встроенные фреймы и служебные атрибуты. В буфере остаются текст, нужные HTML-теги, ссылки и основные данные изображений.
Некоторые ресурсы блокируют автоматические запросы. Откройте документ вручную, запустите закладку и вставьте полученный код в функцию импорта 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 скопирован в буфер обмена».
Следующие версии страницы получат отдельный код и короткий ролик для каждой задачи. Каркас уже подготовлен под новые материалы.
Листайте карточки →
Показывает Title, Description и главный заголовок текущей страницы.
Код для сео анализа →Оставляет одну ссылку с каждого сайта и убирает доменные дубли.
Очистить для парсера →Копирует результаты Яндекса, Google или Bing построчно без дублей.
Ссылки для быстрого анализа →Оставляет структуру, текст и ссылки без CSS и лишнего JavaScript.
Взять код →Копирует тезисы и источники из Яндекса, Алисы и Google AI Overview.
Взять код →| Инструмент | Что проверяет | Действий до результата |
|---|---|---|
| Стартовый парсер | Title, H1, Description | 1 клик |
| Ссылки из выдачи | Результаты Яндекса, Google и Bing | 1 клик |
| Уникальные домены | Повторы сайтов и некорректные URL | 1 клик |
| Нейроответы поиска | Тезисы и источники Яндекса и Google | 1 клик |
| Очищенный HTML | Текст, теги, ссылки и изображения страницы | 1 клик |
Букмарклет выполняется в контексте открытой страницы. Не запускайте неизвестный скрипт во вкладке с почтой, банком, CRM или личным кабинетом.
Если код изменён третьим лицом, удалите старую закладку и возьмите проверенную версию заново.
Букмарклет — небольшой JavaScript-код, сохранённый вместо обычного URL в закладке браузера. По нажатию он обрабатывает открытую страницу и показывает результат без отдельной программы.
Создайте новую закладку, укажите понятное название и вставьте строку, начинающуюся с javascript:, в поле адреса. После сохранения откройте нужный сайт и нажмите закладку.
Базовый JavaScript поддерживают основные настольные браузеры. Конкретный скрипт может не сработать на служебной вкладке, странице расширения или сайте с жёсткими ограничениями безопасности.
Запускайте только понятный код из источника, которому доверяете. Букмарклет получает доступ к содержимому открытой вкладки, поэтому неизвестную строку сначала нужно проверить.
Этот букмарклет я долго тестировал, дорабатывал и несколько раз откатывал. В итоге оставил рабочую версию, которая показывает длину Title и Description, все H1, совпадающие основы слов и границы рекомендуемой длины.
Скопируйте всю строку и вставьте её в поле URL новой закладки.
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)})();
Код работает на открытой странице и выводит результат в браузере.
Букмарклеты помогают собрать исходные данные, а отдельный сервис превращает их в материал для анализа. Начните с бесплатного режима или сразу получите все возможности и доступ к обучению.
На открытой странице сервиса можно бесплатно собирать однословники и познакомиться с базовым принципом работы.
В Telegram-группе собраны инструкции и множество видео с примерами работы. Для покупки напишите Владиславу в личные сообщения и переведите 1 000 ₽.