Showing source for: https://addictiontreatments101.com/article.html?slug=addiction-treatment-center-coldsprings
Duration: 0.758134s
Server: cloudflare

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="description" content="Addiction recovery and treatment article from AddictionTreatments101.">
  <meta name="theme-color" content="#0e65a8">
  <title>Article | AddictionTreatments101</title>
  <link rel="icon" type="image/x-icon" href="favicon.ico">
  <link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.webp">
  <link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.webp">
  <link rel="stylesheet" href="assets/styles.css?v=20260826restore">
<style id="footer-text-placement-at101-fix">
/* Footer text placement ref: addictiontreatments101.com */
@media (max-width:991.98px){
  .site-footer,
  footer.footer,
  .footer:not(.copyright){
    padding:44px 20px 20px!important;
    text-align:left!important;
    box-sizing:border-box!important;
  }
  .site-footer .page-width,
  .site-footer .page-width.footer-grid,
  .footer .footer-wrap,
  .footer .footer-wrap.footer-grid,
  .footer .wrap,
  .footer .wrap.footer-grid,
  footer .footer-content{
    width:100%!important;
    max-width:100%!important;
    margin-inline:0!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
    text-align:left!important;
    justify-items:start!important;
    align-items:start!important;
  }
  .site-footer .footer-brand,
  .site-footer .footer-column,
  .footer .footer-main,
  .footer .footer-col,
  footer .footer-brand,
  footer .footer-section,
  footer .rehab-footer-brand,
  .footer-wrap:has(img.pw-footer-logo),
  .footer-main:has(img.pw-footer-logo),
  .footer-brand:has(img.pw-footer-logo){
    display:flex!important;
    flex-direction:column!important;
    text-align:left!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    justify-items:start!important;
    padding-inline:0!important;
    margin-inline:0!important;
  }
  .site-footer .footer-bottom,
  .footer .footer-bottom,
  .footer .wrap.footer-bottom,
  .footer .footer-wrap.footer-bottom,
  footer .footer-bottom,
  .site-footer .page-width.footer-bottom{
    width:100%!important;
    max-width:100%!important;
    margin-inline:0!important;
    padding-left:0!important;
    padding-right:0!important;
    text-align:left!important;
    box-sizing:border-box!important;
  }
}
@media (max-width:700px){
  .site-footer .footer-grid,
  .footer .footer-grid,
  .footer .wrap.footer-grid,
  .footer .footer-wrap.footer-grid,
  footer .footer-content{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:26px 20px!important;
    text-align:left!important;
    justify-items:start!important;
    align-items:start!important;
  }
  .site-footer .footer-brand,
  .site-footer .footer-main,
  .footer .footer-main,
  footer .footer-brand,
  footer .rehab-footer-brand,
  footer .footer-content .footer-section:first-child{
    grid-column:1/-1!important;
  }
  .site-footer .footer-column,
  .footer .footer-col,
  footer .footer-section{
    gap:9px!important;
  }
  .site-footer .footer-bottom,
  .footer .footer-bottom,
  .footer .wrap.footer-bottom,
  .footer .footer-wrap.footer-bottom,
  footer .footer-bottom,
  .site-footer .page-width.footer-bottom{
    flex-direction:column!important;
    gap:8px!important;
    margin-top:30px!important;
    padding-top:16px!important;
  }
  .site-footer .footer-bottom p,
  .footer .footer-bottom p,
  .footer .wrap.footer-bottom p,
  footer .footer-bottom p,
  .site-footer .footer-bottom p:last-child,
  .footer .footer-bottom p:last-child,
  footer .footer-bottom p:last-child{
    text-align:left!important;
  }
}
</style>
<style id="at101-services-header-dropdown-v1">
/* Shared Services dropdown. Keep the original AddictionTreatments101 header dimensions. */
.header .nav > a,.header .at101-services-link{position:relative!important}
.header .nav > a::after,.header .at101-services-link::after{content:""!important;position:absolute!important;left:50%!important;right:50%!important;bottom:2px!important;height:2px!important;background:#167fc4!important;transition:left .18s ease,right .18s ease!important}
.header .nav > a:hover::after,.header .nav > a:focus-visible::after,.header .nav > a.active::after,.header .at101-services-link:hover::after,.header .at101-services-link:focus-visible::after,.header .at101-services-link.active::after{left:0!important;right:0!important}
.header .at101-services-group{position:relative;display:flex;align-items:center;justify-content:center;min-width:0}
.header .at101-services-link{display:inline-flex!important;align-items:center!important}
.header .at101-services-toggle{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:#18394e;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:18px;height:36px;margin:0;padding:0 0 0 4px}
.header .at101-services-toggle:hover,.header .at101-services-toggle:focus-visible,.header .at101-services-group.is-open>.at101-services-toggle{color:#0e65a8}
.header .at101-services-caret{display:block;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;transition:transform .18s ease}
.header .at101-services-group.is-open .at101-services-caret{transform:rotate(180deg)}
.header .at101-services-menu{position:absolute;z-index:5000;top:calc(100% + 12px);left:50%;transform:translateX(-50%);width:230px;padding:9px;background:#fff;border:1px solid #d9e3ea;border-radius:12px;box-shadow:0 16px 36px rgba(8,46,74,.16);opacity:0;visibility:hidden;pointer-events:none}
.header .at101-services-menu a{position:relative!important;display:block!important;width:100%!important;padding:10px 12px!important;margin:0!important;border-radius:8px!important;color:#18394e!important;text-decoration:none!important;text-transform:none!important;letter-spacing:0!important;white-space:nowrap!important;font-size:14px!important;font-weight:800!important;line-height:1.2!important;text-align:left!important}
.header .at101-services-menu a::before,.header .at101-services-menu a::after{content:none!important;display:none!important}
.header .at101-services-menu a:hover,.header .at101-services-menu a:focus{background:#eef8fd!important;color:#0e65a8!important}
@media(min-width:992px){.header .at101-services-group:hover>.at101-services-menu,.header .at101-services-group:focus-within>.at101-services-menu,.header .at101-services-group.is-open>.at101-services-menu{opacity:1;visibility:visible;pointer-events:auto}}
@media(max-width:991.98px){
  .header .nav > a::after,.header .at101-services-link::after{display:none!important}
  .header .at101-services-group{display:grid!important;grid-template-columns:minmax(0,1fr) 42px!important;width:100%!important;justify-content:stretch!important}
  .header .at101-services-link{width:100%!important}
  .header .at101-services-toggle{width:42px!important;height:42px!important;margin:0!important;padding:0!important}
  .header .at101-services-menu{grid-column:1/-1;position:static!important;transform:none!important;width:100%!important;display:none;opacity:1!important;visibility:visible!important;pointer-events:auto!important;box-shadow:none!important;border-radius:8px!important;margin:0 0 8px!important}
  .header .at101-services-group.is-open>.at101-services-menu{display:block!important}
}
</style>
<style id="at101-root-mobile-nav-fix-v2">

/* ===== COMPACT MOBILE NAV FOR MAIN SITE PAGES ===== */

@media(max-width:980px){

    /* Unified AT101 header */
    #at-site-header .at-header-inner{
        position:relative!important;
        min-height:72px!important;
    }

    #at-site-header .at-menu-btn{
        display:block!important;
        margin-left:auto!important;
    }

    #at-site-header .at-call-btn{
        display:none!important;
    }

    #at-site-header .at-nav{
        display:none!important;
        position:absolute!important;
        top:100%!important;
        left:-16px!important;
        right:-16px!important;

        width:auto!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;

        margin:0!important;
        padding:10px 16px 14px!important;

        background:#fff!important;
        border-top:1px solid #d8e1e7!important;
        border-radius:0 0 14px 14px!important;
        box-shadow:0 12px 24px rgba(20,56,83,.14)!important;

        flex-direction:column!important;
        align-items:stretch!important;
        justify-content:flex-start!important;
        gap:0!important;

        z-index:9999!important;
    }

    #at-site-header .at-nav.is-open{
        display:flex!important;
    }

    #at-site-header .at-nav-link{
        display:flex!important;
        align-items:center!important;

        width:100%!important;
        min-height:44px!important;
        height:auto!important;

        margin:0!important;
        padding:0 10px!important;
    }

    #at-site-header .at-nav-link:after,
    #at-site-header .at-services-link:after{
        display:none!important;
    }

    #at-site-header .at-services-group{
        display:grid!important;
        grid-template-columns:minmax(0,1fr) 44px!important;

        width:100%!important;
        height:auto!important;
        min-height:44px!important;

        margin:0!important;
        padding:0!important;

        align-items:center!important;
    }

    #at-site-header .at-services-link{
        display:flex!important;
        align-items:center!important;

        width:100%!important;
        min-height:44px!important;

        margin:0!important;
        padding:0 10px!important;
    }

    #at-site-header .at-services-toggle{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;

        width:44px!important;
        height:44px!important;

        margin:0!important;
        padding:0!important;
    }

    #at-site-header .at-services-menu{
        grid-column:1/-1!important;

        position:static!important;
        top:auto!important;
        left:auto!important;

        display:none!important;

        width:100%!important;
        min-width:0!important;

        margin:0 0 6px 10px!important;
        padding:3px 0 5px 12px!important;

        opacity:1!important;
        visibility:visible!important;
        pointer-events:auto!important;

        border:0!important;
        border-left:3px solid #d8f3ff!important;
        border-radius:0!important;
        box-shadow:none!important;
    }

    #at-site-header .at-services-group.is-open > .at-services-menu{
        display:block!important;
    }

    #at-site-header .at-services-menu a{
        display:flex!important;
        align-items:center!important;

        width:100%!important;
        min-height:42px!important;

        margin:0!important;
        padding:0 10px!important;
    }


    /* Older header markup fallback */
    .header .header-inner{
        position:relative!important;
        min-height:68px!important;
    }

    .header .menu-btn{
        display:block!important;
        margin-left:auto!important;
    }

    .header .header-actions{
        display:none!important;
    }

    .header .nav{
        display:none!important;
        position:absolute!important;

        top:100%!important;
        left:0!important;
        right:0!important;

        width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;

        margin:0!important;
        padding:10px 14px 14px!important;

        background:#fff!important;

        flex-direction:column!important;
        justify-content:flex-start!important;
        align-items:stretch!important;
        gap:0!important;

        border-top:1px solid #eee!important;
        border-radius:0 0 14px 14px!important;

        z-index:9999!important;
    }

    .header .nav.open{
        display:flex!important;
    }

    .header .nav > a{
        display:flex!important;
        align-items:center!important;

        width:100%!important;
        min-height:44px!important;

        margin:0!important;
        padding:0 10px!important;
    }

    .header .nav .services-menu{
        width:100%!important;
        height:auto!important;
        margin:0!important;
    }

    .header .nav .services-menu > summary{
        display:flex!important;
        align-items:center!important;

        width:100%!important;
        min-height:44px!important;

        margin:0!important;
        padding:0 10px!important;
    }

    .header .nav .services-dropdown{
        position:static!important;

        width:100%!important;
        min-width:0!important;

        margin:0 0 6px 10px!important;
        padding:4px 0 5px 12px!important;

        transform:none!important;

        border:0!important;
        border-left:3px solid #d8f3ff!important;
        border-radius:0!important;
        box-shadow:none!important;
    }

    .header .nav .services-dropdown a{
        display:flex!important;
        align-items:center!important;
        min-height:42px!important;
        margin:0!important;
        padding:0 10px!important;
    }
}

