A NuGet package that pre-renders Blazor WebAssembly apps into static HTML files during publish for improved SEO and OGP visibility.
BlazorWasmPreRendering.Build is a NuGet package that pre-renders Blazor WebAssembly applications into static HTML files during the publish process. It solves the problem of Blazor WASM apps being invisible to search engines and social media crawlers by generating static content that can be indexed without executing JavaScript.
Blazor WebAssembly developers who need their applications to be discoverable by search engines and visible on social media platforms via Open Graph Protocol.
Developers choose this package because it integrates seamlessly into the existing .NET publish pipeline, requires minimal configuration, and leverages Microsoft's official Blazor prerendering infrastructure while providing extensive customization options for advanced use cases.
When you publish your Blazor Wasm app, this package pre-renders and saves the app as static HTML files in your public folder.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically hooks into the `dotnet publish` pipeline, generating pre-rendered HTML files without manual intervention after installation, as demonstrated in the quick start where it works immediately upon package addition.
Makes Blazor WASM app content indexable by search engines and visible in Open Graph Protocol previews, directly solving the discoverability problem highlighted in the summary and key features.
Offers extensive MSBuild properties for customizing root components, environment names, output styles, locales, and render modes, detailed in the configurations section with examples like BlazorWasmPrerenderingRootComponentType and BlazorWasmPrerenderingLocale.
Supports both Static and WebAssemblyPrerendered modes with persistent component state, enabling faster perceived startup times, as explained in the render mode options with code snippets for conditional root component registration.
Requires extracting service registration into a static ConfigureServices function in Program.cs, which can be intrusive and break existing code patterns, as mandated in the configurations section.
Generates HTML at publish time, so it cannot handle dynamic data that changes per user or session, making it unsuitable for real-time applications or personalized content on initial load.
Using features like WebAssemblyPrerendered mode or lazy loading requires additional conditional logic in Program.cs and custom services like LazyLoader, increasing complexity and potential for errors.