{"id":1320,"date":"2025-09-26T09:51:01","date_gmt":"2025-09-26T07:51:01","guid":{"rendered":"https:\/\/houseoffiltration.com\/?page_id=1320"},"modified":"2025-09-29T13:22:44","modified_gmt":"2025-09-29T11:22:44","slug":"meta-length-checker","status":"publish","type":"page","link":"https:\/\/houseoffiltration.com\/se\/forside\/meta-length-checker\/","title":{"rendered":"Meta length Checker"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1320\" class=\"elementor elementor-1320\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9b59178 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9b59178\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-371df2a\" data-id=\"371df2a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-934a787 elementor-widget elementor-widget-html\" data-id=\"934a787\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\" \/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\/>\n<title>Meta Text Length Helper<\/title>\n<style>\n  :root{\n    --ok:#1a8f2e;\n    --warn:#d83a3a;\n    --bg:#f6f7f9;\n    --ink:#1f2937;\n    --muted:#6b7280;\n    --ring:#c7d2fe;\n    --card:#ffffff;\n  }\n  *{box-sizing:border-box}\n  \n    body {\n            background: linear-gradient(135deg, #f0f9ff 0%, #e6f7ff 100%);\n            color: #333;\n            max-width: 1580px;\n            margin-left: auto;\n            margin-right: auto;\n            min-width: 1580px;\n            font-family: open sans;\n    }\n    \n    .home-btn {\n      position:absolute;\n      left:120px; top:15px;\n      background: #3b82f6;\n      color: #fff;\n      padding: 10px 18px;\n      border-radius: 8px;\n      text-decoration: none;\n      font-size: 14px;\n      transition: background 0.2s;\n    }\n    \n  .wrap{\n    max-width:960px;\n    margin:40px auto;\n    padding:24px;\n    background:var(--card);\n    border:1px solid #e5e7eb;\n    border-radius:14px;\n    box-shadow:0 6px 20px rgba(0,0,0,.06);\n  }\n  h1{\n    font-size:20px;\n    margin:0 0 8px 0;\n  }\n  p.helper{\n    margin:0 0 20px 0;\n    color:var(--muted);\n    font-size:14px;\n  }\n\n  .field{\n    display:grid;\n    gap:10px;\n    margin:14px 0 8px 0;\n  }\n  label{font-size:14px; color:#111827}\n\n  select, textarea, input[type=\"text\"]{\n    width:100%;\n    padding:12px 14px;\n    border:1px solid #d1d5db;\n    border-radius:10px;\n    font:inherit;\n    background:#fff;\n    outline:none;\n  }\n  select:focus, textarea:focus, input[type=\"text\"]:focus{\n    border-color:#6366f1;\n    box-shadow:0 0 0 4px var(--ring);\n  }\n  textarea{\n    resize:vertical;\n    min-height:120px;\n  }\n\n  \/* Progress bar *\/\n  .meter{\n    position:relative;\n    width:100%;\n    height:16px;\n    background:#eef2f7;\n    border-radius:10px;\n    overflow:hidden;\n    border:1px solid #e5e7eb;\n  }\n  .bar{\n    position:absolute;\n    left:0; top:0; bottom:0;\n    width:0%;\n    background:var(--ok);\n    transition:width .15s linear, background-color .15s linear;\n  }\n  .count{\n    display:flex;\n    align-items:center;\n    justify-content:space-between;\n    margin-top:6px;\n    font-size:12px;\n    color:var(--muted);\n  }\n  .count b{color:#111827}\n\n  \/* Generator section *\/\n  .gen{\n    margin-top:24px;\n    padding-top:20px;\n    border-top:1px solid #e5e7eb;\n    display:grid;\n    gap:10px;\n  }\n  .row{\n    display:flex;\n    gap:10px;\n    align-items:center;\n    flex-wrap:wrap;\n  }\n  button.primary{\n    padding:10px 14px;\n    border:0;\n    border-radius:10px;\n    background:#111827;\n    color:#fff;\n    cursor:pointer;\n    font-weight:600;\n  }\n  button.primary:active{transform:translateY(1px)}\n  .outwrap{\n    position:relative;\n    width:100%;\n  }\n  .out{\n    width:100%;\n    min-height:90px;\n    padding:12px 40px 12px 12px;\n    border:1px dashed #cbd5e1;\n    border-radius:10px;\n    background:#f3f4f6;\n    color:#111827;\n    font:inherit;\n    resize:vertical;\n  }\n  .copy{\n    position:absolute;\n    right:8px; top:-15px;\n    border:1px solid #d1d5db;\n    background:#fff;\n    border-radius:8px;\n    padding:6px 10px;\n    font-size:12px;\n    cursor:pointer;\n    color:black;\n  }\n  .hint{\n    font-size:12px;\n    color:var(--muted);\n  }\n  .tag{\n    display:inline-block;\n    font-size:11px;\n    padding:2px 8px;\n    border-radius:999px;\n    background:#eef2ff;\n    color:#3730a3;\n    border:1px solid #c7d2fe;\n  }\n\n<\/style>\n<\/head>\n<body>\n    <header>\n        <a href=\"\/\" class=\"home-btn\">Home<\/a>\n    <\/header>\n  <div class=\"wrap\">\n    <h1>Meta title and description length checker<\/h1>\n    <p class=\"helper\">Pick a type. Paste or write your text. Watch the counter. Keep it in range. Then generate a tighter alternative if you need it.<\/p>\n\n    <div class=\"field\">\n      <label for=\"type\">Type<\/label>\n      <select id=\"type\" aria-label=\"Type selector\">\n        <option value=\"title\">Meta title<\/option>\n        <option value=\"description\">Meta description<\/option>\n      <\/select>\n    <\/div>\n\n    <div class=\"field\">\n      <label for=\"text\">Your text<\/label>\n      <textarea id=\"text\" placeholder=\"Write or paste your meta text here...\"><\/textarea>\n    <\/div>\n\n    <div class=\"meter\" aria-hidden=\"true\">\n      <div id=\"bar\" class=\"bar\"><\/div>\n    <\/div>\n    <div class=\"count\" aria-live=\"polite\">\n      <span>Characters: <b id=\"chars\">0<\/b> \/ <span id=\"max\">60<\/span><\/span>\n      <span id=\"status\" class=\"tag\">Within limit<\/span>\n    <\/div>\n\n\n\n<script>\n  \/\/ Config\n  const LIMITS = {\n    title: 60,\n    description: 160\n  };\n\n  \/\/ Elements\n  const typeEl = document.getElementById('type');\n  const textEl = document.getElementById('text');\n  const barEl = document.getElementById('bar');\n  const charsEl = document.getElementById('chars');\n  const maxEl = document.getElementById('max');\n  const statusEl = document.getElementById('status');\n  const genBtn = document.getElementById('gen');\n  const outEl = document.getElementById('out');\n  const copyBtn = document.getElementById('copy');\n\n  \/\/ Helpers\n  function currentLimit(){\n    const t = typeEl.value;\n    return LIMITS[t] || 60;\n  }\n\n  function updateMeter(){\n    const limit = currentLimit();\n    const len = [...textEl.value].length; \/\/ safe for emojis\n    const pct = Math.min((len \/ limit) * 100, 100);\n    barEl.style.width = pct + '%';\n\n    const over = len - limit;\n    const ok = over <= 0;\n\n    barEl.style.backgroundColor = ok ? getComputedStyle(document.documentElement).getPropertyValue('--ok') : getComputedStyle(document.documentElement).getPropertyValue('--warn');\n    charsEl.textContent = len;\n    maxEl.textContent = limit;\n\n    if(ok){\n      statusEl.textContent = 'Within limit';\n      statusEl.style.background = '#ecfdf5';\n      statusEl.style.color = '#065f46';\n      statusEl.style.borderColor = '#a7f3d0';\n    }else{\n      statusEl.textContent = `${over} over limit`;\n      statusEl.style.background = '#fef2f2';\n      statusEl.style.color = '#991b1b';\n      statusEl.style.borderColor = '#fecaca';\n    }\n  }\n\n  function sentenceCase(str){\n    const s = str.trim();\n    if(!s) return '';\n    return s.charAt(0).toUpperCase() + s.slice(1);\n  }\n\n  \/\/ Simple keyword extraction and rewrite\n  const STOP = new Set([\n    'the','a','an','and','or','for','to','of','in','on','at','by','with','from',\n    'your','you','our','we','us','is','are','be','as','that','it','this','these','those',\n    'into','over','under','about','up','down','out','than','then','so','but'\n  ]);\n\n  function topWords(text, max=6){\n    const words = text\n      .toLowerCase()\n      .replace(\/[^a-z0-9\\s\\u00C0-\\u017F]\/gi,' ')\n      .split(\/\\s+\/)\n      .filter(w => w && !STOP.has(w) && w.length > 2);\n\n    const freq = {};\n    for(const w of words){ freq[w] = (freq[w]||0)+1; }\n    const ranked = Object.entries(freq).sort((a,b)=>b[1]-a[1]).map(x=>x[0]);\n    return ranked.slice(0, max);\n  }\n\n  function clampToLimit(str, limit){\n    if([...str].length <= limit) return str;\n    let s = [...str].slice(0, limit).join('').trim();\n    s = s.replace(\/[ ,.;:|-]+$\/,'');\n    return s;\n  }\n\n  function makeTitle(src, limit){\n    const keys = topWords(src, 7);\n    let draft = keys.map(w=>w[0].toUpperCase()+w.slice(1)).join(' ');\n    if(!draft){\n      draft = src.trim();\n    }\n    \/\/ Add mild value hook if room\n    const hook = ' | Fast shipping';\n    if([...draft, ...hook].length <= limit){\n      draft += hook;\n    }\n    draft = sentenceCase(draft);\n    return clampToLimit(draft, limit);\n  }\n\n  function makeDescription(src, limit){\n    let s = src.trim().replace(\/\\s+\/g,' ');\n    if(!s) return '';\n    \/\/ Prefer first sentence if decent length\n    const first = s.split(\/(?<=\\.)\\s\/)[0];\n    let base = first.length >= 40 ? first : s;\n\n    \/\/ Add compact value points if space remains\n    const keys = topWords(src, 3);\n    const add = keys.length ? ` Get ${keys.join(', ')} today.` : '';\n    if([...base, ...add].length <= limit){\n      base += add;\n    }\n    base = sentenceCase(base);\n    return clampToLimit(base, limit);\n  }\n\n  function generate(){\n    const src = textEl.value || '';\n    const limit = currentLimit();\n    let out = '';\n    if(typeEl.value === 'title'){\n      out = makeTitle(src, limit);\n    }else{\n      out = makeDescription(src, limit);\n    }\n    outEl.value = out || '';\n  }\n\n  async function copyOut(){\n    const txt = outEl.value;\n    if(!txt) return;\n    try{\n      await navigator.clipboard.writeText(txt);\n      copyBtn.textContent = 'Copied';\n      setTimeout(()=>copyBtn.textContent='Copy', 900);\n    }catch(e){\n      \/\/ Fallback\n      outEl.select();\n      document.execCommand('copy');\n      copyBtn.textContent = 'Copied';\n      setTimeout(()=>copyBtn.textContent='Copy', 900);\n    }\n  }\n\n  \/\/ Wire up\n  typeEl.addEventListener('change', updateMeter);\n  textEl.addEventListener('input', updateMeter);\n  genBtn.addEventListener('click', generate);\n  copyBtn.addEventListener('click', copyOut);\n\n  \/\/ Init\n  updateMeter();\n<\/script>\n<\/body>\n<\/html>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Meta Text Length Helper Home Meta title and description length checker Pick a type. Paste or write your text. Watch the counter. Keep it in range. Then generate a tighter alternative if you need it. Type Meta titleMeta description Your text Characters: 0 \/ 60 Within limit<\/p>","protected":false},"author":1,"featured_media":0,"parent":421,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-1320","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Meta length Checker - House of Filtration - Learn about filtration solutions in one place.<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/houseoffiltration.com\/se\/forside\/meta-length-checker\/\" \/>\n<meta property=\"og:locale\" content=\"sv_SE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Meta length Checker - House of Filtration - Learn about filtration solutions in one place.\" \/>\n<meta property=\"og:description\" content=\"Meta Text Length Helper Home Meta title and description length checker Pick a type. Paste or write your text. Watch the counter. Keep it in range. Then generate a tighter alternative if you need it. Type Meta titleMeta description Your text Characters: 0 \/ 60 Within limit\" \/>\n<meta property=\"og:url\" content=\"https:\/\/houseoffiltration.com\/se\/forside\/meta-length-checker\/\" \/>\n<meta property=\"og:site_name\" content=\"House of Filtration - Learn about filtration solutions in one place.\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-29T11:22:44+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Ber\u00e4knad l\u00e4stid\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/houseoffiltration.com\\\/forside\\\/meta-length-checker\\\/\",\"url\":\"https:\\\/\\\/houseoffiltration.com\\\/forside\\\/meta-length-checker\\\/\",\"name\":\"Meta length Checker - House of Filtration - Learn about filtration solutions in one place.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/houseoffiltration.com\\\/#website\"},\"datePublished\":\"2025-09-26T07:51:01+00:00\",\"dateModified\":\"2025-09-29T11:22:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/houseoffiltration.com\\\/forside\\\/meta-length-checker\\\/#breadcrumb\"},\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/houseoffiltration.com\\\/forside\\\/meta-length-checker\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/houseoffiltration.com\\\/forside\\\/meta-length-checker\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/houseoffiltration.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"forside\",\"item\":\"https:\\\/\\\/houseoffiltration.com\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Meta length Checker\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/houseoffiltration.com\\\/#website\",\"url\":\"https:\\\/\\\/houseoffiltration.com\\\/\",\"name\":\"House of Filtration - Learn about filtration solutions in one place.\",\"description\":\"Explore our filtration solutions: Air, liquid, water treatment, and more. Three specialized companies - one commitment to quality.\",\"publisher\":{\"@id\":\"https:\\\/\\\/houseoffiltration.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/houseoffiltration.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"sv-SE\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/houseoffiltration.com\\\/#organization\",\"name\":\"House of Filtration - Learn about filtration solutions in one place.\",\"url\":\"https:\\\/\\\/houseoffiltration.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\\\/\\\/houseoffiltration.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"http:\\\/\\\/houseoffiltration.com\\\/wp-content\\\/uploads\\\/HOF_skilt_v3c_696x696.jpg\",\"contentUrl\":\"http:\\\/\\\/houseoffiltration.com\\\/wp-content\\\/uploads\\\/HOF_skilt_v3c_696x696.jpg\",\"width\":696,\"height\":696,\"caption\":\"House of Filtration - Learn about filtration solutions in one place.\"},\"image\":{\"@id\":\"https:\\\/\\\/houseoffiltration.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Meta length Checker - House of Filtration - Learn about filtration solutions in one place.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/houseoffiltration.com\/se\/forside\/meta-length-checker\/","og_locale":"sv_SE","og_type":"article","og_title":"Meta length Checker - House of Filtration - Learn about filtration solutions in one place.","og_description":"Meta Text Length Helper Home Meta title and description length checker Pick a type. Paste or write your text. Watch the counter. Keep it in range. Then generate a tighter alternative if you need it. Type Meta titleMeta description Your text Characters: 0 \/ 60 Within limit","og_url":"https:\/\/houseoffiltration.com\/se\/forside\/meta-length-checker\/","og_site_name":"House of Filtration - Learn about filtration solutions in one place.","article_modified_time":"2025-09-29T11:22:44+00:00","twitter_card":"summary_large_image","twitter_misc":{"Ber\u00e4knad l\u00e4stid":"1 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/houseoffiltration.com\/forside\/meta-length-checker\/","url":"https:\/\/houseoffiltration.com\/forside\/meta-length-checker\/","name":"Meta length Checker - House of Filtration - Learn about filtration solutions in one place.","isPartOf":{"@id":"https:\/\/houseoffiltration.com\/#website"},"datePublished":"2025-09-26T07:51:01+00:00","dateModified":"2025-09-29T11:22:44+00:00","breadcrumb":{"@id":"https:\/\/houseoffiltration.com\/forside\/meta-length-checker\/#breadcrumb"},"inLanguage":"sv-SE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/houseoffiltration.com\/forside\/meta-length-checker\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/houseoffiltration.com\/forside\/meta-length-checker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/houseoffiltration.com\/"},{"@type":"ListItem","position":2,"name":"forside","item":"https:\/\/houseoffiltration.com\/"},{"@type":"ListItem","position":3,"name":"Meta length Checker"}]},{"@type":"WebSite","@id":"https:\/\/houseoffiltration.com\/#website","url":"https:\/\/houseoffiltration.com\/","name":"House of Filtration - Learn about filtration solutions in one place.","description":"Explore our filtration solutions: Air, liquid, water treatment, and more. Three specialized companies - one commitment to quality.","publisher":{"@id":"https:\/\/houseoffiltration.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/houseoffiltration.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"sv-SE"},{"@type":"Organization","@id":"https:\/\/houseoffiltration.com\/#organization","name":"House of Filtration - Learn about filtration solutions in one place.","url":"https:\/\/houseoffiltration.com\/","logo":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/houseoffiltration.com\/#\/schema\/logo\/image\/","url":"http:\/\/houseoffiltration.com\/wp-content\/uploads\/HOF_skilt_v3c_696x696.jpg","contentUrl":"http:\/\/houseoffiltration.com\/wp-content\/uploads\/HOF_skilt_v3c_696x696.jpg","width":696,"height":696,"caption":"House of Filtration - Learn about filtration solutions in one place."},"image":{"@id":"https:\/\/houseoffiltration.com\/#\/schema\/logo\/image\/"}}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/houseoffiltration.com\/se\/wp-json\/wp\/v2\/pages\/1320","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/houseoffiltration.com\/se\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/houseoffiltration.com\/se\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/houseoffiltration.com\/se\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/houseoffiltration.com\/se\/wp-json\/wp\/v2\/comments?post=1320"}],"version-history":[{"count":22,"href":"https:\/\/houseoffiltration.com\/se\/wp-json\/wp\/v2\/pages\/1320\/revisions"}],"predecessor-version":[{"id":1411,"href":"https:\/\/houseoffiltration.com\/se\/wp-json\/wp\/v2\/pages\/1320\/revisions\/1411"}],"up":[{"embeddable":true,"href":"https:\/\/houseoffiltration.com\/se\/wp-json\/wp\/v2\/pages\/421"}],"wp:attachment":[{"href":"https:\/\/houseoffiltration.com\/se\/wp-json\/wp\/v2\/media?parent=1320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}