Skip to Content

HTML Document

URL: https://indexerpro.net/
HTTP Status: 200 OK
MIME Type: text/html DOM
Last Modified: Mon, 01 Jan 1601 00:00:00 GMT
Download Time: Less than a second
Cookies: XSRF-TOKEN=eyJpdiI6IkdiVFZZdH laravel-session=eyJpdiI6IkMvM
Size: 54 KB
Depth: 0 clicks from home page
Charset: utf-8
Forms: 2 forms containing 11 controls
HTTP Headers:  11 headers
Links In:  0 pages
Links Out:  8 links
Images:  0 images
CSS:  1 files
JavaScript:  0 files
Issue Issues: 13 issue(s) found in 88 location(s)

1<!DOCTYPE html>

2<html lang="en">

3 <head>

4 <meta charset="UTF-8">

5 <meta name="viewport" content="width=device-width, initial-scale=1.0">

6 <title>IndexerPro — Fast URL Indexing for Google &amp; Yandex</title>

7 <meta name="description" content="Fast URL indexing for Google &amp; Yandex via Google Indexing API and IndexNow. Googlebot starts arriving within 10 minutes. Up to 95% of URLs get a bot visit.">

8 <meta name="keywords" content="url indexing, google indexing api, indexnow, fast indexing, url indexer, yandex indexing, speed up indexing">

9 <meta name="robots" content="index, follow">

10 <meta property="og:title" content="IndexerPro — Fast URL Indexing for Google &amp; Yandex">

11 <meta property="og:description" content="Googlebot starts arriving within 10 minutes. Up to 95% of URLs get a bot visit.">

12 <meta property="og:url" content="https://indexerpro.net">

13 <meta property="og:type" content="website">

14 <meta property="og:image" content="https://indexerpro.net/og.png">

15 <meta name="google-site-verification" content="pRTAWm4MwWiu4_5v_ctWy7_5xaa7cqv7gmm-MC_VOjU">

16 <meta name="yandex-verification" content="f23b1ee38969b79c">

17 <link rel="icon" href="/favicon.png" type="image/png">

18 <link rel="icon" href="/favicon.svg" type="image/svg+xml">

19 <link rel="shortcut icon" href="/favicon.svg">

20 <link rel="preconnect" href="https://fonts.googleapis.com">

21 <link rel="preconnect" href="https://fonts.googleapis.com">

22 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">

23

<link rel="stylesheet" as="style" href="https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&amp;family=DM+Sans:wght@300;400;500;600&amp;display=swap" onload="this.onload=null;this.rel='stylesheet'">

24 <noscript>

25 <link href="https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:wght@300;400;500;600&display=swap" rel="stylesheet">

26 </noscript>

27 <style>*{

28 margin:0;

29 padding:0;

30 box-sizing:border-box}

31 :root{

32 --bg:#080c10;

33 --bg2:#0d1117;

34 --bg3:#161b22;

35 --bg4:#1c2128;

36 --border:rgba(255,255,255,0.08);

37 --border2:rgba(255,255,255,0.14);

38 --text:#f0f6fc;

39 --text2:#c9d1d9;

40 --text3:#8b949e;

41 --text4:#6e7681;

42 --accent:#58a6ff;

43 --accent2:#1f6feb;

44 --accent3:#388bfd;

45 --green:#56d364;

46 --green2:#2ea043;

47 --purple:#8957e5;

48 --gold:#e3b341;

49 --red:#f85149;

50 }

51 html{

52 scroll-behavior:smooth}

53 body{

54 font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;

-webkit-font-smoothing:antialiased;overflow-x:hidden}

55

56/* NOISE TEXTURE */

57body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:0;opacity:.4}

58

59/* GLOW BLOBS */

60.blob{position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:0}

61.blob-1{width:600px;height:600px;background:radial-gradient(circle,rgba(31,111,235,0.18),transparent 70%);top:-200px;left:-100px}

62.blob-2{width:500px;height:500px;background:radial-gradient(circle,rgba(137,87,229,0.12),transparent 70%);top:200px;right:-150px}

63.blob-3{width:400px;height:400px;background:radial-gradient(circle,rgba(86,211,100,0.08),transparent 70%);top:800px;left:30%}

64

65/* NAV */

66nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:0 40px;height:64px;display:flex;align-items:center;justify-content:space-between;background:rgba(8,12,16,0.8);

backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}

67.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}

68.nav-logo-icon{width:36px;height:36px;background:linear-gradient(135deg,#1f6feb,#8957e5);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:'Syne',sans-serif;font-size:18px;font-weight:800;color:#fff}

69.nav-logo-text{font-family:'Syne',sans-serif;font-size:18px;font-weight:700;color:var(--text)}

70.nav-right{display:flex;align-items:center;gap:12px}

71.lang-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:6px;border:1px solid var(--border2);background:transparent;color:var(--text3);font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;transition:all .2s}

72.lang-btn:hover,.lang-btn.active{border-color:var(--accent2);color:var(--accent);background:rgba(31,111,235,0.1)}

73.btn-outline{padding:7px 18px;border-radius:7px;border:1px solid var(--border2);background:transparent;color:var(--text2);font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;transition:all .2s}

74.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:rgba(88,166,255,0.06)}

75.btn-primary{padding:7px 18px;border-radius:7px;border:none;background:var(--accent2);color:#fff;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s}

76.btn-primary:hover{background:var(--accent3);transform:translateY(-1px)}

77

78/* HERO */

79.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 24px 80px;overflow:hidden}

80.hero-content{position:relative;z-index:1;max-width:820px}

81.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:100px;border:1px solid rgba(86,211,100,0.3);background:rgba(86,211,100,0.06);font-size:13px;font-weight:500;color:var(--green);margin-bottom:28px;animation:fadeUp .6s ease both}

82.hero-badge::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}

83@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}

84.hero h1{font-family:'Syne',sans-serif;font-size:clamp(38px,6vw,72px);font-weight:800;line-height:1.1;letter-spacing:-2px;margin-bottom:24px;animation:fadeUp .7s .1s ease both}

