Website audit badge as a GitHub Action

Add one step to a workflow and your README carries a live score badge. 16 fixed checks, no signup, no API key, no third-party service in the loop — the action is the audit.

name: site audit
on: [push, workflow_dispatch]
permissions:
  contents: write
jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: kevindurant735rocket-creator/ks-audit-bot@v1
        with:
          url: https://your-site.com

That is the whole install. On every run it writes .github/ks-audit-badge.svg and updates a marked block in your README in place, so the number is never stale and never copy-pasted.

What it outputs

OutputMeaning
scoreWeighted score out of 100
gradeLetter grade A to F
failedHow many of the 16 checks failed

Use them to gate on your own threshold, not ours:

      - id: audit
        uses: kevindurant735rocket-creator/ks-audit-bot@v1
        with:
          url: https://your-site.com
      - if: steps.audit.outputs.score < 80
        run: echo "site scored ${{ steps.audit.outputs.score }}, fix the report"

A low score is a result, not an error. The step never fails your build because your site scored badly — otherwise nobody would leave it on.

The 16 checks

Every check is a fixed rule with a fixed weight. No model, no sampling, so an unchanged site returns the same number on a rerun. Each one is documented with the command to see it yourself and the config that fixes it:

CheckPoints
The site does not answer on the URL you gave15
The page is served over plain HTTP10
The TLS certificate is expired or about to expire8
No mobile viewport tag10
The page title is missing or the wrong length8
The meta description is missing or the wrong length7
The page has no H1, or more than one5
Images have no alt text5
Responses are not compressed6
No cache-control policy on the HTML5
Missing baseline security headers5
No HSTS header4
No structured data4
robots.txt is missing or not served5
sitemap.xml is missing or not served5
Time to first byte (informational)0

What it deliberately does not do

Want the fixes for your site, not the generic rule?

The audit says which of the 16 failed and what each is worth. The paid report says, for your actual pages, what to change and in what order. Request a free audit to see the scorecard first, then decide.

all audited sites · the 16 checks, and how to fix each · email to request the badge action zip