</style>
</head>
<body>
  <div class="topbar">National Addiction Helpline provides confidential support. Call&nbsp;<a href="tel:+18006151067">1(800) 615-1067</a><span class="heart">&#9829;</span></div>

  <header class="header">
    <div class="wrap header-inner">
      <a class="logo" href="/" aria-label="National Addiction Helpline home"><img src="/assets/logo.webp" alt="National Addiction Helpline"></a>
      <button class="menu-btn" type="button" aria-expanded="false" aria-label="Open navigation"><span></span><span></span><span></span></button>
      <nav class="nav" aria-label="Primary navigation">
        <a href="/">Home</a>
        <div class="at101-services-group">
          <a class="at101-services-link" href="/services.html">Services</a>
          <button class="at101-services-toggle" type="button" aria-expanded="false" aria-label="Show services menu"><span class="at101-services-caret" aria-hidden="true"></span></button>
          <div class="at101-services-menu"><a href="/services/best-drug-rehab/">Drug Rehab</a><a href="/services/best-alcohol-rehab/">Alcohol Rehab</a><a href="/services/best-addiction-rehab/">Addiction Rehab</a><a href="/services/best-addiction-treatment/">Addiction Treatment</a><a href="/services/best-alcohol-detox/">Alcohol Detox</a><a href="/services/best-drug-detox/">Drug Detox</a></div>
        </div>
        <a class="active" href="/blog.html">Blog</a>
        <a href="/directory.html">Directory</a>
      </nav>
      <div class="header-actions">
        <a class="call-mini" href="tel:+18006151067">
          <svg class="call-mini-icon" viewBox="0 0 64 44" aria-hidden="true">
            <path d="M27 8h16c8.3 0 15 5.8 15 13s-6.7 13-15 13h-7l-8 6 2-6h-3c-8.3 0-15-5.8-15-13S18.7 8 27 8Z"></path>
            <path d="M17.5 4H31c5.4 0 10.1 2.3 12.8 5.9"></path>
            <path d="M13.5 29 7 34l1.8-7.5C5.7 24.1 4 20.8 4 17 4 9.8 10 4 17.5 4"></path>
            <circle cx="25" cy="21" r="1.6"></circle><circle cx="33" cy="21" r="1.6"></circle><circle cx="41" cy="21" r="1.6"></circle>
          </svg>
          <span class="call-copy"><strong>1(800) 615-1067</strong></span>
        </a>
        <a class="get-help" href="tel:+18006151067">Get Help</a>
      </div>
    </div>
  </header>

