seo 기반으로 설정 완료
This commit is contained in:
+6785
-18875
File diff suppressed because it is too large
Load Diff
+1
-59
@@ -1,54 +1,8 @@
|
||||
<template>
|
||||
<div class="landing-container bg-[#F8FAFC] text-slate-800 antialiased relative pb-24 md:pb-12 min-h-screen w-full">
|
||||
|
||||
<!-- SSR & SEO 상태 인스펙터 -->
|
||||
<aside class="sticky top-0 z-50 bg-slate-900 text-white text-xs px-4 py-2 border-b border-slate-700 shadow-md w-full">
|
||||
<div class="max-w-6xl mx-auto flex items-center justify-between flex-wrap gap-2">
|
||||
<div class="flex items-center space-x-2">
|
||||
<span class="inline-flex items-center px-2 py-0.5 rounded text-[11px] font-bold bg-indigo-500/20 text-indigo-300 border border-indigo-500/40">
|
||||
<i class="fa-solid fa-bolt mr-1"></i> Nuxt 3 SSR
|
||||
</span>
|
||||
<span class="inline-flex items-center px-2 py-0.5 rounded text-[11px] font-bold bg-orange-500/20 text-orange-300 border border-orange-500/40">
|
||||
<i class="fa-solid fa-school mr-1"></i> 학교별 내신 기출 족보 최적화
|
||||
</span>
|
||||
</div>
|
||||
<div class="flex items-center gap-2">
|
||||
<button @click="showInspector = !showInspector" class="px-3 py-1 bg-orange-600 hover:bg-orange-700 transition text-white font-semibold rounded-md flex items-center gap-1.5 shadow">
|
||||
<i class="fa-solid fa-code text-xs"></i>
|
||||
<span>{{ showInspector ? '실제 화면만 보기' : 'SEO & SSR 사양 검증' }}</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
<!-- 인스펙터 서랍 -->
|
||||
<section v-if="showInspector" class="bg-slate-950 text-slate-200 border-b border-slate-800 p-4 transition-all w-full">
|
||||
<div class="max-w-6xl mx-auto text-xs space-y-4">
|
||||
<div class="flex justify-between items-center pb-2 border-b border-slate-800">
|
||||
<h2 class="text-sm font-bold text-orange-400 flex items-center gap-2">
|
||||
<i class="fa-solid fa-microchip"></i> [{{ siteName }}] 중·고등 내신 기출 분석 아키텍처
|
||||
</h2>
|
||||
<button @click="showInspector = false" class="text-slate-400 hover:text-white"><i class="fa-solid fa-xmark text-sm"></i></button>
|
||||
</div>
|
||||
<div class="grid grid-cols-1 md:grid-cols-3 gap-3">
|
||||
<div class="bg-slate-900 p-3 rounded border border-slate-800">
|
||||
<span class="text-indigo-400 font-bold block mb-1">1. 내신 기출 시맨틱 구조</span>
|
||||
<p class="text-slate-400">인근 학교별 출제 경향과 서술형 킬러 문항 키워드를 검색봇이 직관적으로 색인합니다.</p>
|
||||
</div>
|
||||
<div class="bg-slate-900 p-3 rounded border border-slate-800">
|
||||
<span class="text-orange-400 font-bold block mb-1">2. 구조화 데이터 탑재</span>
|
||||
<p class="text-slate-400">FAQPage 리치 스니펫과 교육기관 스키마를 통해 검색 포털 노출 점수를 극대화합니다.</p>
|
||||
</div>
|
||||
<div class="bg-slate-900 p-3 rounded border border-slate-800">
|
||||
<span class="text-emerald-400 font-bold block mb-1">3. 실시간 내신 전담 배정</span>
|
||||
<p class="text-slate-400">기재된 학교의 기출 분석 데이터를 보유한 내신 전문 강사진이 실시간 배정됩니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Header -->
|
||||
<header class="bg-white border-b border-slate-200 sticky top-9 z-40 shadow-sm w-full">
|
||||
<header class="bg-white border-b border-slate-200 sticky top-0 z-40 shadow-sm w-full">
|
||||
<div class="max-w-6xl mx-auto px-4 sm:px-6 py-3.5 flex items-center justify-between">
|
||||
<div class="flex items-center space-x-2">
|
||||
<div class="w-9 h-9 rounded-xl bg-indigo-700 flex items-center justify-center text-white font-extrabold text-lg shadow-sm">
|
||||
@@ -442,17 +396,6 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 안심 보장 뱃지 -->
|
||||
<section class="mt-16 mx-4 sm:mx-6 max-w-4xl md:mx-auto p-6 rounded-3xl bg-indigo-50/80 border border-indigo-100 text-center shadow-sm">
|
||||
<div class="flex items-center justify-center flex-wrap gap-6 text-xs sm:text-sm font-bold text-indigo-950 mb-3">
|
||||
<span class="flex items-center gap-1.5"><i class="fa-solid fa-shield-halved text-indigo-700 text-base"></i> 내신 전문 강사진</span>
|
||||
<span class="flex items-center gap-1.5"><i class="fa-solid fa-file-shield text-orange-600 text-base"></i> 기출 족보 데이터 보유</span>
|
||||
<span class="flex items-center gap-1.5"><i class="fa-solid fa-rotate text-emerald-600 text-base"></i> 무상 재매칭 보장</span>
|
||||
</div>
|
||||
<p class="text-xs sm:text-sm text-slate-500 max-w-xl mx-auto">
|
||||
{{ siteName }}은 학생의 목표 내신 등급 달성을 위해 끝까지 책임지고 지도합니다.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<!-- 하단 직통 전화 문의 & 상담 안내 섹션 -->
|
||||
<section class="mt-8 mx-4 sm:mx-6 max-w-4xl md:mx-auto p-6 sm:p-8 rounded-3xl bg-white border border-slate-200 text-center shadow-sm">
|
||||
@@ -493,7 +436,6 @@ const config = useRuntimeConfig()
|
||||
const siteName = config.public.siteName || '패스파인더 입시과외'
|
||||
const siteDomain = config.public.siteDomain || 'https://aeseo.store'
|
||||
|
||||
const showInspector = ref(false)
|
||||
const isSubmitting = ref(false)
|
||||
const submitSuccess = ref(false)
|
||||
|
||||
|
||||
@@ -4,4 +4,4 @@ Allow: /
|
||||
User-agent: Yeti
|
||||
Allow: /
|
||||
|
||||
Sitemap: https://site4.passfinder.co.kr/sitemap.xml
|
||||
Sitemap: https://aeseo.store/sitemap.xml
|
||||
|
||||
@@ -135,13 +135,13 @@ export function parseRouteSlug(slugInput: string | string[]): ParsedRouteParams
|
||||
}
|
||||
}
|
||||
|
||||
// 기본값 (황금동)
|
||||
// 기본값 (568개 타겟 지역 중 첫 번째 기준)
|
||||
if (!matchedRegion) {
|
||||
matchedRegion = getRegionByDong('황금동') || {
|
||||
fullName: '대구광역시 수성구 황금동',
|
||||
sido: '대구광역시',
|
||||
sigungu: '수성구',
|
||||
dong: '황금동'
|
||||
matchedRegion = (regionsData.list as RegionInfo[])[0] || {
|
||||
fullName: '경기도 고양시 덕양구 고양동',
|
||||
sido: '경기도',
|
||||
sigungu: '고양시 덕양구',
|
||||
dong: '고양동'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user