Fix SEO/UX audit gaps: canonical tags, org schema, nav, header claims

Add canonical URLs and a sitewide Organization JSON-LD (linked via @id
to page-specific LocalBusiness/Service/Article schemas), move FAQ and
Reviews into the top nav, attach the 24/7 support claim to a tooltip
on the header badge instead of leaving it unexplained, drop the
unverifiable incidents_resolved stat from the hero terminal animation,
and clean up the empty-reviews state instead of showing a thin
placeholder.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013otXCiTZsxdZ4SJKZ9wUky
This commit is contained in:
ogrechkoandClaude Sonnet 5 committed 2026-08-25 23:43:17 +03:00
1 parent 130c5382cd
commit 30e1aea20b
16 files changed
+72 -11

No files matched your search

+3
View File
@@ -2,6 +2,7 @@ import './globals.css';
import { ThemeProvider } from '../components/ThemeProvider.jsx';
import SupportChat from '../components/SupportChat.jsx';
import VisitTracker from '../components/VisitTracker.jsx';
import { getOrganizationSchema } from '../lib/schema.js';
const SITE_URL = process.env.NEXT_PUBLIC_SITE_URL || 'https://top-sysops.ru';
@@ -33,6 +34,8 @@ export default function RootLayout({ children }) {
<head>
{/* eslint-disable-next-line react/no-danger */}
<script dangerouslySetInnerHTML={{ __html: NO_FLASH_SCRIPT }} />
{/* eslint-disable-next-line react/no-danger */}
<script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(getOrganizationSchema()) }} />
</head>
<body className="bg-slate-50 dark:bg-slate-950 text-slate-900 dark:text-slate-100">
<ThemeProvider>{children}</ThemeProvider>