<main id="main-content">

<div class="wrap article-wrap" id="article-target"><div class="article-loading">Loading article…</div></div></main>
<section class="help-band"><div class="wrap"><h2>Need Help? Have A Question?</h2><p>Call National Addiction Helpline</p><a class="phone-bubble dark" href="tel:+18006151067"><img class="phone-avatar" src="assets/images/Ellipse-38-clean.webp" alt="Call representative"><span>1(800) 615-1067</span></a></div></section>
  <footer class="footer" id="contact"><div class="wrap footer-grid">
    <div class="footer-main"><img class="footer-logo" src="assets/logo-footer.webp" alt="National Addiction Helpline"><p>National Addiction Helpline provides general information and confidential guidance for individuals and families exploring addiction recovery and treatment options.</p><a class="footer-phone phone-bubble" href="tel:+18006151067"><img class="phone-avatar" src="assets/images/Ellipse-38-clean.webp" alt="Call representative"><span>1(800) 615-1067</span></a></div>
    <div class="footer-col"><h3>Links</h3><a href="/">Home</a><a href="/#about">About</a><a href="/services.html">Services</a><a href="/#contact">Contact Us</a><a href="/blog.html">Blog</a><a href="/directory.html">Directory</a></div>
    <div class="footer-col"><h3>Services</h3><a href="/services/best-drug-rehab/">Drug Rehab</a><a href="/services/best-alcohol-rehab/">Alcohol Rehab</a><a href="/services/best-addiction-rehab/">Addiction Rehab</a><a href="/services/best-addiction-treatment/">Addiction Treatment</a><a href="/services/best-alcohol-detox/">Alcohol Detox</a><a href="/services/best-drug-detox/">Drug Detox</a></div>
    <div class="footer-col"><h3>Others</h3><a href="#">Privacy Policy</a><a href="#">Terms and Conditions</a><a href="#">Site Map</a><a href="#">NA/AA Disclaimer</a></div>
  </div><div class="wrap footer-bottom"><p>© <span data-year></span> AddictionTreatments101.com. All rights reserved.</p><p>General educational information only; not medical advice or an emergency service.</p></div></footer>
  <a class="mobile-call-banner" href="tel:+18006151067" aria-label="Call National Addiction Helpline"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6.62 10.79a15.05 15.05 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.07 21 3 13.93 3 5a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.24.2 2.45.57 3.57a1 1 0 0 1-.24 1.02l-2.2 2.2z"></path></svg><span>Call Us&nbsp;+1(800)615-1067</span><i aria-hidden="true"></i></a>
