feat: SEO 메타데이터 전 페이지 적용 + CTA 텍스트 통일

SEO 메타데이터:
- app/layout.tsx: title 템플릿, OG/Twitter 메타, robots 추가
- app/freelance/layout.tsx: 외주 개발 전용 메타 (납기 패널티 키워드)
- app/saju/layout.tsx: AI 사주 분석 메타
- app/services/lotto/layout.tsx: 로또 번호 추천 메타
- app/services/stock/layout.tsx: 주식 자동 매매 메타
- app/services/automation/layout.tsx: 업무 자동화 메타
- app/services/prompt/layout.tsx: 프롬프트 엔지니어링 메타
- app/services/website/layout.tsx: 홈페이지 제작 메타
- app/services/automation/tools/scraper/layout.tsx: 웹 크롤러 메타
- app/services/automation/tools/ppt/layout.tsx: PPT 자동화 메타

CTA 텍스트 통일:
- 주식: "시스템 확인 후 상담 신청 →" → "무료 상담 신청 →"
- 프롬프트: "견적 문의" → "무료 상담 신청", "프롬프트 설계 신청 →" → "무료 상담 신청 →"
- 자동화: "견적 문의" → "무료 상담 신청"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-23 08:40:21 +09:00
parent b18f669510
commit 3e9ea863aa
13 changed files with 279 additions and 10 deletions

View File

@@ -0,0 +1,27 @@
import type { Metadata } from 'next';
export const metadata: Metadata = {
title: '업무 자동화 개발',
description:
'엑셀 자동화, 웹 스크래핑, 이메일 자동 발송, RPA, 텔레그램 봇 개발. 반복 업무를 자동화하여 시간을 절약하세요. 단순 자동화 5만 원~, 1개월 무상 AS.',
keywords: [
'업무 자동화',
'RPA',
'엑셀 자동화',
'웹 스크래핑',
'텔레그램 봇',
'이메일 자동화',
'반복업무 자동화',
'파이썬 자동화',
],
openGraph: {
title: '업무 자동화 개발 | 쟁승메이드',
description:
'RPA·엑셀·스크래핑·텔레그램 봇. 단순 자동화 5만 원~, 1개월 무상 AS, 계약서 포함.',
url: 'https://jaengseung-made.com/services/automation',
},
};
export default function AutomationLayout({ children }: { children: React.ReactNode }) {
return children;
}

View File

