Install
openclaw skills install @wrpbr/pageauditAudit a web page's technical SEO with PageAudit (pageaudit.online) and get the fix. Check title, meta description, canonical, robots and sitemap, Open Graph, headings, structured data (JSON-LD), security headers and page delivery, with evidence and a ready patch for each finding. Compare a deploy preview with production by finding code, keep pages in tabs with history and a daily watch, and run a Lighthouse lab test. Use when a task mentions SEO, meta tags, Open Graph, JSON-LD, schema.org, canonical, robots.txt, a site audit, a page that dropped from search, or checking a preview deploy.
openclaw skills install @wrpbr/pageauditPageAudit fetches a public page, reads what search engines and link previews read, and reports each problem with its evidence and a suggested change. The report does not certify security or accessibility.
https://pageaudit.online/mcp?checkout=site. Transport: Streamable HTTP. With
checkout=site, the person buys on the site and the agent never pays.https://pageaudit.online. Each MCP tool calls one route of this API.create_guest returns a guest token pa_…. Send it as guest_token (or X-Guest-Token) so the
audits are tied to it and can be read again and compared.GET https://pageaudit.online/api/ lists the routes, prices and limits.
https://pageaudit.online/llms-full.txt has the full reference.| Tool | HTTP | Use it to |
|---|---|---|
audit_url | POST /api/audit | Audit a URL in one call. With compare_with (an earlier audit ID of the same owner), get comparison: findings that appeared and disappeared, the score delta and regression. |
get_audit | GET /api/audits/{id} | Read an audit again, with the ready fix of each finding. No new fetch, no allowance used. |
get_patch | GET /api/audits/{id}/patch | Get the consolidated patch: <head> block, files to create and templates. |
create_guest | POST /api/guest | Get the guest token that owns tabs and audits. |
create_tab | POST /api/tabs | Save a page as a tab. |
list_tabs | GET /api/tabs | List the saved pages and the latest report. |
run_tab | POST /api/tabs/{id}/run | Audit a saved page again. |
tab_history | GET /api/tabs/{id}/history | Read the earlier runs and what changed between them. |
watch_tab | PATCH /api/tabs/{id} | Turn the daily watch on or off (needs an account). |
lab_test | POST /api/audits/{id}/lab | Start a Lighthouse test through Google PageSpeed Insights. |
lab_result | GET /api/audits/{id}/lab | Read the lab scores and metrics when the test ends. |
list_tools | GET /api/tools | List the single-check tools (title, meta, canonical, Open Graph, JSON-LD…). |
billing | GET /api/billing | Read the free allowances, options and prices. |
pricing | GET /api/pricing | Read the current prices. |
billing before many audits in a row. Do not use a price or an allowance from memory.compare_with set to the production audit ID. Report comparison.broke first.code. The message carries the measured value and changes between runs.target_blocked or target_rate_limited means the site's firewall answered, not the page.
Nothing was audited; show blocked.fix to the user.Retry-After and try once more.# One audit, no token
curl -s -XPOST https://pageaudit.online/api/audit -H 'content-type: application/json' \
-d '{"url":"https://example.com/"}'
# Preview against production, same guest token
PA=$(curl -s -XPOST https://pageaudit.online/api/guest | jq -r .token)
PROD=$(curl -s -XPOST https://pageaudit.online/api/audit -H 'content-type: application/json' \
-d "{\"url\":\"https://example.com/\",\"guest_token\":\"$PA\"}" | jq -r .id)
curl -s -XPOST https://pageaudit.online/api/audit -H 'content-type: application/json' \
-d "{\"url\":\"https://preview.example.com/\",\"guest_token\":\"$PA\",\"compare_with\":\"$PROD\"}" | jq .comparison