85.hero h1 span{background:linear-gradient(135deg,#58a6ff,#8957e5);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;background-clip:text}

86.hero p{font-size:clamp(16px,2vw,20px);color:var(--text3);line-height:1.7;max-width:560px;margin:0 auto 40px;animation:fadeUp .7s .2s ease both}

87.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;animation:fadeUp .7s .3s ease both}

88.btn-hero{padding:14px 32px;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:16px;font-weight:600;cursor:pointer;text-decoration:none;transition:all .25s;border:none}

89.btn-hero-primary{background:linear-gradient(135deg,#1f6feb,#8957e5);color:#fff;box-shadow:0 4px 24px rgba(31,111,235,0.35)}

90.btn-hero-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(31,111,235,0.5)}

91.btn-hero-secondary{background:var(--bg3);color:var(--text2);border:1px solid var(--border2)}

92.btn-hero-secondary:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}

93.hero-stats{display:flex;gap:40px;justify-content:center;margin-top:64px;animation:fadeUp .7s .4s ease both}

94.stat{text-align:center}

95.stat-num{font-family:'Syne',sans-serif;font-size:32px;font-weight:800;color:var(--text);letter-spacing:-1px}

96.stat-num span{color:var(--accent)}

97.stat-label{font-size:13px;color:var(--text4);margin-top:4px}

98.hero-divider{width:1px;background:var(--border);align-self:stretch}

99@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

100

101/* GRID LINES */

102.grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.02) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 80% 60% at 50% 50%,black,transparent)}

103

104/* SECTIONS */

105section{position:relative;z-index:1;padding:100px 24px}

106.container{max-width:1100px;margin:0 auto}

107.section-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin-bottom:12px}

108.section-title{font-family:'Syne',sans-serif;font-size:clamp(28px,4vw,44px);font-weight:800;letter-spacing:-1px;margin-bottom:16px}

109.section-sub{font-size:17px;color:var(--text3);line-height:1.7;max-width:540px}

110

111/* HOW IT WORKS */

112.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:60px}

113.step{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:32px;position:relative;overflow:hidden;transition:border-color .3s,transform .3s}

114.step:hover{border-color:var(--border2);transform:translateY(-4px)}

115.step::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(31,111,235,0.04),transparent 60%);pointer-events:none}

116.step-num{font-family:'Syne',sans-serif;font-size:48px;font-weight:800;color:rgba(88,166,255,0.12);position:absolute;top:20px;right:24px;line-height:1}

117.step-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:20px}

118.step-icon-1{background:rgba(31,111,235,0.15)}

119.step-icon-2{background:rgba(137,87,229,0.15)}

120.step-icon-3{background:rgba(86,211,100,0.15)}

121.step-icon-4{background:rgba(227,179,65,0.15)}

122.step h3{font-family:'Syne',sans-serif;font-size:18px;font-weight:700;margin-bottom:10px}

123.step p{font-size:14px;color:var(--text3);line-height:1.7}

124

125/* FEATURES */

126.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:60px}

127.feature{padding:24px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;transition:all .3s}

128.feature:hover{border-color:var(--border2);background:var(--bg3)}

129.feature-icon{font-size:28px;margin-bottom:14px}

130.feature h4{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;margin-bottom:8px}

131.feature p{font-size:13px;color:var(--text3);line-height:1.6}

132

133/* PRICING */

134.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:60px}

135.plan{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:28px;position:relative;transition:all .3s}

136.plan:hover{transform:translateY(-4px)}

137.plan.featured{border-color:var(--accent2);background:linear-gradient(135deg,rgba(31,111,235,0.08),var(--bg2));box-shadow:0 0 40px rgba(31,111,235,0.15)}

138.plan-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#1f6feb,#8957e5);color:#fff;font-size:11px;font-weight:700;padding:4px 14px;border-radius:100px;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}

139.plan-name{font-family:'Syne',sans-serif;font-size:16px;font-weight:700;margin-bottom:8px}

140.plan-price{font-family:'Syne',sans-serif;font-size:36px;font-weight:800;letter-spacing:-1px;margin-bottom:4px}

141.plan-price small{font-size:16px;font-weight:400;color:var(--text3)}

142.plan-urls{font-size:13px;color:var(--text3);margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}

143.plan-feature{font-size:13px;color:var(--text2);padding:5px 0;display:flex;align-items:center;gap:8px}

144.plan-feature::before{content:'✓';color:var(--green);font-weight:700;font-size:14px}

145.plan-btn{width:100%;margin-top:20px;padding:10px;border-radius:8px;border:none;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}

146.plan-btn-default{background:var(--bg3);color:var(--text2);border:1px solid var(--border2)}

147.plan-btn-default:hover{border-color:var(--accent);color:var(--accent)}

148.plan-btn-featured{background:linear-gradient(135deg,#1f6feb,#8957e5);color:#fff}

149.plan-btn-featured:hover{opacity:.9;transform:translateY(-1px)}

150.plan-bonus{display:inline-block;font-size:11px;font-weight:700;color:#f0883e;background:rgba(240,136,62,0.1);border:1px solid rgba(240,136,62,0.2);border-radius:100px;padding:2px 8px;margin-left:6px}

151

152/* CTA BANNER */

153.cta-banner{background:linear-gradient(135deg,rgba(31,111,235,0.15),rgba(137,87,229,0.1));border:1px solid rgba(31,111,235,0.25);border-radius:24px;padding:64px 48px;text-align:center;margin-top:80px;position:relative;overflow:hidden}

154.cta-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 50% 50%,rgba(31,111,235,0.08),transparent);pointer-events:none}

155.cta-banner h2{font-family:'Syne',sans-serif;font-size:clamp(24px,4vw,40px);font-weight:800;letter-spacing:-1px;margin-bottom:16px;position:relative}

156.cta-banner p{font-size:17px;color:var(--text3);margin-bottom:32px;position:relative}

157

158/* FOOTER */

159footer{border-top:1px solid var(--border);padding:40px 40px;display:flex;align-items:center;justify-content:space-between;flex-wrap:gap;gap:16px}

160.footer-logo{display:flex;align-items:center;gap:8px;text-decoration:none}

161.footer-links{display:flex;gap:20px}

162.footer-links a{font-size:13px;color:var(--text4);text-decoration:none;transition:color .2s}

163.footer-links a:hover{color:var(--text2)}

164.footer-copy{font-size:13px;color:var(--text4);padding-right:48px}

165

166/* MODAL */

167.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.75);

backdrop-filter:blur(8px);z-index:5000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s}

168.modal-overlay.active{opacity:1;pointer-events:all}

169.modal{background:var(--bg2);border:1px solid var(--border2);border-radius:16px;padding:36px;width:100%;max-width:400px;position:relative;transform:translateY(20px) scale(.97);transition:transform .25s;max-height:90vh;overflow-y:auto;scrollbar-width:none}

