nkjoy commited on
Commit
6d414b2
·
verified ·
1 Parent(s): 68ba319

Add 2 files

Browse files
Files changed (1) hide show
  1. index.html +747 -37
index.html CHANGED
@@ -1,41 +1,751 @@
1
  <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>My app</title>
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <meta charset="utf-8">
7
- <style>
8
- body {
9
- display: flex;
10
- justify-content: center;
11
- align-items: center;
12
- overflow: hidden;
13
- height: 100dvh;
14
- font-family: "Arial", sans-serif;
15
- text-align: center;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  }
17
- .arrow {
18
- position: absolute;
19
- bottom: 32px;
20
- left: 0px;
21
- width: 100px;
22
- transform: rotate(30deg);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  }
24
- h1 {
25
- font-size: 50px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
  }
27
- h1 span {
28
- color: #acacac;
29
- font-size: 32px;
30
- }
31
- </style>
32
- </head>
33
- <body>
34
- <h1>
35
- <span>I'm ready to work,</span><br />
36
- Ask me anything.
37
- </h1>
38
- <img src="https://enzostvs-qwensite.hf.space/arrow.svg" class="arrow" />
39
- <script></script>
40
- <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-qwensite.hf.space/logo.svg" alt="qwensite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-qwensite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >QwenSite</a> - 🧬 <a href="https://enzostvs-qwensite.hf.space?remix=nkjoy/space" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
41
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <!DOCTYPE html>
2
+ <html lang="ko">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
6
+ <title>유튜브 키워드 리서치 도구 | 경쟁이 적은 키워드 찾기</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"/>
9
+ <style>
10
+ @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;600;700&display=swap');
11
+
12
+ body {
13
+ font-family: 'Noto Sans KR', sans-serif;
14
+ background-color: #f8fafc;
15
+ }
16
+
17
+ .gradient-bg {
18
+ background: linear-gradient(135deg, #FF0000 0%, #FF8C00 100%);
19
+ }
20
+
21
+ .keyword-card:hover {
22
+ transform: translateY(-5px);
23
+ box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
24
+ }
25
+
26
+ .competition-low {
27
+ background-color: #10b981;
28
+ }
29
+
30
+ .competition-medium {
31
+ background-color: #f59e0b;
32
+ }
33
+
34
+ .competition-high {
35
+ background-color: #ef4444;
36
+ }
37
+
38
+ .search-volume-high {
39
+ color: #10b981;
40
+ }
41
+
42
+ .search-volume-medium {
43
+ color: #f59e0b;
44
+ }
45
+
46
+ .search-volume-low {
47
+ color: #ef4444;
48
+ }
49
+
50
+ .tabs button.active {
51
+ background-color: white;
52
+ color: #ef4444;
53
+ border-bottom: 3px solid #ef4444;
54
+ }
55
+
56
+ .progress-bar {
57
+ height: 6px;
58
+ border-radius: 3px;
59
+ background-color: #e5e7eb;
60
+ }
61
+
62
+ .progress-fill {
63
+ height: 100%;
64
+ border-radius: 3px;
65
+ background: linear-gradient(90deg, #3b82f6, #6366f1);
66
+ }
67
+
68
+ .tooltip {
69
+ position: relative;
70
+ display: inline-block;
71
+ }
72
+
73
+ .tooltip .tooltiptext {
74
+ visibility: hidden;
75
+ width: 220px;
76
+ background-color: #374151;
77
+ color: #fff;
78
+ text-align: center;
79
+ border-radius: 6px;
80
+ padding: 8px;
81
+ position: absolute;
82
+ z-index: 1;
83
+ bottom: 125%;
84
+ left: 50%;
85
+ transform: translateX(-50%);
86
+ opacity: 0;
87
+ transition: opacity 0.3s;
88
+ font-size: 14px;
89
+ }
90
+
91
+ .tooltip:hover .tooltiptext {
92
+ visibility: visible;
93
+ opacity: 1;
94
+ }
95
+
96
+ input:focus, textarea:focus {
97
+ outline: none;
98
+ box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2);
99
+ }
100
+ </style>
101
+ </head>
102
+ <body>
103
+ <div class="min-h-screen">
104
+ <!-- 헤더 -->
105
+ <header class="gradient-bg text-white py-8 px-4 md:px-8">
106
+ <div class="max-w-6xl mx-auto">
107
+ <div class="flex justify-between items-center">
108
+ <div>
109
+ <h1 class="text-3xl md:text-4xl font-bold">유튜브 키워드 파워 툴</h1>
110
+ <p class="mt-2 text-red-100">경쟁이 적고 검색량이 높은 키워드로 순위를 차지하세요</p>
111
+ </div>
112
+ <div class="hidden md:flex items-center space-x-2 bg-white/10 py-2 px-4 rounded-full">
113
+ <i class="fab fa-youtube text-red-500 text-2xl"></i>
114
+ <span class="font-semibold">유튜브 인증</span>
115
+ </div>
116
+ </div>
117
+ </div>
118
+ </header>
119
+
120
+ <!-- 메인 내용 -->
121
+ <main class="max-w-6xl mx-auto px-4 md:px-8 py-8 -mt-8">
122
+ <!-- 입력 카드 -->
123
+ <div class="bg-white rounded-lg shadow-lg p-6 mb-8">
124
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-6">
125
+ <div class="md:col-span-2">
126
+ <label for="video-title" class="block text-lg font-semibold text-gray-800 mb-2">
127
+ <i class="fas fa-heading mr-2 text-red-500"></i>동영상 제목
128
+ </label>
129
+ <input
130
+ type="text"
131
+ id="video-title"
132
+ placeholder="동영상 제목을 입력하세요 (예: 완벽한 스크램블 에그 만드는 법)"
133
+ class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:border-red-500 transition-colors duration-300"
134
+ />
135
+ <div class="mt-1 text-sm text-gray-500">키워드 추천을 위해 주제 또는 제목을 입력하세요</div>
136
+ </div>
137
+
138
+ <div>
139
+ <label class="block text-lg font-semibold text-gray-800 mb-2">
140
+ <i class="fas fa-filter mr-2 text-red-500"></i>필터
141
+ </label>
142
+ <div class="flex space-x-2">
143
+ <select id="country" class="flex-1 px-3 py-2 border border-gray-300 rounded-lg">
144
+ <option value="global">🌎 글로벌</option>
145
+ <option value="us">🇺🇸 미국</option>
146
+ <option value="uk">🇬🇧 영국</option>
147
+ <option value="ca">🇨🇦 캐나다</option>
148
+ <option value="au">🇦🇺 호주</option>
149
+ <option value="in">🇮🇳 인도</option>
150
+ </select>
151
+ <select id="language" class="flex-1 px-3 py-2 border border-gray-300 rounded-lg">
152
+ <option value="ko">한국어</option>
153
+ <option value="en">영어</option>
154
+ <option value="es">스페인어</option>
155
+ <option value="pt">포르투갈어</option>
156
+ <option value="hi">힌디어</option>
157
+ <option value="fr">프랑스어</option>
158
+ </select>
159
+ </div>
160
+ </div>
161
+ </div>
162
+
163
+ <div class="flex space-x-4">
164
+ <button
165
+ id="analyze-btn"
166
+ class="flex-1 bg-red-600 hover:bg-red-700 text-white font-semibold py-3 px-6 rounded-lg transition-colors duration-300 flex items-center justify-center"
167
+ >
168
+ <i class="fas fa-bolt mr-2"></i> 승리하는 키워드 찾기
169
+ </button>
170
+ <button
171
+ id="advanced-btn"
172
+ class="bg-gray-200 hover:bg-gray-300 text-gray-800 font-semibold py-3 px-6 rounded-lg transition-colors duration-300 flex items-center justify-center"
173
+ >
174
+ <i class="fas fa-sliders-h mr-2"></i> 고급 설정
175
+ </button>
176
+ </div>
177
+ </div>
178
+
179
+ <!-- 결과 섹션 -->
180
+ <div id="results-section" class="hidden">
181
+ <!-- 탭 -->
182
+ <div class="tabs flex mb-6 bg-gray-100 rounded-lg p-1">
183
+ <button class="tab-btn active flex-1 py-3 px-4 rounded-lg font-semibold" data-tab="keywords">
184
+ <i class="fas fa-key mr-2"></i> 키워드
185
+ </button>
186
+ <button class="tab-btn flex-1 py-3 px-4 rounded-lg font-semibold" data-tab="analysis">
187
+ <i class="fas fa-chart-bar mr-2"></i> 제목 분석
188
+ </button>
189
+ <button class="tab-btn flex-1 py-3 px-4 rounded-lg font-semibold" data-tab="competitors">
190
+ <i class="fas fa-users mr-2"></i> 경쟁자 분석
191
+ </button>
192
+ </div>
193
+
194
+ <!-- 키워드 탭 -->
195
+ <div id="keywords-tab" class="tab-content">
196
+ <div class="flex justify-between items-center mb-4">
197
+ <h3 class="text-xl font-semibold text-gray-800">상위 키워드 기회</h3>
198
+ <div class="flex items-center space-x-2">
199
+ <span class="text-sm text-gray-600">정렬 기준:</span>
200
+ <select id="sort-keywords" class="border border-gray-300 rounded-lg px-3 py-1">
201
+ <option value="relevance">관련성</option>
202
+ <option value="volume">검색량</option>
203
+ <option value="competition">경쟁도</option>
204
+ <option value="score">기회 점수</option>
205
+ </select>
206
+ </div>
207
+ </div>
208
+
209
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 mb-8" id="keywords-container">
210
+ <!-- 키워드 카드가 여기에 삽입됩니다 -->
211
+ </div>
212
+
213
+ <div class="flex justify-center mb-8">
214
+ <button id="load-more" class="bg-gray-200 hover:bg-gray-300 text-gray-800 font-semibold py-2 px-6 rounded-lg transition-colors duration-300">
215
+ 더 많은 키워드 불러오기
216
+ </button>
217
+ </div>
218
+ </div>
219
+
220
+ <!-- 분석 탭 -->
221
+ <div id="analysis-tab" class="tab-content hidden">
222
+ <div class="bg-white rounded-lg shadow p-6 mb-8">
223
+ <h3 class="text-xl font-semibold text-gray-800 mb-4">제목 최적화 점수</h3>
224
+ <div class="flex items-center">
225
+ <div class="text-5xl font-bold text-red-600 mr-4">87</div>
226
+ <div class="flex-1">
227
+ <div class="progress-bar w-full mb-2">
228
+ <div class="progress-fill" style="width: 87%"></div>
229
+ </div>
230
+ <p class="text-gray-600">제목이 잘 최적화되었습니다. CTR을 극대화하기 위해 약간의 개선을 제안합니다.</p>
231
+ </div>
232
+ </div>
233
+ </div>
234
+
235
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-8">
236
+ <div class="bg-white rounded-lg shadow p-6">
237
+ <h4 class="text-lg font-semibold text-gray-800 mb-3">제목 강조</h4>
238
+ <ul class="space-y-2">
239
+ <li class="flex items-start">
240
+ <i class="fas fa-check-circle text-green-500 mt-1 mr-2"></i>
241
+ <span>시작 부분에 주요 키워드 포함</span>
242
+ </li>
243
+ <li class="flex items-start">
244
+ <i class="fas fa-check-circle text-green-500 mt-1 mr-2"></i>
245
+ <span>60자 이하로 전체 표시 가능</span>
246
+ </li>
247
+ <li class="flex items-start">
248
+ <i class="fas fa-exclamation-triangle text-yellow-500 mt-1 mr-2"></i>
249
+ <span>강력한 단어 추가 권장 ("쉬운", "비법", "최고" 등)</span>
250
+ </li>
251
+ </ul>
252
+ </div>
253
+
254
+ <div class="bg-white rounded-lg shadow p-6">
255
+ <h4 class="text-lg font-semibold text-gray-800 mb-3">개선된 제목 제안</h4>
256
+ <ul class="space-y-3">
257
+ <li class="p-3 bg-blue-50 rounded-lg border-l-4 border-blue-500">
258
+ 스크램블 에그 비법 (프로 셰프 기술)
259
+ </li>
260
+ <li class="p-3 bg-gray-100 rounded-lg">
261
+ 5분 만에 완벽한 스크램블 에그 (레스토랑보다 더 맛있게)
262
+ </li>
263
+ <li class="p-3 bg-gray-100 rounded-lg">
264
+ 미슐랭 스타 셰프처럼 스크램블 에그 만드는 법
265
+ </li>
266
+ </ul>
267
+ </div>
268
+ </div>
269
+ </div>
270
+
271
+ <!-- 경쟁자 탭 -->
272
+ <div id="competitors-tab" class="tab-content hidden">
273
+ <div class="bg-white rounded-lg shadow p-6 mb-8">
274
+ <h3 class="text-xl font-semibold text-gray-800 mb-4">상위 영상</h3>
275
+ <p class="text-gray-600 mb-4">당신이 맞서야 할 상대입니다. 대상 키워드로 상위 5개 영상을 분석했습니다.</p>
276
+
277
+ <div class="space-y-4">
278
+ <div class="border border-gray-200 rounded-lg p-4 hover:bg-gray-50">
279
+ <div class="flex items-start">
280
+ <div class="w-12 h-12 bg-red-100 rounded-lg flex items-center justify-center text-red-500 mr-4 flex-shrink-0">
281
+ <i class="fas fa-trophy"></i>
282
+ </div>
283
+ <div class="flex-1">
284
+ <h4 class="font-semibold">완벽한 스크램블 에그 - 프로 셰프 비법</h4>
285
+ <div class="flex items-center text-sm text-gray-500 mt-1">
286
+ <span class="mr-3">고메이 쿠킹</span>
287
+ <span><i class="fas fa-eye mr-1"></i> 240만 조회수</span>
288
+ </div>
289
+ </div>
290
+ <div class="text-right">
291
+ <div class="text-xs bg-red-500 text-white px-2 py-1 rounded-full inline-block">97% 일치</div>
292
+ <div class="mt-2 flex items-center justify-end">
293
+ <span class="text-xs bg-gray-100 px-2 py-1 rounded mr-1">45% 시청률</span>
294
+ <span class="text-xs bg-gray-100 px-2 py-1 rounded">8.2% CTR</span>
295
+ </div>
296
+ </div>
297
+ </div>
298
+ </div>
299
+
300
+ <div class="border border-gray-200 rounded-lg p-4 hover:bg-gray-50">
301
+ <div class="flex items-start">
302
+ <div class="w-12 h-12 bg-amber-100 rounded-lg flex items-center justify-center text-amber-500 mr-4 flex-shrink-0">
303
+ <i class="fas fa-award"></i>
304
+ </div>
305
+ <div class="flex-1">
306
+ <h4 class="font-semibold">언제나 완벽한 스크램블 에그 만드는 법</h4>
307
+ <div class="flex items-center text-sm text-gray-500 mt-1">
308
+ <span class="mr-3">집에서 요리</span>
309
+ <span><i class="fas fa-eye mr-1"></i> 180만 조회수</span>
310
+ </div>
311
+ </div>
312
+ <div class="text-right">
313
+ <div class="text-xs bg-amber-500 text-white px-2 py-1 rounded-full inline-block">89% 일치</div>
314
+ <div class="mt-2 flex items-center justify-end">
315
+ <span class="text-xs bg-gray-100 px-2 py-1 rounded mr-1">52% 시청률</span>
316
+ <span class="text-xs bg-gray-100 px-2 py-1 rounded">7.5% CTR</span>
317
+ </div>
318
+ </div>
319
+ </div>
320
+ </div>
321
+
322
+ <div class="border border-gray-200 rounded-lg p-4 hover:bg-gray-50">
323
+ <div class="flex items-start">
324
+ <div class="w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center text-blue-500 mr-4 flex-shrink-0">
325
+ <i class="fas fa-medal"></i>
326
+ </div>
327
+ <div class="flex-1">
328
+ <h4 class="font-semibold">스크램블 에그 최고의 방법 (10가지 방법 테스트)</h4>
329
+ <div class="flex items-center text-sm text-gray-500 mt-1">
330
+ <span class="mr-3">푸드 사이언스</span>
331
+ <span><i class="fas fa-eye mr-1"></i> 120만 조회수</span>
332
+ </div>
333
+ </div>
334
+ <div class="text-right">
335
+ <div class="text-xs bg-blue-500 text-white px-2 py-1 rounded-full inline-block">84% 일치</div>
336
+ <div class="mt-2 flex items-center justify-end">
337
+ <span class="text-xs bg-gray-100 px-2 py-1 rounded mr-1">61% 시청률</span>
338
+ <span class="text-xs bg-gray-100 px-2 py-1 rounded">6.9% CTR</span>
339
+ </div>
340
+ </div>
341
+ </div>
342
+ </div>
343
+ </div>
344
+ </div>
345
+
346
+ <div class="bg-white rounded-lg shadow p-6">
347
+ <h3 class="text-xl font-semibold text-gray-800 mb-4">경쟁자 분석 요약</h3>
348
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-4">
349
+ <div class="bg-red-50 p-4 rounded-lg">
350
+ <div class="text-red-500 font-bold mb-1">평균 영상 길이</div>
351
+ <div class="text-2xl font-bold">7:24</div>
352
+ <div class="text-sm text-gray-600 mt-1">6-8분 길이의 영상이 적합</div>
353
+ </div>
354
+ <div class="bg-amber-50 p-4 rounded-lg">
355
+ <div class="text-amber-500 font-bold mb-1">평균 CTR</div>
356
+ <div class="text-2xl font-bold">7.7%</div>
357
+ <div class="text-sm text-gray-600 mt-1">7% 이상의 CTR이 필요</div>
358
+ </div>
359
+ <div class="bg-green-50 p-4 rounded-lg">
360
+ <div class="text-green-500 font-bold mb-1">평균 시청률</div>
361
+ <div class="text-2xl font-bold">53%</div>
362
+ <div class="text-sm text-gray-600 mt-1">55% 이상 목표</div>
363
+ </div>
364
+ </div>
365
+ </div>
366
+ </div>
367
+ </div>
368
+
369
+ <!-- 전문가 팁 섹션 -->
370
+ <div id="pro-tips" class="mt-12 bg-gradient-to-r from-red-50 to-amber-50 border border-red-100 rounded-lg p-6">
371
+ <h3 class="text-xl font-semibold text-gray-800 mb-4 flex items-center">
372
+ <i class="fas fa-lightbulb text-yellow-500 mr-2"></i> 유튜브 SEO 성공 팁
373
+ </h3>
374
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
375
+ <div class="flex items-start">
376
+ <div class="bg-red-500 text-white rounded-full p-2 mr-3 flex-shrink-0">
377
+ <i class="fas fa-microphone-alt text-sm"></i>
378
+ </div>
379
+ <div>
380
+ <h4 class="font-semibold mb-1">키워드 자연스럽게 사용</h4>
381
+ <p class="text-gray-600 text-sm">제목, 설명의 첫 100자, 설명 첫 문장, 대본에 자연스럽게 키워드를 포함하세요.</p>
382
+ </div>
383
+ </div>
384
+ <div class="flex items-start">
385
+ <div class="bg-blue-500 text-white rounded-full p-2 mr-3 flex-shrink-0">
386
+ <i class="fas fa-user-clock text-sm"></i>
387
+ </div>
388
+ <div>
389
+ <h4 class="font-semibold mb-1">긴 영상이 더 효과적</h4>
390
+ <p class="text-gray-600 text-sm">시청자가 오래 머무는 영상을 유튜브가 선호합니다. 대부분의 주제에 대해 8-12분을 목표로 하세요.</p>
391
+ </div>
392
+ </div>
393
+ <div class="flex items-start">
394
+ <div class="bg-green-500 text-white rounded-full p-2 mr-3 flex-shrink-0">
395
+ <i class="fas fa-clock text-sm"></i>
396
+ </div>
397
+ <div>
398
+ <h4 class="font-semibold mb-1">일정하게 업로드</h4>
399
+ <p class="text-gray-600 text-sm">주 1~2회 일정하게 업로드하면 유튜브가 당신을 적극적인 창작자로 인식합니다.</p>
400
+ </div>
401
+ </div>
402
+ <div class="flex items-start">
403
+ <div class="bg-purple-500 text-white rounded-full p-2 mr-3 flex-shrink-0">
404
+ <i class="fas fa-chart-line text-sm"></i>
405
+ </div>
406
+ <div>
407
+ <h4 class="font-semibold mb-1">분석 및 최적화</h4>
408
+ <p class="text-gray-600 text-sm">업로드 후, 분석을 통해 시청자가 떠나는 지점을 확인하고 향후 콘텐츠를 개선하세요.</p>
409
+ </div>
410
+ </div>
411
+ </div>
412
+ <button class="mt-4 bg-white text-red-600 border border-red-200 hover:bg-red-50 font-semibold py-2 px-4 rounded-lg transition-colors duration-300 inline-flex items-center">
413
+ <i class="fas fa-rocket mr-2"></i> 맞춤형 유튜브 SEO 계획 받기
414
+ </button>
415
+ </div>
416
+ </main>
417
+
418
+ <!-- 푸터 -->
419
+ <footer class="bg-gray-900 text-gray-300 py-12 px-4">
420
+ <div class="max-w-6xl mx-auto grid grid-cols-1 md:grid-cols-4 gap-8">
421
+ <div>
422
+ <h4 class="text-white text-lg font-semibold mb-4">유튜브 키워드 파워 툴</h4>
423
+ <p class="text-sm">창작자가 경쟁이 적고 잠재력이 높은 키워드를 찾을 수 있도록 돕는 최고의 유튜브 키워드 리서치 도구입니다.</p>
424
+ </div>
425
+ <div>
426
+ <h4 class="text-white text-lg font-semibold mb-4">빠른 링크</h4>
427
+ <ul class="space-y-2 text-sm">
428
+ <li><a href="#" class="hover:text-white transition-colors">홈</a></li>
429
+ <li><a href="#" class="hover:text-white transition-colors">이용 방법</a></li>
430
+ <li><a href="#" class="hover:text-white transition-colors">요금제</a></li>
431
+ <li><a href="#" class="hover:text-white transition-colors">블로그</a></li>
432
+ </ul>
433
+ </div>
434
+ <div>
435
+ <h4 class="text-white text-lg font-semibold mb-4">자료</h4>
436
+ <ul class="space-y-2 text-sm">
437
+ <li><a href="#" class="hover:text-white transition-colors">유튜브 SEO 가이드</a></li>
438
+ <li><a href="#" class="hover:text-white transition-colors">키워드 리서치 팁</a></li>
439
+ <li><a href="#" class="hover:text-white transition-colors">영상 순위 요소</a></li>
440
+ <li><a href="#" class="hover:text-white transition-colors">성공 사례</a></li>
441
+ </ul>
442
+ </div>
443
+ <div>
444
+ <h4 class="text-white text-lg font-semibold mb-4">구독하기</h4>
445
+ <p class="text-sm mb-4">주간 유튜브 성장 팁과 키워드 업데이트를 받아보세요.</p>
446
+ <div class="flex">
447
+ <input type="email" placeholder="이메일 주소" class="px-3 py-2 bg-gray-800 text-white rounded-l-lg focus:outline-none focus:ring-1 focus:ring-red-500 flex-1"/>
448
+ <button class="bg-red-600 hover:bg-red-700 text-white px-4 py-2 rounded-r-lg">
449
+ <i class="fas fa-paper-plane"></i>
450
+ </button>
451
+ </div>
452
+ </div>
453
+ </div>
454
+ <div class="max-w-6xl mx-auto mt-8 pt-8 border-t border-gray-800 text-sm text-center">
455
+ <p>© 2023 유튜브 키워드 파워 툴. 모든 권리 보유.</p>
456
+ </div>
457
+ </footer>
458
+ </div>
459
+
460
+ <script>
461
+ // 키워드 데이터 (실제 앱에서는 API에서 받아옴)
462
+ const keywordData = [
463
+ {
464
+ keyword: "완벽한 스크램블 에그 만드는 법",
465
+ volume: 135000,
466
+ competition: 0.32,
467
+ score: 92,
468
+ cpr: 45,
469
+ trend: "상승",
470
+ ctr: 8.2,
471
+ variations: ["스크램블 에그 레시피", "스크램블 에그 최고 방법", "프로 스크램블 에그"]
472
+ },
473
+ {
474
+ keyword: "부드러운 스크램블 에그",
475
+ volume: 82000,
476
+ competition: 0.18,
477
+ score: 95,
478
+ cpr: 32,
479
+ trend: "안정",
480
+ ctr: 8.5,
481
+ variations: ["부드러운 스크램블 에그 만드는 법", "부드러운 계란 레시피", "극강의 부드러움 스크램블 에그"]
482
+ },
483
+ {
484
+ keyword: "셰프처럼 스크램블 에그",
485
+ volume: 48000,
486
+ competition: 0.12,
487
+ score: 98,
488
+ cpr: 28,
489
+ trend: "상승",
490
+ ctr: 9.1,
491
+ variations: ["셰프가 만드는 스크램블 에그", "프로 셰프 스크램블 에그", "레스토랑 스타일 스크램블 에그"]
492
+ },
493
+ {
494
+ keyword: "쉬운 스크램블 에그 레시피",
495
+ volume: 67000,
496
+ competition: 0.25,
497
+ score: 89,
498
+ cpr: 41,
499
+ trend: "안정",
500
+ ctr: 7.5,
501
+ variations: ["간단한 스크램블 에그 레시피", "빠른 스크램블 에그", "재료 3가지 스크램블 에그"]
502
+ },
503
+ {
504
+ keyword: "스크램블 에그 최고 기술",
505
+ volume: 39000,
506
+ competition: 0.15,
507
+ score: 96,
508
+ cpr: 26,
509
+ trend: "상승",
510
+ ctr: 8.8,
511
+ variations: ["스크램블 에그 과학적 방법", "완벽한 스크램블 에그 기술", "고든 램지 스크램블 에그"]
512
+ },
513
+ {
514
+ keyword: "전자레인지 스크램블 에그",
515
+ volume: 104000,
516
+ competition: 0.45,
517
+ score: 76,
518
+ cpr: 58,
519
+ trend: "안정",
520
+ ctr: 6.2,
521
+ variations: ["전자레인지로 스크램블 에그 만드는 법", "전자레인지 계란 요리", "빠른 전자레인지 스크램블 에그"]
522
  }
523
+ ];
524
+
525
+ // DOM 요소
526
+ const analyzeBtn = document.getElementById('analyze-btn');
527
+ const videoTitleInput = document.getElementById('video-title');
528
+ const resultsSection = document.getElementById('results-section');
529
+ const keywordsContainer = document.getElementById('keywords-container');
530
+ const loadMoreBtn = document.getElementById('load-more');
531
+ const tabBtns = document.querySelectorAll('.tab-btn');
532
+ const tabContents = document.querySelectorAll('.tab-content');
533
+ const sortSelect = document.getElementById('sort-keywords');
534
+
535
+ // 변수
536
+ let currentKeywords = [];
537
+ let displayedCount = 0;
538
+ const initialDisplayCount = 6;
539
+ const incrementDisplayCount = 3;
540
+
541
+ // 이벤트 리스너
542
+ analyzeBtn.addEventListener('click', analyzeKeywords);
543
+ loadMoreBtn.addEventListener('click', loadMoreKeywords);
544
+ sortSelect.addEventListener('change', sortKeywords);
545
+
546
+ tabBtns.forEach(btn => {
547
+ btn.addEventListener('click', () => {
548
+ const tabId = btn.getAttribute('data-tab');
549
+ switchTab(tabId);
550
+ });
551
+ });
552
+
553
+ // 함수
554
+ function analyzeKeywords() {
555
+ const title = videoTitleInput.value.trim();
556
+
557
+ if (!title) {
558
+ alert('키워드를 분석하려면 동영상 제목을 입력하세요');
559
+ return;
560
  }
561
+
562
+ // 로딩 상태 표시
563
+ analyzeBtn.innerHTML = '<i class="fas fa-spinner fa-spin mr-2"></i> 분��� 중...';
564
+ analyzeBtn.disabled = true;
565
+
566
+ // API 호출 지연 시뮬레이션
567
+ setTimeout(() => {
568
+ currentKeywords = getRelevantKeywords(title);
569
+ displayedCount = Math.min(initialDisplayCount, currentKeywords.length);
570
+
571
+ displayKeywords(currentKeywords.slice(0, displayedCount));
572
+ resultsSection.classList.remove('hidden');
573
+
574
+ // 버튼 초기화
575
+ analyzeBtn.innerHTML = '<i class="fas fa-bolt mr-2"></i> 승리하는 키워드 찾기';
576
+ analyzeBtn.disabled = false;
577
+
578
+ // 결과로 스크롤 이동
579
+ resultsSection.scrollIntoView({ behavior: 'smooth' });
580
+ }, 1500);
581
+ }
582
+
583
+ function getRelevantKeywords(title) {
584
+ const lowercaseTitle = title.toLowerCase();
585
+
586
+ return keywordData
587
+ .map(kw => {
588
+ const relevance = lowercaseTitle.includes(kw.keyword.split(' ')[0]) ? kw.score + 5 : kw.score;
589
+ return { ...kw, relevance };
590
+ })
591
+ .sort((a, b) => b.score - a.score);
592
+ }
593
+
594
+ function displayKeywords(keywords) {
595
+ keywordsContainer.innerHTML = '';
596
+
597
+ keywords.forEach(keyword => {
598
+ const card = document.createElement('div');
599
+ card.className = 'keyword-card bg-white rounded-lg shadow p-6 transition-transform duration-300 hover:shadow-lg';
600
+
601
+ let competitionClass = 'competition-high';
602
+ if (keyword.competition < 0.3) competitionClass = 'competition-low';
603
+ else if (keyword.competition < 0.5) competitionClass = 'competition-medium';
604
+
605
+ let volumeClass = 'search-volume-low';
606
+ if (keyword.volume > 80000) volumeClass = 'search-volume-high';
607
+ else if (keyword.volume > 40000) volumeClass = 'search-volume-medium';
608
+
609
+ card.innerHTML = `
610
+ <div class="flex justify-between items-start mb-2">
611
+ <h3 class="text-lg font-semibold text-gray-800">${keyword.keyword}</h3>
612
+ <div class="flex items-center">
613
+ <span class="text-sm font-semibold mr-2 ${volumeClass}">${formatNumber(keyword.volume)}</span>
614
+ <div class="tooltip cursor-pointer">
615
+ <span class="text-xs px-2 py-1 rounded-full ${competitionClass} text-white">${getCompetitionText(keyword.competition)}</span>
616
+ <span class="tooltiptext">
617
+ <div class="text-left">
618
+ <div class="font-semibold mb-1">경쟁 분석:</div>
619
+ <div class="flex justify-between text-sm mb-1">
620
+ <span>검색량:</span>
621
+ <span>${formatNumber(keyword.volume)}</span>
622
+ </div>
623
+ <div class="flex justify-between text-sm mb-1">
624
+ <span>경쟁도:</span>
625
+ <span>${(keyword.competition * 100).toFixed(0)}/100</span>
626
+ </div>
627
+ <div class="flex justify-between text-sm mb-1">
628
+ <span>클릭 가능성:</span>
629
+ <span>${keyword.ctr.toFixed(1)}% CTR</span>
630
+ </div>
631
+ <div class="flex justify-between text-sm font-semibold mt-2">
632
+ <span>기회 점수:</span>
633
+ <span>${keyword.score}/100</span>
634
+ </div>
635
+ </div>
636
+ </span>
637
+ </div>
638
+ </div>
639
+ </div>
640
+
641
+ <div class="flex items-center text-sm text-gray-500 mb-4">
642
+ <span class="mr-3"><i class="fas fa-bullseye mr-1"></i> ${keyword.cpr}% 클릭 가능성</span>
643
+ <span>
644
+ <i class="fas ${keyword.trend === '상승' ? 'fa-arrow-up text-green-500' : 'fa-arrow-right text-gray-400'} mr-1"></i>
645
+ ${keyword.trend === '상승' ? '상승' : '안정'} 트렌드
646
+ </span>
647
+ </div>
648
+
649
+ <div class="mb-4">
650
+ <div class="text-xs text-gray-500 mb-1">기회 점수</div>
651
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
652
+ <div class="bg-gradient-to-r from-blue-500 to-purple-600 h-2.5 rounded-full" style="width: ${keyword.score}%"></div>
653
+ </div>
654
+ </div>
655
+
656
+ <div class="border-t pt-3">
657
+ <h4 class="text-sm font-semibold text-gray-700 mb-2">관련 변형:</h4>
658
+ <ul class="space-y-1 text-sm text-gray-600">
659
+ ${keyword.variations.slice(0, 3).map(variation => `
660
+ <li class="flex items-start">
661
+ <i class="fas fa-check-circle text-green-500 text-xs mt-1 mr-2"></i>
662
+ <span>${variation}</span>
663
+ </li>
664
+ `).join('')}
665
+ </ul>
666
+ </div>
667
+
668
+ <div class="flex justify-between mt-4">
669
+ <button class="text-xs bg-gray-100 hover:bg-gray-200 px-3 py-1 rounded-lg transition-colors">
670
+ <i class="fas fa-plus mr-1"></i> 목록에 추가
671
+ </button>
672
+ <button class="text-xs bg-blue-50 hover:bg-blue-100 text-blue-600 px-3 py-1 rounded-lg transition-colors">
673
+ <i class="fas fa-share-alt mr-1"></i> 공유
674
+ </button>
675
+ </div>
676
+ `;
677
+
678
+ keywordsContainer.appendChild(card);
679
+ });
680
+
681
+ loadMoreBtn.classList.toggle('hidden', displayedCount >= currentKeywords.length);
682
+ }
683
+
684
+ function loadMoreKeywords() {
685
+ const nextBatch = currentKeywords.slice(displayedCount, displayedCount + incrementDisplayCount);
686
+ displayKeywords([...document.querySelectorAll('.keyword-card'), ...nextBatch]);
687
+ displayedCount += incrementDisplayCount;
688
+ }
689
+
690
+ function sortKeywords() {
691
+ const sortBy = sortSelect.value;
692
+
693
+ switch(sortBy) {
694
+ case 'volume':
695
+ currentKeywords.sort((a, b) => b.volume - a.volume);
696
+ break;
697
+ case 'competition':
698
+ currentKeywords.sort((a, b) => a.competition - b.competition);
699
+ break;
700
+ case 'score':
701
+ currentKeywords.sort((a, b) => b.score - a.score);
702
+ break;
703
+ case 'relevance':
704
+ default:
705
+ currentKeywords.sort((a, b) => b.relevance - a.relevance);
706
+ break;
707
  }
708
+
709
+ displayedCount = Math.min(initialDisplayCount, currentKeywords.length);
710
+ displayKeywords(currentKeywords.slice(0, displayedCount));
711
+ }
712
+
713
+ function switchTab(tabId) {
714
+ tabBtns.forEach(btn => {
715
+ if (btn.getAttribute('data-tab') === tabId) {
716
+ btn.classList.add('active');
717
+ } else {
718
+ btn.classList.remove('active');
719
+ }
720
+ });
721
+
722
+ tabContents.forEach(content => {
723
+ if (content.id === `${tabId}-tab`) {
724
+ content.classList.remove('hidden');
725
+ } else {
726
+ content.classList.add('hidden');
727
+ }
728
+ });
729
+ }
730
+
731
+ function formatNumber(num) {
732
+ if (num >= 1000000) return (num / 1000000).toFixed(1) + 'M';
733
+ if (num >= 1000) return (num / 1000).toFixed(1) + 'K';
734
+ return num;
735
+ }
736
+
737
+ function getCompetitionText(competition) {
738
+ if (competition < 0.3) return '낮음';
739
+ if (competition < 0.5) return '중간';
740
+ return '높음';
741
+ }
742
+ </script>
743
+
744
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px; position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">
745
+ Made with
746
+ <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite 로고" style="width: 16px; height: 16px; vertical-align: middle; display: inline-block; margin-right: 3px; filter: brightness(0) invert(1);">
747
+ <a href="https://enzostvs-deepsite.hf.space" style="color: #fff; text-decoration: underline;" target="_blank">DeepSite</a> -
748
+ <a href="https://enzostvs-deepsite.hf.space?remix=Nomnom38/youtube-keyword-tool" style="color: #fff; text-decoration: underline;" target="_blank">🧬 리믹스</a>
749
+ </p>
750
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-qwensite.hf.space/logo.svg" alt="qwensite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-qwensite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >QwenSite</a> - 🧬 <a href="https://enzostvs-qwensite.hf.space?remix=nkjoy/space" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
751
+ </html>