@@ -241,7 +241,7 @@ export default function AutomationPage() {
plan.highlight ? 'bg-cyan-400 text-[#012030] hover:bg-cyan-300' : 'bg-[#04102b] text-white hover:bg-[#0a1f5c]'
}`}
>
</button>
</div>
))}

View File

@@ -0,0 +1,25 @@
import type { Metadata } from 'next';
export const metadata: Metadata = {
title: 'PPT 제작 자동화 도구',
description:
'엑셀 데이터로 PPT를 자동 생성하는 Python 스크립트. 표지·내용·마무리 슬라이드 자동 구성, 색상 테마 커스터마이징. python-pptx 기반. 무료 다운로드.',
keywords: [
'PPT 자동화',
'파워포인트 자동 생성',
'python-pptx',
'PPT 제작 도구',
'엑셀 PPT 변환',
'프레젠테이션 자동화',
'무료 PPT 도구',
],
openGraph: {
title: 'PPT 제작 자동화 도구 | 쟁승메이드',
description: 'Python + python-pptx 기반 PPT 자동 생성 도구 무료 다운로드. 엑셀 연동 지원.',
url: 'https://jaengseung-made.com/services/automation/tools/ppt',
},
};
export default function PptLayout({ children }: { children: React.ReactNode }) {
return children;
}

View File

@@ -0,0 +1,25 @@
import type { Metadata } from 'next';
export const metadata: Metadata = {
title: '웹 크롤링·스크래핑 도구',
description:
'공공데이터·쇼핑몰 가격·뉴스를 자동 수집해 엑셀로 저장하는 Python 웹 스크래퍼. requests + BeautifulSoup4 + openpyxl 기반. 무료 다운로드.',
keywords: [
'웹 크롤링',
'웹 스크래핑',
'파이썬 크롤러',
'데이터 수집 자동화',
'BeautifulSoup',
'엑셀 자동화',
'무료 크롤러',
],
openGraph: {
title: '웹 크롤링 자동화 도구 | 쟁승메이드',
description: 'Python 기반 웹 크롤러 무료 다운로드. 페이지네이션·재시도·엑셀 저장 지원.',
url: 'https://jaengseung-made.com/services/automation/tools/scraper',
},
};
export default function ScraperLayout({ children }: { children: React.ReactNode }) {
return children;
}

View File

@@ -0,0 +1,25 @@
import type { Metadata } from 'next';
export const metadata: Metadata = {
title: '로또 번호 추천',
description:
'1,100+회차 빅데이터 기반 로또 번호 분석. 핫/콜드 번호 통계, 몬테카를로 시뮬레이션으로 매주 최적 번호 조합을 제공합니다. 월 900원부터 구독.',
keywords: [
'로또 번호 추천',
'로또 번호 분석',
'로또 빅데이터',
'로또 통계',
'로또 번호 생성',
'핫넘버 콜드넘버',
],
openGraph: {
title: '로또 번호 추천 서비스 | 쟁승메이드',
description:
'1,100+회차 데이터 분석 · 월 900원 구독 · 이메일/텔레그램 자동 발송.',
url: 'https://jaengseung-made.com/services/lotto',
},
};
export default function LottoLayout({ children }: { children: React.ReactNode }) {
return children;
}

View File

@@ -0,0 +1,26 @@
import type { Metadata } from 'next';
export const metadata: Metadata = {
title: '프롬프트 엔지니어링',
description:
'ChatGPT·Claude·Gemini에 최적화된 업무 특화 프롬프트 설계. 반복 업무를 AI로 자동화하는 프롬프트 라이브러리 제공. 건당 30,000원~.',
keywords: [
'프롬프트 엔지니어링',
'ChatGPT 프롬프트',
'Claude 프롬프트',
'AI 프롬프트',
'업무 AI 자동화',
'프롬프트 최적화',
'프롬프트 설계',
],
openGraph: {
title: '프롬프트 엔지니어링 | 쟁승메이드',
description:
'ChatGPT·Claude 업무 특화 프롬프트 설계. 건당 30,000원~, 납품 후 사용 교육 포함.',
url: 'https://jaengseung-made.com/services/prompt',
},
};
export default function PromptLayout({ children }: { children: React.ReactNode }) {
return children;
}

View File

@@ -235,7 +235,7 @@ export default function PromptPage() {
plan.highlight ? 'bg-violet-400 text-[#0d0a2e] hover:bg-violet-300' : 'bg-[#04102b] text-white hover:bg-[#0a1f5c]'
}`}
>
</button>
</div>
))}
@@ -254,7 +254,7 @@ export default function PromptPage() {
onClick={() => openModal('프롬프트 엔지니어링')}
className="inline-flex items-center gap-2 bg-violet-400 hover:bg-violet-300 text-[#0d0a2e] px-8 py-3 rounded-xl font-extrabold text-sm transition-all shadow-lg shadow-violet-900/30"
>
</button>
</div>
</div>

View File

@@ -0,0 +1,26 @@
import type { Metadata } from 'next';
export const metadata: Metadata = {
title: '주식 자동 매매 프로그램',
description:
'NAS 서버에서 직접 운영 중인 주식 자동 매매 시스템. RSI·MACD·볼린저밴드 기반 매매 신호를 텔레그램으로 수신하고 자동 매수·매도합니다. 키움·한국투자 연동.',
keywords: [
'주식 자동 매매',
'알고트레이딩',
'주식 자동화',
'텔레그램 주식 알림',
'키움 자동매매',
'주식 프로그램',
'RSI 매매',
],
openGraph: {
title: '주식 자동 매매 프로그램 | 쟁승메이드',
description:
'직접 운영 중인 알고트레이딩 시스템. 텔레그램 연동 · 자동 매수매도 · 설치 49,000원~.',
url: 'https://jaengseung-made.com/services/stock',
},
};
export default function StockLayout({ children }: { children: React.ReactNode }) {
return children;
}

View File

@@ -267,7 +267,7 @@ export default function StockPage() {
onClick={() => openModal('주식 자동 매매')}
className="inline-flex items-center gap-2 bg-emerald-400 hover:bg-emerald-300 text-[#011225] px-8 py-3 rounded-xl font-extrabold text-sm transition-all shadow-lg shadow-emerald-900/30"
>
</button>
</div>
</div>

View File

@@ -0,0 +1,27 @@
import type { Metadata } from 'next';
export const metadata: Metadata = {
title: '홈페이지·웹사이트 제작',
description:
'기업 홈페이지, 쇼핑몰, SaaS, 포트폴리오까지 반응형 웹사이트 제작. 디자인부터 배포까지 원스톱. 스타터 20만 원~, 계약서 포함, 3개월 유지보수.',
keywords: [
'홈페이지 제작',
'웹사이트 제작',
'쇼핑몰 제작',
'반응형 웹',
'Next.js 개발',
'기업 홈페이지',
'랜딩페이지 제작',
'SEO 최적화',
],
openGraph: {
title: '홈페이지·웹사이트 제작 | 쟁승메이드',
description:
'기업·쇼핑몰·포트폴리오 웹사이트 제작. 스타터 20만 원~, 반응형 디자인, 계약서 포함.',
url: 'https://jaengseung-made.com/services/website',
},
};
export default function WebsiteLayout({ children }: { children: React.ReactNode }) {
return children;
}