170.modal-overlay.active .modal{transform:translateY(0) scale(1)}

171.modal-close{position:absolute;top:16px;right:16px;width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text3);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s}

172.modal-close:hover{border-color:var(--border2);color:var(--text);background:var(--bg3)}

173.modal-logo{display:flex;align-items:center;gap:10px;margin-bottom:24px}

174.modal-logo-icon{width:36px;height:36px;background:linear-gradient(135deg,#1f6feb,#8957e5);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:'Syne',sans-serif;font-size:16px;font-weight:800;color:#fff}

175.modal-logo-text{font-family:'Syne',sans-serif;font-size:17px;font-weight:700}

176.modal h2{font-family:'Syne',sans-serif;font-size:20px;font-weight:800;margin-bottom:4px}

177.modal-sub{font-size:13px;color:var(--text3);margin-bottom:24px}

178.form-group{margin-bottom:16px}

179.form-label{display:block;font-size:12px;font-weight:600;color:var(--text3);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}

180.form-input{width:100%;background:var(--bg3);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;padding:10px 13px;outline:none;font-family:'DM Sans',sans-serif;transition:border-color .15s}

181.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(88,166,255,0.1)}

182.form-input::placeholder{color:var(--text4)}

183.form-hint{font-size:11px;color:var(--text4);margin-top:4px}

184.pw-wrap{position:relative}

185.pw-wrap .form-input{padding-right:40px}

186.pw-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:var(--text4);font-size:15px;user-select:none}

187.pw-eye:hover{color:var(--text2)}

188.submit-btn{width:100%;padding:11px;background:linear-gradient(135deg,#1f6feb,#8957e5);color:#fff;border:none;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:600;cursor:pointer;margin-top:4px;transition:all .2s}

189.submit-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}

190.submit-btn:disabled{opacity:.5;cursor:not-allowed}

191.modal-footer{text-align:center;margin-top:20px;font-size:13px;color:var(--text3)}

192.modal-footer a{color:var(--accent);text-decoration:none;font-weight:500;cursor:pointer}

193.modal-footer a:hover{text-decoration:underline}

194.error-box{background:rgba(248,81,73,0.08);border:1px solid rgba(248,81,73,0.25);border-radius:8px;padding:10px 14px;font-size:13px;color:var(--red);margin-bottom:16px}

195.bonus-box{background:rgba(86,211,100,0.08);border:1px solid rgba(86,211,100,0.2);border-radius:8px;padding:10px 14px;font-size:12px;color:var(--green);margin-bottom:18px}

196.modal-tabs{display:flex;gap:4px;background:var(--bg3);border-radius:8px;padding:4px;margin-bottom:24px}

197.modal-tab{flex:1;padding:8px;border-radius:6px;border:none;background:transparent;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;color:var(--text3);cursor:pointer;transition:all .2s}

198.modal-tab.active{background:var(--bg2);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,0.3)}

199

200/* RESPONSIVE */

201@media(max-width:768px){

202 nav{padding:0 16px;gap:8px}

203 .nav-right .lang-btn{display:none}

204 .hero-stats{gap:16px;flex-wrap:wrap}

205 .hero-divider{display:none}

206 .cta-banner{padding:40px 24px}

207 footer{flex-direction:column;text-align:center;padding:32px 20px}

208 .footer-links{flex-wrap:wrap;justify-content:center}

209}

210/* Модальные окна как bottom sheet на мобиле */

211@media(max-width:480px){

212 .modal-overlay{

213 align-items:flex-end;

214 padding:0;

215 }

216 .modal{

217 width:100%;

218 max-width:100%;

219 border-radius:20px 20px 0 0;

220 padding:28px 20px 40px;

221 transform:translateY(40px);

222 margin:0;

223 }

224 .modal-overlay.active .modal{

225 transform:translateY(0);

226 }

227 /* Индикатор drag (bottom sheet handle) */

228 .modal::before{

229 content:'';

230 display:block;

231 width:40px;

232 height:4px;

233 background:rgba(255,255,255,0.15);

234 border-radius:2px;

235 margin:0 auto 20px;

236 }

237 .modal-close{

238 top:18px;

239 right:16px;

240 }

241}

242</style>

243

244<script async="" src="https://mc.yandex.ru/metrika/tag.js"></script><script>

245 window.dataLayer = window.dataLayer || [];

246 function gtag(){dataLayer.push(arguments);}

247 gtag("js", new Date());

248 gtag("config", "G-TKQT27PMH7");

249</script>

250<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async="" defer=""></script>

251<!-- Яндекс Метрика -->

252<script type="text/javascript">(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})(window,document,"script","https://mc.yandex.ru/metrika/tag.js","ym");ym(109024692,"init",{clickmap:true,trackLinks:true,accurateTrackBounce:true});</script>

253<noscript><div><img src="https://mc.yandex.ru/watch/109024692" style="position:absolute;left:-9999px;" alt=""/></div></noscript>

254<script async="" src="https://www.googletagmanager.com/gtag/js?id=G-TKQT27PMH7"></script></head>

255<body>

256

257<!-- BLOBS -->

258<div class="blob blob-1"></div>

259<div class="blob blob-2"></div>

260<div class="blob blob-3"></div>

261

262<!-- NAV -->

263<nav>

264 <a href="/" class="nav-logo">

265

<div class="nav-logo-icon">I</div>

266 <span class="nav-logo-text">IndexerPro</span>

267 </a>

268 <div class="nav-right">

269 <a href="https://indexerpro.net/lang/en?redirect=https%3A%2F%2Findexerpro.net" class="lang-btn active"><span style="display:inline-flex;width:20px;height:14px;border-radius:2px;border:1px solid rgba(0,0,0,0.2);overflow:hidden;flex-shrink:0;background:repeating-linear-gradient(180deg,#B22234 0px,#B22234 2px,#fff 2px,#fff 4px);position:relative"><span style="position:absolute;top:0;left:0;width:9px;height:7px;background:#3C3B6E"></span></span> EN</a>

270 <a href="https://indexerpro.net/lang/ru?redirect=https%3A%2F%2Findexerpro.net" class="lang-btn "><svg width="20" height="14" viewBox="0 0 20 14" style="border-radius:2px;vertical-align:middle"><rect width="20" height="4.67" fill="white"></rect><rect y="4.67" width="20" height="4.67" fill="#0039A6"></rect><rect y="9.33" width="20" height="4.67" fill="#D52B1E"></rect></svg> RU</a>

