SEO::WebChecker

Technical SEO audit engine & on-page analyzer for Raku. Inspects title tags, meta descriptions, canonical URLs, headings (H1-H6), mobile viewport, HTTPS, and Core Web Vitals.

SEO::WebChecker โ€” Technical SEO Audit & Analyzer for Raku

A lightweight, high-performance Raku module and CLI tool for on-page technical SEO auditing, metadata validation, heading hierarchy verification, mobile readiness checks, and regression alerting.

Powered by the SEOWebChecker platform.

โšก Features

  • On-Page Metadata Diagnostics: Inspects title tags, meta descriptions, and canonical link tags.

  • Heading Hierarchy: Detects missing <h1> tags, verifies single primary <h1> best practices, and warns against multiple conflicting <h1> headings.

  • Mobile & Accessibility: Validates responsive mobile <meta name="viewport"> configuration.

  • Transport Security: Audits SSL/TLS encryption and flags insecure HTTP links.

  • Thin Content Detection: Analyzes word counts and estimated reading times.

  • Scorecard & Grading: Generates a 0โ€“100 health score with letter grades (A+ through F) and configurable alert thresholds (PASS / ALERT).

  • Flexible Formats: Export audit reports as raw Raku Hash structures, structured JSON, or human-readable Markdown.

  • Command-Line Interface: Instant seowebchecker binary for CI/CD pipelines and terminal testing.

๐Ÿ“ฆ Installation

Install SEO::WebChecker using zef (the standard Raku module manager):

zef install SEO::WebChecker

๐Ÿš€ Quick Usage

1. In Your Raku Code

use SEO::WebChecker;

my $auditor = SEO::WebChecker.new(:alert-threshold(85));

# Audit a live URL
my $result = $auditor.audit('https://seowebchecker.com/');

say "Health Score: {$result.score} / 100 ({$result.grade})";
say "Status      : {$result.status}";
say "Title Tag   : {$result.title}";
say "Passed      : {$result.passes.elems} checks";
say "Issues      : {$result.issues.elems} items";

# Export as JSON or Markdown
say $result.to-json;
say $result.to-markdown;

2. Auditing Raw HTML Strings Directly

my $html = q:to/HTML/;
<!DOCTYPE html>
<html>
<head>
  <title>My Website Title</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="canonical" href="https://example.com/">
</head>
<body>
  <h1>Primary Topic</h1>
  <p>Long helpful paragraph text...</p>
</body>
</html>
HTML

my $result = $auditor.audit-html($html, :url<https://example.com/>);
say "Score: " ~ $result.score;

๐Ÿ’ป Command-Line Interface (bin/seowebchecker)

After installing with zef, the seowebchecker executable is globally available:

# Run a full terminal audit
seowebchecker audit https://seowebchecker.com/

# Export structured JSON
seowebchecker audit https://seowebchecker.com/ --json

# Export clean Markdown
seowebchecker audit https://seowebchecker.com/ --md

# Fast score check (exits 0 on PASS, 1 on ALERT for CI/CD)
seowebchecker score https://seowebchecker.com/

๐Ÿงช Running Tests

To run the automated test suite locally:

zef test .

๐ŸŒ Publishing to Raku.land via Fez

Raku distributions are published to the global ecosystem (which indexes directly to raku.land) using fez:

Step 1: Install fez

zef install fez

Step 2: Register Your Account (One-Time)

fez register

Step 3: Validate the Distribution Build

cd raku
fez checkbuild

Step 4: Upload to Raku.land

fez upload

Within minutes, your package will be indexed and viewable at: https://raku.land/zef:jaiganesh6999/SEO::WebChecker

๐Ÿ“„ License

Artistic License 2.0. Engineered by the SEOWebChecker team.

SEO::WebChecker v1.0.0

Technical SEO audit engine & on-page analyzer for Raku. Inspects title tags, meta descriptions, canonical URLs, headings (H1-H6), mobile viewport, HTTPS, and Core Web Vitals.

Authors

  • Rahul Gupta

License

Artistic-2.0

Dependencies

JSON::Fast

Test Dependencies

Provides

  • SEO::WebChecker

Documentation

The Camelia image is copyright 2009 by Larry Wall. "Raku" is a trademark of the Yet Another Society. All rights reserved.

Built with Podlite โ€” the markup and publishing tools behind this site.