From 3e9ea863aa15521d21048db66354a36417bfea10 Mon Sep 17 00:00:00 2001 From: gahusb Date: Mon, 23 Mar 2026 08:40:21 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20SEO=20=EB=A9=94=ED=83=80=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=20=EC=A0=84=20=ED=8E=98=EC=9D=B4=EC=A7=80=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9=20+=20CTA=20=ED=85=8D=EC=8A=A4=ED=8A=B8=20?= =?UTF-8?q?=ED=86=B5=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- app/freelance/layout.tsx | 26 ++++++++++ app/layout.tsx | 47 ++++++++++++++++--- app/saju/layout.tsx | 27 +++++++++++ app/services/automation/layout.tsx | 27 +++++++++++ app/services/automation/page.tsx | 2 +- app/services/automation/tools/ppt/layout.tsx | 25 ++++++++++ .../automation/tools/scraper/layout.tsx | 25 ++++++++++ app/services/lotto/layout.tsx | 25 ++++++++++ app/services/prompt/layout.tsx | 26 ++++++++++ app/services/prompt/page.tsx | 4 +- app/services/stock/layout.tsx | 26 ++++++++++ app/services/stock/page.tsx | 2 +- app/services/website/layout.tsx | 27 +++++++++++ 13 files changed, 279 insertions(+), 10 deletions(-) create mode 100644 app/freelance/layout.tsx create mode 100644 app/saju/layout.tsx create mode 100644 app/services/automation/layout.tsx create mode 100644 app/services/automation/tools/ppt/layout.tsx create mode 100644 app/services/automation/tools/scraper/layout.tsx create mode 100644 app/services/lotto/layout.tsx create mode 100644 app/services/prompt/layout.tsx create mode 100644 app/services/stock/layout.tsx create mode 100644 app/services/website/layout.tsx diff --git a/app/freelance/layout.tsx b/app/freelance/layout.tsx new file mode 100644 index 0000000..c243140 --- /dev/null +++ b/app/freelance/layout.tsx @@ -0,0 +1,26 @@ +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: '외주 개발 의뢰', + description: + '계약서 먼저, 납기 지키고, 소스코드 100% 인도. 47건 납품 완료. 7년차 백엔드 개발자에게 외주 개발을 맡겨보세요. 납기 지연 시 하루 10만 원 패널티.', + keywords: [ + '외주 개발', + '프리랜서 개발자', + '웹 개발 외주', + '앱 개발 외주', + 'RPA 개발', + '업무 자동화 외주', + '소프트웨어 개발', + ], + openGraph: { + title: '외주 개발 의뢰 | 쟁승메이드', + description: + '47건 납품 완료. 계약서 먼저, 납기 패널티, 소스코드 100% 인도. 연락 두절 없는 개발자.', + url: 'https://jaengseung-made.com/freelance', + }, +}; + +export default function FreelanceLayout({ children }: { children: React.ReactNode }) { + return children; +} diff --git a/app/layout.tsx b/app/layout.tsx index 405f487..6f59f25 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -4,18 +4,53 @@ import "./globals.css"; import DashboardShell from "./components/DashboardShell"; export const metadata: Metadata = { - title: "쟁승메이드 | 쟁토리의 프리미엄 개발 서비스", + title: { + default: "쟁승메이드 | 연락 두절 없는 7년차 개발자", + template: "%s | 쟁승메이드", + }, description: - "로또 번호 추천, 주식 자동 매매, 프롬프트 엔지니어링, 업무 자동화. 쟁토리가 제공하는 신뢰할 수 있는 개발 서비스.", + "계약서 먼저, 납기 지키고, 소스코드 100% 인도. 7년차 대기업 백엔드 개발자가 운영하는 외주 개발·업무 자동화·RPA 서비스.", keywords: [ - "로또 번호 추천", - "주식 자동 매매", - "프롬프트 엔지니어링", + "외주 개발", + "프리랜서 개발자", "업무 자동화", "RPA", - "외주 개발", + "웹사이트 제작", + "로또 번호 추천", + "주식 자동 매매", "텔레그램 봇", + "엑셀 자동화", + "프롬프트 엔지니어링", ], + authors: [{ name: "박재오", url: "https://jaengseung-made.com" }], + creator: "박재오", + openGraph: { + type: "website", + locale: "ko_KR", + url: "https://jaengseung-made.com", + siteName: "쟁승메이드", + title: "쟁승메이드 | 연락 두절 없는 7년차 개발자", + description: + "계약서 먼저, 납기 지키고, 소스코드 100% 인도. 외주 개발·업무 자동화·RPA 전문.", + images: [ + { + url: "https://jaengseung-made.com/og-image.png", + width: 1200, + height: 630, + alt: "쟁승메이드 — 연락 두절 없는 개발자", + }, + ], + }, + twitter: { + card: "summary_large_image", + title: "쟁승메이드 | 연락 두절 없는 7년차 개발자", + description: "계약서 먼저, 납기 지키고, 소스코드 100% 인도.", + }, + robots: { + index: true, + follow: true, + googleBot: { index: true, follow: true }, + }, }; export default function RootLayout({ diff --git a/app/saju/layout.tsx b/app/saju/layout.tsx new file mode 100644 index 0000000..8b55313 --- /dev/null +++ b/app/saju/layout.tsx @@ -0,0 +1,27 @@ +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'AI 사주 분석', + description: + '생년월일시를 입력하면 Gemini AI가 사주팔자를 분석합니다. 일간·오행·대운·세운 기반 12개 항목 상세 해석. 재물운·애정운·직업·건강 포함.', + keywords: [ + 'AI 사주', + '사주풀이', + '사주팔자', + '사주 분석', + '오행 분석', + '대운', + '세운', + '사주 운세', + ], + openGraph: { + title: 'AI 사주 분석 | 쟁승메이드', + description: + 'Gemini AI 기반 사주팔자 분석. 일간·오행·대운·세운·재물운·애정운 12개 항목 해석.', + url: 'https://jaengseung-made.com/saju', + }, +}; + +export default function SajuLayout({ children }: { children: React.ReactNode }) { + return children; +} diff --git a/app/services/automation/layout.tsx b/app/services/automation/layout.tsx new file mode 100644 index 0000000..ab87d8a --- /dev/null +++ b/app/services/automation/layout.tsx @@ -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; +} diff --git a/app/services/automation/page.tsx b/app/services/automation/page.tsx index 60cb054..309f014 100644 --- a/app/services/automation/page.tsx +++ b/app/services/automation/page.tsx @@ -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]' }`} > - 견적 문의 + 무료 상담 신청 ))} diff --git a/app/services/automation/tools/ppt/layout.tsx b/app/services/automation/tools/ppt/layout.tsx new file mode 100644 index 0000000..c57ce9f --- /dev/null +++ b/app/services/automation/tools/ppt/layout.tsx @@ -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; +} diff --git a/app/services/automation/tools/scraper/layout.tsx b/app/services/automation/tools/scraper/layout.tsx new file mode 100644 index 0000000..b17fca0 --- /dev/null +++ b/app/services/automation/tools/scraper/layout.tsx @@ -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; +} diff --git a/app/services/lotto/layout.tsx b/app/services/lotto/layout.tsx new file mode 100644 index 0000000..341be87 --- /dev/null +++ b/app/services/lotto/layout.tsx @@ -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; +} diff --git a/app/services/prompt/layout.tsx b/app/services/prompt/layout.tsx new file mode 100644 index 0000000..a53a99b --- /dev/null +++ b/app/services/prompt/layout.tsx @@ -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; +} diff --git a/app/services/prompt/page.tsx b/app/services/prompt/page.tsx index c6907d1..1684146 100644 --- a/app/services/prompt/page.tsx +++ b/app/services/prompt/page.tsx @@ -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]' }`} > - 견적 문의 + 무료 상담 신청 ))} @@ -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" > - 프롬프트 설계 신청 → + 무료 상담 신청 → diff --git a/app/services/stock/layout.tsx b/app/services/stock/layout.tsx new file mode 100644 index 0000000..4631717 --- /dev/null +++ b/app/services/stock/layout.tsx @@ -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; +} diff --git a/app/services/stock/page.tsx b/app/services/stock/page.tsx index c9d3bbc..97bd03f 100644 --- a/app/services/stock/page.tsx +++ b/app/services/stock/page.tsx @@ -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" > - 시스템 확인 후 상담 신청 → + 무료 상담 신청 → diff --git a/app/services/website/layout.tsx b/app/services/website/layout.tsx new file mode 100644 index 0000000..f8d9527 --- /dev/null +++ b/app/services/website/layout.tsx @@ -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; +}