271 <button class="btn-outline" onclick="openModal('login')">Sign in</button>

272

<button class="btn-primary" onclick="openModal('register')">Get started free</button>

273 </div>

274</nav>

275

276<!-- HERO -->

277<section class="hero">

278 <div class="grid-bg"></div>

279 <div class="hero-content">

280 <div class="hero-badge">

281 <span>✓ Live right now — bot arrives in 2 min</span>

282 </div>

283 <h1>Your pages in Google<br>indexed within <span>2 hours</span></h1>

284 <p>Googlebot not showing up for weeks? IndexerPro submits URLs via official Google Indexing API — bot arrives in 2–4 hours on average. Guarantee: no visit — we refund your points.</p>

285 <div class="hero-cta">

286

<button class="btn-hero btn-hero-primary" onclick="openModal('register')">🚀 Try for free</button>

287 <button class="btn-hero btn-hero-secondary" onclick="document.getElementById('how').scrollIntoView({behavior:'smooth'})">How it works ↓</button>

288 </div>

289 <div style="margin-top:16px;font-size:13px;color:var(--green);animation:fadeUp .7s .35s ease both">🎁 Sign up and get 20 free URLs</div>

290 <div class="hero-stats">

291 <div class="stat">

292 <div class="stat-num">95<span>%</span></div>

293 <div class="stat-label">URLs get bot visit</div>

294 </div>

295 <div class="hero-divider"></div>

296 <div class="stat">

297 <div class="stat-num">2+<span> min</span></div>

298 <div class="stat-label">Bot arrives in 2+ min</div>

299 </div>

300 <div class="hero-divider"></div>

301 <div class="stat">

302 <div class="stat-num">10<span>+</span></div>

303 <div class="stat-label">AI bots tracked</div>

304 </div>

305 <div class="hero-divider"></div>

306 <div class="stat">

307 <div class="stat-num">50K</div>

308 <div class="stat-label">URLs per batch</div>

309 </div>

310 </div>

311 </div>

312</section>

313

314<div id="how"></div>

315<!-- HOW IT WORKS -->

316<section style="padding-top:0">

317 <div class="container">

318 <div class="section-label">How it works</div>

319 <h2 class="section-title">4 steps to indexing</h2>

320 <p class="section-sub">No manual work — just upload your URL list and the system does the rest.</p>

321 <div class="steps">

322 <div class="step">

323 <div class="step-num">01</div>

324 <div class="step-icon step-icon-1">📋</div>

325 <h3>Add URLs</h3>

326

<p>Paste URLs manually, upload a TXT file or connect a Sitemap — up to 50,000 URLs at once.</p>

327 </div>

328 <div class="step">

329 <div class="step-num">02</div>

330 <div class="step-icon step-icon-2">⚡</div>

331 <h3>API Submission</h3>

332

<p>IndexerPro sends URLs via Google Indexing API and IndexNow (Yandex/Bing) simultaneously.</p>

333 </div>

334 <div class="step">

335 <div class="step-num">03</div>

336 <div class="step-icon step-icon-3">🤖</div>

337 <h3>Googlebot visits</h3>

338

<p>Search bots receive the notification and visit your pages. We track every bot visit.</p>

339 </div>

340 <div class="step">

341 <div class="step-num">04</div>

342 <div class="step-icon step-icon-4">📊</div>

343 <h3>Statistics</h3>

344

<p>Detailed reports: how many URLs were submitted, how many received a bot, batch history.</p>

345 </div>

346 </div>

347 </div>

348</section>

349

350<div id="features"></div>

351<!-- FEATURES -->

352<section>

353 <div class="container">

354 <div class="section-label">Features</div>

355 <h2 class="section-title">Everything you need for indexing</h2>

356 <div class="features-grid">

357 <div class="feature" style="border-color:rgba(210,153,34,0.3);background:linear-gradient(135deg,rgba(210,153,34,0.05),var(--bg2))"><div class="feature-icon">🛡️</div><h4>Bot Guarantee</h4><

p>If Googlebot does not visit — free resubmission. Still no visit — automatic points refund.</p></div>

358 <div class="feature"><div class="feature-icon">🗺️</div><h4>Sitemap</h4><

p>Auto-parsing of Sitemap.xml — new URLs are added to the queue automatically.</p></div>

359 <div class="feature"><div class="feature-icon">⏱️</div><h4>Scheduler</h4>

<p>Set up automatic indexing runs on a schedule.</p></div>

360 <div class="feature"><div class="feature-icon">🎁</div><h4>Referrals</h4><

p>Invite friends — get bonuses for each signup and % from their top-ups.</p></div>

361 <div class="feature"><div class="feature-icon">📈</div><h4>IndexNow</h4><

p>Instant notification of Yandex and Bing via IndexNow protocol.</p></div>

362 <div class="feature" style="border-color:rgba(210,168,255,0.3);background:linear-gradient(135deg,rgba(210,168,255,0.06),var(--bg2))"><div class="feature-icon">🤖</div><h4>AI Indexing</h4><

p>URLs get into GPTBot, ClaudeBot, Perplexity, Gemini. Your content gets cited in AI answers.</p></div>

363 <div class="feature" style="border-color:rgba(86,211,100,0.25);background:linear-gradient(135deg,rgba(86,211,100,0.04),var(--bg2))"><div class="feature-icon">📊</div><h4>AI Bot Analytics</h4><

p>Track which AI bots crawl your pages by batch. A unique feature not found in competitors.</p></div>

364 </div>

365 </div>

366</section>

367

368<!-- AI AUDIT SECTION -->

369<section style="padding:90px 24px;background:linear-gradient(180deg,var(--bg2) 0%,var(--bg) 100%);border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;overflow:hidden">

370 <!-- Glow фон -->

371 <div style="position:absolute;top:-100px;right:-100px;width:500px;height:500px;background:radial-gradient(circle,rgba(89,65,169,0.12),transparent 70%);pointer-events:none"></div>

372 <div style="position:absolute;bottom:-80px;left:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(31,111,235,0.1),transparent 70%);pointer-events:none"></div>

373

374 <div style="max-width:1100px;margin:0 auto;position:relative;z-index:1">

375

376 <!-- Заголовок -->

377 <div style="text-align:center;margin-bottom:64px">

378 <div style="display:inline-flex;align-items:center;gap:8px;background:rgba(137,87,229,0.12);border:1px solid rgba(137,87,229,0.3);color:#b392f0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:6px 16px;border-radius:99px;margin-bottom:18px">

