Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Seo #59

Merged
merged 5 commits into from
Sep 13, 2023
Merged

Seo #59

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
28 changes: 10 additions & 18 deletions public/manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "PosePicker",
"short_name": "포즈피커",
"theme_color": "#1976d2",
"theme_color": "#734CEB",
"background_color": "#fafafa",
"display": "standalone",
"scope": "/",
Expand All @@ -10,56 +10,48 @@
{
"src": "/pwa-icons/icon-48x48.png",
"sizes": "48x48",
"type": "image/png",
"purpose": "maskable any"
"type": "image/png"
},
{
"src": "/pwa-icons/icon-72x72.png",
"sizes": "72x72",
"type": "image/png",
"purpose": "maskable any"
"type": "image/png"
},
{
"src": "/pwa-icons/icon-96x96.png",
"sizes": "96x96",
"type": "image/png",
"purpose": "maskable any"
"type": "image/png"
},
{
"src": "/pwa-icons/icon-128x128.png",
"sizes": "128x128",
"type": "image/png",
"purpose": "maskable any"
"type": "image/png"
},
{
"src": "/pwa-icons/icon-144x144.png",
"sizes": "144x144",
"type": "image/png",
"purpose": "maskable any"
"type": "image/png"
},
{
"src": "/pwa-icons/icon-152x152.png",
"sizes": "152x152",
"type": "image/png",
"purpose": "maskable any"
"type": "image/png"
},
{
"src": "/pwa-icons/icon-192x192.png",
"sizes": "192x192",
"type": "image/png",
"purpose": "maskable any"
"type": "image/png"
},
{
"src": "/pwa-icons/icon-384x384.png",
"sizes": "384x384",
"type": "image/png",
"purpose": "maskable any"
"type": "image/png"
},
{
"src": "/pwa-icons/icon-512x512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable any"
"purpose": "any maskable"
}
]
}
Binary file added public/meta/apple_touch_icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes.
Binary file added public/meta/og_detail.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/meta/og_kakao.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/meta/og_main.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion src/app/(Main)/feed/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@ import FeedSection from './FeedSection';
import { RejectedFallback } from '@/components/ErrorBoundary';
import { Loading } from '@/components/Loading';
import { PageAnimation } from '@/components/PageAnimation';
import { META_STRING } from '@/constants/meta';

export const metadata: Metadata = {
title: '포즈피드',
description: '포즈피드에서 조건에 맞는 포즈를 찾고, 친구한테 공유해보세요',
description: META_STRING.description.feed,
};

