uTPro.Feature.UrlViewer 3.0.0

dotnet add package uTPro.Feature.UrlViewer --version 3.0.0
                    
NuGet\Install-Package uTPro.Feature.UrlViewer -Version 3.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="uTPro.Feature.UrlViewer" Version="3.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="uTPro.Feature.UrlViewer" Version="3.0.0" />
                    
Directory.Packages.props
<PackageReference Include="uTPro.Feature.UrlViewer" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add uTPro.Feature.UrlViewer --version 3.0.0
                    
#r "nuget: uTPro.Feature.UrlViewer, 3.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package uTPro.Feature.UrlViewer@3.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=uTPro.Feature.UrlViewer&version=3.0.0
                    
Install as a Cake Addin
#tool nuget:?package=uTPro.Feature.UrlViewer&version=3.0.0
                    
Install as a Cake Tool

uTPro URL Viewer for Umbraco

Fetch any URL from inside the Umbraco backoffice and see exactly what a search engine or browser sees — redirect chain, response headers, HTML source, and a full static analysis including a composite SEO score.

Supports Umbraco 16, 17 and 18.

NuGet NuGet Downloads Umbraco Marketplace Umbraco 16+ License: Free (proprietary)

uTPro URL Viewer for Umbraco

What it does

Installing this package adds a URL Viewer section to the backoffice navigation. Users assigned to the section get a single URL Viewer tab.

URL Viewer tab

Enter any URL, pick the scheme (HTTP/HTTPS), user agent and referrer, then fetch. You get:

  • Full redirect chain — every hop with status code and raw response headers.
  • HTML source viewer — line numbers, word-wrap toggle, copy-to-clipboard, spam-word highlighting.
  • Composite SEO score (0–100) — Lighthouse-style checklist with per-category sub-scores (SEO / Technical / Content / Accessibility) and individual check pass/fail + remediation advice.
  • On-page SEO analysis — title, meta description, canonical, H1/H2/H3 list, noindex / nofollow, lang.
  • Social tags — Open Graph and Twitter Card, social-profile links, pixel detection (Facebook, Twitter, LinkedIn, Google Analytics).
  • Technical SEO — charset, gzip/br compression, browser caching, HTTPS, schema.org markup, viewport, favicon.
  • Content metrics — word and paragraph count, Flesch readability, keyword density, thin-content flag.
  • Accessibility subset — aria-label / aria-describedby counts, skip-to-content link, heading structure, inputs missing a label.
  • Carbon estimate — CO₂e per page view with an A–F rating.
  • Spam / hidden-CSS / JavaScript analysis — common hack injection patterns, hidden elements, eval / document.write / base64 obfuscation and more.
  • Cloaking detection — compares what the bot sees versus what Chrome sees (title, status code, content-size difference).
  • VirusTotal link for the fetched domain.

REST API

Every fetch is also available as an authenticated JSON API (POST /umbraco/management/api/v1/utpro/url-viewer/fetch) — useful for CI pipelines or external tooling. The response includes the full analysis.audit object and the seoScore.

Architecture

This package is built on the framework-agnostic T4VN.Seo.Core engine, which provides the fetch pipeline, all analysis and SeoScorer — the single source of truth for the SEO score. Both this package and the companion site crawler (uTPro.Feature.SEOAudit) share the same engine, so scores are identical everywhere.

T4VN.Seo.Core  (engine, no Umbraco)
      ▲                  ▲
      │                  │
uTPro.Feature.UrlViewer  uTPro.Feature.SEOAudit
(this package)           (site-wide crawler — optional companion)

Install alongside the SEO Audit

If you also install uTPro.Feature.SEOAudit, its Site Audit and Error URLs dashboards appear in the same SEO Audit section, and a per-node SEO Audit tab is added to every Content/Media editor. Each package works independently — install only what you need.

Security

All API endpoints are backoffice-secured under /umbraco/management/api/v1/utpro/... and require Settings-section access. Server-side fetches run behind an SSRF guard that blocks private/local addresses (RFC-1918, localhost, .local, CGNAT, link-local, IPv6 ULA/loopback) and re-checks on every redirect hop.

Installation

dotnet add package uTPro.Feature.UrlViewer

Configuration

No configuration is required for the URL Viewer tool itself. If you need to fetch internal/dev hosts:

{
  "uTPro": {
    "Feature": {
      "UrlViewer": {
        "AllowInternalHosts": false,
        "AllowInvalidCertificates": false
      }
    }
  }
}
Key Default Description
AllowInternalHosts false Relax the SSRF guard to allow fetching private/local addresses. Only for internal dev sites.
AllowInvalidCertificates false Accept self-signed / invalid TLS certificates. Only for internal dev sites.

Building the package

pwsh ./pack.ps1

Wipes bin/obj, clean Release pack into Build/, evicts the version from the local NuGet cache.

Repository layout

uTPro.Feature.UrlViewer.Src/
├─ src/
│  ├─ uTPro.Feature.UrlViewer/          # NuGet package
│  └─ uTPro.Feature.UrlViewer.TestSite/ # demo Umbraco site
├─ pack.ps1
└─ uTPro.Feature.UrlViewer.sln

License

Free to use (including commercially) under a proprietary End User License Agreement. Distributed as a compiled NuGet package — source is not published; modification, reverse-engineering and redistribution are not permitted.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

v2.0.0: Refactored as a dedicated URL Viewer tool. Site-wide crawler and per-node SEO Audit tab moved to the companion uTPro.Feature.SEOAudit package. Engine extracted to T4VN.Seo.Core (shared by both packages). Adds Lighthouse-style composite SEO score (0–100) with per-category sub-scores (SEO / Technical / Content / Accessibility) and individual check pass/fail with remediation advice. Section renamed to match new dedicated role; configuration key changed to uTPro:Feature:UrlViewer.