It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://www.helpsns.com

  1. <!DOCTYPE html><html lang="ko" class="h-full max-h-dvh overflow-hidden"> <head><meta charset="utf-8"><!-- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> --><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="format-detection" content="telephone=no"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover"><meta name="theme-color" content="#3B70FF"><meta name="apple-mobile-web-app-status-bar-style" content="#3B70FF"><link rel="icon" type="image/x-icon" href="/favicon/favicon.ico"><link rel="icon" type="image/ico" sizes="32x32" href="/favicon/favicon-32x32.ico"><link rel="icon" type="image/ico" sizes="192x192" href="/favicon/favicon-192x192.ico"><link rel="icon" type="image/ico" sizes="512x512" href="/favicon/favicon-512x512.ico"><link rel="manifest" href="/favicon/site.webmanifest"><!-- 타이틀 --><title>
  2.      SNS헬프 - 실제 한국인 인스타 팔로워 구매, 인스타 좋아요 늘리기
  3.    </title><!-- 메타 태그 --><meta name="description" content="인스타그램 팔로워, 좋아요 구매와 유튜브 조회수, 구독자 늘리기는 SNS헬프와 함께! 여러분의 SNS 마케팅 도우미가 되어 계정 성장과 사업 성공에 날개를 달아드립니다."><meta name="keywords" content="인스타 팔로워 구매, 인스타 팔로워 늘리기, 인스타그램 팔로워 구매, 인스타 좋아요 구매, 인스타 좋아요 늘리기, 인스타그램 좋아요 구매, sns 팔로워 구매, 유튜브 조회수 구매, 유튜브 조회수 늘리기, 유튜브 구독자 구매, 유튜브 구독자 늘리기, 유튜브 시청시간 늘리기, 유튜브 수익창출, 틱톡 팔로워 늘리기 구매, 트위터 팔로워 늘리기 구매, 인스타그램 마케팅, 셀프 마케팅 플랫폼, 인스타그램 홍보, 인스타그램 계정 관리, 유튜브 채널 키우기 팔로워 늘리기, 인스타그램 좋아요 늘리기, 팔로워 늘리기, 좋아요 늘리기, 팔로워 구매, 좋아요 구매, 인스타그램 좋아요 구매, 인스타그램 팔로워 구매, 인스타좋아요늘리기, 인스타팔로워늘리기, sns헬퍼"><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"><meta property="og:type" content="website"><meta property="og:title" content="SNS헬프 - 셀프 SNS 마케팅 NO.1"><meta property="og:description" content="내 손 안의 마케팅 도우미, SNS헬프! 인스타 팔로워, 좋아요 늘리기, 유튜브, 틱톡 마케팅 등 다양한 SNS 셀프 마케팅 서비스를 제공합니다."><meta property="og:image" content="/meta/og.png"><meta property="og:url" content="https://www.helpsns.com/"><meta property="og:site_name" content="SNS헬프"><!-- 공통 Schema.org --><script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.helpsns.com#organization","name":"SNS헬프","url":"https://www.helpsns.com","alternateName":["SNS Help","에스엔에스헬프","SNS 헬프"],"logo":{"@type":"ImageObject","@id":"https://www.helpsns.com#organization-logo","url":"https://www.helpsns.com/meta/og.png","width":1200,"height":630,"caption":"SNS헬프"},"image":{"@id":"https://www.helpsns.com#organization-image"},"sameAs":["https://www.instagram.com/snshelp_official/","https://www.youtube.com/@helpsns"]},{"@type":"WebSite","@id":"https://www.helpsns.com#website","url":"https://www.helpsns.com","name":"SNS헬프","description":"인스타그램 팔로워, 좋아요 구매와 유튜브 조회수, 구독자 늘리기는 SNS헬프와 함께! 여러분의 SNS 마케팅 도우미가 되어 계정 성장과 사업 성공에 날개를 달아드립니다.","publisher":{"@id":"https://www.helpsns.com#organization"},"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https://www.helpsns.com/","url":"https://www.helpsns.com/","name":"SNS헬프 - 실제 한국인 인스타 팔로워 구매, 인스타 좋아요 늘리기","isPartOf":{"@id":"https://www.helpsns.com/#website"},"about":{"@id":"https://www.helpsns.com/#organization"},"primaryImageOfPage":{"@id":"https://www.helpsns.com/#primaryimage"},"image":{"@id":"https://www.helpsns.com/#primaryimage"},"thumbnailUrl":"https://www.helpsns.com//meta/og.png","datePublished":"2025-02-04T00:53:08+00:00","dateModified":"2025-05-15T06:29:37+00:00","description":"인스타그램 팔로워, 좋아요 구매와 유튜브 조회수, 구독자 늘리기는 SNS헬프와 함께! 여러분의 SNS 마케팅 도우미가 되어 계정 성장과 사업 성공에 날개를 달아드립니다.","breadcrumb":{"@id":"https://www.helpsns.com/#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"WebPage","@id":"https://www.helpsns.com","url":"https://www.helpsns.com","name":"SNS헬프 - 실제 한국인 인스타 팔로워 구매, 인스타 좋아요 늘리기"}},{"@type":"ListItem","position":2,"item":{"@type":"WebPage","@id":"https://www.helpsns.com","url":"https://www.helpsns.com","name":"SNS헬프 - 실제 한국인 인스타 팔로워 구매, 인스타 좋아요 늘리기"}}],"isPartOf":{"@id":"https://www.helpsns.com/#website"}},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https://www.helpsns.com/"]}]}]}</script><!-- 동적 canonical URL --><link rel="canonical" href="https://www.helpsns.com/" id="canonical-link"><!-- 동적 hreflang 태그 --><link rel="alternate" hreflang="ko" href="https://www.helpsns.com/"><!-- <link rel="alternate" hreflang="en" href={`${baseUrl}/en${currentPath}`} /> --><link rel="alternate" hreflang="x-default" href="https://www.helpsns.com/"><!-- 구글서치 콘솔 등록 --><meta name="google-site-verification" content="R0e6RwmX7Q24qdT5PlpwwOhqW29jc4Jy_gWQ1wmfv-s"><!-- Google Tag Manager --><script type="text/javascript">
  4.      (function (w, d, s, l, i) {
  5.        w[l] = w[l] || [];
  6.        w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });
  7.        var f = d.getElementsByTagName(s)[0],
  8.          j = d.createElement(s),
  9.          dl = l != 'dataLayer' ? '&l=' + l : '';
  10.        j.async = true;
  11.        j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
  12.        f.parentNode.insertBefore(j, f);
  13.      })(window, document, 'script', 'dataLayer', 'GTM-TVBBBB2M');
  14.    </script><!-- End Google Tag Manager --><!-- 클래리티 설정 --><script type="text/javascript">
  15.      (function (c, l, a, r, i, t, y) {
  16.        c[a] =
  17.          c[a] ||
  18.          function () {
  19.            (c[a].q = c[a].q || []).push(arguments);
  20.          };
  21.        t = l.createElement(r);
  22.        t.async = 1;
  23.        t.src = 'https://www.clarity.ms/tag/' + i;
  24.        y = l.getElementsByTagName(r)[0];
  25.        y.parentNode.insertBefore(t, y);
  26.      })(window, document, 'clarity', 'script', 'sgqktgfwxl');
  27.    </script><!-- 클래리티 사용자 식별 --><script type="text/javascript">
  28.      window.addEventListener('load', function () {
  29.        // Clarity가 로드될 때까지 잠시 대기
  30.        setTimeout(function () {
  31.          try {
  32.            const userInfo =
  33.              localStorage.getItem('user-info') || sessionStorage.getItem('user-info');
  34.  
  35.            if (userInfo) {
  36.              const userInfoObj = JSON.parse(userInfo);
  37.  
  38.              // user_id가 있는지 확인
  39.              if (userInfoObj && userInfoObj.state && userInfoObj.state.user_id) {
  40.                if (typeof window.clarity !== 'undefined') {
  41.                  // 문자열로 변환하여 전달
  42.                  const userId = String(userInfoObj.state.user_id);
  43.                  const userIdx = userInfoObj.state.user_idx
  44.                    ? String(userInfoObj.state.user_idx)
  45.                    : userId;
  46.  
  47.                  // 유효한 값인지 확인
  48.                  if (userId && userId !== 'undefined' && userId !== 'null') {
  49.                    // userIdx도 유효한 값인지 확인
  50.                    if (userIdx && userIdx !== 'undefined' && userIdx !== 'null') {
  51.                      window.clarity('identify', userIdx);
  52.                      window.clarity('set', 'user_id', userId);
  53.                    } else {
  54.                      // userIdx가 유효하지 않으면 userId만 사용
  55.                      window.clarity('identify', userId);
  56.                      window.clarity('set', 'user_id', userId);
  57.                    }
  58.                  }
  59.                } else {
  60.                  return;
  61.                }
  62.              } else {
  63.                return;
  64.              }
  65.            } else {
  66.              return;
  67.            }
  68.          } catch (error) {
  69.            return;
  70.          }
  71.        }, 1000);
  72.      });
  73.    </script><script type="text/javascript">
  74.      if (window.location.hostname.endsWith('amplifyapp.com')) {
  75.        window.location.href =
  76.          'https://www.helpsns.com' + window.location.pathname + window.location.search;
  77.      }
  78.    </script><link rel="stylesheet" href="/_astro/index.CwEBq9AH.css"><script type="module" src="/_astro/page.DTIbhfSr.js"></script></head> <body class="mx-auto w-full max-w-[550px] shadow-body-custom h-full overflow-x-hidden overflow-y-auto relative no-scrollbar"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TVBBBB2M" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- Message 컴포넌트 --> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();;(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="Z1OAJ8L" prefix="r13" component-url="/_astro/Message.oR_fDgFu.js" component-export="default" renderer-url="/_astro/client.CpWE7Ljk.js" props="{}" ssr client="load" opts="{&quot;name&quot;:&quot;Message&quot;,&quot;value&quot;:true}" await-children><div></div><!--astro:end--></astro-island> <!-- 헤더 (메인 && 뎁스) --> <header class="w-full bg-[#3B70FF] pt-4 text-[#1A1A1A]" aria-label="SNS헬프-메인헤더"> <div class="w-full flex justify-between"> <div class="w-full h-[34px] overflow-hidden c-flex justify-between pl-4"> <div class="c-flex gap-1 items-start"> <h1 class="text-[13px] text-white font-normal font-variable">
  79. 내 손 안의 마케팅 도우미 SNS헬프
  80. </h1> </div> <div class="w-fit"> <a href="/" aria-label="SNS Help Logo" class="cursor-pointer"> <img src="/_astro/main_logo.CtrBnVPc_1aPPB5.svg" alt="SNS헬프 로고" loading="eager" fetchpriority="high" decoding="sync" width="134" height="14" class="w-full object-fit"> </a> </div> </div> <div class="absolute right-0"> <astro-island uid="Xh5kS" prefix="r14" component-url="/_astro/Wallet.D0gDGYKr.js" component-export="WalletIcon" renderer-url="/_astro/client.CpWE7Ljk.js" props="{}" ssr client="load" opts="{&quot;name&quot;:&quot;WalletIcon&quot;,&quot;value&quot;:true}" await-children><div class="flex gap-2 justify-center items-center text-sm bg-[#353535] text-white px-2.5 rounded-tl-full cursor-pointer rounded-bl-full "><div class="w-full h-[34px] cursor-pointer flex justify-center items-center gap-[5px]"><div class="w-5 h-5 bg-[#3B70FF] rounded-full flex justify-center items-center"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="wallet" class="svg-inline--fa fa-wallet text-xs" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="opacity:0;transition:opacity 0.2s ease-in-out"><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l384 0c35.3 0 64-28.7 64-64l0-224c0-35.3-28.7-64-64-64L80 128c-8.8 0-16-7.2-16-16s7.2-16 16-16l368 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L64 32zM416 272a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"></path></svg></div><p class="font-semibold text-sm">0<!-- -->P</p></div></div><!--astro:end--></astro-island> </div> </div> <div class="w-full bg-white mt-4 border-t-16 border-white rounded-t-4xl"></div> </header> <!-- 블로그 비로그인 유도 모달 --> <div class="fixed top-0 left-0 w-full h-full flex justify-center items-center bg-black/50 z-10 hidden" id="blog-unlogin-modal"> <div class="bg-white p-4 rounded-xl w-[80%] max-w-sm c-flex gap-5"> <div class="w-full"> <strong class="text-xl font-semibold text-[#1A1A1A ]">링크 복사</strong> <p class="text-[#535355] text-sm font-normal mt-1">
  81. 로그인 후 공유하면 현금처럼 사용할 수 있는 적립금을 쌓을 수 있어요!
  82. </p> </div>  <div class="w-full c-flex gap-2.5">  <button class="w-full py-3 px-4 bg-[#3B70FF] text-white rounded-full cursor-pointer disabled:bg-[#F4F5F8] disabled:text-[#B6BBC5] font-semibold" aria-label="로그인, 회원가입 버튼" id="blog-unlogin-modal-login-button" onclick="sessionStorage.setItem('prev_url', window.location.pathname);">
  83. 로그인/회원가입
  84. </button> <button class="w-full py-3 px-4 bg-[#3B70FF] text-white rounded-full cursor-pointer disabled:bg-[#F4F5F8] disabled:text-[#B6BBC5] font-semibold" aria-label="공유하기 버튼" id="blog-unlogin-modal-share-button">
  85. 지금 공유하기
  86. </button> </div> </div> </div> <!-- 본문 -->   <script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","@id":"https://www.helpsns.com/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":{"@id":"https://www.helpsns.com/","name":"Home"}}]}</script> <main class="w-full mb-17 text-[#1A1A1A] c-flex gap-5 font-variable"> <!-- 모달 --> <astro-island uid="1MqAOu" prefix="r8" component-url="/_astro/Modal.DTJwSyXf.js" component-export="Modal" renderer-url="/_astro/client.CpWE7Ljk.js" props="{}" ssr client="load" opts="{&quot;name&quot;:&quot;Modal&quot;,&quot;value&quot;:true}"></astro-island> <!-- 강조 영역 --> <section class="px-4 w-full font-variable" aria-label="강조 영역"> <ul class="w-full flex gap-3 items-center" id="highlight-list"> <li class="w-full aspect-[4/3] bg-gray-100 rounded-xl overflow-hidden"> <a href="/notice/signup-benefits" class="w-full h-full cursor-pointer relative" onclick="sessionStorage.setItem('prev_url', window.location.pathname);"> <img src="/_astro/signup.a-mVWufv.webp" alt="한번뿐인" class="w-full h-full object-fit" width="160" height="160" loading="eager" fetchpriority="high" decoding="async"> </a> </li><li class="w-full aspect-[4/3] bg-gray-100 rounded-xl overflow-hidden"> <a href="/my/referral/" class="w-full h-full cursor-pointer relative" onclick="sessionStorage.setItem('prev_url', window.location.pathname);"> <img src="/_astro/main_referral.BVFVooBZ.webp" alt="추천하고" class="w-full h-full object-fit" width="160" height="160" loading="eager" fetchpriority="high" decoding="async"> </a> </li><li class="w-full aspect-[4/3] bg-gray-100 rounded-xl overflow-hidden"> <a href="/why-snshelp/" class="w-full h-full cursor-pointer relative" onclick="sessionStorage.setItem('prev_url', window.location.pathname);"> <img src="/_astro/WhyNo.1.D8VPxs_a.webp" alt="Why" class="w-full h-full object-fit" width="160" height="160" loading="eager" fetchpriority="high" decoding="async"> </a> </li> </ul> </section> <script type="module" src="/_astro/HightLight.astro_astro_type_script_index_0_lang.BSqSFXq3.js"></script> <!-- 제품 영역 --> <section class="w-full" aria-label="제품 영역"> <h2 class="text-lg px-4 font-semibold  mb-2.5">서비스 바로가기</h2> <ul id="drag-scroll" class="w-full flex flex-nowrap items-center gap-4.5 overflow-x-auto no-scrollbar login-main-product-list hidden" style="cursor: grab;"> <li class="flex-none w-[13%] max-w-[65px] select-none first:ml-4 last:mr-4"> <a href="/order/instagram/%ED%8C%94%EB%A1%9C%EC%9B%8C/%EC%8B%A4%EC%A0%9C%20%ED%95%9C%EA%B5%AD%EC%9D%B8/%EA%B8%B0%EB%B3%B8%20%ED%8C%94%EB%A1%9C%EC%9B%8C/" class="w-full h-full text-xs cursor-pointer c-flex justify-center items-center gap-2"> <div class="w-full flex justify-center items-center"> <img src="/_astro/instagram.CSPQCZwx.png" alt="인스타그램" class="w-full object-cover" width="65" height="65" loading="eager" fetchpriority="high" decoding="async"> </div> <span class="text-xs whitespace-nowrap">인스타그램</span> </a> </li><li class="flex-none w-[13%] max-w-[65px] select-none first:ml-4 last:mr-4"> <a href="/order/youtube/%EC%A1%B0%ED%9A%8C%EC%88%98/%EA%B8%80%EB%A1%9C%EB%B2%8C%20%EC%A1%B0%ED%9A%8C%EC%88%98/" class="w-full h-full text-xs cursor-pointer c-flex justify-center items-center gap-2"> <div class="w-full flex justify-center items-center"> <img src="/_astro/youtube.C8_WQBbw.png" alt="유튜브" class="w-full object-cover" width="65" height="65" loading="eager" fetchpriority="high" decoding="async"> </div> <span class="text-xs whitespace-nowrap">유튜브</span> </a> </li><li class="flex-none w-[13%] max-w-[65px] select-none first:ml-4 last:mr-4"> <a href="/order/tiktok/%ED%8C%94%EB%A1%9C%EC%9B%8C/%EA%B8%80%EB%A1%9C%EB%B2%8C%20%ED%8C%94%EB%A1%9C%EC%9B%8C/" class="w-full h-full text-xs cursor-pointer c-flex justify-center items-center gap-2"> <div class="w-full flex justify-center items-center"> <img src="/_astro/tiktok.DuzAMXi0.png" alt="틱톡" class="w-full object-cover" width="65" height="65" loading="eager" fetchpriority="high" decoding="async"> </div> <span class="text-xs whitespace-nowrap">틱톡</span> </a> </li><li class="flex-none w-[13%] max-w-[65px] select-none first:ml-4 last:mr-4"> <a href="/order/twitter/%ED%8C%94%EB%A1%9C%EC%9B%8C/%EA%B8%80%EB%A1%9C%EB%B2%8C%20%ED%8C%94%EB%A1%9C%EC%9B%8C/" class="w-full h-full text-xs cursor-pointer c-flex justify-center items-center gap-2"> <div class="w-full flex justify-center items-center"> <img src="/_astro/x.C9xhTSH5.png" alt="트위터(X)" class="w-full object-cover" width="65" height="65" loading="eager" fetchpriority="high" decoding="async"> </div> <span class="text-xs whitespace-nowrap">트위터(X)</span> </a> </li><li class="flex-none w-[13%] max-w-[65px] select-none first:ml-4 last:mr-4"> <a href="/order/n 플레이스/%ED%8A%B8%EB%9E%98%ED%94%BD/%EC%8B%A4%EC%A0%9C%20%ED%95%9C%EA%B5%AD%EC%9D%B8%20%ED%8A%B8%EB%9E%98%ED%94%BD/" class="w-full h-full text-xs cursor-pointer c-flex justify-center items-center gap-2"> <div class="w-full flex justify-center items-center"> <img src="/_astro/Nv.Hh5Dk7K_.png" alt="N플레이스" class="w-full object-cover" width="65" height="65" loading="eager" fetchpriority="high" decoding="async"> </div> <span class="text-xs whitespace-nowrap">N플레이스</span> </a> </li><li class="flex-none w-[13%] max-w-[65px] select-none first:ml-4 last:mr-4"> <a href="/order/facebook/%ED%8E%98%EC%9D%B4%EC%A7%80%20%EC%A2%8B%EC%95%84%EC%9A%94/%EC%8B%A4%EC%A0%9C%20%ED%95%9C%EA%B5%AD%EC%9D%B8%20%ED%8E%98%EC%9D%B4%EC%A7%80%20%EC%A2%8B%EC%95%84%EC%9A%94/" class="w-full h-full text-xs cursor-pointer c-flex justify-center items-center gap-2"> <div class="w-full flex justify-center items-center"> <img src="/_astro/facebook.BOW_cEdX.png" alt="페이스북" class="w-full object-cover" width="65" height="65" loading="eager" fetchpriority="high" decoding="async"> </div> <span class="text-xs whitespace-nowrap">페이스북</span> </a> </li><li class="flex-none w-[13%] max-w-[65px] select-none first:ml-4 last:mr-4"> <a href="/order/threads/%ED%8C%94%EB%A1%9C%EC%9B%8C/%EC%8B%A4%EC%A0%9C%20%ED%95%9C%EA%B5%AD%EC%9D%B8%20%ED%8C%94%EB%A1%9C%EC%9B%8C/" class="w-full h-full text-xs cursor-pointer c-flex justify-center items-center gap-2"> <div class="w-full flex justify-center items-center"> <img src="/_astro/Threads.CPMrgdBi.png" alt="스레드" class="w-full object-cover" width="65" height="65" loading="eager" fetchpriority="high" decoding="async"> </div> <span class="text-xs whitespace-nowrap">스레드</span> </a> </li><li class="flex-none w-[13%] max-w-[65px] select-none first:ml-4 last:mr-4"> <a href="/order/kakaotalk/%EC%B9%9C%EA%B5%AC%20%EC%B6%94%EA%B0%80/%EC%B9%B4%EC%B9%B4%EC%98%A4%20%EC%B1%84%EB%84%90%20%EC%B9%9C%EA%B5%AC%EC%B6%94%EA%B0%80/" class="w-full h-full text-xs cursor-pointer c-flex justify-center items-center gap-2"> <div class="w-full flex justify-center items-center"> <img src="/_astro/kakao.Ctt3bYe4.png" alt="카카오톡" class="w-full object-cover" width="65" height="65" loading="eager" fetchpriority="high" decoding="async"> </div> <span class="text-xs whitespace-nowrap">카카오톡</span> </a> </li> </ul> <ul class="w-full grid grid-cols-6 gap-4.5 not-login-main-product-list px-4"> <li class="aspect-square select-none"> <a href="/order/instagram/%ED%8C%94%EB%A1%9C%EC%9B%8C/%EC%8B%A4%EC%A0%9C%20%ED%95%9C%EA%B5%AD%EC%9D%B8/%EA%B8%B0%EB%B3%B8%20%ED%8C%94%EB%A1%9C%EC%9B%8C/" class="w-full h-content text-xs cursor-pointer c-flex justify-center items-center gap-2"> <div class="w-full flex justify-center items-center"> <img src="/_astro/instagram.CSPQCZwx.png" alt="인스타그램" class="w-full object-fit" width="65" height="65" loading="eager" fetchpriority="high" decoding="async"> </div> <span class="text-xs whitespace-nowrap">인스타그램</span> </a> </li><li class="aspect-square select-none"> <a href="/order/youtube/%EC%A1%B0%ED%9A%8C%EC%88%98/%EA%B8%80%EB%A1%9C%EB%B2%8C%20%EC%A1%B0%ED%9A%8C%EC%88%98/" class="w-full h-content text-xs cursor-pointer c-flex justify-center items-center gap-2"> <div class="w-full flex justify-center items-center"> <img src="/_astro/youtube.C8_WQBbw.png" alt="유튜브" class="w-full object-fit" width="65" height="65" loading="eager" fetchpriority="high" decoding="async"> </div> <span class="text-xs whitespace-nowrap">유튜브</span> </a> </li><li class="aspect-square select-none"> <a href="/order/tiktok/%ED%8C%94%EB%A1%9C%EC%9B%8C/%EA%B8%80%EB%A1%9C%EB%B2%8C%20%ED%8C%94%EB%A1%9C%EC%9B%8C/" class="w-full h-content text-xs cursor-pointer c-flex justify-center items-center gap-2"> <div class="w-full flex justify-center items-center"> <img src="/_astro/tiktok.DuzAMXi0.png" alt="틱톡" class="w-full object-fit" width="65" height="65" loading="eager" fetchpriority="high" decoding="async"> </div> <span class="text-xs whitespace-nowrap">틱톡</span> </a> </li><li class="aspect-square select-none"> <a href="/order/twitter/%ED%8C%94%EB%A1%9C%EC%9B%8C/%EA%B8%80%EB%A1%9C%EB%B2%8C%20%ED%8C%94%EB%A1%9C%EC%9B%8C/" class="w-full h-content text-xs cursor-pointer c-flex justify-center items-center gap-2"> <div class="w-full flex justify-center items-center"> <img src="/_astro/x.C9xhTSH5.png" alt="트위터(X)" class="w-full object-fit" width="65" height="65" loading="eager" fetchpriority="high" decoding="async"> </div> <span class="text-xs whitespace-nowrap">트위터(X)</span> </a> </li><li class="aspect-square select-none"> <a href="/order/facebook/%ED%8E%98%EC%9D%B4%EC%A7%80%20%EC%A2%8B%EC%95%84%EC%9A%94/%EC%8B%A4%EC%A0%9C%20%ED%95%9C%EA%B5%AD%EC%9D%B8%20%ED%8E%98%EC%9D%B4%EC%A7%80%20%EC%A2%8B%EC%95%84%EC%9A%94/" class="w-full h-content text-xs cursor-pointer c-flex justify-center items-center gap-2"> <div class="w-full flex justify-center items-center"> <img src="/_astro/facebook.BOW_cEdX.png" alt="페이스북" class="w-full object-fit" width="65" height="65" loading="eager" fetchpriority="high" decoding="async"> </div> <span class="text-xs whitespace-nowrap">페이스북</span> </a> </li><li class="aspect-square select-none"> <a href="/order/threads/%ED%8C%94%EB%A1%9C%EC%9B%8C/%EC%8B%A4%EC%A0%9C%20%ED%95%9C%EA%B5%AD%EC%9D%B8%20%ED%8C%94%EB%A1%9C%EC%9B%8C/" class="w-full h-content text-xs cursor-pointer c-flex justify-center items-center gap-2"> <div class="w-full flex justify-center items-center"> <img src="/_astro/Threads.CPMrgdBi.png" alt="스레드" class="w-full object-fit" width="65" height="65" loading="eager" fetchpriority="high" decoding="async"> </div> <span class="text-xs whitespace-nowrap">스레드</span> </a> </li> </ul> </section> <script type="module">document.addEventListener("DOMContentLoaded",()=>{const e=document.querySelector(".login-main-product-list"),s=document.querySelector(".not-login-main-product-list");if(!e||!s)return;const t=!!(localStorage.getItem("user-info")||sessionStorage.getItem("user-info")),o=JSON.parse(localStorage.getItem("user-info")||sessionStorage.getItem("user-info")||"{}");t&&o.state.user_idx?(e.classList.remove("hidden"),e.classList.add("flex"),s.classList.add("hidden"),s.classList.remove("flex")):(e.classList.add("hidden"),e.classList.remove("flex"),s.classList.remove("hidden"),s.classList.add("flex"))});</script> <script>
  87.  const slider = document.getElementById('drag-scroll');
  88.  let isDown = false;
  89.  let isDragging = false;
  90.  let startX;
  91.  let scrollLeft;
  92.  
  93.  slider.addEventListener('mousedown', (e) => {
  94.    isDown = true;
  95.    isDragging = false;
  96.    slider.classList.add('dragging');
  97.    slider.style.cursor = 'grabbing';
  98.    startX = e.pageX - slider.offsetLeft;
  99.    scrollLeft = slider.scrollLeft;
  100.    e.preventDefault();
  101.  });
  102.  
  103.  slider.addEventListener('mousemove', (e) => {
  104.    if (!isDown) return;
  105.    isDragging = true;
  106.    const x = e.pageX - slider.offsetLeft;
  107.    const walk = (x - startX) * 1;
  108.    slider.scrollLeft = scrollLeft - walk;
  109.  });
  110.  
  111.  // 전역 mouseup 이벤트 리스너 추가
  112.  document.addEventListener('mouseup', () => {
  113.    if (isDown) {
  114.      isDown = false;
  115.      slider.classList.remove('dragging');
  116.      slider.style.cursor = 'grab';
  117.    }
  118.  });
  119.  
  120.  slider.addEventListener('mouseup', () => {
  121.    isDown = false;
  122.    slider.classList.remove('dragging');
  123.    slider.style.cursor = 'grab';
  124.  });
  125.  
  126.  // 드래그가 발생한 경우, 내부의 <a> 클릭 막기
  127.  slider.querySelectorAll('a').forEach((a) => {
  128.    a.addEventListener('click', (e) => {
  129.      if (isDragging) {
  130.        e.preventDefault();
  131.        isDragging = false;
  132.      }
  133.    });
  134.  });
  135. </script> <!-- 수상 및 이벤트 배너 영역 --> <section class="w-full" aria-label="배너 영역"> <div class="w-full flex justify-between gap-3 items-center pl-4 pr-1"> <!-- 수상 내역 --> <div class="w-1/2 aspect-[4/5] bg-gray-100 rounded-xl flex justify-center items-center overflow-hidden"> <a href="/why-snshelp/" aria-label="수상내역 이동" onclick="sessionStorage.setItem('prev_url', window.location.pathname);"> <img src="/_astro/award.DCKLxWeN_Tbhvf.webp" srcset="/_astro/award.DCKLxWeN_Tbhvf.webp 1x, /_astro/award.DCKLxWeN_Z1sab9O.webp 2x" alt="수상내역" loading="eager" fetchpriority="high" decoding="sync" width="300" height="375" class="w-full h-full object-cover"> </a> </div> <!-- 이벤트 배너 --> <div class="w-1/2 aspect-[4/5] bg-gray-100 rounded-xl overflow-hidden relative not-login-banner"> <!-- 비로그인 --> <div class="slidewrap w-full h-full relative overflow-hidden"> <div class="slides flex h-full"> <div data-url="/notice/down_price" data-title="가격인하 배너" class="section1 slide flex grow-0 shrink-0 basis-full items-center justify-center w-full h-full overflow-hidden text-base font-[600] cursor-pointer"> <img src="/_astro/down_price.C7LXmp86_ZG2496.webp" srcset="/_astro/down_price.C7LXmp86_ZG2496.webp 1x, /_astro/down_price.C7LXmp86_13z9yD.webp 2x" alt="가격인하 배너" loading="eager" fetchpriority="high" decoding="async" width="300" height="375" class="w-full h-full object-cover pointer-events-none"> </div><div data-url="/notice/signup-benefits" data-title="가입혜택 배너" class="section2 slide flex grow-0 shrink-0 basis-full items-center justify-center w-full h-full overflow-hidden text-base font-[600] cursor-pointer"> <img src="/_astro/charge_banner.BCfTa3db_Z9AFWA.webp" srcset="/_astro/charge_banner.BCfTa3db_Z9AFWA.webp 1x, /_astro/charge_banner.BCfTa3db_20xznp.webp 2x" alt="가입혜택 배너" loading="eager" fetchpriority="high" decoding="async" width="300" height="375" class="w-full h-full object-cover pointer-events-none"> </div><div data-url="/my/referral/" data-title="추천하기 배너" class="section3 slide flex grow-0 shrink-0 basis-full items-center justify-center w-full h-full overflow-hidden text-base font-[600] cursor-pointer"> <img src="/_astro/referral_banner.q2IwRgfD_1d2mWk.webp" srcset="/_astro/referral_banner.q2IwRgfD_1d2mWk.webp 1x, /_astro/referral_banner.q2IwRgfD_Z2o3wcx.webp 2x" alt="추천하기 배너" loading="eager" fetchpriority="high" decoding="async" width="300" height="375" class="w-full h-full object-cover pointer-events-none"> </div> </div> <!-- 이벤트 페이너 페이지네이션 --> <div aria-label="이벤트 배너 페이지네이션" class="absolute right-2.5 bottom-2.5 bg-[#1A1A1A]/40 text-white  text-xs font-bold px-3 py-1 rounded-full flex items-center gap-1"> <span class="current-slide">1</span> <span>/</span> <span>3</span> </div> </div> </div> <!-- 로그인 --> <div class="w-1/2 aspect-[4/5] bg-gray-100 rounded-xl overflow-hidden relative login-banner"> <div class="login-slidewrap w-full h-full relative overflow-hidden"> <div class="login-slides flex h-full"> <div data-url="/notice/down_price" data-title="가격인하 배너" class="section1 login-slide flex grow-0 shrink-0 basis-full items-center justify-center w-full h-full overflow-hidden text-base font-[600] cursor-pointer"> <img src="/_astro/down_price.C7LXmp86_ZG2496.webp" srcset="/_astro/down_price.C7LXmp86_ZG2496.webp 1x, /_astro/down_price.C7LXmp86_13z9yD.webp 2x" alt="가격인하 배너" loading="eager" fetchpriority="high" decoding="async" width="300" height="375" class="w-full h-full object-cover pointer-events-none"> </div><div data-url="/my/referral/" data-title="추천하기 배너" class="section2 login-slide flex grow-0 shrink-0 basis-full items-center justify-center w-full h-full overflow-hidden text-base font-[600] cursor-pointer"> <img src="/_astro/referral_banner.q2IwRgfD_1d2mWk.webp" srcset="/_astro/referral_banner.q2IwRgfD_1d2mWk.webp 1x, /_astro/referral_banner.q2IwRgfD_Z2o3wcx.webp 2x" alt="추천하기 배너" loading="eager" fetchpriority="high" decoding="async" width="300" height="375" class="w-full h-full object-cover pointer-events-none"> </div> </div> <!-- 이벤트 페이너 페이지네이션 --> <div aria-label="이벤트 배너 페이지네이션" class="absolute right-2.5 bottom-2.5 bg-[#1A1A1A]/40 text-white  text-xs font-bold px-3 py-1 rounded-full flex items-center gap-1"> <span class="login-current-slide">1</span> <span>/</span> <span>2</span> </div> </div> </div> <div></div> </div> <script type="module">const v=document.querySelector(".login-slidewrap"),d=document.querySelectorAll(".login-slide").length,s=document.getElementsByClassName("login-slides"),w=document.querySelector(".login-current-slide");let l=v.offsetWidth,n=0,r=!1,f=!1,i=0,a=0,h=0,u=null;const S=7e3,M=new ResizeObserver(e=>{for(const o of e)o.target===v&&(l=o.contentRect.width,s[0].style.transform=`translateX(-${l*n}px)`)});M.observe(v);function c(e){n=e,s[0].style.transition="transform 0.5s ease",s[0].style.transform=`translateX(-${l*n}px)`,w.textContent=(e+1).toString()}function X(e){r=!0,f=!1,i=e.touches[0].clientX,a=i,h=-l*n,s[0].style.transition="none",E()}function x(e){if(!r)return;e.preventDefault(),a=e.touches[0].clientX;const o=a-i;Math.abs(o)>5&&(f=!0);const t=h+o;t>0||t<-(l*(d-1))||(s[0].style.transform=`translateX(${t}px)`)}function y(){if(!r)return;r=!1;const e=a-i,o=l*.2;if(Math.abs(e)>o)if(e>0){const t=n-1>=0?n-1:d-1;c(t)}else{const t=n+1<d?n+1:0;c(t)}else c(n);m()}s[0].addEventListener("touchstart",X,{passive:!1});s[0].addEventListener("touchmove",x,{passive:!1});s[0].addEventListener("touchend",y);s[0].addEventListener("touchcancel",y);function L(e){r=!0,f=!1,i=e.clientX,a=i,h=-l*n,s[0].style.transition="none",E()}function b(e){if(!r)return;e.preventDefault(),a=e.clientX;const o=a-i;Math.abs(o)>5&&(f=!0);const t=h+o;t>0||t<-(l*(d-1))||(s[0].style.transform=`translateX(${t}px)`)}function p(){if(!r)return;r=!1;const e=a-i,o=l*.2;if(Math.abs(e)>o)if(e>0){const t=n-1>=0?n-1:d-1;c(t)}else{const t=n+1<d?n+1:0;c(t)}else c(n);m()}s[0].addEventListener("mousedown",L);s[0].addEventListener("mousemove",b);s[0].addEventListener("mouseup",p);s[0].addEventListener("mouseleave",p);function m(){u&&clearInterval(u),u=setInterval(()=>{const e=(n+1)%d;c(e)},S)}function E(){u&&(clearInterval(u),u=null)}m();function T(e){const t=e.target.closest(".login-slide");if(t&&!f&&!r){const g=t.getAttribute("data-url");g&&(sessionStorage.setItem("prev_url",window.location.pathname),window.location.href=g)}}s[0].addEventListener("click",T);</script> <!-- 비로그인 배너 스크립트 --> <script type="module">const v=document.querySelector(".slidewrap"),d=document.querySelectorAll(".slide").length,s=document.getElementsByClassName("slides"),w=document.querySelector(".current-slide");let r=v.offsetWidth,n=0,l=!1,f=!1,a=0,i=0,h=0,u=null;const S=7e3,M=new ResizeObserver(e=>{for(const o of e)o.target===v&&(r=o.contentRect.width,s[0].style.transform=`translateX(-${r*n}px)`)});M.observe(v);function c(e){n=e,s[0].style.transition="transform 0.5s ease",s[0].style.transform=`translateX(-${r*n}px)`,w.textContent=(e+1).toString()}function X(e){l=!0,f=!1,a=e.touches[0].clientX,i=a,h=-r*n,s[0].style.transition="none",E()}function x(e){if(!l)return;e.preventDefault(),i=e.touches[0].clientX;const o=i-a;Math.abs(o)>5&&(f=!0);const t=h+o;t>0||t<-(r*(d-1))||(s[0].style.transform=`translateX(${t}px)`)}function p(){if(!l)return;l=!1;const e=i-a,o=r*.2;if(Math.abs(e)>o)if(e>0){const t=n-1>=0?n-1:d-1;c(t)}else{const t=n+1<d?n+1:0;c(t)}else c(n);m()}s[0].addEventListener("touchstart",X,{passive:!1});s[0].addEventListener("touchmove",x,{passive:!1});s[0].addEventListener("touchend",p);s[0].addEventListener("touchcancel",p);function L(e){l=!0,f=!1,a=e.clientX,i=a,h=-r*n,s[0].style.transition="none",E()}function b(e){if(!l)return;e.preventDefault(),i=e.clientX;const o=i-a;Math.abs(o)>5&&(f=!0);const t=h+o;t>0||t<-(r*(d-1))||(s[0].style.transform=`translateX(${t}px)`)}function g(){if(!l)return;l=!1;const e=i-a,o=r*.2;if(Math.abs(e)>o)if(e>0){const t=n-1>=0?n-1:d-1;c(t)}else{const t=n+1<d?n+1:0;c(t)}else c(n);m()}s[0].addEventListener("mousedown",L);s[0].addEventListener("mousemove",b);s[0].addEventListener("mouseup",g);s[0].addEventListener("mouseleave",g);function m(){u&&clearInterval(u),u=setInterval(()=>{const e=(n+1)%d;c(e)},S)}function E(){u&&(clearInterval(u),u=null)}m();function T(e){const t=e.target.closest(".slide");if(t&&!f){const y=t.getAttribute("data-url");y&&(sessionStorage.setItem("prev_url",window.location.pathname),window.location.href=y)}}s[0].addEventListener("click",T);</script> <!-- 로그인 배너 스크립트 --> <script type="module">const o=localStorage.getItem("user-info")||sessionStorage.getItem("user-info"),e=document.querySelector(".login-banner"),n=document.querySelector(".not-login-banner");o?(e?.classList.remove("hidden"),n?.classList.add("hidden")):(e?.classList.add("hidden"),n?.classList.remove("hidden"));</script> </section> <!-- 인기 상품 영역 --> <section class="w-full" aria-label="인기 상품 역역"> <h2 class="text-lg px-4 font-semibold  mb-2.5">인기 상품 TOP 5</h2> <div class="w-full"> <ul id="popular-drag-scroll" class="w-full flex flex-nowrap items-start gap-3 overflow-x-scroll no-scrollbar" style="cursor: grab;"> <li class="flex-none w-[26%] select-none first:ml-4 last:mr-4"> <a href="/order/instagram/팔로워/실제%20한국인/기본%20팔로워/" class=" block w-full h-full pointer-events-none" aria-label="팔로워페이지 이동"> <figure class="c-flex gap-2.5 pointer-events-auto"> <div class="w-full aspect-square bg-gray-100 rounded-xl overflow-hidden"> <img src="/_astro/popular_1.CviN7nIq.webp" alt="팔로워" class="w-full h-full object-cover" width="190" height="190" loading="eager" fetchpriority="high" decoding="async"> </div> <figcaption class="c-flex gap-[6px]"> <div> <p class="text-[10px] text-[#787878] font-normal leading-3"> 인스타그램 실제 한국인 </p> <h3 class="text-xs leading-4.5 font-semibold flex items-center gap-1 mt-[2px]"> <span class="text-[10px] bg-[#3B70FF] rounded-[4px] w-[14px] h-[14px] text-white flex items-center justify-center"> 1 </span> 팔로워 </h3> </div> <div class="w-full flex items-end gap-1 leading-3.5"> <span class="text-[10px] text-[#B6BBC5] font-normal">개당</span> <p class="text-xs font-semibold">55P</p> </div> </figcaption> </figure> </a> </li><li class="flex-none w-[26%] select-none first:ml-4 last:mr-4"> <a href="/order/youtube/조회수/글로벌%20조회수/" class=" block w-full h-full pointer-events-none" aria-label="조회수페이지 이동"> <figure class="c-flex gap-2.5 pointer-events-auto"> <div class="w-full aspect-square bg-gray-100 rounded-xl overflow-hidden"> <img src="/_astro/popular_2.Cz_9n-Db.webp" alt="조회수" class="w-full h-full object-cover" width="190" height="190" loading="eager" fetchpriority="high" decoding="async"> </div> <figcaption class="c-flex gap-[6px]"> <div> <p class="text-[10px] text-[#787878] font-normal leading-3"> 유튜브 글로벌 </p> <h3 class="text-xs leading-4.5 font-semibold flex items-center gap-1 mt-[2px]"> <span class="text-[10px] bg-[#3B70FF] rounded-[4px] w-[14px] h-[14px] text-white flex items-center justify-center"> 2 </span> 조회수 </h3> </div> <div class="w-full flex items-end gap-1 leading-3.5"> <span class="text-[10px] text-[#B6BBC5] font-normal">개당</span> <p class="text-xs font-semibold">4P</p> </div> </figcaption> </figure> </a> </li><li class="flex-none w-[26%] select-none first:ml-4 last:mr-4"> <a href="/order/instagram/릴스/실제%20한국인%20조회수/" class=" block w-full h-full pointer-events-none" aria-label="릴스 조회수페이지 이동"> <figure class="c-flex gap-2.5 pointer-events-auto"> <div class="w-full aspect-square bg-gray-100 rounded-xl overflow-hidden"> <img src="/_astro/popular_3.BvSaFB0H.webp" alt="릴스 조회수" class="w-full h-full object-cover" width="190" height="190" loading="eager" fetchpriority="high" decoding="async"> </div> <figcaption class="c-flex gap-[6px]"> <div> <p class="text-[10px] text-[#787878] font-normal leading-3"> 인스타그램 실제 한국인 </p> <h3 class="text-xs leading-4.5 font-semibold flex items-center gap-1 mt-[2px]"> <span class="text-[10px] bg-[#3B70FF] rounded-[4px] w-[14px] h-[14px] text-white flex items-center justify-center"> 3 </span> 릴스 조회수 </h3> </div> <div class="w-full flex items-end gap-1 leading-3.5"> <span class="text-[10px] text-[#B6BBC5] font-normal">개당</span> <p class="text-xs font-semibold">0.15P</p> </div> </figcaption> </figure> </a> </li><li class="flex-none w-[26%] select-none first:ml-4 last:mr-4"> <a href="/order/instagram/좋아요/유령%20한국인/기본%20좋아요/" class=" block w-full h-full pointer-events-none" aria-label="좋아요페이지 이동"> <figure class="c-flex gap-2.5 pointer-events-auto"> <div class="w-full aspect-square bg-gray-100 rounded-xl overflow-hidden"> <img src="/_astro/popular_4.BQ2FQMa3.webp" alt="좋아요" class="w-full h-full object-cover" width="190" height="190" loading="eager" fetchpriority="high" decoding="async"> </div> <figcaption class="c-flex gap-[6px]"> <div> <p class="text-[10px] text-[#787878] font-normal leading-3"> 인스타그램 유령 한국인 </p> <h3 class="text-xs leading-4.5 font-semibold flex items-center gap-1 mt-[2px]"> <span class="text-[10px] bg-[#3B70FF] rounded-[4px] w-[14px] h-[14px] text-white flex items-center justify-center"> 4 </span> 좋아요 </h3> </div> <div class="w-full flex items-end gap-1 leading-3.5"> <span class="text-[10px] text-[#B6BBC5] font-normal">개당</span> <p class="text-xs font-semibold">4.5P</p> </div> </figcaption> </figure> </a> </li><li class="flex-none w-[26%] select-none first:ml-4 last:mr-4"> <a href="/order/youtube/구독자/글로벌%20구독자/" class=" block w-full h-full pointer-events-none" aria-label="구독자페이지 이동"> <figure class="c-flex gap-2.5 pointer-events-auto"> <div class="w-full aspect-square bg-gray-100 rounded-xl overflow-hidden"> <img src="/_astro/popular_5.CM_J7I8v.webp" alt="구독자" class="w-full h-full object-cover" width="190" height="190" loading="eager" fetchpriority="high" decoding="async"> </div> <figcaption class="c-flex gap-[6px]"> <div> <p class="text-[10px] text-[#787878] font-normal leading-3"> 유튜브 글로벌 </p> <h3 class="text-xs leading-4.5 font-semibold flex items-center gap-1 mt-[2px]"> <span class="text-[10px] bg-[#3B70FF] rounded-[4px] w-[14px] h-[14px] text-white flex items-center justify-center"> 5 </span> 구독자 </h3> </div> <div class="w-full flex items-end gap-1 leading-3.5"> <span class="text-[10px] text-[#B6BBC5] font-normal">개당</span> <p class="text-xs font-semibold">45P</p> </div> </figcaption> </figure> </a> </li> </ul> </div> </section> <script type="module">const e=document.getElementById("popular-drag-scroll");let s=!1,r=!1,a,o;e.addEventListener("mousedown",t=>{s=!0,r=!1,e.classList.add("dragging"),e.style.cursor="grabbing",a=t.pageX-e.offsetLeft,o=e.scrollLeft,t.preventDefault()});e.addEventListener("mousemove",t=>{if(!s)return;r=!0;const n=(t.pageX-e.offsetLeft-(a||0))*1;e.scrollLeft=(o||0)-n});e.addEventListener("mouseup",()=>{s=!1,e.classList.remove("dragging"),e.style.cursor="grab"});document.addEventListener("mouseup",()=>{s&&(s=!1,e.classList.remove("dragging"),e.style.cursor="grab")});e.querySelectorAll("a").forEach(t=>{t.addEventListener("click",l=>{r&&(l.preventDefault(),r=!1)})});</script> <!-- -----구분선------ --> <hr class="w-full border-5 border-[#F3F5F7]"> <!-- SNS헬프 써야하는 이유 영역 --> <section class="px-4 w-full" aria-label="인기 상품 역역"> <h2 class="text-lg font-semibold  mb-2.5">마케팅 대행사들이 SNS헬프를 찾는 이유</h2> <div class="w-full"> <ul class="w-full c-flex"> <li class="w-full pt-2.5 pb-3.5 r-flex gap-2.5 items-center border-b-1 border-[#F3F5F7]"> <div class="w-full max-w-[60px] aspect-square"> <img src="/_astro/why_1.BGUhyW8M.webp" alt="손쉬운 사용법" class="w-full h-full object-cover" width="60" height="60" loading="eager" fetchpriority="high" decoding="async"> </div> <div class="flex-1"> <h3 class="text-base font-semibold">간단한 사용법</h3> <p class="w-full mt-1 text-[13px] text-[#787878] font-normal">
  136. 직관적인 디자인과 사용법<br>
  137. 신용카드 및 소액결제 등을 이용한 <span class="text-[#3B70FF] font-medium">간편결제</span> </p> </div> </li> <li class="w-full py-3.5 r-flex gap-2.5 items-center border-b-1 border-[#F3F5F7]"> <div class="w-full max-w-[60px] aspect-square"> <img src="/_astro/why_2.CV1JoSXj.webp" alt="최고의 퀄리티" class="w-full h-full object-cover" width="60" height="60" loading="eager" fetchpriority="high" decoding="async"> </div> <div class="flex-1"> <h3 class="text-base font-semibold">높은 서비스 품질</h3> <p class="w-full mt-1 text-[13px] text-[#787878] font-normal">
  138. SNS헬프의 전문가들이 엄선하여<br> <span class="text-[#3B70FF] font-medium">높은 퀄리티와 안정성</span>을 자랑하는 서비스
  139.            제공
  140. </p> </div> </li> <li class="w-full py-3.5 r-flex gap-2.5 items-center border-b-1 border-[#F3F5F7]"> <div class="w-full max-w-[60px] aspect-square"> <img src="/_astro/why_3.DIvsUHDA.webp" alt="빠른 주문 처리" class="w-full h-full object-cover" width="60" height="60" loading="eager" fetchpriority="high" decoding="async"> </div> <div class="flex-1"> <h3 class="text-base font-semibold">빠른 처리 속도</h3> <p class="w-full mt-1 text-[13px] text-[#787878] font-normal"> <span class="text-[#3B70FF] font-medium">연중무휴 24시간</span><br>
  141. 최신 자동화 시스템으로 정해진 시간 내 주문 처리 가능
  142. </p> </div> </li> <li class="w-full pt-3.5 r-flex gap-2.5 items-center"> <div class="w-full max-w-[60px] aspect-square"> <img src="/_astro/why_4.s4TChrdl.webp" alt="합리적인 가격" class="w-full h-full object-cover" width="60" height="60" loading="eager" fetchpriority="high" decoding="async"> </div> <div class="flex-1"> <h3 class="text-base font-semibold">합리적인 가격</h3> <p class="w-full mt-1 text-[13px] text-[#787878] font-normal"> <span class="text-[#3B70FF] font-medium">타사대비 저렴한 가격</span>으로 최고의 효율성을
  143.            자랑
  144. </p> </div> </li> </ul> </div> </section> <!-- -----구분선------ --> <hr class="w-full border-5 border-[#F3F5F7]"> <!-- 블로그 영역 --> <section class="px-4 w-full font-variable" aria-label="메인-인기블로그"> <h2 class="text-lg font-semibold mb-2.5">지금 주목해야 할 정보</h2> <aticle class="w-full"> <ul class="w-full c-flex gap-[15px]"> <li class="post-item w-full rounded-lg border border-[#E3E4E7]"> <a href="/blog/세계-1등-유튜버-mr-beast의-4억-구독자-달성-6가지-핵심-비결/" aria-label="블로그 포스트 리스트" class="block py-2.5 pl-4 pr-2.5 blog-link"> <article class="w-full flex justify-between items-center gap-5">  <div class="w-3/5 c-flex gap-1"> <div class="h-fit leading-3 flex items-center gap-1"> <span class="text-xs font-pretendard leading-3 text-[#B6BBC5] font-normal">블로그</span> <span class="px-[5px] py-1 text-[11px] text-[#3B70FF] leading-3 font-normal bg-[#F1F5FF] rounded-[5px]">
  145. New
  146. </span> </div> <h3 class="text-base font-pretendard font-semibold leading-5 hover:underline text-ellipsis-2">
  147. 세계 1등 유튜버 Mr.Beast의 4억 구독자 달성 6가지 핵심 비결 완벽 분석
  148. </h3> </div>  <div class="w-2/5 rounded-lg overflow-hidden"> <img src="/_astro/main_youtube.BPedev1L_Z2jF7v.webp" alt="유튜브 조회수로 수익 창출하는 방법 A to Z, 지금 바로 확인하세요 - 2025년 최신판" loading="eager" fetchpriority="high" decoding="async" width="1600" height="900" class="w-full object-fit"> </div> </article> </a> </li> <li class="post-item w-full rounded-lg border border-[#E3E4E7]"> <a href="/blog/인스타-팔로워-구매에-대한-오해-4가지-진짜일까요-그/" aria-label="블로그 포스트 리스트" class="block py-2.5 pl-4 pr-2.5 blog-link"> <article class="w-full flex justify-between items-center gap-5">  <div class="w-3/5 c-flex gap-1"> <div class="h-fit leading-3 flex items-center gap-1"> <span class="text-xs font-pretendard leading-3 text-[#B6BBC5] font-normal">블로그</span> </div> <h3 class="text-base font-pretendard font-semibold leading-5 hover:underline text-ellipsis-2">
  149. 인스타 팔로워 구매에 대한 오해 4가지, 진짜일까요? 그 진실을 알려드립니다.
  150. </h3> </div>  <div class="w-2/5 rounded-lg overflow-hidden"> <img src="/_astro/main_blog3.-oBX-wHl_Z1kcHtC.webp" alt="6월부터 이어지고 있는 인스타그램 계정 대량정지 사태, 여러분은 어떻게 관리하고 계신가요?" loading="eager" fetchpriority="high" decoding="async" width="2560" height="1440" class="w-full object-fit"> </div> </article> </a> </li> <li class="post-item w-full rounded-lg border border-[#E3E4E7]"> <a href="/blog/2025년-최신판-인스타그램-팔로워-늘리는-비법-상위-0-1만/" aria-label="블로그 포스트 리스트" class="block py-2.5 pl-4 pr-2.5 blog-link"> <article class="w-full flex justify-between items-center gap-5">  <div class="w-3/5 c-flex gap-1"> <span class="text-xs font-pretendard leading-3 text-[#B6BBC5] font-normal">블로그</span> <h3 class="text-base font-pretendard font-semibold leading-5 hover:underline text-ellipsis-2">
  151. 2025년 최신판 인스타그램 팔로워 늘리는 비법, 상위 0.1%만 알고 있던 전략 공개합니다.
  152. </h3> </div>  <div class="w-2/5 rounded-lg overflow-hidden"> <img src="/_astro/main_blog1.CdNlZ9Tg_Z1RnBrd.webp" alt="인스타그램 팔로워 늘리는 비법" loading="eager" fetchpriority="high" decoding="async" width="3334" height="1875" class="w-full object-fit"> </div> </article> </a> </li> </ul> <!-- 더 많은 정보들을 만나보세요  --> <button class="block w-auto m-auto"> <a href="/blog/" class="w-full h-[44px] flex justify-center items-center gap-2 px-5 py-1.5 my-5 rounded-full text-[#454C5B]
  153.      text-sm cursor-pointer bg-[#F3F5F7]"> <p class="whitespace-nowrap">더 많은 정보들을 만나보세요</p> <astro-island uid="iXyb0" prefix="r15" component-url="/_astro/RightArrow.B2ov0gLi.js" component-export="RightArrow" renderer-url="/_astro/client.CpWE7Ljk.js" props="{&quot;className&quot;:[0,&quot;text-sm&quot;]}" ssr client="load" opts="{&quot;name&quot;:&quot;RightArrow&quot;,&quot;value&quot;:true}" await-children><svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="chevron-right" class="svg-inline--fa fa-chevron-right text-sm cursor-pointer" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" style="opacity:0;transition:opacity 0.2s ease-in-out"><path fill="currentColor" d="M305 239c9.4 9.4 9.4 24.6 0 33.9L113 465c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l175-175L79 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L305 239z"></path></svg><!--astro:end--></astro-island> </a> </button> </aticle> </section> <script>
  154.  // 블로그 링크에 사용자 정보 쿼리 파라미터 추가
  155.  function addUserQueryToLinks() {
  156.    try {
  157.      const userInfo = localStorage.getItem('user-info') || sessionStorage.getItem('user-info');
  158.      if (userInfo) {
  159.        const userInfoObj = JSON.parse(userInfo);
  160.        if (userInfoObj.state && userInfoObj.state.user_id) {
  161.          const blogLinks = document.querySelectorAll('.blog-link');
  162.          blogLinks.forEach((link) => {
  163.            const currentHref = link.getAttribute('href');
  164.            if (currentHref && !currentHref.includes('?q=')) {
  165.              link.setAttribute('href', `${currentHref}?q=${userInfoObj.state.user_id}`);
  166.            }
  167.          });
  168.        }
  169.      }
  170.    } catch (error) {
  171.      console.log('사용자 정보를 가져오는데 실패했습니다:', error);
  172.    }
  173.  }
  174.  
  175.  // 페이지 로드 시 실행
  176.  addUserQueryToLinks();
  177. </script> </main>  <!-- 카카오톡 문의 --> <div class="w-full flex justify-end pr-4 sticky bottom-[76px] z-30  kakao-button-container "> <a href="https://pf.kakao.com/_Pdddn/chat" target="_blank" aria-label="카카오톡 상담하기" rel="noopener noreferrer" class="absolute bottom-full kakao-button w-[56px] bg-[#F9E000] rounded-[20px] c-flex justify-center items-center shadow-custom-kakao py-2 px-[11px]"> <img src="/_astro/kakao_channel.DJGjBzGg_Z1PHa1C.svg" alt="카카오톡" loading="eager" fetchpriority="high" decoding="sync" width="56" height="56" class="w-full object-fit"> </a> </div> <!-- Fotoer --> <footer class="w-full max-w-[550px] mx-auto fixed bottom-0 bg-white z-20 border-t-1 border-[#F3F5F7]">  <nav class="w-full h-[54px]"> <ul class="w-full h-full flex justify-between items-center"> <li class="w-1/4 h-full"> <a href="/" class="w-full h-full c-flex justify-center items-center gap-1 text-xs text-[#1A1A1A] font-semibold hover:font-semibold hover:text-[#1A1A1A] group" aria-label="홈"> <span class="mt-1"> <astro-island uid="uv5tS" prefix="r9" component-url="/_astro/HomeIcon.CCGHwauJ.js" component-export="HomeIcon" renderer-url="/_astro/client.CpWE7Ljk.js" props="{}" ssr client="load" opts="{&quot;name&quot;:&quot;HomeIcon&quot;,&quot;value&quot;:true}" await-children><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="house" class="svg-inline--fa fa-house text-lg" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" style="opacity:0;transition:opacity 0.2s ease-in-out"><path fill="currentColor" d="M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"></path></svg><!--astro:end--></astro-island>     </span> <span class="text-[11px] leading-[11px]">홈</span> </a> </li><li class="w-1/4 h-full"> <a href="/order/instagram/팔로워/실제%20한국인/기본%20팔로워/" class="w-full h-full c-flex justify-center items-center gap-1 text-xs text-[#B6BBC5] hover:font-semibold hover:text-[#1A1A1A] group" aria-label="주문"> <span class="mt-1">   <astro-island uid="Zv0IO4" prefix="r10" component-url="/_astro/OrderIcon.CO7l3PpK.js" component-export="OrderIcon" renderer-url="/_astro/client.CpWE7Ljk.js" props="{}" ssr client="load" opts="{&quot;name&quot;:&quot;OrderIcon&quot;,&quot;value&quot;:true}" await-children><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="cart-plus" class="svg-inline--fa fa-cart-plus text-lg" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" style="opacity:0;transition:opacity 0.2s ease-in-out"><path fill="currentColor" d="M0 24C0 10.7 10.7 0 24 0L69.5 0c22 0 41.5 12.8 50.6 32l411 0c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3l-288.5 0 5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5L488 336c13.3 0 24 10.7 24 24s-10.7 24-24 24l-288.3 0c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5L24 48C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM252 160c0 11 9 20 20 20l44 0 0 44c0 11 9 20 20 20s20-9 20-20l0-44 44 0c11 0 20-9 20-20s-9-20-20-20l-44 0 0-44c0-11-9-20-20-20s-20 9-20 20l0 44-44 0c-11 0-20 9-20 20z"></path></svg><!--astro:end--></astro-island>   </span> <span class="text-[11px] leading-[11px]">주문</span> </a> </li><li class="w-1/4 h-full"> <a href="/blog/" class="w-full h-full c-flex justify-center items-center gap-1 text-xs text-[#B6BBC5] hover:font-semibold hover:text-[#1A1A1A] group" aria-label="블로그"> <span class="mt-1">    <astro-island uid="Z5q8PD" prefix="r11" component-url="/_astro/BlogIcon.osZq1Mun.js" component-export="BlogIcon" renderer-url="/_astro/client.CpWE7Ljk.js" props="{}" ssr client="load" opts="{&quot;name&quot;:&quot;BlogIcon&quot;,&quot;value&quot;:true}" await-children><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="book-open" class="svg-inline--fa fa-book-open text-lg" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" style="opacity:0;transition:opacity 0.2s ease-in-out"><path fill="currentColor" d="M249.6 471.5c10.8 3.8 22.4-4.1 22.4-15.5l0-377.4c0-4.2-1.6-8.4-5-11C247.4 52 202.4 32 144 32C93.5 32 46.3 45.3 18.1 56.1C6.8 60.5 0 71.7 0 83.8L0 454.1c0 11.9 12.8 20.2 24.1 16.5C55.6 460.1 105.5 448 144 448c33.9 0 79 14 105.6 23.5zm76.8 0C353 462 398.1 448 432 448c38.5 0 88.4 12.1 119.9 22.6c11.3 3.8 24.1-4.6 24.1-16.5l0-370.3c0-12.1-6.8-23.3-18.1-27.6C529.7 45.3 482.5 32 432 32c-58.4 0-103.4 20-123 35.6c-3.3 2.6-5 6.8-5 11L304 456c0 11.4 11.7 19.3 22.4 15.5z"></path></svg><!--astro:end--></astro-island>  </span> <span class="text-[11px] leading-[11px]">블로그</span> </a> </li><li class="w-1/4 h-full"> <a href="/my/" class="w-full h-full c-flex justify-center items-center gap-1 text-xs text-[#B6BBC5] hover:font-semibold hover:text-[#1A1A1A] group" aria-label="마이"> <span class="mt-1">     <astro-island uid="1arYRO" prefix="r12" component-url="/_astro/MyIcon.Dq3wF1aB.js" component-export="MyIcon" renderer-url="/_astro/client.CpWE7Ljk.js" props="{}" ssr client="load" opts="{&quot;name&quot;:&quot;MyIcon&quot;,&quot;value&quot;:true}" await-children><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="user" class="svg-inline--fa fa-user text-lg" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" style="opacity:0;transition:opacity 0.2s ease-in-out"><path fill="currentColor" d="M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z"></path></svg><!--astro:end--></astro-island> </span> <span class="text-[11px] leading-[11px]">마이</span> </a> </li> </ul> </nav> </footer> <script>(function(){const topTitle = undefined;
  178. const PATHS = {"HOME":"/","ADMIN":"/admin/","ADMIN_LOGIN":"/admin/auth/login/","ORDER":"/order/","BLOG":"/blog/","MY_PAGE":"/my/","NOTICE":"/notice/","FAQ":"/faq/","SETTINGS":"/settings/","LOGIN":"/my/login/","REGISTER":"/my/register/","REGISTER_CHECK_PHONE":"/my/register/checkPhone/","REGISTER_INVITE":"/my/register/invite/","REGISTER_INTEGRATED":"/my/register/intergrated/","CHANGE_PASSWORD":"/my/changePassword/","ORDER_HISTORY":"/my/orders/history/","ORDER_HISTORY_DETAIL":"/my/orders/history/detail/","POINT_HISTORY":"/my/pointHistory/","COUPON":"/my/coupon/","FIND_ID":"/my/find/id/","FIND_ID_RESULT":"/my/find/id/result/","FIND_PASSWORD":"/my/find/password/","FIND_PASSWORD_RESULT":"/my/find/password/result/","POINT_CHARGE":"/my/payment/","CHARGE_HISTORY":"/my/payment/history/","TERMS":"/settings/terms/","PRIVACY_POLICY":"/settings/privacy_policy/","MARKETING_AGREE":"/settings/marketing_agree/","REFERRAL":"/my/referral/","REFERRAL_STATUS":"/my/referral/status/","REFERRAL_STATUS_WITHDRAW":"/my/referral/status/withdraw/","REFERRAL_STATUS_WITHDRAW_ADD_ACCOUNT":"/my/referral/status/withdraw/addAccount/","REFERRAL_STATUS_WITHDRAW_CHANGE_ACCOUNT":"/my/referral/status/withdraw/changeAccount/","REFERRAL_STATUS_WITHDRAW_HISTORY":"/my/referral/status/withdrawHistory/","REFERRAL_STATUS_CHANGE":"/my/referral/status/change/","REFERRAL_STATUS_CHANGE_HISTORY":"/my/referral/status/changeHistory/","WHY_SNSHELP":"/why-snshelp/"};
  179.  
  180.  const prevPage = document.getElementById('prev-page');
  181.  
  182.  if (prevPage) {
  183.    prevPage.addEventListener('click', () => {
  184.      if (topTitle === '로그인') {
  185.        if (sessionStorage.getItem('prev_url')) {
  186.          if (sessionStorage.getItem('prev_url') === window.location.pathname) {
  187.            window.location.href = PATHS.MY_PAGE;
  188.          } else if (
  189.            sessionStorage.getItem('prev_url') === '/my/find/id/result/' ||
  190.            sessionStorage.getItem('prev_url') === '/my/find/pw/result/'
  191.          ) {
  192.            window.location.href = PATHS.MY_PAGE;
  193.          } else {
  194.            window.location.href = sessionStorage.getItem('prev_url') || PATHS.MY_PAGE;
  195.          }
  196.        } else {
  197.          window.history.back();
  198.        }
  199.      } else if (topTitle === '아이디/비밀번호 찾기' || topTitle === '통합 회원 전환') {
  200.        window.location.href = PATHS.LOGIN;
  201.      } else if (
  202.        topTitle === '충전' ||
  203.        topTitle === '공지사항' ||
  204.        topTitle === '포인트 내역' ||
  205.        topTitle === '설정'
  206.      ) {
  207.        window.location.href = PATHS.MY_PAGE;
  208.      } else if (topTitle === '현금 출금' || topTitle === '이벤트 포인트 전환') {
  209.        window.location.href = PATHS.REFERRAL_STATUS;
  210.      } else if (topTitle === '계좌 등록') {
  211.        window.location.href = PATHS.REFERRAL_STATUS_WITHDRAW;
  212.      } else if (
  213.        topTitle === '추천인 소개' ||
  214.        topTitle === '추천인 추천 현황' ||
  215.        topTitle === 'Why SNS헬프' ||
  216.        topTitle === '공지사항 상세'
  217.      ) {
  218.        if (sessionStorage.getItem('prev_url')) {
  219.          if (sessionStorage.getItem('prev_url') === window.location.pathname) {
  220.            window.location.href = PATHS.HOME;
  221.          } else {
  222.            window.location.href = sessionStorage.getItem('prev_url') || PATHS.HOME;
  223.          }
  224.        } else {
  225.          window.location.href = PATHS.HOME;
  226.        }
  227.      } else {
  228.        // 사이트 내 페이지에서 온 경우 뒤로가기, 외부에서 온 경우 홈으로
  229.        if (document.referrer && document.referrer.includes(window.location.origin)) {
  230.          if (window.history.length > 1) {
  231.            window.history.back();
  232.          } else {
  233.            window.location.href = PATHS.HOME;
  234.          }
  235.        } else {
  236.          window.location.href = PATHS.HOME;
  237.        }
  238.      }
  239.    });
  240.  }
  241. })();</script> <script>(function(){const sharedData = undefined;
  242. const PATHS = {"HOME":"/","ADMIN":"/admin/","ADMIN_LOGIN":"/admin/auth/login/","ORDER":"/order/","BLOG":"/blog/","MY_PAGE":"/my/","NOTICE":"/notice/","FAQ":"/faq/","SETTINGS":"/settings/","LOGIN":"/my/login/","REGISTER":"/my/register/","REGISTER_CHECK_PHONE":"/my/register/checkPhone/","REGISTER_INVITE":"/my/register/invite/","REGISTER_INTEGRATED":"/my/register/intergrated/","CHANGE_PASSWORD":"/my/changePassword/","ORDER_HISTORY":"/my/orders/history/","ORDER_HISTORY_DETAIL":"/my/orders/history/detail/","POINT_HISTORY":"/my/pointHistory/","COUPON":"/my/coupon/","FIND_ID":"/my/find/id/","FIND_ID_RESULT":"/my/find/id/result/","FIND_PASSWORD":"/my/find/password/","FIND_PASSWORD_RESULT":"/my/find/password/result/","POINT_CHARGE":"/my/payment/","CHARGE_HISTORY":"/my/payment/history/","TERMS":"/settings/terms/","PRIVACY_POLICY":"/settings/privacy_policy/","MARKETING_AGREE":"/settings/marketing_agree/","REFERRAL":"/my/referral/","REFERRAL_STATUS":"/my/referral/status/","REFERRAL_STATUS_WITHDRAW":"/my/referral/status/withdraw/","REFERRAL_STATUS_WITHDRAW_ADD_ACCOUNT":"/my/referral/status/withdraw/addAccount/","REFERRAL_STATUS_WITHDRAW_CHANGE_ACCOUNT":"/my/referral/status/withdraw/changeAccount/","REFERRAL_STATUS_WITHDRAW_HISTORY":"/my/referral/status/withdrawHistory/","REFERRAL_STATUS_CHANGE":"/my/referral/status/change/","REFERRAL_STATUS_CHANGE_HISTORY":"/my/referral/status/changeHistory/","WHY_SNSHELP":"/why-snshelp/"};
  243.  
  244.  const topSharedButton = document.getElementById('top-shared-button');
  245.  const blogUnloginModal = document.getElementById('blog-unlogin-modal');
  246.  const loginButton = document.getElementById('blog-unlogin-modal-login-button');
  247.  const shareButton = document.getElementById('blog-unlogin-modal-share-button');
  248.  const signupButton = document.querySelector('.signup-button');
  249.  const kakaoButtonContainer = document.querySelector('.kakao-button-container');
  250.  
  251.  // 로그인 상태 확인
  252.  const isLoggedIn = !!(localStorage.getItem('user-info') || sessionStorage.getItem('user-info'));
  253.  
  254.  if (signupButton) {
  255.    if (isLoggedIn) {
  256.      // 로그인된 경우 가입하기 버튼 숨김
  257.      signupButton.classList.add('hidden');
  258.      kakaoButtonContainer.classList.remove('bottom-[120px]');
  259.    } else {
  260.      // 비로그인된 경우 가입하기 버튼 표시
  261.      signupButton.classList.remove('hidden');
  262.      kakaoButtonContainer.classList.add('bottom-[120px]');
  263.      signupButton.addEventListener('click', () => {
  264.        const loginUrl = PATHS.LOGIN;
  265.        const separator = loginUrl.includes('?') ? '&' : '?';
  266.        const newUrl = `${loginUrl}${separator}isSignup=true`;
  267.  
  268.        sessionStorage.setItem('prev_url', window.location.pathname);
  269.  
  270.        window.location.href = newUrl;
  271.      });
  272.    }
  273.  }
  274.  
  275.  if (topSharedButton) {
  276.    topSharedButton.addEventListener('click', () => {
  277.      window.dataLayer = window.dataLayer || [];
  278.      window.dataLayer.push({
  279.        event: 'SharedBlogButton',
  280.      });
  281.  
  282.      if (isLoggedIn) {
  283.        // 로그인된 경우 바로 공유 실행
  284.        handlerShare();
  285.      } else {
  286.        // 비로그인된 경우 모달 표시
  287.        blogUnloginModal.classList.remove('hidden');
  288.      }
  289.    });
  290.  }
  291.  
  292.  // 로그인/회원가입 버튼 클릭 시
  293.  if (loginButton) {
  294.    loginButton.addEventListener('click', () => {
  295.      window.location.href = PATHS.LOGIN;
  296.    });
  297.  }
  298.  
  299.  // 지금 공유하기 버튼 클릭 시
  300.  if (shareButton) {
  301.    shareButton.addEventListener('click', () => {
  302.      blogUnloginModal.classList.add('hidden');
  303.      handlerShare();
  304.    });
  305.  }
  306.  
  307.  // 모달 외부 클릭 시 모달 닫기
  308.  if (blogUnloginModal) {
  309.    blogUnloginModal.addEventListener('click', (e) => {
  310.      if (e.target === blogUnloginModal) {
  311.        blogUnloginModal.classList.add('hidden');
  312.      }
  313.    });
  314.  }
  315.  
  316.  // 안전한 디코딩 함수
  317.  function safeDecodeURIComponent(str) {
  318.    try {
  319.      return decodeURIComponent(str);
  320.    } catch (error) {
  321.      // 디코딩 실패 시 원본 문자열 반환
  322.      return str;
  323.    }
  324.  }
  325.  
  326.  async function handlerShare() {
  327.    const userInfo = localStorage.getItem('user-info') || sessionStorage.getItem('user-info');
  328.  
  329.    let shareUrl;
  330.  
  331.    if (userInfo) {
  332.      try {
  333.        const userInfoObj = JSON.parse(userInfo);
  334.        if (userInfoObj && userInfoObj.state && userInfoObj.state.user_id) {
  335.          shareUrl = sharedData.url + `?q=${userInfoObj.state.user_id}`;
  336.        } else {
  337.          shareUrl = sharedData.url;
  338.        }
  339.      } catch (error) {
  340.        shareUrl = sharedData.url;
  341.      }
  342.    } else {
  343.      shareUrl = sharedData.url;
  344.    }
  345.  
  346.    const data = {
  347.      title: safeDecodeURIComponent(sharedData.title),
  348.      url: shareUrl,
  349.    };
  350.  
  351.    // 모바일 환경인지 간단히 체크 (User-Agent 기반)
  352.    const isMobile = /Mobi|Android|iPhone/i.test(navigator.userAgent);
  353.  
  354.    // 모바일이면서 Web Share API 지원하면 공유, 아니면 복사
  355.    if (isMobile && navigator.share) {
  356.      try {
  357.        await navigator.share(data);
  358.        return;
  359.      } catch (error) {
  360.        if (error.name === 'AbortError') {
  361.          return;
  362.        }
  363.      }
  364.    }
  365.  
  366.    // 데스크톱 또는 fallback: URL 복사
  367.    shareClipboard(shareUrl);
  368.  }
  369.  
  370.  async function shareClipboard(shareUrl) {
  371.    try {
  372.      const userInfo = localStorage.getItem('user-info') || sessionStorage.getItem('user-info');
  373.  
  374.      let finalShareUrl;
  375.  
  376.      if (userInfo) {
  377.        try {
  378.          const userInfoObj = JSON.parse(userInfo);
  379.          if (userInfoObj && userInfoObj.state && userInfoObj.state.user_id) {
  380.            finalShareUrl = `https://www.helpsns.com${window.location.pathname}?q=${userInfoObj.state.user_id}`;
  381.          } else {
  382.            finalShareUrl = shareUrl || `https://www.helpsns.com${window.location.pathname}`;
  383.          }
  384.        } catch (error) {
  385.          finalShareUrl = shareUrl || `https://www.helpsns.com${window.location.pathname}`;
  386.        }
  387.      } else {
  388.        finalShareUrl = shareUrl || `https://www.helpsns.com${window.location.pathname}`;
  389.      }
  390.  
  391.      await navigator.clipboard.writeText(finalShareUrl);
  392.  
  393.      // Message 컴포넌트의 함수 호출
  394.      if (window.showSuccessMessage) {
  395.        window.showSuccessMessage('링크가 복사되었습니다! 지인과 공유해보세요.');
  396.      } else {
  397.        alert('링크가 복사되었습니다! 지인과 공유해보세요.');
  398.      }
  399.    } catch (error) {
  400.      if (window.showErrorMessage) {
  401.        window.showErrorMessage(`${error}: 링크 복사에 실패했습니다. 다른 방법으로 공유해 주세요.`);
  402.      } else {
  403.        alert(`${error}: 링크 복사에 실패했습니다. 다른 방법으로 공유해 주세요.`);
  404.      }
  405.    }
  406.  }
  407. })();</script></body></html> <script>
  408.  // URL 파라미터에서 q 값을 가져와서 로컬 스토리지에 저장
  409.  (function () {
  410.    const urlParams = new URLSearchParams(window.location.search);
  411.    const referralId = urlParams.get('q');
  412.  
  413.    if (referralId && referralId !== 'undefined' && referralId !== '') {
  414.      sessionStorage.setItem('referral_id', referralId);
  415.    }
  416.  })();
  417. </script>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda