Auditar SEO no GitHub Actions com o PageAudit
Um passo do workflow audita a sua página a cada push e falha o job quando ela tem erro de SEO. Não precisa de chave.
Atualizado em
1Adicione o workflow
Salve o arquivo como .github/workflows/seo-audit.yml e troque PAGE_URL pela sua página.
name: SEO audit
on:
push:
branches: [main]
workflow_dispatch:
jobs:
pageaudit:
runs-on: ubuntu-latest
env:
PAGE_URL: https://example.com/
steps:
- name: Audit the page with PageAudit
run: |
status=$(curl -sS -o report.json -w '%{http_code}' -X POST https://pageaudit.online/api/audit \
-H 'content-type: application/json' -d "{\"url\": \"$PAGE_URL\"}")
STATUS=$status python3 - <<'PY'
import json, os, sys
status = os.environ["STATUS"]
report = json.load(open("report.json"))
if status in ("402", "429"):
print("::warning::No free PageAudit audits left today.")
sys.exit(0)
if status != "200":
print(f"::error::PageAudit answered {status}: {report.get('error')}")
sys.exit(1)
counts = report["counts"]
print(f"Score {report['score']}: {counts['errors']} errors, {counts['warnings']} warnings")
for issue in report["issues"]:
if issue["severity"] == "error":
print(f"::error::{issue['code']}: {issue['message']}")
sys.exit(1 if counts["errors"] else 0)
PY2Rode o workflow
Faça push na main ou clique em Run workflow, na aba Actions. O log mostra a nota, e cada erro de SEO vira uma anotação. Quando as auditorias grátis do dia acabam, o passo avisa e passa.
3Veja a correção
Audite a mesma página no PageAudit para ver a evidência e a mudança sugerida para cada erro.