Skip to content

WordPress - Document Frontmatter

Frontmatter keeps your WordPress post settings in a small table at the top of your Google Doc. Use Tenwrite’s editor to set titles, categories, tags, and publication dates, or edit the table directly if you prefer.

This is especially useful with Drive Automation and Sheet Automation, where there’s no export form at all. Frontmatter is how you control individual posts when publishing is fully automated. It also works with manual exports.

Prefer a video? Watch where to set WordPress export settings for a quick comparison of the export form, your document’s frontmatter table, and Google Sheets.

A WordPress frontmatter table in a Google Doc with content below it

Open your Google Doc and choose Extensions > Tenwrite > Frontmatter > Insert WordPress Frontmatter. Tenwrite opens the editor in the sidebar. It creates a starter table if one is missing, or opens your existing table without replacing it.

WordPress frontmatter table in Google Docs beside Tenwrite's sidebar editor, showing Keep as draft and a future publish date

In the web dashboard, select your document on WordPress > New Export. If frontmatter is already present, click Edit existing frontmatter. Filled fields—including categories, tags, SEO settings, and an explicit publication status—are read-only in the export form and marked Already set in frontmatter. Change or remove the value in frontmatter; clearing it lets the form control that setting again. Without frontmatter, use the export form; Tenwrite will not ask you to add a table. Shared formatting controls stay available for the batch, while each document’s overrides are shown under Other settings from this document. You can also open the editor from the Sync confirmation.

When the export form shows Checking publication outcome…, wait for the check to finish before editing the document’s export fields. This also applies when you refresh document settings. Tenwrite then locks fields filled in frontmatter and leaves the other fields editable. If the check fails, fix the problem and choose Check again.

Fill in the settings you need. Open Advanced fields for options such as author, slug, comments, and SEO fields. Click Save frontmatter to save to the Google Doc, then check the outcome preview.

Filled frontmatter values override the matching export settings. Empty fields leave the export settings or existing WordPress values unchanged; they do not clear values on your site. Custom rows stay in place and appear read-only in the editor.

When Tenwrite processes the document, it reads the table, applies the values to the post, and removes the table from the published content. Your readers never see it.

If your self-hosted WordPress site has the Tenwrite plugin installed, the same frontmatter table can also control supported SEO fields.

Add any of these rows when you want the Google Doc to control SEO during export or sync:

FieldDescriptionExample
seo_titleSEO titleComplete Guide to Automation
seo_descriptionMeta descriptionLearn the fastest way to automate.
focus_keywordFocus keywordwordpress automation
canonical_urlCanonical URLhttps://example.com/automation
no_indexTell search engines not to indexfalse
no_followTell search engines not to follow linksfalse

If one of these SEO fields is present in frontmatter, Tenwrite treats that field as controlled by the Google Doc during export and sync.

That means:

  • the matching field is locked in Tenwrite
  • you update or remove it in the Google Doc instead
  • after changing the document, run Sync Post to push the update to WordPress

For text SEO fields, an empty value means Tenwrite treats that field as not set, so you can still edit it in the app.

For no_index and no_follow, an explicit true or false value counts as set.

FieldDescriptionExample
tenwrite_frontmatterRequired marker — don’t change thisv1
object_typePost or pagepost
titlePost/page titleComplete Guide to Automation
excerptShort summary for archive pagesQuick summary for archive pages
slugURL slugcomplete-guide-to-automation
statusPublish statefuture
publish_dateSchedule date and time2027-12-15 09:30
authorAuthor username, email, or IDeditor@example.com
passwordPost passwordmy-secret
categoriesComma-separated category namesWordPress, Automation
tagsComma-separated tag namesgoogle docs, tenwrite
commentComment statusopen
pingPing statusopen
formatPost formatstandard
stickySticky postfalse
templatePage template pathtemplates/landing.php
parentParent page ID (for pages)42
menu_orderPage order in menus1
featured_mediaURL of existing media to use as featured imagehttps://example.com/image.jpg
presetFormatting preset to applybalanced

Choose Publication in the editor, or use these values when editing the table directly:

Table valueWhat happens
Blank / AutomaticUses the export choice without a date; schedules with a valid future date
draftKeeps a draft, even with a future date
publishPublishes now without a future date; schedules with a valid future date
futureSchedules for a valid future publish_date
pendingKeeps the post pending review, even with a future date
privateKeeps the post private, even with a future date