export default function Feed() {
Expand Down
3 changes: 2 additions & 1 deletion src/app/(Main)/pick/page.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import { Metadata } from 'next';

import PickSection from './components/PickSection';
import { META_STRING } from '@/constants/meta';

export const metadata: Metadata = {
title: '포즈픽',
description: '시간 없을 땐 포즈픽으로 빠르게 랜덤 포즈를 추천받아보세요.',
description: META_STRING.description.pick,
};

export default function Pick() {
Expand Down
3 changes: 2 additions & 1 deletion src/app/(Main)/talk/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ import TalkSection from './components/TalkSection';
import TitleSection from './components/TitleSection';
import { PageAnimation } from '@/components/PageAnimation';
import { Spacing } from '@/components/Spacing';
import { META_STRING } from '@/constants/meta';

export const metadata: Metadata = {
title: '포즈톡',
description: '포즈톡에서 뽑은 랜덤 제시어로 나만의 개성있는 포즈를 완성해보세요.',
description: META_STRING.description.talk,
};

export default function Talk() {
Expand Down
1 change: 1 addition & 0 deletions src/app/(Sub)/detail/[id]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ export async function generateMetadata(
openGraph: {
title: defaultOgTitle,
description: '이 포즈는 어때요?',
images: ['/meta/og_detail.png'],
},
};
}
Expand Down
30 changes: 16 additions & 14 deletions src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,33 +11,30 @@ import QueryProvider from '@/provider/QueryProvider';
import RecoilContextProvider from '@/provider/RecoilContextProvider';

import type { Metadata } from 'next';

const META_TITLE = 'PosePicker';
const META_DESCRIPTION = '다음 포즈 뭐하지? 포즈피커가 포즈고민을 해결해 드릴게요!';
const META_OG_IMAGE = '/images/main_star.png';
import { META_STRING } from '@/constants/meta';

export const metadata: Metadata = {
metadataBase: new URL(BASE_SITE_URL),
title: {
default: `${META_TITLE} - 포즈피커`,
template: `${META_TITLE} | %s`,
default: `${META_STRING.title}`,
template: `${META_STRING.title} | %s`,
},
description: META_DESCRIPTION,
description: META_STRING.description.main,
verification: {
google: 'MB7qV_Oa4G4gR0jHgjtnE6S4g4blocE2mjo7z-z2f6Q',
},
other: {
'naver-site-verification': '65f3aba9349cce28018ac7a97d4f87ff00709aa3',
},
openGraph: {
title: META_TITLE,
description: META_DESCRIPTION,
images: [META_OG_IMAGE],
title: META_STRING.title,
description: META_STRING.description.sub,
images: [META_STRING.image.og],
},
twitter: {
title: META_TITLE,
description: META_DESCRIPTION,
images: [META_OG_IMAGE],
title: META_STRING.title,
description: META_STRING.description.sub,
images: [META_STRING.image.detail],
},
viewport: {
width: 'device-width',
Expand All @@ -46,7 +43,12 @@ export const metadata: Metadata = {
userScalable: false,
},
icons: {
icon: './favicon.ico',
icon: META_STRING.favicon,
apple: META_STRING.appleIcon,
other: {
rel: 'apple-touch-icon-precomposed',
url: META_STRING.appleIcon,
},
},
manifest: '/manifest.json',
themeColor: '#ffffff',
Expand Down
17 changes: 17 additions & 0 deletions src/constants/meta.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
export const META_STRING = {
title: 'PosePicker',
description: {
main: '포토부스에서 고민하는 당신을 위한 포즈 추천 서비스',
sub: '포즈가 고민될 땐? 포즈피커!',
pick: '시간 없을 땐 포즈픽으로 빠르게 랜덤 포즈를 추천받아보세요.',
talk: '포즈톡에서 뽑은 랜덤 제시어로 나만의 개성있는 포즈를 완성해보세요.',
feed: '포즈피드에서 조건에 맞는 포즈를 찾고, 친구한테 공유해보세요',
},
image: {
og: '/meta/og_main.png',
detail: '/meta/og_detail.png',
kakao_share: '/meta/og_kakao.png',
},
favicon: '/meta/favicon.ico',
appleIcon: '/meta/apple_touch_icon.png',
};
10 changes: 5 additions & 5 deletions src/hooks/useKakaoShare.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { useEffect } from 'react';

import { KAKAO_KEY } from '@/constants';
import { META_STRING } from '@/constants/meta';

export default function useKakaoShare() {
useEffect(() => {
Expand All @@ -23,18 +24,17 @@ export default function useKakaoShare() {
kakao.Link.sendDefault({
objectType: 'feed',
content: {
title: 'PosePicker',
description: '포토부스에서 고민하는 당신을 위한 포즈 추천',
imageUrl:
'https://github.com/gloddy-dev/gloddy-client/assets/62178788/a145c7ca-b487-4b2a-9913-cc1589e44f91',
title: META_STRING.title,
description: META_STRING.description.main,
imageUrl: META_STRING.image.kakao_share,
link: {
mobileWebUrl: uri,
webUrl: uri,
},
},
buttons: [
{
title: '포즈를 뽑아봐 !',
title: META_STRING.description.sub,
link: {
mobileWebUrl: uri,
webUrl: uri,
Expand Down