Article publishing & schedules
The Article Publishing page configures automated publishing schedules for your sites: on the times you choose, the system picks articles, applies AI polish and publishes them to the target sites, then auto-deploys them live. A schedule can scope a batch, a single site, or a whole server (including sites added later).
Create a schedule
Section titled “Create a schedule”-
New schedule
Section titled “New schedule”Open the Article Publishing page and click “New schedule” in the top-right. Just pick a server and (optionally) a name to create it; a blank name defaults to “server-N”, keeping multiple schedules on the same server distinguishable.
-
Finish setup on the detail page
Section titled “Finish setup on the detail page”You land on the detail page’s Schedule settings, split into Basics (enable switch, scope), Content strategy (material source, language, polish, dedup) and Volume & limits. Changes only apply after you hit Save at the bottom — leaving the page discards them.
-
Choose the scope
Section titled “Choose the scope”“Scope: which sites to run” is one of: Every site on the server (including ones added later) — the site list is re-scanned on every run, so new sites auto-join; or Only the listed domains — pick from a dropdown or paste one domain per line (domains not on the server are silently skipped).
-
Set cadence and volume
Section titled “Set cadence and volume”- Cadence: Daily (fixed time) / Daily (random time, rolled within a window) / N days / Hourly / N hours / N minutes / Weekly / Monthly / When new material arrives (AI mode). Firing is computed in the schedule’s timezone; the system checks roughly every 5 minutes and adds a small random jitter, so landing within a few minutes of the set time is normal.
- Articles per run: how many articles each site gets per run (not a total), either fixed or a random range (e.g. 2–7) for more organic publishing.
- Daily total cap: the per-day ceiling across all target sites; once reached the schedule stops for the day and resets next day in its timezone.
- Per-site daily cap: max articles one site receives per day; blank = no limit.
-
Enable and save
Section titled “Enable and save”Turn on “Enable this schedule” in the top-right and save. Note: an enabled schedule must have at least one category selected (with the official-news source), or saving is blocked. The server also needs an active license to enable publishing.
Content sources & AI generation
Section titled “Content sources & AI generation”- Material source, one of three: Official news (by category) — picked from platform-crawled news in the categories you select; My materials (incl. shared with me) — picked from materials you uploaded plus ones shared with you (no category/freshness filter); All — both. The editor shows a live “~N publishable article(s) for the current source + language” count.
- Article language: Chinese / English / Any language — only articles in that language are published. Freshness window (days): only news from the last N days; if too few, the system auto-widens to 14 / 30 days.
- Article dedup: per-site dedup (default — no repeats within a site) / per-schedule dedup (each article used at most once across the schedule) / no dedup.
- Article rewrite (full AI rewrite replacing the original): No rewrite / Random AI rewrite (a share of articles by %) / Full AI rewrite. Rewriting is best for SEO but costs the most AI quota.
- AI interpretation card: prepends an AI-generated commentary card (blue) on top of the article, original body kept — off / on every article / at random. Independent of Article rewrite; both can be on at once.
- Keyword / brand insertion: randomly picks one of the site’s own brand + keywords (submitted at build time) and appends it to the title or AI-weaves it into the body for per-site differentiation. Off by default — enable manually.
Working with the materials library
Section titled “Working with the materials library”The Article materials page manages everything you can publish:
- Upload: TXT (zip) — each .txt in the zip uses filename = title, content = body, up to 1000 files; or Excel (xlsx) — column A = title, column B = body, up to 10,000 rows. You must pick the material language on upload — it decides whether a schedule’s language filter can select this batch.
- Sharing: share an upload batch with another user’s email; they can then use it by choosing “My materials (incl. shared with me)” in their schedules.
- A schedule is linked to the library whenever its source includes “My materials”. Pick the “When new material arrives (AI mode)” cadence and publishing fires as soon as new material lands — volume is preset from your site count and locked, so one day never over-publishes.
- Materials flagged “Too short” are below the publish length threshold and are skipped until you extend the body.
Run now
Section titled “Run now”Every schedule has a “Run now” button (on the list row and the detail page). Clicking it queues one run that the backend executes with the schedule’s settings. Rules:
- A schedule that is off never auto-runs, but you can still fire it once with Run now (turning it off only stops automatic publishing).
- With unsaved changes on the detail page the button is disabled and shows “Save changes first” — save, then run.
- If today’s cap is already reached, a confirmation appears: continuing breaks the per-day quota and may signal low-effort content to search engines — you must explicitly choose “Override cap and publish”.
- Clicking too fast shows a “wait a moment” notice; a schedule with an in-flight run shows “Publishing…” and temporarily disables the button.
- An unlicensed server can’t publish — buy or renew the license on the Servers page first.
Run history & status
Section titled “Run history & status”- The list’s Status column shows the last run’s outcome: Idle (never ran) / Success / Partial (some sites failed, e.g. polish fell back to the original on a few) / Failed / Running / Capped (daily cap reached, run skipped). The Today column shows today’s published count against the cap.
- The detail page’s Run history tab keeps the last 2 months of runs, with each run’s start time and published / queued / live / failed counts; zero-output runs carry a reason badge (No fresh articles / Bodies too short / Duplicate titles / Template can’t publish / Server unlicensed / Daily cap reached, and so on).
- Opening a run shows the run detail: every site’s published article titles and URLs, with per-article status Pending deploy → Live, plus Failed / Removed / Needs check (recorded as published but the URL probe failed). Auto-deploy takes about 1 minute; the sitemap and homepage news block update along with it. Use Retry on a site to re-publish failures.
- The list page also offers Schedules insights: success rate over the last 7 / 30 / 90 days, a per-schedule breakdown and top error reasons.
Troubleshooting: nothing published / failures
Section titled “Troubleshooting: nothing published / failures”| Symptom / message | What to do |
|---|---|
| Schedule shows “Paused” | Turn the enable switch back on (list row or detail page); after re-enabling it waits for the next future slot — it does not back-fill immediately |
| “No categories selected — schedule cannot publish” | The official-news source needs at least one category selected |
| “No publishable articles for the current source + language + categories” | Check the article language matches your materials (or switch to “Any language”), categories are selected, or upload/share materials first |
| Run badge “Template can’t publish” | The site uses a landing-page template or lacks news list / detail pages — switch to a template with both |
| Run badge “Site not on disk” | The site isn’t deployed to the server yet — deploy it first |
| Status “Capped” | The daily total cap is reached; it resets next day in the schedule’s timezone, or use Run now and choose “Override cap” if urgent |
| “Unlicensed” badge | The server license lapsed — buy or renew on the Servers page, then re-enable |
| “No output” health badge | The last several runs published nothing — check the categories / freshness / language filters aren’t too strict |
| Article “Needs check” or its URL won’t open | The post-deploy probe flagged the URL; hit Retry on that site, and if it persists check the site itself is reachable |
| AI rewrite didn’t happen, original was published | The server has no AI add-on and no API key is configured in your account, so it fell back to the original — buy the AI add-on or configure your own key |
| Deploy timed out notice | Past the normal go-live time (~1 min): click Refresh to re-check, and use Retry on the affected site if it’s still not live |
