agentsclimarketplace

Audit seo

Skill magallon/website-audit-toolkit/audit-seo

SEO audit for static websites hosted on cPanel. Reviews technical foundations that can block indexing (robots.txt, sitemap, canonicalization, HTTPS, security headers), on-page elements affecting SERP presentation (title tags, meta descriptions, heading structure, image SEO, internal linking), structured data with JSON-LD (Organization, SoftwareApplication, FAQPage, BreadcrumbList, HowTo), regional language configuration, Core Web Vitals alignment, Open Graph for social sharing, and E-E-A-T signals for B2B credibility. Run as the seventh audit in the pre-production protocol, after performance, code consistency, accessibility, responsive design, cross-browser, and conversion UX.From its SKILL.md

Install
npx -y skills add magallon/website-audit-toolkit --skill audit-seo

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

14.6 KB, ~3.3k tokens by cl100k_base, as published. Nobody here has run it

SEO Audit

Static Websites on cPanel

SEO for a commercial B2B site has different priorities than SEO for blogs or e-commerce. The primary goal is not ranking for generic high-volume keywords — it is being found by decision-makers actively searching for solutions, appearing as a trustworthy result in SERP, and ensuring every page a prospect might visit is correctly indexed and optimized.

This audit covers technical foundations that can block indexing, on-page elements affecting SERP presentation and click-through, and structured data that communicates authority to search engines.

Guiding principle: Technical SEO enables ranking. Content quality earns it. Technical checks are the floor, not the ceiling.

Does not cover: domain authority, backlinks, keyword research, SERP competition, algorithm updates, or Search Console data — these are post-launch concerns.


Severity Levels

LevelDescriptionAction
CriticalBlocks indexing or excludes pages from searchFix before launch
HighSignificantly affects SERP presentation or crawlFix before launch
MediumReduces SEO effectiveness without blocking indexingFix in first week
LowImprovement opportunity with minor impactFix when convenient

Integrity rule: A site cannot be considered SEO-ready if it has unresolved critical issues, regardless of how many other checks pass.


Section 1 — Crawlability and Indexing

1.1 robots.txt

Must exist at domain root and return HTTP 200. User-agent: * Allow: / Disallow: /thank-you/ Disallow: /404.html Sitemap: https://example.com/sitemap.xml

What to check:

  • robots.txt exists and returns HTTP 200
  • Sitemap referenced with full HTTPS URL
  • No important pages blocked with Disallow
  • CSS, JS, fonts, and image directories NOT blocked — Google needs to render pages
  • No Disallow: / blocking the entire site

Flag any Disallow on /assets/, /css/, /js/, /fonts/, or /images/ — prevents Google from rendering, causes ranking penalties.

1.2 Sitemap XML

Tells search engines which pages exist and when they were updated.

What to check:

  • sitemap.xml exists and is accessible
  • Contains only canonical, indexable URLs — no thank-you pages, errors, or duplicates
  • lastmod reflects actual last modification date — not today's date on all pages
  • priority reflects actual page importance (1.0 homepage, lower for secondary)
  • All URLs return HTTP 200 — no redirects or errors
  • Referenced in robots.txt
  • Trailing slash consistency — all with or all without

Full sitemap XML example: see references/seo-templates.md

1.3 URL Structure

Rules:

  • Lowercase only
  • Separated by hyphens, not underscores
  • No visible .html extensions
  • Under 75 characters per URL
  • No query parameters in main URLs
  • HTTPS on all pages

Flag URLs with uppercase, underscores, visible extensions, or query parameters.

1.4 Canonicalization

What to check:

  • Every page has a self-referencing canonical
  • Canonical uses exact HTTPS — not HTTP
  • www vs non-www consistency — choose one, apply everywhere
  • Trailing slash consistency — canonical and internal links use same convention
  • No page has a canonical pointing to a different page unintentionally
<link rel="canonical" href="https://example.com/solutions/">

If pages use query parameters (e.g., /demo/?category=legal), canonical must point to the clean URL.

1.5 Meta Robots

<!-- Pages to index (all main pages) -->
<meta name="robots" content="index, follow, max-snippet:150, max-image-preview:large">

<!-- Pages NOT to index -->
<meta name="robots" content="noindex, nofollow">

Pages that need noindex: thank-you/confirmation pages, 404 error page, any policy pages if preferred.

Critical flag: verify no main page has noindex accidentally.

1.6 HTTPS and Security Headers

