Files
radzen-blazor/RadzenBlazorDemos.Host/App.razor
Atanas Korchev 3301acaece Add chart SEO: structured data, FAQs, and consistent copy
Enrich all 58 chart/dataviz demo pages on blazor.radzen.com for search
and AI discovery:

- JSON-LD via a new head-schemas section + SeoSchema/DemoSeo, emitted
  once per page from MainLayout (CollectionPage+ItemList on /charts,
  TechArticle+BreadcrumbList+FAQPage on each chart page)
- Human-readable intros, 1-3 FAQs, and related-chart links per page,
  sourced once from ExampleService (rendered on-page and as FAQPage)
- Complete OG/Twitter tags; corrected gallery copy (30+ chart types /
  40+ data-visualization components); dropped "native" wording
- Rename chart-spline/-histogram/-pareto to {type}-chart

Adds RadzenBlazorDemos/Services/SeoSchema.cs and Shared/DemoSeo.razor.
2026-06-18 17:24:21 +03:00

47 lines
2.2 KiB
Plaintext

@using Microsoft.AspNetCore.Components.Sections
@inject IHostEnvironment Env
@inject NavigationManager NavigationManager
@inject ThemeService ThemeService
@inject QueryStringThemeService QueryStringThemeService
<!DOCTYPE html>
<html lang="en" dir="@(ThemeService.RightToLeft == true ? "rtl" : "ltr")">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<base href="/" />
<link href="css/site.css" rel="stylesheet" />
<HeadOutlet @rendermode="InteractiveWebAssembly" />
<RadzenTheme Theme="material3" />
<SectionOutlet @rendermode="InteractiveWebAssembly" SectionName="Canonical" />
<SectionOutlet @rendermode="InteractiveWebAssembly" SectionName="head-schemas" />
<link rel="stylesheet" data-name="vs/editor/editor.main" href="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.34.1/min/vs/editor/editor.main.min.css">
</head>
<body class="rz-scrollbars">
<Routes @rendermode="InteractiveWebAssembly" />
<div id="blazor-error-ui">
@if (Env.IsDevelopment())
{
<text>
An unhandled exception has occurred. See browser dev tools for details.
</text>
}
else
{
<text>
An error has occurred. This app may no longer respond until reloaded.
</text>
}
<a href="" class="reload">Reload</a>
<a class="dismiss">🗙</a>
</div>
<script src="_framework/blazor.web.js"></script>
<script async src="js/highlight.pack.js"></script>
<script src="_content/Radzen.Blazor/Radzen.Blazor.min.js?v=@(typeof(Radzen.Colors).Assembly.GetName().Version)"></script>
<script defer data-domain="blazor.radzen.com" src="https://analytics.radzen.com/js/plausible.js"></script>
<script src="js/demos.js"></script>
<script async src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.34.1/min/vs/loader.min.js"></script>
<script async src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.34.1/min/vs/editor/editor.main.nls.js"></script>
<script async src="https://cdnjs.cloudflare.com/ajax/libs/monaco-editor/0.34.1/min/vs/editor/editor.main.js"></script>
</body>
</html>