diff --git a/app/layout.tsx b/app/layout.tsx index 1648f1a..d409c3d 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -6,9 +6,26 @@ import './globals.css' const siteUrl = 'https://machigai-salad.llll-ll.com' +// Longer, keyword-bearing description for search snippets. The on-page subtitle +// stays short ('間違いさがし おたすけツール'); this is the search-facing copy. +const description = + '2枚の画像を並べて拡大・比較できる間違い探しのおたすけツール。答え合わせやヒント探しに便利。インストール不要、ブラウザだけで動きます。' + export const metadata: Metadata = { + metadataBase: new URL(siteUrl), title: '小エビの間違いサラダ', - description: '間違いさがし おたすけツール', + description, + keywords: [ + '間違い探し', + '間違いさがし', + 'まちがいさがし', + '間違いサラダ', + '答え合わせ', + 'ヒント', + '画像比較', + '拡大', + 'ツール', + ], manifest: '/manifest.webmanifest', appleWebApp: { capable: true, @@ -19,7 +36,7 @@ export const metadata: Metadata = { type: 'website', url: siteUrl, title: '小エビの間違いサラダ', - description: '間違いさがし おたすけツール', + description, siteName: '小エビの間違いサラダ', locale: 'ja_JP', images: [{ url: `${siteUrl}/static/ogp.webp`, width: 1200, height: 630 }], @@ -27,7 +44,7 @@ export const metadata: Metadata = { twitter: { card: 'summary_large_image', title: '小エビの間違いサラダ', - description: '間違いさがし おたすけツール', + description, images: [`${siteUrl}/static/ogp.webp`], }, icons: { @@ -36,6 +53,24 @@ export const metadata: Metadata = { }, } +// Structured data so search engines can render the tool as a SoftwareApplication +// rich result. Free, browser-based, Japanese. +const jsonLd = { + '@context': 'https://schema.org', + '@type': 'SoftwareApplication', + name: '小エビの間違いサラダ', + url: siteUrl, + description, + applicationCategory: 'UtilitiesApplication', + operatingSystem: 'Web', + inLanguage: 'ja', + offers: { + '@type': 'Offer', + price: '0', + priceCurrency: 'JPY', + }, +} + export const viewport: Viewport = { themeColor: '#FEF6DC', } @@ -48,6 +83,10 @@ export default function RootLayout({ return ( +