polish(home,seo): P0 final review 반영 — 명명 통일 + priceSpec 정리 + 카드 분석
Final code reviewer 후속 3건:
- 명명 통일: Home 카드 "웹사이트" → "웹사이트 제작", "사주 카탈로그" → "AI 사주" /
JSON-LD "맞춤 개발 외주" → "외주 개발". Footer와 4개 라인 라벨 일치.
- priceSpecification 스텁 제거 (Schema.org price-on-request 관용 표기 아님).
P1에서 자체 정가 확정 시 Offer.price + priceCurrency 동시 추가 예정.
- 카드별 trackCTAClick("home_v6_custom_build_card_<key>") 5개 추가 — P1 IA
결정용 라인별 클릭 데이터.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -99,13 +99,9 @@ const jsonLd = {
|
|||||||
'@type': 'Offer',
|
'@type': 'Offer',
|
||||||
url: 'https://jaengseung-made.com/freelance',
|
url: 'https://jaengseung-made.com/freelance',
|
||||||
availability: 'https://schema.org/InStock',
|
availability: 'https://schema.org/InStock',
|
||||||
priceSpecification: {
|
|
||||||
'@type': 'PriceSpecification',
|
|
||||||
priceCurrency: 'KRW',
|
|
||||||
},
|
|
||||||
itemOffered: {
|
itemOffered: {
|
||||||
'@type': 'Service',
|
'@type': 'Service',
|
||||||
name: '맞춤 개발 외주',
|
name: '외주 개발',
|
||||||
url: 'https://jaengseung-made.com/freelance',
|
url: 'https://jaengseung-made.com/freelance',
|
||||||
description: '7년차 백엔드 개발자의 1:1 맞춤 소프트웨어 개발 외주. 자동화·API·웹/모바일 등 사이트 한정가로 제공.',
|
description: '7년차 백엔드 개발자의 1:1 맞춤 소프트웨어 개발 외주. 자동화·API·웹/모바일 등 사이트 한정가로 제공.',
|
||||||
serviceType: 'Custom Software Development',
|
serviceType: 'Custom Software Development',
|
||||||
@@ -117,10 +113,6 @@ const jsonLd = {
|
|||||||
'@type': 'Offer',
|
'@type': 'Offer',
|
||||||
url: 'https://jaengseung-made.com/services/website',
|
url: 'https://jaengseung-made.com/services/website',
|
||||||
availability: 'https://schema.org/InStock',
|
availability: 'https://schema.org/InStock',
|
||||||
priceSpecification: {
|
|
||||||
'@type': 'PriceSpecification',
|
|
||||||
priceCurrency: 'KRW',
|
|
||||||
},
|
|
||||||
itemOffered: {
|
itemOffered: {
|
||||||
'@type': 'Service',
|
'@type': 'Service',
|
||||||
name: '웹사이트 제작',
|
name: '웹사이트 제작',
|
||||||
|
|||||||
@@ -302,14 +302,15 @@ export default function Home() {
|
|||||||
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-5 gap-4 mb-12">
|
<div className="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-5 gap-4 mb-12">
|
||||||
{[
|
{[
|
||||||
{ href: '/freelance', label: '외주 개발', desc: '맞춤 솔루션 외주', key: 'freelance' },
|
{ href: '/freelance', label: '외주 개발', desc: '맞춤 솔루션 외주', key: 'freelance' },
|
||||||
{ href: '/services/website', label: '웹사이트', desc: '기업·브랜드 사이트', key: 'website' },
|
{ href: '/services/website', label: '웹사이트 제작', desc: '기업·브랜드 사이트', key: 'website' },
|
||||||
{ href: '/freelance', label: '자동화', desc: 'RPA · API 연동', key: 'automation' },
|
{ href: '/freelance', label: '자동화', desc: 'RPA · API 연동', key: 'automation' },
|
||||||
{ href: '/saju', label: '사주 카탈로그', desc: 'AI 사주 솔루션', key: 'saju' },
|
{ href: '/saju', label: 'AI 사주', desc: 'AI 사주 솔루션', key: 'saju' },
|
||||||
{ href: '/services/blog', label: '블로그 자동화', desc: '수익 엔진 팩', key: 'blog' },
|
{ href: '/services/blog', label: '블로그 자동화', desc: '수익 엔진 팩', key: 'blog' },
|
||||||
].map((card) => (
|
].map((card) => (
|
||||||
<Link
|
<Link
|
||||||
key={card.key}
|
key={card.key}
|
||||||
href={card.href}
|
href={card.href}
|
||||||
|
onClick={() => trackCTAClick(`home_v6_custom_build_card_${card.key}`)}
|
||||||
className="group rounded-2xl border border-white/15 bg-white/[0.02] p-5 hover:border-white/40 hover:bg-white/[0.05] transition flex flex-col"
|
className="group rounded-2xl border border-white/15 bg-white/[0.02] p-5 hover:border-white/40 hover:bg-white/[0.05] transition flex flex-col"
|
||||||
>
|
>
|
||||||
<p className="font-bold text-white text-sm mb-1.5">{card.label}</p>
|
<p className="font-bold text-white text-sm mb-1.5">{card.label}</p>
|
||||||
|
|||||||
Reference in New Issue
Block a user