75 lines
2.9 KiB
JSON
75 lines
2.9 KiB
JSON
{
|
|
"files_to_modify": {
|
|
"frontend": [
|
|
"src/components/seo/JsonLd.tsx",
|
|
"src/components/seo/index.ts"
|
|
]
|
|
},
|
|
"files_to_create": {
|
|
"frontend": [
|
|
"src/components/seo/schemas/PersonJsonLd.tsx",
|
|
"src/components/seo/schemas/ProfessionalServiceJsonLd.tsx",
|
|
"src/components/seo/schemas/BreadcrumbJsonLd.tsx",
|
|
"src/components/seo/schemas/WebPageJsonLd.tsx",
|
|
"src/components/seo/schemas/FAQJsonLd.tsx",
|
|
"src/components/seo/schemas/ServiceJsonLd.tsx",
|
|
"src/components/seo/schemas/OrganizationJsonLd.tsx",
|
|
"src/components/seo/schemas/ArticleJsonLd.tsx",
|
|
"src/components/seo/schemas/HowToJsonLd.tsx",
|
|
"src/components/seo/schemas/ProfilePageJsonLd.tsx",
|
|
"src/components/seo/schemas/VideoJsonLd.tsx",
|
|
"src/components/seo/schemas/SoftwareAppJsonLd.tsx",
|
|
"src/components/seo/schemas/WebSiteJsonLd.tsx",
|
|
"src/components/seo/schemas/index.ts"
|
|
]
|
|
},
|
|
"files_to_reference": [
|
|
"src/components/about/index.ts",
|
|
"src/components/layout/index.ts",
|
|
"src/components/portfolio/index.ts"
|
|
],
|
|
"patterns": {
|
|
"component_organization": "Each component type gets its own directory with multiple component files and a barrel export index.ts",
|
|
"barrel_export": "index.ts re-exports all components from the directory using named exports",
|
|
"import_paths": "Imports use path alias @/components/... for cleaner imports",
|
|
"typescript": "All components use TypeScript with proper interface definitions"
|
|
},
|
|
"existing_implementations": {
|
|
"description": "Found 14 JSON-LD schema components in a single 758-line file at src/components/seo/JsonLd.tsx",
|
|
"relevant_files": [
|
|
"src/components/seo/JsonLd.tsx",
|
|
"src/components/seo/index.ts",
|
|
"src/app/[locale]/layout.tsx (imports PersonJsonLd, ProfessionalServiceJsonLd, OrganizationJsonLd, WebSiteJsonLd)",
|
|
"src/app/[locale]/about/page.tsx (imports ProfilePageJsonLd, BreadcrumbJsonLd)",
|
|
"src/app/[locale]/blog/[slug]/page.tsx (imports BreadcrumbJsonLd, ArticleJsonLd)",
|
|
"src/app/[locale]/leistungen/page.tsx (imports BreadcrumbJsonLd, FAQJsonLd)"
|
|
],
|
|
"components_to_split": [
|
|
"PersonJsonLd",
|
|
"ProfessionalServiceJsonLd",
|
|
"BreadcrumbJsonLd",
|
|
"WebPageJsonLd",
|
|
"FAQJsonLd",
|
|
"ServiceJsonLd",
|
|
"OrganizationJsonLd",
|
|
"ArticleJsonLd",
|
|
"HowToJsonLd",
|
|
"ProfilePageJsonLd",
|
|
"VideoJsonLd",
|
|
"SoftwareAppJsonLd",
|
|
"WebSiteJsonLd"
|
|
],
|
|
"usage_locations": [
|
|
"src/app/[locale]/layout.tsx",
|
|
"src/app/[locale]/about/page.tsx",
|
|
"src/app/[locale]/blog/page.tsx",
|
|
"src/app/[locale]/blog/[slug]/page.tsx",
|
|
"src/app/[locale]/contact/page.tsx",
|
|
"src/app/[locale]/leistungen/page.tsx",
|
|
"src/app/[locale]/leistungen/[slug]/page.tsx",
|
|
"src/app/[locale]/leistungen/standort/[city]/page.tsx",
|
|
"src/app/[locale]/portfolio/[slug]/page.tsx"
|
|
]
|
|
}
|
|
}
|