379 🔬 New Tool

380 </div>

381 <h2 style="font-family:'Syne',sans-serif;font-size:clamp(28px,4vw,46px);font-weight:800;letter-spacing:-1.5px;margin-bottom:16px;color:var(--text)">

382 AI Audit — how visible are you to AI?

383 </h2>

384 <p style="font-size:17px;color:var(--text3);max-width:620px;margin:0 auto;line-height:1.7">

385 We check your page across 13 parameters and give a score from 0 to 100 — how well ChatGPT, Claude, Perplexity and other AI systems understand it.

386 </p>

387 </div>

388

389 <!-- Три блока категорий -->

390 <div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:48px">

391

392 <!-- Technical -->

393 <div style="background:var(--bg);border:1px solid rgba(88,166,255,0.2);border-radius:16px;padding:28px;position:relative;overflow:hidden">

394 <div style="position:absolute;top:0;right:0;width:80px;height:80px;background:radial-gradient(circle,rgba(88,166,255,0.08),transparent);pointer-events:none"></div>

395 <div style="display:flex;align-items:center;gap:12px;margin-bottom:20px">

396 <div style="width:44px;height:44px;border-radius:10px;background:rgba(88,166,255,0.1);border:1px solid rgba(88,166,255,0.2);display:flex;align-items:center;justify-content:center;font-size:20px">⚙️</div>

397 <div>

398 <div style="font-family:'Syne',sans-serif;font-size:16px;font-weight:700;color:var(--text)">Technical</div>

399 <div style="font-size:12px;color:var(--accent);font-weight:600">up to 40 pts</div>

400 </div>

401 </div>

402 <div style="display:flex;flex-direction:column;gap:10px">

403 <div style="display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text3)">

404 <span>🌐</span><

span>HTTP status &amp; accessibility</span>

405 </div>

406 <div style="display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text3)">

407 <span>⚡</span>

<span>Server response speed (TTFB)</span>

408 </div>

409 <div style="display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text3)">

410 <span>📄</span><

span>Page size</span>

411 </div>

412 <div style="display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text3)">

413 <span>🔧</span><

span>JavaScript dependency</span>

414 </div>

415 <div style="display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text3)">

416 <span>🤖</span><

span>AI bot access (robots.txt)</span>

417 </div>

418 </div>

419 </div>

420

421 <!-- Semantic -->

422 <div style="background:var(--bg);border:1px solid rgba(137,87,229,0.25);border-radius:16px;padding:28px;position:relative;overflow:hidden">

423 <div style="position:absolute;top:0;right:0;width:80px;height:80px;background:radial-gradient(circle,rgba(137,87,229,0.08),transparent);pointer-events:none"></div>

424 <div style="display:flex;align-items:center;gap:12px;margin-bottom:20px">

425 <div style="width:44px;height:44px;border-radius:10px;background:rgba(137,87,229,0.1);border:1px solid rgba(137,87,229,0.2);display:flex;align-items:center;justify-content:center;font-size:20px">🧠</div>

426 <div>

427 <div style="font-family:'Syne',sans-serif;font-size:16px;font-weight:700;color:var(--text)">Semantic</div>

428 <div style="font-size:12px;color:#b392f0;font-weight:600">up to 35 pts</div>

429 </div>

430 </div>

431 <div style="display:flex;flex-direction:column;gap:10px">

432 <div style="display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text3)">

433

<span>🏷️</span><

span>Semantic HTML tags</span>

434 </div>

435 <div style="display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text3)">

436 <span>📝</span><

span>Heading structure H1–H3</span>

437 </div>

438 <div style="display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text3)">

439 <span>📦</span><

span>Text chunk quality</span>

440 </div>

441 <div style="display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text3)">

442 <span>❓</span>

<span>FAQ and content lists</span>

443 </div>

444 </div>

445 </div>

446

447 <!-- Retrieval -->

448 <div style="background:var(--bg);border:1px solid rgba(86,211,100,0.2);border-radius:16px;padding:28px;position:relative;overflow:hidden">

449 <div style="position:absolute;top:0;right:0;width:80px;height:80px;background:radial-gradient(circle,rgba(86,211,100,0.06),transparent);pointer-events:none"></div>

450 <div style="display:flex;align-items:center;gap:12px;margin-bottom:20px">

451 <div style="width:44px;height:44px;border-radius:10px;background:rgba(86,211,100,0.1);border:1px solid rgba(86,211,100,0.2);display:flex;align-items:center;justify-content:center;font-size:20px">🎯</div>

452 <div>

453 <div style="font-family:'Syne',sans-serif;font-size:16px;font-weight:700;color:var(--text)">Retrieval</div>

454 <div style="font-size:12px;color:var(--green);font-weight:600">up to 25 pts</div>

455 </div>

456 </div>

457 <div style="display:flex;flex-direction:column;gap:10px">

458 <div style="display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text3)">

459 <span>📋</span><

span>Schema.org / JSON-LD markup</span>

460 </div>

461 <div style="display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text3)">

462 <span>🕐</span><

span>Freshness signals (dates)</span>

463 </div>

464 <div style="display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text3)">

465 <span>🔒</span><

span>Trust signals (author, contacts)</span>

466 </div>

467 </div>

468 </div>

469

470 </div>

471

472 <!-- Score демо + CTA -->

473 <div style="background:var(--bg);border:1px solid rgba(137,87,229,0.25);border-radius:20px;padding:36px 40px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap">

474

475 <!-- Score визуализация -->

476 <div style="display:flex;align-items:center;gap:32px;flex-wrap:wrap">

477 <!-- Большой score -->

478 <div style="text-align:center">

479 <div style="width:100px;height:100px;border-radius:50%;background:conic-gradient(#8957e5 0deg,#58a6ff 216deg,rgba(255,255,255,0.06) 216deg);display:flex;align-items:center;justify-content:center;position:relative">

480 <div style="width:78px;height:78px;border-radius:50%;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center">

481 <span style="font-family:'Syne',sans-serif;font-size:26px;font-weight:800;color:var(--text);line-height:1">74</span>

482

<span style="font-size:10px;color:var(--text4)">/100</span>

483 </div>

484 </div>

485

<div style="font-size:12px;color:var(--text4);margin-top:8px">AI Score</div>

486 </div>

487 <!-- Три мини-бара -->

