Your content inventory
Before OptimizeCamp can fix a page, it needs to know the page exists. The content inventory is the library of every page you've brought in — the raw material the whole Optimize workflow runs on.
What the content inventory is
Open Optimize in the sidebar and you land on the content inventory — a table of every page you’ve imported, synced, or written, one row per page. Each row shows the page’s title, word count, an instant quality score, a priority score, how many tracked prompts it matches, and its latest audit score. This table doubles as the Optimization Queue — the same list, sorted worst-first.
During onboarding, OptimizeCamp discovers your catalog and automatically imports up to 30 useful pages. Larger catalogs remain metadata-only in Discovered pages until you choose what to import. You can also connect WordPress, import a single live URL, or paste/write content directly.
Three ways pages get in
Connect WordPress and sync
WordPress is optional. Connect it to enrich already discovered URLs with authoritative post identity and keep indexed pages refreshed. Back-catalog pages remain available for review instead of duplicating pages already imported during onboarding.
Import by URL
Paste the address of any live page — yours or a competitor’s reference page you want to model — into the Import from URL box on the inventory screen. OptimizeCamp fetches the page, strips navigation and boilerplate, and converts the main article into editable content.
Paste or write
No live URL yet — a draft in a doc, an outline, a new idea. Use the Write new box to give it a title and paste or type the body directly. Markdown-style formatting works: # through #### for headings, - or numbered lists, > for quotes, and triple backticks for code blocks.
Note
Importing the same URL twice doesn’t create a duplicate — OptimizeCamp recognizes the page already exists in your project and takes you straight to its editor instead.
Discovered pages: the staging area
Onboarding’s crawl usually finds more pages than the 30 it auto-imports. The rest wait in Discovered pages — a metadata-only staging list (title, URL, a guessed page type and a rank score) you reach from the Discovered pages → link on the Optimize screen, or Review discovered pages → on the Visibility dashboard. Nothing here is in your library yet, so these pages don’t count against your indexed-page cap until you import them.
The screen is built for triage. A search box filters by title or URL, and two dropdowns narrow the list by page type (home, about, pricing, product, service, docs, editorial, other) and by work status (discovered, selected, imported, linked, failed, excluded). Rows are ranked most-promising first. Tick the ones you want and act on them in bulk:
- Import selected pulls the full content of those pages into your library and QuickScores them — exactly like a URL import, and counting against your indexed-page cap. Rows already imported or linked to WordPress can’t be re-selected.
- Exclude selected hides pages you don’t want to revisit — they move to the excluded status rather than being deleted, so nothing is lost and you can filter back to them later.
WordPress sync, at a high level
Connecting WordPress is the fastest way to build a complete inventory, because it brings in your whole site at once and keeps it current without repeated manual imports. OptimizeCamp authenticates with a WordPress application password (not your login password) and verifies the connection — including whether the account can actually edit posts — before it stores anything.
Once connected, a sync pulls in your posts and pages with their full content, and every later sync only fetches what changed since the last one. Each WordPress post maps to exactly one content item, so re-syncing updates the same row rather than creating a new one.
What sync respects
Sync is careful never to silently overwrite work you’ve done inside OptimizeCamp. If you’ve edited a page in the editor and the same post also changed on WordPress before you published, sync marks that page Conflict instead of picking a winner — it leaves your local draft untouched and waits for you to resolve it. If a post is deleted on WordPress, its content item is archived automatically rather than left to rot in the queue.
Sync runs automatically right after you connect, and any time afterward from a Sync now button in Settings. The full setup — creating the application password, granting the right role, and troubleshooting a blocked connection — is covered in Connecting WordPress.
What gets captured
However a page arrives, OptimizeCamp normalizes it into the same internal format — a flat list of typed blocks (headings, paragraphs, list items, quotes, code, tables, images) with stable ids. That shared format is what lets the audit engines, inline fixes, and publish-back all work the same way regardless of source. Alongside the content itself, each item captures:
| Field | Where it comes from |
|---|---|
| Title & URL | The page’s og:title/H1/<title> (URL imports) or WordPress’s post title and permalink. |
| Word count | Counted from the normalized content on every save. |
| Meta description | The page’s meta/OG description (URL imports) or the post excerpt (WordPress). |
| Detected schema | Structured-data (ld+json) types already on the live page, so the audit can recommend additional schema instead of wrongly flagging it as missing. |
| Last modified | The page’s own modified date, used as the basis for the staleness signal in the Priority Score. |
| Source | Tagged URL, Generated, or WordPress on the inventory table, so you always know where a page came from. |
Status chips on each row
Next to a page’s title, small chips report its state at a glance — beyond the source badge (URL, Generated, WordPress or Manual):
| Chip | What it means |
|---|---|
| Published | You’ve published this page from OptimizeCamp at least once. |
| WP live / draft / scheduled / pending | The status of the linked WordPress post, mirrored from your site, so you know whether the live version is public. |
| Conflict | The post changed on WordPress after your last sync — open it and re-import before publishing. See the conflict guard. |
| Citation gained / Observed / No change / Inconclusive | The impact verdict after a publish — whether tracking saw the page earn a citation, move a little, not move, or close without a clear read. |
| Verifying n/2 | A publish is still being measured — the verdict lands after two answered tracking runs since it went live. |
| Red dot + number | How many open critical audit issues the page still has. |
QuickScore: an instant first impression
The moment a page is imported or synced — before any audit has run and without spending an audit credit — OptimizeCamp computes a QuickScore, a free, 0–100 heuristic read on how AI-answer-ready the page already looks. It’s deliberately cheap and deterministic: no model call, just structural checks any page can be measured against instantly.
QuickScore
A weighted blend of six structural checks, computed at import/sync time and shown as the Quick column in the inventory table:
| Component | What it checks |
|---|---|
| Structure | Has headings at a sensible frequency, with a sane heading hierarchy. |
| Definition | The lead either defines the topic outright or gives a tight, direct answer up top. |
| FAQ | At least one FAQ or question-style heading. |
| Schema | Structured data detected on the live page. URL imports only — pasted/written drafts have no live page to inspect, so this check drops out and the others cover for it. |
| Length | Word count against a healthy norm; very long pages aren’t penalized, but aren’t rewarded for length past a point either. |
| Scannability | Presence of lists or tables. |
Whenever a check doesn’t apply, the rest cover for it so the score always reflects the checks that actually ran. The inventory table colors the Quick chip green at 70+, amber from 40–69, and red below 40.
QuickScore vs. the audit score
QuickScore is a shape check, not a judgment on your writing — it never reads for accuracy, never compares you to competitors, and never costs a credit. It exists so every page in the queue has some quality signal instantly, which feeds the Quality Deficit component of the Priority Score. The deeper, model-driven read — accuracy, authority, real AI coverage and visibility — is the full audit, which you run deliberately on the pages worth the investment.
How many pages you can bring in
Your plan sets an indexed-page cap per project — and the pages that come in from WordPress sync and by URL import both count against it. Reaching it blocks another URL import or sync until you archive a page or upgrade; the app says so with an indexed-page-limit message. Paste/write is the exception — a locally written draft has no live page to index, so it doesn’t draw against that cap. For the exact numbers per plan and what happens at a limit, see Plans, quotas & credits.
What happens next
Every non-archived page in your inventory is automatically scored and ranked — that ranking is the Optimization Queue. Pages you no longer care about can be archived from the inventory table without losing their history.
The Optimization Queue
How the Priority Score decides which page to fix first, and the 'why' chips behind every position.
Connecting WordPress
Application passwords, permissions, and troubleshooting a blocked connection.
Key takeaways
- Pages enter your library three ways: WordPress sync, import by URL, or paste/write — all land in the same normalized format the audit and editor share.
- WordPress sync never silently overwrites local edits — a page that changed on both sides is marked Conflict instead of picking a winner.
- Every page gets a free QuickScore the moment it's imported — a structural heuristic, not a substitute for the full audit.
- Your plan's per-project indexed-page cap covers WordPress sync and URL imports together; only paste/write drafts don't count against it.
Next step
Once pages are in, they’re automatically ranked. Head to The Optimization Queue to see how the Priority Score decides what to fix first — and why.