# Editor's guide

*Published: 2026-11-02*

Use this guide for everyday publishing on your own oCMS site: prepare a draft, add images, preview it, publish it and maintain its translations. Sign in with an individual editor or administrator account. The [shared demo](https://ocms-demo.fly.dev/) lets you explore the interface but disables content editing.

## 1. Create a draft with the right type

1. Open **Admin → Pages** and create a new item. Use the list's language, status and type filters to find an existing item instead of creating a duplicate.
2. Enter a descriptive title and check the slug. The slug forms part of the public URL, so choose a short, stable value such as `weekend-route`.
3. Choose **Page** for lasting content such as About or a guide. Choose **Post** for an entry intended for blog listings and post subscriptions.
4. Select the content language when creating the item, leave the status as **Draft**, and save it before previewing.

Publishing a Page does not automatically put it in a navigation menu. Ask the person managing the site's menu to add a link where needed. A theme can also have its own navigation templates.

## 2. Write the body and its summary

The editor already supplies the page's main title. Begin the body with an introduction, then use Heading 2 for sections and Heading 3 for subsections. Use real lists, meaningful link labels and short paragraphs.

[![Content editor showing the formatting toolbar, page body, Summary field and Featured Image selector](/themes/winter/static/img/front/admin-editor.webp)](/themes/winter/static/img/front/admin-editor.webp)

**Editor landmarks:** the toolbar formats the body; **Summary** supplies a concise listing excerpt; **Featured Image** selects the page's cover. Open the image for a full-size view.

Write a summary that explains what the reader will get. Where the theme uses it, a saved summary replaces an automatically generated body excerpt. It does not replace the body or the search description.

In the SEO fields, give the page a useful meta title and description. Check them against the actual content. An Open Graph image controls social sharing where the theme supports it; it is separate from an image inserted in the body.

For posts, choose an appropriate category and reuse relevant existing tags. Categories organize topics; tags add more specific labels. Avoid near-duplicate tags with different spelling.

## 3. Add images from the media library

Open **Admin → Media** to upload a file or find one already available. Use folders and filters rather than uploading another copy for each page. Open the media edit action to check its metadata.

[![Media library with folders on the left, type and search filters above the image grid, and an Upload button at the upper right](/themes/winter/static/img/front/admin-media.webp)](/themes/winter/static/img/front/admin-media.webp)

**Media landmarks:** folders are on the left; type and search filters are above the grid; **Upload** is at the upper right. The pencil action opens a file's editable details.

1. Use a descriptive filename and add alt text that conveys the image's purpose. When inserting an image into the body, check its alt text in the editor too; do not assume library metadata has been copied into existing markup.
2. Select the featured image separately from body images. The admin featured-image picker requires at least **1200 × 800 pixels**; use JPEG, PNG, GIF or WebP.
3. Add a caption when readers need context or a credit, and verify the image crop in the active theme.

Uploads can have public URLs even while the page is a draft. Do not upload private documents or credentials as draft attachments. Deleting a media file can break pages that still reference it; check usage before removing it.

## 4. Preview, then publish

1. Save the draft, then choose **Preview**. Check the saved content, links, images and narrow-screen layout in the actual theme.
2. A signed-in administrator or editor can view the draft at its URL. An anonymous visitor receives 404. A draft preview is not a public review link.
3. To publish now, set the status to **Published** and save. For a scheduled post, use the scheduling control, keep it in its scheduled draft state and verify the saved date/time and status.
4. After publication, open the URL while signed out or in a private window. Check that a Post appears in the intended listing and subscription feed.

oCMS stores dates in UTC; use the date/time and timezone indicated by your editor when scheduling, and recheck the saved value. Do not assume another editor's browser shows the same local time.

A published Post marked **Exclude from lists** is omitted from feeds and listings. **NoIndex** is an indexing preference, not an access restriction: it does not make a published URL private.

## 5. Maintain linked translations

An administrator must first enable the target language. Open the original item and use its **Translations** panel to add a translation. Translate the new item's title, body, summary and SEO text; review its slug and images, then save and publish that language version separately.

[![Page editor showing Draft status, Page type, a fixed English language field, and linked German and Russian drafts in Translations](/themes/winter/static/img/front/admin-languages.webp)](/themes/winter/static/img/front/admin-languages.webp)

**Translation landmarks:** **Status** belongs to this language version; **Language** is fixed after creation; the **Translations** panel links related versions and shows their draft status.

Linking translations does not translate their content or publish them together. When updating the original, review the linked versions too. Check the language switcher in the active theme and follow each published translation. Menus, categories and tags may also need matching language versions.

Follow the [English and Russian publishing walkthrough](/multilingual-publishing) for a complete example with translated text, slugs, menus and publication checks.

## 6. Update or withdraw existing content

Save ordinary edits and check the public page again. Use **Version History** to inspect earlier saved versions; after restoring one, review the editor and public result before continuing. Page history is not a replacement for an operator's [complete site backup](/backup-and-restore).

Keep existing slugs where possible. If a URL must change, arrange an appropriate redirect or alias and update internal links. To withdraw content, change it back to Draft and save, then verify anonymously that the public URL is unavailable and the post has left its listings and feeds.

For sign-in and account recovery, see [account security](/account-security). For the detailed feature reference, use [content management](https://github.com/olegiv/ocms-go/wiki/Content-Management), [media](https://github.com/olegiv/ocms-go/wiki/Media-Library) and [languages](https://github.com/olegiv/ocms-go/wiki/Multi-Language) in the GitHub Wiki.

---

[Source](https://ocms.tech/editors-guide)
