Skip to main content
All documentation

Publishing and serving

Why generating content is not publishing it, what the Deploy view actually measures, and how to read Active, Idle and Error without misdiagnosing a quiet page as a broken one.

Everything up to this point happens inside Dynamic SEO. Publishing is where it leaves us and reaches a visitor.

Three separate things have to be true before that works, and the Deploy view exists to tell you which one is not.

Generating is not publishing

Content you generate is a draft. It sits in Dynamic SEO, you can edit it, and nothing on your live site knows it exists.

Publishing is the deliberate second step that makes a version servable. Until you take it, the Deploy view is empty — correctly, because there is nothing to deliver.

This trips people up more than anything else on this page. An empty Deploy view on a site full of generated content almost always means the content was never published.

Deploy reports delivery, not our infrastructure

The view answers one question, URL by URL: is the SEO you published actually being served on your live site?

Everything on it is reported by your integration — what it asked for, what it got back, how long it took. It is not a status page for our API, our database or our cache. If your integration never asks, the view stays quiet no matter how healthy we are.

Coverage and the three statuses

Coverage reads "X of Y URLs delivered": the share of your published URLs currently counted as Active.

Active — traffic inside the selected window, and no errors reported.

Idle — no traffic in the window. This is a statement about visitors, not about delivery. A page nobody requested cannot report having been served, and an idle page is not a failing one.

Error — your integration reported a failure for that URL, and the row carries the type and message it returned. This is the only one of the three that is unambiguously a problem.

Because both Idle and Error fall out of coverage, the coverage number alone cannot tell you which you have. Read it together with the two counts beside it.

The window scopes everything

Every count on the page — coverage, requests, errors — is scoped to the selected time window. Nothing on it is a lifetime total.

When rows say Idle, widening the window is the first thing to try. A site with modest traffic can easily have pages that are requested a few times a month, and a narrow window will show almost all of them as idle while everything is working perfectly.

Requests, hit rate and response time

Requests is how often each URL was asked for, and hit rate is how much of that was answered from cache. A low hit rate matters on a busy path and means very little on a quiet one — a URL requested twice cannot have a meaningful cache ratio.

Average response is the time to answer, measured at the integration. That is our delivery time. It is not how fast your page loads for a visitor, which depends on your own server, your theme and everything else on the page.

Quality is a separate axis

The quality column reports problems in the content published for a URL: a missing or out-of-range title, description, H1 or keywords.

It is deliberately separate from delivery. A URL can be served perfectly and still carry a title that is too long. One is a plumbing question, the other an editing one, and merging them would hide both.

When the view is empty

Two different causes, with two different fixes.

Nothing published yet — generate and publish content for the site, and rows appear.

Published, but no integration has reported in — something on your site has to ask us for the SEO before there is anything to report. Check the connection first; see integrations.

Read next

Integrations