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-[#F4F7FB] 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-green-500/20 text-green-400 border border-green-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-blue-500/20 text-blue-300 border border-blue-500/40">
|
||||
<i class="fa-solid fa-magnifying-glass-chart mr-1"></i> 네이버·구글 SEO 100%
|
||||
</span>
|
||||
</div>
|
||||
<div class="flex items-center gap-2">
|
||||
<button @click="showInspector = !showInspector" class="px-3 py-1 bg-amber-600 hover:bg-amber-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-amber-400 flex items-center gap-2">
|
||||
<i class="fa-solid fa-microchip"></i> [{{ siteName }}] 검색엔진 최적화(SEO) 및 SSR 규격 검증
|
||||
</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-blue-400 font-bold block mb-1">1. 시맨틱 H1~H3 트리</span>
|
||||
<p class="text-slate-400">검색 로봇이 사이트 주제를 즉각 파악하도록 H1 단일 탑재 및 계층 구조를 완성했습니다.</p>
|
||||
</div>
|
||||
<div class="bg-slate-900 p-3 rounded border border-slate-800">
|
||||
<span class="text-green-400 font-bold block mb-1">2. Schema.org 구조화 데이터</span>
|
||||
<p class="text-slate-400">FAQPage와 EducationalOrganization JSON-LD를 탑재하여 포털 검색결과 리치 스니펫을 유도합니다.</p>
|
||||
</div>
|
||||
<div class="bg-slate-900 p-3 rounded border border-slate-800">
|
||||
<span class="text-amber-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-blue-700 flex items-center justify-center text-white font-extrabold text-lg shadow-sm">
|
||||
@@ -444,17 +398,6 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 안심 보장 뱃지 -->
|
||||
<section class="mt-16 mx-4 sm:mx-6 max-w-4xl md:mx-auto p-6 rounded-3xl bg-blue-50/80 border border-blue-100 text-center shadow-sm">
|
||||
<div class="flex items-center justify-center flex-wrap gap-6 text-xs sm:text-sm font-bold text-blue-950 mb-3">
|
||||
<span class="flex items-center gap-1.5"><i class="fa-solid fa-shield-halved text-blue-700 text-base"></i> 신원 검증 100%</span>
|
||||
<span class="flex items-center gap-1.5"><i class="fa-solid fa-rotate text-amber-600 text-base"></i> 무료 재매칭 보장</span>
|
||||
<span class="flex items-center gap-1.5"><i class="fa-solid fa-chart-line 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">
|
||||
@@ -495,7 +438,6 @@ const config = useRuntimeConfig()
|
||||
const siteName = config.public.siteName || '로열클래스 1:1 과외'
|
||||
const siteDomain = config.public.siteDomain || 'https://aeseo.cloud'
|
||||
|
||||
const showInspector = ref(false)
|
||||
const isSubmitting = ref(false)
|
||||
const submitSuccess = ref(false)
|
||||
|
||||
|
||||
@@ -4,4 +4,4 @@ Allow: /
|
||||
User-agent: Yeti
|
||||
Allow: /
|
||||
|
||||
Sitemap: https://site1.eduroyal.co.kr/sitemap.xml
|
||||
Sitemap: https://aeseo.cloud/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