488 <div style="display:flex;flex-direction:column;gap:12px;min-width:180px">

489 <div>

490 <div style="display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px">

<span style="color:var(--text3)">Technical</span><span style="color:var(--accent);font-weight:700">32/40</span></div>

491 <div style="height:5px;background:var(--bg3);border-radius:3px"><div style="width:80%;height:100%;background:linear-gradient(90deg,#1f6feb,#58a6ff);border-radius:3px"></div></div>

492 </div>

493 <div>

494 <div style="display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px">

<span style="color:var(--text3)">Semantic</span><span style="color:#b392f0;font-weight:700">26/35</span></div>

495 <div style="height:5px;background:var(--bg3);border-radius:3px"><div style="width:74%;height:100%;background:linear-gradient(90deg,#8957e5,#b392f0);border-radius:3px"></div></div>

496 </div>

497 <div>

498 <div style="display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px">

<span style="color:var(--text3)">Retrieval</span><span style="color:var(--green);font-weight:700">16/25</span></div>

499 <div style="height:5px;background:var(--bg3);border-radius:3px"><div style="width:64%;height:100%;background:linear-gradient(90deg,#2ea043,#56d364);border-radius:3px"></div></div>

500 </div>

501 </div>

502 </div>

503

504 <!-- Текст и кнопка -->

505 <div style="flex:1;min-width:240px">

506 <div style="font-family:'Syne',sans-serif;font-size:20px;font-weight:800;margin-bottom:10px;color:var(--text)">

507 50 pts = $0.05 per URL

508 </div>

509

<p style="font-size:14px;color:var(--text3);line-height:1.7;margin-bottom:20px">

510 Get a full report: what prevents AI from finding your page, specific recommendations with ready-made fixes. First re-audit is free after 24 hours.

511 </p>

512

<button class="btn-hero btn-hero-primary" onclick="openModal('register')" style="font-size:14px;padding:11px 24px">

513 🔬 Audit my page

514 </button>

515 </div>

516

517 </div>

518

519 </div>

520</section>

521

522<div id="pricing"></div>

523<!-- PRICING -->

524<section>

525 <div class="container">

526 <div class="section-label">Pricing</div>

527 <h2 class="section-title">Simple per-URL pricing</h2>

528 <p class="section-sub">10 points = 1 URL = $0.01. The larger the top-up — the bigger the bonus.</p>

529 <div class="pricing-grid">

530 <div class="plan">

531 <div class="plan-name">Starter</div>

532 <div class="plan-price">$1

<small>/ top-up</small></div>

533

<div class="plan-urls">1,000 pts = 100 URLs</div>

534 <div class="plan-feature">Google Indexing API</div>

535 <div class="plan-feature">IndexNow</div>

536 <div class="plan-feature">Batch history</div>

537 <button class="plan-btn plan-btn-default" onclick="openModal('register')">Get started</button>

538 </div>

539 <div class="plan featured">

540 <div class="plan-badge">POPULAR</div>

541 <div class="plan-name">Basic</div>

542 <div class="plan-price">$10 <small>/ top-up</small></div>

543 <div class="plan-urls">11,000 pts = 1,100 URLs <span class="plan-bonus">+10%</span></div>

544 <div class="plan-feature">Google Indexing API</div>

545 <div class="plan-feature">IndexNow</div>

546 <div class="plan-feature">Sitemap auto-parse</div>

547 <div class="plan-feature">Scheduler</div>

548

<button class="plan-btn plan-btn-featured" onclick="openModal('register')">Choose plan</button>

549 </div>

550 <div class="plan">

551 <div class="plan-name">Pro</div>

552 <div class="plan-price">$100

<small>/ top-up</small></div>

553

<div class="plan-urls">120,000 pts = 12,000 URLs

<span class="plan-bonus">+20%</span></div>

554 <div class="plan-feature">Everything in Basic</div>

555 <div class="plan-feature">Priority queue</div>

556 <button class="plan-btn plan-btn-default" onclick="openModal('register')">Get started</button>

557 </div>

558 <div class="plan">

559 <div class="plan-name">Max</div>

560 <div class="plan-price">$1,000

<small>/ top-up</small></div>

561

<div class="plan-urls">1,250,000 pts = 125,000 URLs

<span class="plan-bonus">+25%</span></div>

562 <div class="plan-feature">Everything in Pro</div>

563 <div class="plan-feature">Up to 50,000 URLs/batch</div>

564 <div class="plan-feature">Personal support</div>

565 <button class="plan-btn plan-btn-default" onclick="openModal('register')">Get started</button>

566 </div>

567 </div>

568

569 <!-- CTA BANNER -->

570 <div class="cta-banner">

571 <h2>Try right now — it's free</h2>

572 <p>30 second signup. Bonus URLs on first login. Bot guarantee — or points refund.</p>

573

<button class="btn-hero btn-hero-primary" onclick="openModal('register')">🚀 Register for free</button>

574

<div style="margin-top:16px;font-size:13px;color:var(--text4)">No subscription. Pay only for actually processed URLs.</div>

575 </div>

576 </div>

577</section>

578

579<div id="cta"></div>

580<!-- FOOTER -->

581<footer>

582 <a href="/" class="footer-logo">

583

<div class="nav-logo-icon" style="width:28px;height:28px;font-size:13px">I</div>

584

<span style="font-family:'Syne',sans-serif;font-size:15px;font-weight:700;color:var(--text3)">IndexerPro</span>

585 </a>

586 <div class="footer-links">

587

<a href="/login">Sign in</a>

588

<a href="/register">Register</a>

589

<a href="/faq">FAQ</a>

590

<a href="https://t.me/artslin" target="_blank">Telegram</a>

591 </div>

592

<div class="footer-copy">© 2026 IndexerPro ·

<a href="/legal" style="color:var(--text4);text-decoration:none;" onmouseover="this.style.color='var(--text2)'" onmouseout="this.style.color='var(--text4)'">Оферта</a></div>

593</footer>

594

595<!-- MODAL LOGIN -->

596<div class="modal-overlay" id="modal-login" onclick="closeOnOverlay(event,'modal-login')">

597 <div class="modal">

598 <button class="modal-close" onclick="closeModal('modal-login')">✕</button>

599 <div class="modal-logo">

600 <div class="modal-logo-icon">I</div>

601 <span class="modal-logo-text">IndexerPro</span>

602 </div>

603 <div class="modal-tabs">

604 <button class="modal-tab active" onclick="switchTab('login')">Sign in</button>

