From 3301acaecee19e7341eda5fddf373454a3941b9d Mon Sep 17 00:00:00 2001 From: Atanas Korchev Date: Thu, 18 Jun 2026 17:23:26 +0300 Subject: [PATCH] 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. --- RadzenBlazorDemos.Host/App.razor | 1 + RadzenBlazorDemos/Models/Example.cs | 10 + RadzenBlazorDemos/Pages/ArcGaugePage.razor | 2 +- RadzenBlazorDemos/Pages/AreaChartPage.razor | 2 +- RadzenBlazorDemos/Pages/BarChartPage.razor | 2 +- .../Pages/BoxPlotChartPage.razor | 2 +- RadzenBlazorDemos/Pages/BubbleChartPage.razor | 2 +- RadzenBlazorDemos/Pages/BulletChartPage.razor | 2 +- .../Pages/CandlestickChartPage.razor | 2 +- .../Pages/ChartGalleryPage.razor | 24 +- .../Pages/ChartHistogramPage.razor | 4 +- RadzenBlazorDemos/Pages/ChartParetoPage.razor | 4 +- .../Pages/ChartReferenceLinePage.razor | 2 +- RadzenBlazorDemos/Pages/ChartSplinePage.razor | 4 +- RadzenBlazorDemos/Pages/ChartSyncPage.razor | 2 +- RadzenBlazorDemos/Pages/ChartTrendsPage.razor | 2 +- RadzenBlazorDemos/Pages/ColumnChartPage.razor | 2 +- .../Pages/ContourChartPage.razor | 2 +- RadzenBlazorDemos/Pages/DonutChartPage.razor | 2 +- .../Pages/DrillDownChartPage.razor | 2 +- .../Pages/FullStackedAreaChartPage.razor | 2 +- .../Pages/FullStackedBarChartPage.razor | 2 +- .../Pages/FullStackedColumnChartPage.razor | 2 +- .../Pages/FullStackedLineChartPage.razor | 2 +- RadzenBlazorDemos/Pages/FunnelChartPage.razor | 2 +- .../Pages/GroupedColumnChartPage.razor | 2 +- .../Pages/HeatmapChartPage.razor | 2 +- .../Pages/HeatmapSeriesChartPage.razor | 2 +- .../Pages/HighLowChartPage.razor | 2 +- .../Pages/HorizontalWaterfallChartPage.razor | 2 +- RadzenBlazorDemos/Pages/Index.razor | 4 +- RadzenBlazorDemos/Pages/LineChartPage.razor | 2 +- RadzenBlazorDemos/Pages/LinearGaugePage.razor | 2 +- RadzenBlazorDemos/Pages/LiveChartPage.razor | 2 +- .../Pages/NegativeAreaChartPage.razor | 2 +- .../Pages/NegativeColumnChartPage.razor | 2 +- .../Pages/NegativeStackedBarChartPage.razor | 2 +- RadzenBlazorDemos/Pages/OhlcChartPage.razor | 2 +- RadzenBlazorDemos/Pages/PieChartPage.razor | 2 +- .../Pages/PyramidChartPage.razor | 2 +- .../Pages/RadarColumnChartPage.razor | 2 +- RadzenBlazorDemos/Pages/RadialGaugePage.razor | 2 +- .../Pages/RangeAreaChartPage.razor | 2 +- .../Pages/RangeBarChartPage.razor | 2 +- .../Pages/RangeColumnChartPage.razor | 2 +- .../Pages/RangeNavigatorPage.razor | 3 +- .../Pages/RangeStepAreaChartPage.razor | 2 +- .../Pages/SankeyDiagramPage.razor | 2 +- .../Pages/ScatterChartPage.razor | 2 +- .../Pages/ScatterLineChartPage.razor | 2 +- RadzenBlazorDemos/Pages/SparklinePage.razor | 2 +- RadzenBlazorDemos/Pages/SpiderChartPage.razor | 2 +- .../Pages/StackedAreaChartPage.razor | 2 +- .../Pages/StackedBarChartPage.razor | 2 +- .../Pages/StackedColumnChartPage.razor | 2 +- .../Pages/StackedLineChartPage.razor | 2 +- .../Pages/StepAreaChartPage.razor | 2 +- .../Pages/StepLineChartPage.razor | 2 +- .../Pages/StylingGaugePage.razor | 2 +- .../Pages/TreemapChartPage.razor | 2 +- .../Pages/WaterfallChartPage.razor | 2 +- .../Pages/ZoomPanChartPage.razor | 2 +- RadzenBlazorDemos/Services/ExampleService.cs | 633 ++++++++++++++---- RadzenBlazorDemos/Services/SeoSchema.cs | 125 ++++ RadzenBlazorDemos/Shared/DemoSeo.razor | 50 ++ RadzenBlazorDemos/Shared/MainLayout.razor | 1 + RadzenBlazorDemos/Shared/RadzenExample.razor | 6 + 67 files changed, 789 insertions(+), 188 deletions(-) create mode 100644 RadzenBlazorDemos/Services/SeoSchema.cs create mode 100644 RadzenBlazorDemos/Shared/DemoSeo.razor diff --git a/RadzenBlazorDemos.Host/App.razor b/RadzenBlazorDemos.Host/App.razor index efd2de178..377eb1b65 100644 --- a/RadzenBlazorDemos.Host/App.razor +++ b/RadzenBlazorDemos.Host/App.razor @@ -13,6 +13,7 @@ + diff --git a/RadzenBlazorDemos/Models/Example.cs b/RadzenBlazorDemos/Models/Example.cs index 63679b52b..c6ca60034 100644 --- a/RadzenBlazorDemos/Models/Example.cs +++ b/RadzenBlazorDemos/Models/Example.cs @@ -16,6 +16,10 @@ namespace RadzenBlazorDemos public IEnumerable Children { get; set; } public IEnumerable Tags { get; set; } public IEnumerable Toc { get; set; } + + // SEO enrichment (rendered on-page and as JSON-LD by DemoSeo). Optional. + public IEnumerable Related { get; set; } + public IEnumerable Faq { get; set; } } public class ExampleSection @@ -23,4 +27,10 @@ namespace RadzenBlazorDemos public string Text { get; set; } public string Anchor { get; set; } } + + public class FaqItem + { + public string Question { get; set; } + public string Answer { get; set; } + } } \ No newline at end of file diff --git a/RadzenBlazorDemos/Pages/ArcGaugePage.razor b/RadzenBlazorDemos/Pages/ArcGaugePage.razor index 3af9104b5..6ecd3ab18 100644 --- a/RadzenBlazorDemos/Pages/ArcGaugePage.razor +++ b/RadzenBlazorDemos/Pages/ArcGaugePage.razor @@ -3,7 +3,7 @@ Radzen Blazor Arc Gauge - Display values on a circular arc scale with configurable ranges. + An arc gauge shows a value along a curved segment - a lighter, flatter take on the radial dial that fits neatly into cards and tight dashboard tiles. diff --git a/RadzenBlazorDemos/Pages/AreaChartPage.razor b/RadzenBlazorDemos/Pages/AreaChartPage.razor index 5c25f6380..d41307194 100644 --- a/RadzenBlazorDemos/Pages/AreaChartPage.razor +++ b/RadzenBlazorDemos/Pages/AreaChartPage.razor @@ -4,7 +4,7 @@ Radzen Blazor Chart with area series - Visualize data trends with filled area charts showing magnitude over time. + An area chart is a line chart with the space beneath the line filled in, which emphasizes volume or magnitude as it changes over time. diff --git a/RadzenBlazorDemos/Pages/BarChartPage.razor b/RadzenBlazorDemos/Pages/BarChartPage.razor index dbabe14ed..15cf7a0fe 100644 --- a/RadzenBlazorDemos/Pages/BarChartPage.razor +++ b/RadzenBlazorDemos/Pages/BarChartPage.razor @@ -4,7 +4,7 @@ Radzen Blazor Chart bar series - Display horizontal bar charts for comparing data across categories. + A bar chart plots categories as horizontal bars, with length showing the value. The horizontal layout gives long category names room to breathe and makes rankings easy to scan top to bottom. diff --git a/RadzenBlazorDemos/Pages/BoxPlotChartPage.razor b/RadzenBlazorDemos/Pages/BoxPlotChartPage.razor index 552058459..08ba81284 100644 --- a/RadzenBlazorDemos/Pages/BoxPlotChartPage.razor +++ b/RadzenBlazorDemos/Pages/BoxPlotChartPage.razor @@ -4,7 +4,7 @@ Radzen Blazor Chart box plot series - Visualize statistical distributions using box-and-whisker plots. Each box shows the quartiles (Q1, Median, Q3) while whiskers extend to the minimum and maximum values. + A box plot summarizes a distribution with quartiles and whiskers, so you can compare spread, median, and outliers across groups at a glance. Each box spans Q1 to Q3 with a median line, while the whiskers reach the minimum and maximum. - Visualize three dimensions of data using positioned circles with area-proportional sizing. + A bubble chart is a scatter chart where each point also has a size, letting you show three numeric dimensions at once - for example value, growth, and volume in a single view. diff --git a/RadzenBlazorDemos/Pages/BulletChartPage.razor b/RadzenBlazorDemos/Pages/BulletChartPage.razor index e6c97518a..737229b81 100644 --- a/RadzenBlazorDemos/Pages/BulletChartPage.razor +++ b/RadzenBlazorDemos/Pages/BulletChartPage.razor @@ -4,7 +4,7 @@ Radzen Blazor Chart bullet series - Compare a primary measure against a target using bullet charts. Qualitative range bands provide context for performance evaluation. + A bullet chart packs a measure, a target, and qualitative ranges into a compact bar - a space-saving way to show whether a KPI is on track. - Visualize financial OHLC (Open, High, Low, Close) data using candlestick charts. + A candlestick chart shows how a price opened, closed, and how far it swung in between - one candle per period. It is the standard view for reading momentum in stock, forex, and crypto data. diff --git a/RadzenBlazorDemos/Pages/ChartGalleryPage.razor b/RadzenBlazorDemos/Pages/ChartGalleryPage.razor index d1ec92643..5c42b0965 100644 --- a/RadzenBlazorDemos/Pages/ChartGalleryPage.razor +++ b/RadzenBlazorDemos/Pages/ChartGalleryPage.razor @@ -1,15 +1,25 @@ @page "/charts" -Blazor Chart Components Gallery — 50+ Free Chart Types | Radzen +Blazor Charts - 30+ Chart Types | Free UI Components by Radzen - + + + + + + + + + + + - Blazor Chart Components Gallery + Blazor Chart Components - Explore free, open-source Blazor chart components — from area, bar, and line charts to financial, statistical, and gauge visualizations. Each supports data binding, tooltips, legends, and theming. Click any chart to view its live demo. + Explore 40+ free, open-source data-visualization components for Blazor - including 30+ chart types, from area and line charts to financial and statistical ones, plus gauges, sparklines, a treemap and a Sankey diagram. Every chart is drawn in C# as SVG, so it renders under static server-side rendering with no JavaScript charting library. Click any chart for a live demo.