To schedule a post, enter a future Publish date. The editor selects Scheduled unless you chose Keep as draft. Save, then check the scheduled time in the preview. The table stores status: future and the date together.

WordPress frontmatter editor showing Scheduled, a future date, and the saved Tenwrite timezone in the outcome preview

To keep working without publishing, choose Keep as draft in Publication and save. A date does not override an explicit draft choice. Opening an older document with draft and a date does not change it; choose Scheduled in Publication and save when you want to schedule it instead.

Export confirmation explaining why a post with a future date will remain a draft

Use YYYY-MM-DD HH:MM when editing a date in the table, for example 2027-12-15 09:30.

Before starting an export, Confirm publication outcome shows what Tenwrite will actually do for every document. Automatic plus a future date schedules the post even if the export form still says Draft. Review the result before clicking Confirm Export.

Sync also asks you to confirm the outcome. If publication settings are blank, Sync preserves the existing post’s state. Updating a title alone does not turn a published post into a draft. To cancel a schedule, choose Keep as draft, save, and confirm Sync.

An unchanged schedule that has already published is preserved when WordPress’s publication date matches the document. If Tenwrite reports a mismatch, correct the settings before syncing.

You can also add these fields to control how Tenwrite transforms the document’s HTML during export:

  • remove_inline_styles — true/false
  • remove_font_family — true/false
  • remove_font_size — true/false
  • remove_color — true/false
  • remove_text_decoration — true/false
  • remove_background — true/false
  • remove_padding — true/false
  • remove_margin — true/false
  • remove_width — true/false
  • remove_height — true/false
  • remove_line_height — true/false
  • remove_border — true/false
  • remove_letter_spacing — true/false
  • remove_text_transform — true/false
  • remove_max_width — true/false
  • remove_max_height — true/false
  • demote_headings — true/false
  • add_rel_nofollow_to_links — true/false
  • add_target_blank_to_links — true/false
  • increase_line_height — true/false
  • convert_pt_to_px — true/false
  • strip_empty_elements — true/false
  • responsive_images — true/false
  • embed_youtube — true/false
  • embed_twitter — true/false
  • upload_images_to_media_library — true/false
  • use_first_image_as_featured_image — true/false
KeyValue
tenwrite_frontmatterv1
object_typepost
titleComplete Guide to WordPress Automation
excerptLearn how to automate your WordPress publishing workflow using Google Docs.
statusfuture
publish_date2026-12-31 09:00
slugwordpress-automation-guide
categoriesWordPress, Automation, Tutorials
tagswordpress, automation, google docs
commentopen
pingopen
presetbalanced
  • The table must be the very first element in the document — nothing before it.
  • Use Extensions > Tenwrite > Frontmatter to insert a correctly formatted table.
  • Don’t edit the first row (tenwrite_frontmatter : v1) — only change values in the second column.
  • If Tenwrite reports duplicate fields, multiple markers, or an unsupported table structure, repair the existing table in Google Docs rather than inserting another one.

Someone else edited the document while I was saving

Section titled “Someone else edited the document while I was saving”

Tenwrite keeps your unsaved fields and does not overwrite the newer document. Copy any changes you want to keep before choosing Reload current document, which discards your unsaved fields. Reopen the editor and apply your changes to the current version.

Scheduled post isn’t publishing at the right time

Section titled “Scheduled post isn’t publishing at the right time”
  • Check that Publication is Scheduled, not Keep as draft. In the table, use status: future with a valid future publish_date in YYYY-MM-DD HH:MM format.
  • Check the timezone shown in the preview; scheduling uses your saved Tenwrite timezone.
  • If the date passed while an export was waiting, correct it and review the outcome again. Tenwrite will not silently publish a missed schedule.
  • Use comma-separated format: category1, category2.
  • Double-check the field names: categories and tags (not category or tag).
  • Use comment and ping in frontmatter, not comment_status or ping_status.

For help with frontmatter setup, contact support@tenwrite.com.

Tenwrite is an independent product not affiliated with or endorsed by Google LLC, Blogger, or WordPress Foundation. Google Docs, Gmail, Google Workspace are trademarks of Google LLC. WordPress is a trademark of the WordPress Foundation.