{"id":1355,"date":"2025-09-26T10:36:34","date_gmt":"2025-09-26T08:36:34","guid":{"rendered":"https:\/\/houseoffiltration.com\/?page_id=1355"},"modified":"2025-09-26T10:44:23","modified_gmt":"2025-09-26T08:44:23","slug":"meta-length-checker-v2","status":"publish","type":"page","link":"https:\/\/houseoffiltration.com\/de\/forside\/meta-length-checker-v2\/","title":{"rendered":"Meta length Checker v2"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1355\" class=\"elementor elementor-1355\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4f6dd1f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4f6dd1f\" 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-60b01a7\" data-id=\"60b01a7\" 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-712bf5e elementor-widget elementor-widget-html\" data-id=\"712bf5e\" 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\"], input[type=\"url\"]{\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, input[type=\"url\"]: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  textarea:disabled{\n    background:#f3f4f6;\n    color:#6b7280;\n    cursor:not-allowed;\n  }\n\n  .urow{\n    display:flex;\n    gap:10px;\n    align-items:center;\n    flex-wrap:wrap;\n  }\n  .uinfo{\n    font-size:12px;\n    color:var(--muted);\n  }\n  .uinfo.ok{ color:#065f46 }\n  .uinfo.err{ color:#991b1b }\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:8px;\n    border:1px solid #d1d5db;\n    background:#fff;\n    border-radius:8px;\n    padding:6px 10px;\n    font-size:12px;\n    cursor:pointer;\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<\/style>\n<\/head>\n<body>\n <div class=\"wrap\">\n    <header>\n        <a href=\"\/\" class=\"home-btn\">Home<\/a>\n    <\/header>\n    <h1>Meta title and description length checker<\/h1>\n    <p class=\"helper\">Pick a type. Paste or write your text. Or fetch from a URL. Watch the counter. Keep it in range. Then generate an alternative.<\/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    <!-- New URL input section -->\n    <div class=\"field\">\n      <label for=\"url\">Or fetch from URL<\/label>\n      <div class=\"urow\">\n        <input id=\"url\" type=\"url\" placeholder=\"https:\/\/example.com\/page\" aria-label=\"Source URL\"\/>\n        <span id=\"uinfo\" class=\"uinfo\">Leave empty to type manually.<\/span>\n      <\/div>\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    <div class=\"gen\">\n      <div class=\"row\">\n        <button id=\"gen\" class=\"primary\">Generate new text<\/button>\n        <span class=\"hint\">Creates an SEO friendly alternative matching the selected limit.<\/span>\n      <\/div>\n      <div class=\"outwrap\">\n        <textarea id=\"out\" class=\"out\" readonly placeholder=\"Your generated alternative will appear here.\"><\/textarea>\n        <button id=\"copy\" class=\"copy\" title=\"Copy to clipboard\">Copy<\/button>\n      <\/div>\n    <\/div>\n        <p style=\"font-size:4px; text-align:right;\">\u00a9 2025 Inucraft.dk<\/p>\n  <\/div>\n\n<script>\n  \/\/ Config\n  const LIMITS = { title: 60, description: 160 };\n\n  \/\/ Elements\n  const typeEl = document.getElementById('type');\n  const textEl = document.getElementById('text');\n  const urlEl = document.getElementById('url');\n  const uinfoEl = document.getElementById('uinfo');\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    return LIMITS[typeEl.value] || 60;\n  }\n\n  function updateMeter(){\n    const limit = currentLimit();\n    const len = [...textEl.value].length;\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 ? getVar('--ok') : getVar('--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  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    const hook = ' | Fast shipping';\n    if(([...draft].length + [...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    const first = s.split(\/(?<=\\.)\\s\/)[0];\n    let base = first.length >= 40 ? first : s;\n\n    const keys = topWords(src, 3);\n    const add = keys.length ? ` Get ${keys.join(', ')} today.` : '';\n    if(([...base].length + [...add].length) <= limit){\n      base += add;\n    }\n    base = sentenceCase(base);\n    return clampToLimit(base, limit);\n  }\n\n  function getVar(name){\n    return getComputedStyle(document.documentElement).getPropertyValue(name);\n  }\n\n  function setTextDisabled(state){\n    textEl.disabled = state;\n    if(state){\n      textEl.dataset.prevph = textEl.placeholder || '';\n      textEl.placeholder = 'Disabled because a URL is set';\n    }else{\n      textEl.placeholder = textEl.dataset.prevph || 'Write or paste your meta text here...';\n    }\n  }\n\n  function validUrl(u){\n    try{ new URL(u); return true; } catch { return false; }\n  }\n\n  \/\/ Extract useful text from fetched HTML string\n  function extractFromHtml(html){\n    const parser = new DOMParser();\n    const doc = parser.parseFromString(html, 'text\/html');\n\n    \/\/ Remove script and style\n    doc.querySelectorAll('script,style,noscript').forEach(n=>n.remove());\n\n    const title = (doc.querySelector('meta[property=\"og:title\"]')?.getAttribute('content')\n                || doc.querySelector('meta[name=\"twitter:title\"]')?.getAttribute('content')\n                || doc.title || '').trim();\n\n    const desc = (doc.querySelector('meta[name=\"description\"]')?.getAttribute('content')\n               || doc.querySelector('meta[property=\"og:description\"]')?.getAttribute('content')\n               || doc.querySelector('meta[name=\"twitter:description\"]')?.getAttribute('content')\n               || '').trim();\n\n    \/\/ Pick some body text\n    const pTexts = Array.from(doc.querySelectorAll('main p, article p, p'))\n      .map(p=>p.textContent.trim())\n      .filter(t=>t && t.length > 40)\n      .slice(0, 6)\n      .join(' ');\n\n    const body = pTexts || doc.body?.textContent?.trim() || '';\n\n    return { title, desc, body };\n  }\n\n  async function fetchUrlText(u){\n    uinfoEl.textContent = 'Fetching...';\n    uinfoEl.className = 'uinfo';\n    try{\n      const res = await fetch(u, { mode:'cors' });\n      if(!res.ok) throw new Error('HTTP ' + res.status);\n      const html = await res.text();\n      const { title, desc, body } = extractFromHtml(html);\n      uinfoEl.textContent = 'Fetched content';\n      uinfoEl.className = 'uinfo ok';\n      return { title, desc, body };\n    }catch(e){\n      \/\/ Try no-cors as best effort, may still fail to read\n      try{\n        const res2 = await fetch(u, { mode:'no-cors' });\n        \/\/ no-cors makes response opaque, not readable\n        throw new Error('Blocked by CORS');\n      }catch{\n        uinfoEl.textContent = 'Fetch blocked. Paste text manually.';\n        uinfoEl.className = 'uinfo err';\n        return null;\n      }\n    }\n  }\n\n  function pickSourceFields(page){\n    \/\/ Prefer meta tags, then body\n    const t = page.title || '';\n    const d = page.desc || '';\n    const b = page.body || '';\n\n    return { t, d, b };\n  }\n\n  function generateFromText(src, kind, limit){\n    if(kind === 'title'){\n      \/\/ Prefer concise lines\n      let base = src.split(\/\\r?\\n\/).map(s=>s.trim()).find(s=>s.length>=20 && s.length<=80) || src;\n      return makeTitle(base, limit);\n    }else{\n      return makeDescription(src, limit);\n    }\n  }\n\n  async function generate(){\n    outEl.value = '';\n    const limit = currentLimit();\n    const kind = typeEl.value;\n\n    const urlVal = urlEl.value.trim();\n    if(urlVal && validUrl(urlVal)){\n      genBtn.disabled = true;\n      genBtn.textContent = 'Generating...';\n      const page = await fetchUrlText(urlVal);\n      if(page){\n        const { t, d, b } = pickSourceFields(page);\n        let src = '';\n        if(kind === 'title'){\n          src = t || b;\n        }else{\n          src = d || b;\n        }\n        outEl.value = generateFromText(src || b, kind, limit) || '';\n      }else{\n        outEl.value = '';\n      }\n      genBtn.disabled = false;\n      genBtn.textContent = 'Generate new text';\n      return;\n    }\n\n    \/\/ Fallback to manual text area\n    const src = textEl.value || '';\n    outEl.value = kind === 'title'\n      ? makeTitle(src, limit)\n      : makeDescription(src, limit);\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      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  urlEl.addEventListener('input', () => {\n    const v = urlEl.value.trim();\n    const isSet = v.length > 0;\n    setTextDisabled(isSet);\n    if(!isSet){\n      uinfoEl.textContent = 'Leave empty to type manually.';\n      uinfoEl.className = 'uinfo';\n    }\n  });\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. Or fetch from a URL. Watch the counter. Keep it in range. Then generate an alternative. Type Meta titleMeta description Your text Or fetch from URL Leave empty to type manually. Characters: 0 \/ 60 Within [&hellip;]<\/p>\n","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-1355","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 v2 - 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\/de\/forside\/meta-length-checker-v2\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Meta length Checker v2 - 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. Or fetch from a URL. Watch the counter. Keep it in range. Then generate an alternative. Type Meta titleMeta description Your text Or fetch from URL Leave empty to type manually. Characters: 0 \/ 60 Within [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/houseoffiltration.com\/de\/forside\/meta-length-checker-v2\/\" \/>\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-26T08:44:23+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"1\u00a0Minute\" \/>\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-v2\\\/\",\"url\":\"https:\\\/\\\/houseoffiltration.com\\\/forside\\\/meta-length-checker-v2\\\/\",\"name\":\"Meta length Checker v2 - House of Filtration - Learn about filtration solutions in one place.\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/houseoffiltration.com\\\/#website\"},\"datePublished\":\"2025-09-26T08:36:34+00:00\",\"dateModified\":\"2025-09-26T08:44:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/houseoffiltration.com\\\/forside\\\/meta-length-checker-v2\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/houseoffiltration.com\\\/forside\\\/meta-length-checker-v2\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/houseoffiltration.com\\\/forside\\\/meta-length-checker-v2\\\/#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 v2\"}]},{\"@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\":\"de\"},{\"@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\":\"de\",\"@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 v2 - 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\/de\/forside\/meta-length-checker-v2\/","og_locale":"de_DE","og_type":"article","og_title":"Meta length Checker v2 - 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. Or fetch from a URL. Watch the counter. Keep it in range. Then generate an alternative. Type Meta titleMeta description Your text Or fetch from URL Leave empty to type manually. Characters: 0 \/ 60 Within [&hellip;]","og_url":"https:\/\/houseoffiltration.com\/de\/forside\/meta-length-checker-v2\/","og_site_name":"House of Filtration - Learn about filtration solutions in one place.","article_modified_time":"2025-09-26T08:44:23+00:00","twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"1\u00a0Minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/houseoffiltration.com\/forside\/meta-length-checker-v2\/","url":"https:\/\/houseoffiltration.com\/forside\/meta-length-checker-v2\/","name":"Meta length Checker v2 - House of Filtration - Learn about filtration solutions in one place.","isPartOf":{"@id":"https:\/\/houseoffiltration.com\/#website"},"datePublished":"2025-09-26T08:36:34+00:00","dateModified":"2025-09-26T08:44:23+00:00","breadcrumb":{"@id":"https:\/\/houseoffiltration.com\/forside\/meta-length-checker-v2\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/houseoffiltration.com\/forside\/meta-length-checker-v2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/houseoffiltration.com\/forside\/meta-length-checker-v2\/#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 v2"}]},{"@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":"de"},{"@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":"de","@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\/de\/wp-json\/wp\/v2\/pages\/1355","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/houseoffiltration.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/houseoffiltration.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/houseoffiltration.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/houseoffiltration.com\/de\/wp-json\/wp\/v2\/comments?post=1355"}],"version-history":[{"count":11,"href":"https:\/\/houseoffiltration.com\/de\/wp-json\/wp\/v2\/pages\/1355\/revisions"}],"predecessor-version":[{"id":1366,"href":"https:\/\/houseoffiltration.com\/de\/wp-json\/wp\/v2\/pages\/1355\/revisions\/1366"}],"up":[{"embeddable":true,"href":"https:\/\/houseoffiltration.com\/de\/wp-json\/wp\/v2\/pages\/421"}],"wp:attachment":[{"href":"https:\/\/houseoffiltration.com\/de\/wp-json\/wp\/v2\/media?parent=1355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}