Page Metadata

Control title, description, keywords, and favicon per page using a fluent API. Apply global defaults through configuration.

View Demo

Asset Bundles

Append CSS and JavaScript bundles per page or globally. Automatic minification suffix insertion and cache-busting version query strings.

View Demo

CDN Features

Inject CDN dependencies on demand by adding a feature flag. Supported: Azure Maps, TinyMCE, and jQuery.

View Demo

Robots Control

Set index and follow directives per page. Staging environments on azurewebsites.net are automatically marked noindex, nofollow.

View Demo

Crawler Detection

Detect search engine crawlers from an extensive user-agent list. Adapt responses for bots without additional middleware.

View Demo

Installation

dotnet add package AngryMonkey.CloudWeb

Registration

builder.Services.AddCloudWeb(config =>
{
    config.TitleSuffix = " - My App";

    config.PageDefaults
        .SetFavicon("/favicon.svg")
        .SetDescription("Default page description.")
        .SetKeywords("keyword1, keyword2");
});

Blazor Head

Place <CloudHeadContent /> inside your App.razor head section to render all managed head tags.

<SectionPlaceholder SectionName="CloudWeb" />
<CloudHeadContent />