What to check:

  • Entire site serves over HTTPS
  • SSL certificate valid and not expired
  • HTTP → HTTPS redirect configured in .htaccess
  • No mixed content (HTTP resources inside HTTPS pages)

Security headers in .htaccess:

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "DENY"

Not direct ranking factors but contribute to E-E-A-T Trustworthiness — correct security headers signal technical professionalism.


Section 2 — On-Page Optimization

2.1 Title Tags

Highest individual impact on ranking. Must be unique per page.

Rules:

  • 50-60 characters — Google truncates around 60
  • Primary keyword near the beginning
  • Unique per page — never duplicate titles
  • Brand name at end (except homepage)
  • Benefit-oriented, not technical description

What to check per page:

  • Title unique — no page shares a title with another
  • Between 50-60 characters
  • Primary keyword in first 30 characters
  • No keyword stuffing
  • Title matches actual page content

2.2 Meta Descriptions

Not a direct ranking factor but determines SERP text. Affects CTR which is a relevance signal.

Rules:

  • 150-160 characters
  • Include primary keyword naturally
  • Clear CTA — what the user should do
  • Unique per page
  • Accurately describes what the user will find

What to check per page:

  • Meta description present on all pages
  • Between 150-160 characters
  • Not duplicated between pages
  • Includes the page's primary keyword
  • Ends with action or clear benefit

2.3 Heading Structure

Rules:

  • One <h1> per page — the main topic
  • Logical hierarchy: H1 → H2 → H3, no skipped levels
  • H1 must contain primary keyword
  • Headings as arguments, not labels
  • Keyword in at least one H2

Heading argument test: Cover the logo and body copy. Read only the headings in sequence. A first-time visitor must understand the full value proposition from headings alone.

<!-- ❌ Headings as labels -->
<h1>Company Name</h1>
<h2>Features</h2>
<h2>How it works</h2>

<!-- ✅ Headings as arguments -->
<h1>Your documentation, searchable with AI in seconds</h1>
<h2>Find any answer without digging through documents</h2>
<h2>Companies that recovered their investment in under 2 months</h2>

2.4 Keyword in First 100 Words

Primary keyword must appear in the first paragraph of each page. Google gives more weight to content appearing early.

What to check:

  • Primary keyword appears before word 100 in visible content
  • Appearance is natural — not forced
  • First paragraph directly answers what the user is searching for

2.5 Image SEO

What to check:

  • All images have descriptive alt text
  • Alt text describes the image, not a keyword list
  • Descriptive filenames: product-dashboard-results.webp not IMG_001.webp
  • Images compressed (see Audit 04 — Performance for format details)
  • width and height defined in HTML to prevent CLS
  • loading="lazy" on below-fold images
  • fetchpriority="high" on hero/LCP image

2.6 Internal Linking

Rules:

  • Important pages well-linked from other pages
  • Descriptive anchor text — never "click here" or "see more"
  • No broken internal links
  • Bidirectional where relevant
  • 3-5 internal links per 1,000 words of content
  • No orphan pages — all have at least one incoming link
<!-- ❌ Generic anchor text -->
<a href="/demo/">Click here</a>

<!-- ✅ Descriptive anchor text -->
<a href="/demo/">Try the interactive demo</a>

Section 3 — Structured Data (JSON-LD)

Schema markup helps search engines understand content meaning. It enables eligibility for rich results but does not guarantee them.

For static vanilla sites with JSON-LD in HTML, schema is verifiable via source code. Validate with Google Rich Results Test before launch.

Schemas to implement:

SchemaLocationPurpose
OrganizationHomepageCompany identity, contact, social links
SoftwareApplicationHomepage or SolutionsProduct details, pricing, features
FAQPagePage with FAQ contentFAQ rich results eligibility
HowToProcess/implementation sectionStep-by-step rich results
BreadcrumbListInternal pagesNavigation context in SERP

Full JSON-LD templates for all schemas: see references/seo-templates.md

Validation checks:

  • All JSON-LD is syntactically valid
  • Validated with Google Rich Results Test before launch
  • Organization schema on homepage
  • No schema makes claims not backed by visible page content
  • Schema data matches actual page content (prices, features, FAQs)

Section 4 — Language and Regional Configuration

4.1 Lang Attribute

<!-- Specify regional variant matching target market -->
<html lang="es-MX">

Use the specific regional variant (e.g., es-MX, es-CO, pt-BR, en-US) rather than just the language code. Affects spell checkers, screen readers, and regional relevance signals.

