Skip to content

WordPress - Document Frontmatter

Document Frontmatter lets you define WordPress post metadata directly inside your Google Doc — no need to fill in forms each time you export. Add a simple 2-column table at the top of your document, set the values you want, and Tenwrite picks them up automatically.

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.

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

You don’t need to create the table by hand. Open your Google Doc, go to Extensions > Tenwrite > Frontmatter > Insert WordPress Frontmatter, and a ready-to-use table is inserted at the top of your document. Fill in what you need and leave the rest blank — empty rows are ignored.

Extensions menu in Google Docs showing Tenwrite > Frontmatter > Insert WordPress Frontmatter

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 time2026-04-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

Set status to one of: draft, publish, future, private, or pending. For scheduling, set status to future and add a publish_date.

To save as a draft while you’re still working on content:

Frontmatter table with status set to draft

To schedule a post, set status to future and add a publish_date:

Frontmatter table with status set to future and a scheduled publish date

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

  • remove_inline_stylestrue/false
  • remove_font_familytrue/false
  • remove_font_sizetrue/false
  • remove_colortrue/false
  • remove_text_decorationtrue/false
  • remove_backgroundtrue/false
  • remove_paddingtrue/false
  • remove_margintrue/false
  • remove_widthtrue/false
  • remove_heighttrue/false
  • remove_line_heighttrue/false
  • remove_bordertrue/false
  • remove_letter_spacingtrue/false
  • remove_text_transformtrue/false
  • remove_max_widthtrue/false
  • remove_max_heighttrue/false
  • demote_headingstrue/false
  • add_rel_nofollow_to_linkstrue/false
  • add_target_blank_to_linkstrue/false
  • increase_line_heighttrue/false
  • convert_pt_to_pxtrue/false
  • strip_empty_elementstrue/false
  • responsive_imagestrue/false
  • embed_youtubetrue/false
  • embed_twittertrue/false
  • upload_images_to_media_librarytrue/false
  • use_first_image_as_featured_imagetrue/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.

Scheduled post isn’t publishing at the right time

Section titled “Scheduled post isn’t publishing at the right time”
  • Set status to future and include a publish_date in YYYY-MM-DD HH:MM format.
  • Make sure the date is in the future when you export.
  • 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.