How editors and researchers work with topline survey PDF extractions in WordPress admin.
What this does
The feature reads topline survey PDFs attached to report articles and converts them to structured text. Each extraction is a web page so content is:
- Searchable by researchers and the public
- Accessible to AI assistants via Markdown and plain-text endpoints
- Discoverable through structured data and
/llms.txt
How extraction works
Extraction runs when a topline PDF is attached to a report via reportMaterials (manual trigger from the editor, or ops via WP-CLI):
- OCR runs through Claude (Gemini fallback).
- Text is stored as a
pdf_extractionchild post of the report. - Public URLs expose Markdown and plain text.
Trigger from the block editor
- Open the report that has a topline PDF in
reportMaterials. - Open the PDF Extraction sidebar panel.
- Click Extract Topline to queue the job.
- Refresh in 1–2 minutes. Status shows
pending,complete, or failure. - Use Extraction Status for
none/pending/completeand the extraction ID link when complete.
Read results in wp-admin
Open PDF Extractions (or navigate from the parent report). Meta boxes show:
| Area | Contents |
|---|---|
| PDF Source Information | Attachment ID, source URL, reportMaterials label |
| OCR Results | Provider, confidence (0–1), character count, plain text, Markdown |
| Validation Results | passed / warning / failed and issue list |
| Processing Metadata | Provider, date, estimated cost, duration |
Public URLs
| Format | Pattern | Use |
|---|---|---|
| Markdown | /{report-slug}/extraction | Researchers, AI tools |
| Plain text | /{report-slug}/text | Simple text / citation tools |
Example for a politics report slug path: append /extraction or /text to the report permalink.
Quality guide
| Confidence | Meaning | Action |
|---|---|---|
| 0.85–1.0 | Excellent | None |
| 0.70–0.85 | Good | Spot-check a few questions |
| 0.50–0.70 | Fair | Review against the PDF |
| Below 0.50 | Poor | Re-trigger via engineering; escalate if repeated |
Validation statuses: passed (thresholds met), warning (usable but review Issues), failed (unreliable).
Discovery
Extractions are listed in /llms.txt, included in the XML sitemap path for the CPT, emit JSON-LD DigitalDocument on the parent report, and expose <link rel="alternate"> tags to the extraction endpoints.