605 <button class="modal-tab" onclick="switchTab('register')">Register</button>

606 </div>

607 <h2>Sign in</h2>

608 <p class="modal-sub">Enter your credentials to continue</p>

609 <form method="POST" action="/login">

610 <input type="hidden" name="_token" value="6eS3FrTW6tmQbyASfb65AQx9hFKc97TnCDPogPWe" autocomplete="off"> <div class="form-group">

611 <label class="form-label">Email</label>

612 <input class="form-input" type="email" name="email" placeholder="you@example.com" autocomplete="email" value="" required="" autofocus="">

613 </div>

614 <div class="form-group">

615 <label class="form-label">Password</label>

616 <div class="pw-wrap">

617

<input class="form-input" type="password" name="password" id="lp1" placeholder="••••••••" autocomplete="current-password" required="">

618 <span class="pw-eye" onclick="togglePw('lp1',this)">👁</span>

619 </div>

620 </div>

621 <div class="cf-turnstile" id="login-turnstile" data-sitekey="0x4AAAAAADIghoLejmz03dn3" data-callback="onLoginCaptcha" style="margin-bottom:14px"><div><input type="hidden" name="cf-turnstile-response" id="cf-chl-widget-zvwx8_response"></div></div>

622 <script>

623 var adminEmails = ['rok-asv@mail.ru'];

624 function checkAdminEmail() {

625 var email = document.getElementById('le1') ? document.getElementById('le1').value : '';

626 var ts = document.getElementById('login-turnstile');

627 if (!ts) return;

628 if (adminEmails.indexOf(email.toLowerCase().trim()) !== -1) {

629 ts.style.display = 'none';

630 } else {

631 ts.style.display = '';

632 }

633 }

634 document.addEventListener('DOMContentLoaded', function() {

635 var emailInput = document.getElementById('le1') || document.querySelector('input[name="email"]');

636 if (emailInput) {

637 emailInput.addEventListener('input', checkAdminEmail);

638 checkAdminEmail();

639 }

640 });

641 </script>

642 <div style="margin-bottom:16px">

643 <label style="display:flex;align-items:center;gap:7px;cursor:pointer;font-size:13px;color:var(--text2);user-select:none">

644 <input type="checkbox" name="remember" id="remember_me" value="1" checked="" style="width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex-shrink:0">

645 Remember me

646 </label>

647 </div>

648 <button type="submit" class="submit-btn" id="login-btn" style="opacity: 1; cursor: pointer;">Sign in →</button>

649 </form>

650 <div class="modal-footer">No account?

<a onclick="switchTab('register')">Sign up for free</a></div>

651 </div>

652</div>

653

654<!-- MODAL REGISTER -->

655<div class="modal-overlay" id="modal-register" onclick="closeOnOverlay(event,'modal-register')">

656 <div class="modal">

657 <button class="modal-close" onclick="closeModal('modal-register')">✕</button>

658 <div class="modal-logo">

659 <div class="modal-logo-icon">I</div>

660 <span class="modal-logo-text">IndexerPro</span>

661 </div>

662 <div class="modal-tabs">

663 <button class="modal-tab" onclick="switchTab('login')">Sign in</button>

664 <button class="modal-tab active" onclick="switchTab('register')">Register</button>

665 </div>

666 <h2>Create account</h2>

667 <p class="modal-sub">Get started in 30 seconds</p>

668 <div class="bonus-box">🎁 Sign up bonus: <strong>20 free URLs</strong></div>

669 <form method="POST" action="/register">

670 <input type="hidden" name="_token" value="6eS3FrTW6tmQbyASfb65AQx9hFKc97TnCDPogPWe" autocomplete="off"> <input type="hidden" name="ref" value="">

671 <div class="form-group">

672 <label class="form-label">Name</label>

673 <input class="form-input" type="text" name="name" placeholder="John Smith" value="" required="">

674 </div>

675 <div class="form-group">

676 <label class="form-label">Username</label>

677 <input class="form-input" type="text" name="username" placeholder="johndoe" value="" required="" pattern="[a-zA-Z0-9_]+" style="font-family:monospace">

678 <div class="form-hint">Letters, numbers and _ only</div>

679 </div>

680 <div class="form-group">

681 <label class="form-label">Email</label>

682 <input class="form-input" type="email" name="email" placeholder="you@example.com" autocomplete="email" value="" required="">

683 </div>

684 <div class="form-group">

685 <label class="form-label">Password</label>

686 <div class="pw-wrap">

687

<input class="form-input" type="password" name="password" id="rp1" placeholder="Min 8 characters" required="">

688 <span class="pw-eye" onclick="togglePw('rp1',this)">👁</span>

689 </div>

690 </div>

691 <div class="form-group">

692 <label class="form-label">Confirm password</label>

693 <div class="pw-wrap">

694

<input class="form-input" type="password" name="password_confirmation" id="rp2" placeholder="Repeat password" required="">

695 <span class="pw-eye" onclick="togglePw('rp2',this)">👁</span>

696 </div>

697 </div>

698 <div class="cf-turnstile" data-sitekey="0x4AAAAAADIghoLejmz03dn3" data-callback="onRegCaptcha" style="margin-bottom:14px"><div><input type="hidden" name="cf-turnstile-response" id="cf-chl-widget-ti3fb_response"></div></div>

699 <button type="submit" class="submit-btn" id="reg-btn" style="opacity: 1; cursor: pointer;">Create account →</button>

700 </form>

701 <div class="modal-footer">Already have an account?

<a onclick="switchTab('login')">Sign in</a></div>

702 </div>

703</div>

704

705<script>

706function openModal(type) {

707 if (!window.recaptchaLoaded) {

708 var s = document.createElement("script");

709 s.src = "https://www.google.com/recaptcha/api.js";

710 document.head.appendChild(s);

711 window.recaptchaLoaded = true;

712 }

713 document.querySelectorAll('.modal-overlay').forEach(m => m.classList.remove('active'));

714 document.getElementById('modal-' + type).classList.add('active');

715 document.body.style.overflow = 'hidden';

716}

717function closeModal(id) {

718 document.getElementById(id).classList.remove('active');

719 document.body.style.overflow = '';

720}

721var _mouseDownTarget = null;

722document.addEventListener('mousedown', function(e){ _mouseDownTarget = e.target; });

723function closeOnOverlay(e, id) {

724 // Закрываем только если mousedown И mouseup были на overlay (не выделение текста)

725 if (e.target === document.getElementById(id) && _mouseDownTarget === e.target) closeModal(id);

726}

