Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/app/(landing)/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export const metadata: Metadata = {
title: 'ZERO-ONE - 1:1 기상 스터디 플랫폼',
description:
'매일 아침을 함께 시작하는 1:1 기상 스터디 플랫폼. 현직 멘토와 함께 성장하세요.',
keywords: ['스터디', '기상', '멘토링', '1:1 스터디', '개발자', '면접 준비'],
keywords: ['스터디', '기상', '멘토링', '스터디 그룹', '개발자', '면접 준비'],
Comment on lines 15 to +18
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

SEO 메타데이터 용어 변경이 부분 적용되어 일관성이 깨집니다.

Line [18]은 "스터디 그룹"으로 바뀌었지만, Line [15], Line [17], Line [34], Line [35]에는 여전히 1:1 문구가 남아 있어 검색/공유 메타 메시지가 혼재됩니다. 이 PR 목표(용어 통일)에 맞게 같은 블록에서 함께 맞추는 편이 안전합니다.

제안 수정안
 export const metadata: Metadata = {
-  title: 'ZERO-ONE - 1:1 기상 스터디 플랫폼',
+  title: 'ZERO-ONE - 기상 스터디 그룹 플랫폼',
   description:
-    '매일 아침을 함께 시작하는 1:1 기상 스터디 플랫폼. 현직 멘토와 함께 성장하세요.',
+    '매일 아침을 함께 시작하는 기상 스터디 그룹 플랫폼. 현직 멘토와 함께 성장하세요.',
   keywords: ['스터디', '기상', '멘토링', '스터디 그룹', '개발자', '면접 준비'],
@@
-    title: 'ZERO-ONE - 1:1 기상 스터디 플랫폼',
-    description: '매일 아침을 함께 시작하는 1:1 기상 스터디 플랫폼',
+    title: 'ZERO-ONE - 기상 스터디 그룹 플랫폼',
+    description: '매일 아침을 함께 시작하는 기상 스터디 그룹 플랫폼',

Also applies to: 34-35

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/app/`(landing)/layout.tsx around lines 15 - 18, The SEO metadata uses
mixed terms (some entries contain "1:1" while keywords include "스터디 그룹"); update
the metadata in layout.tsx so the title, description, and keywords use a single
consistent term (e.g., change all occurrences of "1:1" to the chosen term or
vice versa) — specifically edit the title, description and the keywords array
(and any other metadata variables in this file such as the later keyword entries
around the same block) to use the same phrase uniformly.

icons: {
icon: '/favicon.ico',
},
Expand Down
2 changes: 1 addition & 1 deletion src/app/(landing)/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export const metadata: Metadata = generateSEOMetadata({
'바이브코더',
'개발자 커뮤니티',
'멘토링',
'1:1 스터디',
'스터디 그룹',
'그룹 스터디',
'유료 스터디',
'인사이트',
Expand Down
2 changes: 1 addition & 1 deletion src/app/(service)/(my)/my-study-review/one-to-one/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ export default function OneToOneReviewPage() {
<CompletedStudyReviewPage
basePath="/my-study-review/one-to-one"
studyType="ONE_ON_ONE_STUDY"
studyTypeName="1:1스터디"
studyTypeName="스터디 그룹"
hideTabNav
hideEmptyMessage
/>
Expand Down
2 changes: 1 addition & 1 deletion src/components/common/layout/header-nav.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ interface HeaderNavProps {
}

const NAV_ITEMS = [
{ href: '/home', loginRequired: false, label: '1:1 스터디' },
{ href: '/home', loginRequired: false, label: '스터디 그룹' },
{ href: '/mentoring', loginRequired: false, label: '1:1 멘토링' },
{ href: '/group-study', loginRequired: false, label: '그룹스터디' },
{ href: '/premium-study', loginRequired: false, label: '멘토스터디' },
Expand Down
4 changes: 2 additions & 2 deletions src/components/common/layout/mobile-menu-drawer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ const LoginModal = dynamic(
);

const NAV_ITEMS = [
{ href: '/home', label: '1:1 스터디' },
{ href: '/home', label: '스터디 그룹' },
{ href: '/mentoring', label: '1:1 멘토링' },
{ href: '/group-study', label: '그룹스터디' },
{ href: '/premium-study', label: '멘토스터디' },
Expand Down Expand Up @@ -170,7 +170,7 @@ export default function MobileMenuDrawer({
})}
</nav>

{/* 1:1 스터디 매칭 토글 */}
{/* 스터디 그룹 매칭 토글 */}
{isLoggedIn && (
<div className="border-t border-border-subtle px-400 py-200">
<StudyMatchingToggle showLabel />
Expand Down
2 changes: 1 addition & 1 deletion src/components/common/modals/phone-verification-modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ export default function PhoneVerificationModal({
margin: 0,
}}
>
1:1 스터디를 진행하려면 본인인증이 필요해요.
스터디 그룹을 진행하려면 본인인증이 필요해요.
</p>
</div>
<button
Expand Down
2 changes: 1 addition & 1 deletion src/components/group-study/review/study-review-tab-nav.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export default function StudyReviewTabNav() {
isActive('/my-study-review/one-to-one') && pathClassName,
)}
>
1:1 스터디
스터디 그룹
</button>
<button
type="button"
Expand Down
2 changes: 1 addition & 1 deletion src/components/home/study-matching-toggle.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ export default function StudyMatchingToggle({
!showLabel && 'hidden lg:inline',
)}
>
1:1 스터디 매칭
스터디 그룹 매칭
</span>
<ToggleSwitch.Root
size="md"
Expand Down
2 changes: 1 addition & 1 deletion src/components/home/tab-navigation.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ const TABS = [
id: 'history',
label: '나의 스터디 기록',
icon: History,
description: '1:1 스터디 히스토리',
description: '스터디 그룹 히스토리',
},
{
id: 'community',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export default function HallOfFameHeader() {
<div className="flex flex-col gap-50">
<p>제로원을 빛낸 열정적인 멤버들과 최고의 유저들을 소개합니다.</p>
<p>
꾸준한 1:1 스터디를 통해 제로원 명예의 전당에 이름을 올려보세요!
꾸준한 스터디 그룹을 통해 제로원 명예의 전당에 이름을 올려보세요!
</p>
</div>
}
Expand Down
4 changes: 2 additions & 2 deletions src/components/one-to-one/history/study-history-header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export default function StudyHistoryHeader({
}: StudyHistoryHeaderProps) {
return (
<SectionHeader
title="나의 1:1 스터디 기록"
title="나의 스터디 그룹 기록"
icon={<History className="text-text-brand h-8 w-8" />}
description={
<>
Expand All @@ -48,7 +48,7 @@ export default function StudyHistoryHeader({
<span className="text-text-strong font-bold">
{totalElements}
</span>
개의 1:1 스터디 기록이 있습니다. 역할 수행 여부 판단 기준은
개의 스터디 그룹 기록이 있습니다. 역할 수행 여부 판단 기준은
지원자: 학습자료 제출, 면접자: 면접 후기 작성이며, 둘 다 진행되면
진행 상태가 완료됩니다.
</>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export default function StudyHistoryListSection({
<div className="text-text-subtlest flex flex-col items-center gap-200 py-800 text-center">
<History className="h-10 w-10 opacity-20" />
<p className="font-designer-16m">
아직 1:1 스터디 기록이 없습니다.
아직 스터디 그룹 기록이 없습니다.
</p>
</div>
)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export default function StudyHistorySummary({
return (
<div className="font-designer-16m text-text-subtle whitespace-nowrap">
총 <span className="text-text-strong font-bold">{totalElements}</span>개의
1:1 스터디 기록이 있습니다.
스터디 그룹 기록이 있습니다.
</div>
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ export default function StudyHistoryTabClient({
<div className="text-text-subtlest flex flex-col items-center gap-200 py-800 text-center">
<Loader2 className="h-8 w-8 animate-spin" />
<div className="font-designer-16m">
1:1 스터디 기록을 불러오는 중입니다...
스터디 그룹 기록을 불러오는 중입니다...
</div>
</div>
);
Expand Down
2 changes: 1 addition & 1 deletion src/components/pages/landing/landing-content.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ const STATS = [

const FEATURES = [
{
title: '1:1 스터디 · 멘토링',
title: '스터디 그룹 · 멘토링',
description: '막힌 지점을 실전 맥락으로 빠르게 해결하는 고밀도 세션',
color: '#f63d68',
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ export default function AdminMatchingPageClient() {
</div>

<SectionHeader
title="1:1 스터디 매칭 관리"
title="스터디 그룹 매칭 관리"
description="운영자는 스케줄러 설정과 현재 주차 운영 상태를 함께 확인하고, 목록 탐색·자동 매칭 실행·수동 매칭 생성·선택 요청 수정까지 한 화면에서 처리할 수 있습니다."
className="gap-100"
titleClassName="font-designer-28b text-text-strong"
Expand Down
2 changes: 1 addition & 1 deletion src/utils/seo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export const DEFAULT_KEYWORDS = [
'스터디',
'기상',
'멘토링',
'1:1 스터디',
'스터디 그룹',
'개발자',
'면접 준비',
'개발자 커뮤니티',
Expand Down
Loading