<script src="assets/csv.js" type="ab5799cf4493a09950283e1e-text/javascript"></script><script src="assets/site.js?v=5" type="ab5799cf4493a09950283e1e-text/javascript"></script><script src="assets/legacy-lookup.js?v=3" type="ab5799cf4493a09950283e1e-text/javascript"></script><script type="ab5799cf4493a09950283e1e-text/javascript">
const target = document.querySelector('#article-target');
const slug = new URLSearchParams(location.search).get('slug');
function esc(s){const d=document.createElement('div');d.textContent=s||'';return d.innerHTML;}
function sanitize(html){
 const doc=new DOMParser().parseFromString(`<div>${html||''}</div>`,'text/html');
 doc.querySelectorAll('script,style,iframe,object,embed,link,meta,form,input,button').forEach(n=>n.remove());
 doc.querySelectorAll('*').forEach(el=>{
  [...el.attributes].forEach(a=>{const n=a.name.toLowerCase();if(n.startsWith('on')||n==='srcdoc'||n==='style')el.removeAttribute(a.name)});
  if(el.tagName==='H1'){const h=document.createElement('h2');h.innerHTML=el.innerHTML;el.replaceWith(h)}
  if(el.tagName==='A'){const href=el.getAttribute('href')||'';if(!/^(https?:|mailto:|tel:|\/|#)/i.test(href))el.removeAttribute('href');else{el.setAttribute('rel','noopener noreferrer');if(/^https?:/i.test(href))el.setAttribute('target','_blank')}}
  if(el.tagName==='IMG'){el.setAttribute('loading','lazy');el.removeAttribute('srcset')}
 });
 return doc.body.firstElementChild.innerHTML;
}
function slugBucket(value,digits){
 let hash=0x811c9dc5;
 const bytes=new TextEncoder().encode(value);
 for(const byte of bytes){hash^=byte;hash=Math.imul(hash,0x01000193)>>>0}
 return hash.toString(16).padStart(8,'0').slice(0,digits);
}
async function tryLegacyRedirect(){
 const key='legacyRedirectAttempt';
 if(!window.LegacyLookup)return false;
 const mapped=await LegacyLookup.resolve(slug);
 if(!mapped || mapped===slug)return false;
 if(sessionStorage.getItem(key)===mapped)return false;
 sessionStorage.setItem(key,mapped);
 location.replace('article.html?slug='+encodeURIComponent(mapped));
 return true;
}async function loadArticle(){
 if(!target){return}
 if(!slug){target.innerHTML='<div class="empty article-error">No article was selected. <a href="blog.html">Return to the blog</a>.</div>';return}
 try{
  const manifestResponse=await fetch('data/manifest.json',{cache:'no-store'});
  if(!manifestResponse.ok) throw new Error('Article manifest could not be loaded');
  const manifest=await manifestResponse.json();
  if(Number(manifest.formatVersion)!==2) throw new Error('Blog data needs to be rebuilt');
  const bucket=slugBucket(slug,Number(manifest.bucketHexDigits||3));
  let rows=[];
try{
    rows=await CSV.load(
        'data/article-buckets/bucket-'+bucket+'.csv'
    );
}catch(bucketError){

    if(await smartRelatedArticleFallback(slug)){
        return;
    }

    throw bucketError;
}
  const article=rows.find(function(p){return p.slug===slug});
  if(!article){
   if(await tryLegacyRedirect())return;
   throw new Error('Article not found');
  }
  sessionStorage.removeItem('legacyRedirectAttempt');
  document.title=article.title+' | AddictionTreatments101';
  target.innerHTML=
    '<div class="article-breadcrumb"><a href="blog.html">Blog</a> / Article</div>'
    +'<div class="article-head"><h1>'+esc(article.title)+'</h1></div>'
    +'<article class="article-content">'+sanitize(article.content, article.title)+'</article>'
    +'<div class="article-back"><a href="blog.html">← Back to all articles</a></div>';
 }catch(err){target.innerHTML='<div class="empty article-error">'+esc(err.message)+'. <a href="blog.html">Return to the blog</a>.</div>'}
}
loadArticle();
</script>

<script type="ab5799cf4493a09950283e1e-text/javascript">
/* === SMART RELATED ARTICLE FALLBACK === */
async function smartRelatedArticleFallback(brokenSlug){

    const STOP = new Set([
        'a','an','the','and','or','but','to','of','in','on','at','by',
        'for','from','with','without','into','about','your','you','our',
        'is','are','was','were','be','been','being','this','that','these',
        'those','how','what','when','where','why','who','which',
        'guide','guides','complete','comprehensive','ultimate',
        'best','top','near','me','help','helps','helping',
        'services','service','solutions','solution',
        'center','centers','facility','facilities',
        'program','programs'
    ]);

    const TOPIC = new Set([
        'drug',
        'drugs',
        'detox',
        'detoxification',
        'rehab',
        'rehabilitation',
        'recovery',
        'addiction',
        'alcohol',
        'alcoholism',
        'treatment',
        'inpatient',
        'outpatient',
        'opioid',
        'opioids',
        'heroin',
        'cocaine',
        'meth',
        'methamphetamine',
        'fentanyl',
        'substance',
        'abuse',
        'sober',
        'sobriety'
    ]);

    function normalize(value){
        return String(value || '')
            .toLowerCase()
            .replace(/[^a-z0-9]+/g,' ')
            .replace(/\s+/g,' ')
            .trim();
    }

    function tokens(value){

        return normalize(value)
            .split(' ')
            .filter(Boolean)
            .filter(word => !STOP.has(word));
    }

    function tokenSet(value){
        return new Set(tokens(value));
    }

    function hasPhrase(text, phrase){
        return normalize(text).includes(normalize(phrase));
    }

    function getBigrams(list){

        const out = [];

        for(let i=0;i<list.length-1;i++){
            out.push(
                list[i] + ' ' + list[i+1]
            );
        }

        return out;
    }

    function similarityScore(aTokens,bTokens){

        const a = new Set(aTokens);
        const b = new Set(bTokens);

        if(!a.size || !b.size){
            return 0;
        }

        let common = 0;

        for(const word of a){
            if(b.has(word)){
                common++;
            }
        }

        return (2 * common) / (a.size + b.size);
    }

    const brokenTokens = tokens(brokenSlug);

    const brokenTopicTokens =
        brokenTokens.filter(word => TOPIC.has(word));

    /*
       Anything that is:
       - not a generic stopword
       - not a normal rehab topic word
       - at least 4 characters

       is treated as a high-value specific term.

       Example:
       holtville
       alabama
    */
    const brokenSpecificTokens =
        brokenTokens.filter(word =>
            !TOPIC.has(word) &&
            word.length >= 4
        );

    const brokenBigrams =
        getBigrams(brokenTokens);

    const brokenNormalized =
        normalize(brokenSlug);

    const oldLooksLikeQuestion =
        /^(how|when|what|why|where|can|should|does|do|is|are)\b/
        .test(brokenNormalized);

    function scoreArticle(article){

        const slug =
            String(article.slug || '');

        const title =
            String(article.title || '');

        const excerpt =
            String(article.excerpt || '');

        const titleSlug =
            normalize(slug + ' ' + title);

        const allText =
            normalize(
                slug + ' ' +
                title + ' ' +
                excerpt
            );

        const titleSlugTokens =
            tokens(titleSlug);

        const titleSlugSet =
            new Set(titleSlugTokens);

        const allSet =
            tokenSet(allText);

        let score = 0;

        let topicMatches = 0;
        let specificMatches = 0;

        /*
           TOPIC WORDS

           Drug / detox / rehab / recovery etc.
           Strong match when found in title or slug.
        */
        for(const word of brokenTopicTokens){

            if(titleSlugSet.has(word)){
                score += 28;
                topicMatches++;
            }
            else if(allSet.has(word)){
                score += 6;
                topicMatches++;
            }
        }

        /*
           SPECIFIC TERMS

           City/state/specific descriptive words receive
           much stronger weighting.
        */
        for(const word of brokenSpecificTokens){

            if(titleSlugSet.has(word)){
                score += 100;
                specificMatches++;
            }
            else if(allSet.has(word)){
                score += 25;
                specificMatches++;
            }
        }

        /*
           EXACT TWO-WORD PHRASES

           Example:

           drug detox
           addiction recovery
           alcohol rehab
        */
        for(const pair of brokenBigrams){

            if(hasPhrase(titleSlug,pair)){
                score += 55;
            }
            else if(hasPhrase(allText,pair)){
                score += 12;
            }
        }

        /*
           EXTRA IMPORTANT PHRASES
        */
        const importantPhrases = [
            'drug detox',
            'drug rehab',
            'drug treatment',
            'alcohol detox',
            'alcohol rehab',
            'alcohol treatment',
            'addiction treatment',
            'addiction recovery',
            'substance abuse',
            'inpatient rehab',
            'outpatient rehab'
        ];

        for(const phrase of importantPhrases){

            if(
                hasPhrase(brokenNormalized,phrase) &&
                hasPhrase(titleSlug,phrase)
            ){
                score += 100;
            }
        }

        /*
           OVERALL TOKEN SIMILARITY
        */
        score +=
            similarityScore(
                brokenTokens,
                titleSlugTokens
            ) * 100;

        /*
           If old URL clearly contains rehab topic words
           but the candidate matches none of them,
           heavily penalize it.
        */
        if(
            brokenTopicTokens.length &&
            topicMatches === 0
        ){
            score -= 150;
        }

        /*
           If old URL has specific location/details
           and candidate has none, slightly penalize it.

           We don't make this fatal because some sites may
           not have a current article for that exact city.
        */
        if(
            brokenSpecificTokens.length &&
            specificMatches === 0
        ){
            score -= 25;
        }

        /*
           Penalize generic question articles when the
           original slug was not a question.
        */
        const titleNormalized = normalize(title);

        const candidateLooksLikeQuestion =
            /^(how|when|what|why|where|can|should|does|do|is|are)\b/
            .test(titleNormalized);

        if(
            candidateLooksLikeQuestion &&
            !oldLooksLikeQuestion
        ){
            score -= 35;
        }

        /*
           Prefer titles that actually contain "drug"
           when the old slug contains drug.
        */
        if(
            brokenTopicTokens.includes('drug')
        ){
            if(titleSlugSet.has('drug')){
                score += 35;
            }
            else{
                score -= 15;
            }
        }

        /*
           Same for alcohol.
        */
        if(
            brokenTopicTokens.includes('alcohol')
        ){
            if(titleSlugSet.has('alcohol')){
                score += 35;
            }
            else{
                score -= 15;
            }
        }

        /*
           Same for detox.
        */
        if(
            brokenTopicTokens.includes('detox')
        ){
            if(titleSlugSet.has('detox')){
                score += 30;
            }
            else{
                score -= 15;
            }
        }

        return score;
    }

    try{

        const manifestResponse =
            await fetch(
                'data/manifest.json',
                {cache:'no-store'}
            );

        if(!manifestResponse.ok){
            return false;
        }

        const manifest =
            await manifestResponse.json();

        const chunks =
            Math.max(
                1,
                Number(manifest.chunks || 1)
            );

        let articles = [];

        for(let i=1;i<=chunks;i++){

            const number =
                String(i).padStart(6,'0');

            try{

                const rows =
                    await CSV.load(
                        'data/blog-chunks/chunk-' +
                        number +
                        '.csv'
                    );

                if(Array.isArray(rows)){
                    articles.push(...rows);
                }

            }catch(chunkError){}
        }

        if(!articles.length){
            return false;
        }

        let best = null;
        let bestScore = -999999;

        for(const article of articles){

            if(
                !article ||
                !article.slug ||
                article.slug === brokenSlug
            ){
                continue;
            }

            const score =
                scoreArticle(article);

            if(score > bestScore){
                bestScore = score;
                best = article;
            }
        }

        if(best && best.slug){

            console.log(
                'RELATED ARTICLE FALLBACK',
                {
                    oldSlug: brokenSlug,
                    selectedSlug: best.slug,
                    selectedTitle: best.title,
                    score: bestScore
                }
            );

            location.replace(
                'article.html?slug=' +
                encodeURIComponent(best.slug)
            );

            return true;
        }

    }catch(error){

        console.error(
            'Related article fallback failed',
            error
        );
    }

    return false;
}
/* === END SMART RELATED ARTICLE FALLBACK === */
</script>
<script id="at101-services-header-js-v1" type="ab5799cf4493a09950283e1e-text/javascript">
(function(){
  var groups=document.querySelectorAll('.at101-services-group');
  groups.forEach(function(g){
    var t=g.querySelector('.at101-services-toggle');
    if(!t)return;
    t.addEventListener('click',function(e){
      e.preventDefault();e.stopPropagation();
      var open=g.classList.toggle('is-open');
      t.setAttribute('aria-expanded',open?'true':'false');
    });
  });
  document.addEventListener('click',function(e){
    groups.forEach(function(g){
      if(!g.contains(e.target)){
        g.classList.remove('is-open');
        var t=g.querySelector('.at101-services-toggle');
        if(t)t.setAttribute('aria-expanded','false');
      }
    });
  });
  document.addEventListener('keydown',function(e){
    if(e.key==='Escape')groups.forEach(function(g){
      g.classList.remove('is-open');
      var t=g.querySelector('.at101-services-toggle');
      if(t)t.setAttribute('aria-expanded','false');
    });
  });
})();
</script>
<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="ab5799cf4493a09950283e1e-|49" defer></script><script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a4b110db4bf3ce7b',t:'MTc5MjA5MDgxNw=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>
</html>

Latest requests

# Url Url Source Date
1 https://addictiontreatments101.com… 2026-10-15 19:00:18
2 https://www.thebolditalic.com/?gi=… 2026-10-15 19:00:17
3 https://www.texarkanatwins.com/%25… 2026-10-15 19:00:16
4 https://www.texarkanatwins.com/%25… 2026-10-15 19:00:16
5 https://www.texarkanatwins.com/%25… 2026-10-15 19:00:15
6 https://seozdirectory.com/listings… 2026-10-15 19:00:15
7 https://www.texarkanatwins.com/%25… 2026-10-15 19:00:14
8 https://www.texarkanatwins.com/&am… 2026-10-15 19:00:14
9 https://www.thebolditalic.com/?gi=… 2026-10-15 19:00:13
10 https://www.texarkanatwins.com/%25… 2026-10-15 19:00:12
11 https://xiaopingh344scl3.blogoxo.c… 2026-10-15 19:00:02
12 https://www.texarkanatwins.com/%25… 2026-10-15 19:00:02
13 https://www.texarkanatwins.com/%25… 2026-10-15 19:00:01
14 https://www.texarkanatwins.com/%25… 2026-10-15 19:00:01
15 https://www.texarkanatwins.com/%25… 2026-10-15 19:00:00
16 https://neyhartlaw.com/ 2026-10-15 19:00:00
17 https://www.texarkanatwins.com/%25… 2026-10-15 18:59:59
18 https://www.texarkanatwins.com/%25… 2026-10-15 18:59:59
19 https://www.texarkanatwins.com/&%2… 2026-10-15 18:59:58
20 https://www.texarkanatwins.com/%25… 2026-10-15 18:59:58