727function switchTab(type) {

728 document.querySelectorAll('.modal-overlay').forEach(m => m.classList.remove('active'));

729 openModal(type);

730}

731document.addEventListener('keydown', function(e) {

732 if (e.key === 'Escape') {

733 document.querySelectorAll('.modal-overlay').forEach(m => m.classList.remove('active'));

734 document.body.style.overflow = '';

735 }

736});

737function toggleShared(cb){

738 var rm=document.getElementById('remember_me');

739 if(cb.checked){

740 rm.checked=false;

741 rm.disabled=true;

742 rm.closest('label').style.opacity='0.4';

743 } else {

744 rm.disabled=false;

745 rm.closest('label').style.opacity='1';

746 }

747}

748function togglePw(id, el) {

749 var inp = document.getElementById(id);

750 inp.type = inp.type === 'password' ? 'text' : 'password';

751 el.style.color = inp.type === 'text' ? 'var(--accent)' : 'var(--text4)';

752}

753function onLoginCaptcha(token) {

754 var b = document.getElementById('login-btn');

755 if(b){b.disabled=false;b.style.opacity='1';b.style.cursor='pointer';}

756}

757function onRegCaptcha(token) {

758 var b = document.getElementById('reg-btn');

759 if(b){b.disabled=false;b.style.opacity='1';b.style.cursor='pointer';}

760}

761// Активируем кнопки сразу если Turnstile не загрузился

762setTimeout(function(){

763 var lb=document.getElementById('login-btn');

764 var rb=document.getElementById('reg-btn');

765 if(lb){lb.disabled=false;lb.style.opacity='1';lb.style.cursor='pointer';}

766 if(rb){rb.disabled=false;rb.style.opacity='1';rb.style.cursor='pointer';}

767},3000);

768// Auto-open modal if URL has ?modal=login or ?modal=register

769var urlParams = new URLSearchParams(window.location.search);

770var modalParam = urlParams.get('modal');

771if (modalParam === 'login' || modalParam === 'register') openModal(modalParam);

772</script>

773<script>

774window.addEventListener('load', function() {

775 setTimeout(function() {

776 var s=document.createElement('script');

777 s.async=1;s.src='https://www.googletagmanager.com/gtag/js?id=G-TKQT27PMH7';

778 document.head.appendChild(s);

779 window.dataLayer=window.dataLayer||[];

780 function gtag(){dataLayer.push(arguments);}

781 gtag('js',new Date());gtag('config','G-TKQT27PMH7');

782 }, 2000);

783});

784</script>

785

786

787<style>

788/* Offset для фиксированного навбара */

789#how, #features, #pricing { scroll-margin-top: 80px; }

790

791.scroll-down{position:fixed;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;text-decoration:none;z-index:999;transition:opacity .3s}

792.scroll-down span{font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:3px;font-weight:700;white-space:nowrap;text-shadow:0 0 12px rgba(88,166,255,0.5)}

793.scroll-down svg{color:var(--accent);width:28px;height:28px;filter:drop-shadow(0 0 8px rgba(88,166,255,0.6));animation:bounce2 1.5s infinite}

794@keyframes bounce2{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

795.scroll-down.hidden{opacity:0;pointer-events:none}

796

797.back-top{position:fixed;bottom:32px;right:32px;width:44px;height:44px;border-radius:50%;background:var(--bg3);border:1px solid var(--border2);color:var(--text3);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:99;opacity:0;transition:all .3s;font-size:18px;pointer-events:none}

798.back-top.visible{opacity:1;pointer-events:all}

799.back-top:hover{background:var(--accent2);color:#fff;border-color:var(--accent2)}

800</style>

801

802<a class="scroll-down" id="scrollBtn" href="#how">

803 <span id="scrollLabel">How it works</span>

804 <span style="font-size:32px;line-height:1;filter:drop-shadow(0 0 8px rgba(88,166,255,0.6));animation:bounce2 1.5s infinite;display:block">👇</span>

805</a>

806<button class="back-top" id="backTop" onclick="window.scrollTo({top:0,behavior:'smooth'})">↑</button>

807

808<script>

809var isRu = 'en' === 'ru';

810var sections = [

811 {id:'top', label:{ru:'Узнать больше', en:'Learn more'}},

812 {id:'how', label:{ru:'Как работает', en:'How it works'}},

813 {id:'features',label:{ru:'Возможности', en:'Features'}},

814 {id:'pricing', label:{ru:'Тарифы', en:'Pricing'}},

815 {id:'cta', label:{ru:'Зарегистрироваться', en:'Get started'}}

816];

817var currentIdx = 0;

818var scrollBtn = document.getElementById('scrollBtn');

819var scrollLabel = document.getElementById('scrollLabel');

820var backTop = document.getElementById('backTop');

821

822function getNextLabel() {

823 var next = Math.min(currentIdx + 1, sections.length - 1);

824 return sections[next].label[isRu ? 'ru' : 'en'];

825}

826

827function scrollToNext() {

828 var next = Math.min(currentIdx + 1, sections.length - 1);

829 var el = document.getElementById(sections[next].id);

830 if (el) {

831 var top = el.getBoundingClientRect().top + window.scrollY - 80;

832 window.scrollTo({top: top, behavior: 'smooth'});

833 }

834}

835

836scrollBtn.addEventListener('click', function(e) {

837 e.preventDefault();

838 scrollToNext();

839});

840

841window.addEventListener('scroll', function() {

842 var scrollY = window.scrollY;

843

844 // Определяем текущую секцию

845 sections.forEach(function(s, i) {

846 var el = document.getElementById(s.id);

847 if (el && el.getBoundingClientRect().top <= 120) currentIdx = i;

848 });

849

850 // Обновляем лейбл

851 scrollLabel.textContent = getNextLabel();

852

853 // Скрываем стрелку в конце

854 var docH = document.body.scrollHeight;

855 var winH = window.innerHeight;

856 if (scrollY + winH >= docH - 100) {

857 scrollBtn.classList.add('hidden');

858 } else {

859 scrollBtn.classList.remove('hidden');

860 }

861

862 // Кнопка наверх

863 if (scrollY > 400) backTop.classList.add('visible');

864 else backTop.classList.remove('visible');

865});

866

867// Инициализация

868scrollLabel.textContent = sections[1].label[isRu ? 'ru' : 'en'];

869</script>

870</body></html>