Check: lang attribute with correct regional variant present on <html> element of every page.

4.2 Hreflang (Conditional)

Only applies if the site has multiple language versions. If single-language, not needed.

<!-- Only if multilingual -->
<link rel="alternate" hreflang="es-MX" href="https://example.com/">
<link rel="alternate" hreflang="en" href="https://example.com/en/">
<link rel="alternate" hreflang="x-default" href="https://example.com/">

Section 5 — Open Graph and Social Sharing

Determines how pages appear when shared on LinkedIn, WhatsApp, and Facebook. For B2B sites where LinkedIn sharing is a distribution channel, this directly affects brand presentation.

Required per page:

<meta property="og:title" content="Page Title — Brand">
<meta property="og:description" content="Specific page description">
<meta property="og:image" content="https://example.com/assets/images/og-page-1200x630.jpg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:url" content="https://example.com/page/">
<meta property="og:type" content="website">
<meta property="og:locale" content="es_MX">
<meta property="og:site_name" content="Brand Name">

<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Page Title — Brand">
<meta name="twitter:description" content="Specific page description">
<meta name="twitter:image" content="https://example.com/assets/images/og-page-1200x630.jpg">

OG image specs: 1200×630px, JPG or PNG (not WebP — LinkedIn doesn't fully support it), under 1 MB, text legible at thumbnail size.

What to check:

  • All pages have complete Open Graph tags
  • og:image points to 1200×630px image
  • OG image exists and is publicly accessible
  • og:url matches the canonical URL
  • Each page has unique og:title and og:description

Section 6 — E-E-A-T for B2B

E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) is not a direct ranking factor but the framework Google uses to evaluate quality. For a new site without authority history, the most actionable signals in pre-production:

Experience:

  • Case studies with specific numbers, not generic claims
  • Real metrics documented — ROI, payback period, error reduction %
  • Screenshots or demos of the actual system, not just mockups

Expertise:

  • Technical content is accurate — no errors in product descriptions
  • Terminology consistent across the site
  • Claims are verifiable — no "99% accuracy" without evidence

Authoritativeness:

  • Founder or team has verifiable public presence (LinkedIn linked)
  • Company name and contact data consistent across site
  • Company has a complete LinkedIn profile

Trustworthiness:

  • HTTPS active
  • Privacy policy and terms linked from footer
  • Real, accessible contact data — email, phone, or messaging
  • Information about who is behind the product — avoid corporate anonymity
  • Product promises are achievable and backed by evidence

Specificity test for claims: Replace each claim with its opposite. If the opposite sounds absurd, the claim has no information value.


Section 7 — Core Web Vitals (Cross-Reference)

Core Web Vitals affect ranking when content quality is comparable between competitors. Technical performance checks are covered in Audit 04 — Performance. This section only verifies SEO alignment:

MetricTargetSEO Impact
LCP< 2.5sHigh — affects mobile ranking
INP< 200msMedium — interactivity signal
CLS< 0.1High — visual experience
TTFB< 800msServer reference

Cross-reference checks with Audit 04:

  • Hero image has fetchpriority="high" (affects LCP)
  • All images have width and height (affects CLS)
  • Fonts loaded with font-display: swap (affects CLS and LCP)
  • Non-critical JS has defer (affects INP)
  • cPanel hosting has adequate cache configuration (affects TTFB)

Audit Output Format

SEO Audit — [Project Name]
Date: [Date]
Pages audited: [count]
Summary

Critical issues: X
High priority: X
Medium priority: X
Low priority: X
Indexability: [All pages indexable / Issues found]
Schema status: [Complete / Partial / Missing]
Overall SEO readiness: [Ready / Needs work / Critical blockers]

Critical Issues
[Issue title]

Category: [Crawlability / On-page / Schema / Social / E-E-A-T]
Page: [URL or all pages]
Issue: [What is wrong and SEO impact]
Fix: [Specific correction]

High Priority
[Same format]
Medium Priority
[Same format]
Low Priority
[Same format]
Recommended Fix Order

Indexation blockers — robots.txt, sitemap, noindex
Title tags and meta descriptions — SERP presentation
Heading structure — on-page signals
Schema markup — rich results eligibility
Open Graph — social sharing presentation
E-E-A-T signals — credibility improvements

Full pre-launch checklist and tools reference: see references/checklist.md

What ships with it: 2 files

5.0 KB alongside SKILL.md

references/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.