{"id":826,"date":"2026-04-02T02:46:19","date_gmt":"2026-04-02T02:46:19","guid":{"rendered":"https:\/\/wp001.tenwrite.com\/how-to-publish-google-docs-to-wordpress-2026\/"},"modified":"2026-04-02T02:47:44","modified_gmt":"2026-04-02T02:47:44","slug":"how-to-publish-google-docs-to-wordpress-2026","status":"publish","type":"post","link":"https:\/\/wp001.tenwrite.com\/how-to-publish-google-docs-to-wordpress-2026\/","title":{"rendered":"How to Publish Google Docs to WordPress (Without Messing Up Formatting)"},"content":{"rendered":"<p class=\"normal-text\">\n<p class=\"normal-text\">If you write in Google Docs and publish to WordPress, you&#8217;ve almost certainly run into the paste problem. You copy your post, switch to the WordPress editor, and what arrives is a tangle of inline styles, redundant font declarations, double line breaks, and images that may or may not load reliably \u2014 all invisible until something looks wrong in the browser.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">This guide walks through how to publish Google Docs to WordPress cleanly using <a href=\"https:\/\/tenwrite.com\">Tenwrite<\/a>. We&#8217;ll cover the full manual export flow step by step, then look at how to skip the manual step entirely with Drive Automation and Sheet Automation.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">\n<h2 class=\"heading-2\">Why Pasting from Google Docs to WordPress Breaks Your Content<\/h2>\n<p class=\"normal-text\">Google Docs applies a significant amount of inline CSS to almost everything it renders. Every paragraph, heading, and span of text can carry <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">font-family<\/span>, <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">font-size<\/span>, <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">line-height<\/span>, and <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">color<\/span> attributes \u2014 all embedded directly in the HTML. When you copy and paste into WordPress, that style information comes with it.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">In the block editor this creates blocks with messy underlying markup. In the classic editor it produces HTML that renders inconsistently across themes and screen sizes. Either way, you end up with a post that looks roughly right in the editor but behaves oddly in the browser, and that&#8217;s before you consider what it does to your SEO.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">Images are a separate issue. Pasting from Docs inserts image references that point back to Google&#8217;s own servers, not your WordPress media library. Those URLs can become inaccessible over time and won&#8217;t be managed by your WordPress installation.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">Tenwrite solves both problems. It converts the Google Doc to clean HTML (or Gutenberg blocks), strips the style noise, uploads your images directly to your WordPress media library, and sends a well-structured post to WordPress. You get a clean result without touching the editor.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">\n<h2 class=\"heading-2\">What You Need Before You Start<\/h2>\n<ul class=\"nesting-level-1\">\n<li>A Google account<\/li>\n<li>A WordPress site \u2014 self-hosted or WordPress.com<\/li>\n<li><a href=\"https:\/\/tenwrite.com\">Tenwrite<\/a> \u2014 available as a <a href=\"https:\/\/workspace.google.com\/marketplace\/app\/tenwrite\/487671105635\" rel=\"nofollow noopener noreferrer\" target=\"_blank\">Google Docs add-on<\/a> or via the <a href=\"https:\/\/app.tenwrite.com\">web dashboard<\/a> at app.tenwrite.com<\/li>\n<\/ul>\n<p class=\"normal-text\">\n<p class=\"normal-text\">If you haven&#8217;t connected your WordPress site to Tenwrite yet, do that first. It&#8217;s a one-time setup. Self-hosted WordPress sites connect via Application Password (there&#8217;s an auto-connect option so you don&#8217;t have to create one manually), and WordPress.com sites connect through a standard OAuth approval. Full instructions are in the <a href=\"https:\/\/tenwrite.com\/docs\/wordpress\/connect-sites\">Connect Your WordPress Site<\/a> guide.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">\n<h2 class=\"heading-2\">How to Publish a Google Doc to WordPress<\/h2>\n<p class=\"normal-text\">Tenwrite is available in two places: the Google Docs add-on (accessible from <strong>Extensions &gt; Tenwrite<\/strong> inside any Google Doc) and the web dashboard at app.tenwrite.com. Both share the same interface and features.<\/p>\n<h3 class=\"heading-3\">Step 1 \u2014 Open the Export Form<\/h3>\n<p class=\"normal-text\">In the add-on or web dashboard, click <strong>WordPress &gt; New Export<\/strong>.<\/p>\n<h3 class=\"heading-3\">Step 2 \u2014 Choose Post or Page<\/h3>\n<p class=\"normal-text\">At the top of the form, select whether WordPress should create a <strong>Post<\/strong> (standard blog content) or a <strong>Page<\/strong> (standalone static content). You can change this at any point before starting the export. Posts and Pages support slightly different metadata \u2014 categories and tags are available for Posts, while parent page and menu order are available for Pages.<\/p>\n<p class=\"normal-text\" style=\"overflow: hidden; display: block; margin: 0; border: 0; width: 100%;\"><img decoding=\"async\" src=\"https:\/\/wp001.tenwrite.com\/wp-content\/uploads\/2026\/04\/4abac297ec.png\" style=\"max-width: 100%; height: auto; margin-left: 0; margin-top: 0;\"><\/p>\n<h3 class=\"heading-3\">Step 3 \u2014 Select Your Destination Site<\/h3>\n<p class=\"normal-text\">Pick the WordPress site you want to publish to. If you manage multiple WordPress sites in Tenwrite, they all appear in the dropdown. Your selection applies to all documents in the current export batch.<\/p>\n<p class=\"normal-text\" style=\"overflow: hidden; display: block; margin: 0; border: 0; width: 100%;\"><img decoding=\"async\" src=\"https:\/\/wp001.tenwrite.com\/wp-content\/uploads\/2026\/04\/64686e7489.png\" style=\"max-width: 100%; height: auto; margin-left: 0; margin-top: 0;\"><\/p>\n<p class=\"normal-text\">\n<h3 class=\"heading-3\">Step 4 \u2014 Add Your Google Docs<\/h3>\n<p class=\"normal-text\">Click <strong>Select Google Docs<\/strong> to open the built-in Google Drive picker. Select one or more documents and click <strong>Select<\/strong> to add them. You can export a single document or build a batch.<\/p>\n<p class=\"normal-text\" style=\"overflow: hidden; display: block; margin: 0; border: 0; width: 100%;\"><img decoding=\"async\" src=\"https:\/\/wp001.tenwrite.com\/wp-content\/uploads\/2026\/04\/d1a54872e1.png\" style=\"max-width: 100%; height: auto; margin-left: 0; margin-top: 0;\"><\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\" style=\"overflow: hidden; display: block; margin: 0; border: 0; width: 100%;\"><img decoding=\"async\" src=\"https:\/\/wp001.tenwrite.com\/wp-content\/uploads\/2026\/04\/d0d39b2558.png\" style=\"max-width: 100%; height: auto; margin-left: 0; margin-top: 0;\"><\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">Once added, your documents appear in a table below the picker. Click <strong>Add Google Docs<\/strong> to include more, or use the remove button on any row to drop a file from the batch.<\/p>\n<p class=\"normal-text\" style=\"overflow: hidden; display: block; margin: 0; border: 0; width: 100%;\"><img decoding=\"async\" src=\"https:\/\/wp001.tenwrite.com\/wp-content\/uploads\/2026\/04\/910979e3aa.png\" style=\"max-width: 100%; height: auto; margin-left: 0; margin-top: 0;\"><\/p>\n<p class=\"normal-text\">\n<p style=\"padding-left: 30PT; padding-right: 30PT; text-indent: 30PT\" class=\"normal-text\"><strong>Note:<\/strong> Only Google Docs are supported. If your content lives in a <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">.docx<\/span> or Word file, open it in Google Docs first and use <strong>File &gt; Save as Google Docs<\/strong>, then select the converted file here.<\/p>\n<h3 class=\"heading-3\">Step 5 \u2014 Set Post Details<\/h3>\n<p class=\"normal-text\">For each document, fill in the post metadata. If you added multiple documents, use the <strong>Prev<\/strong> and <strong>Next<\/strong> buttons to step through them individually.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">For any document, you can set:<\/p>\n<p class=\"normal-text\">\n<ul class=\"nesting-level-1\">\n<li><strong>Title<\/strong> (required)<\/li>\n<li><strong>Custom URL Slug<\/strong><\/li>\n<li><strong>Excerpt<\/strong><\/li>\n<li><strong>Status<\/strong> \u2014 <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">Draft<\/span>, <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">Publish<\/span>, <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">Pending<\/span>, <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">Private<\/span>, or <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">Scheduled<\/span><\/li>\n<li><strong>Publish Date<\/strong> \u2014 available when Status is set to <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">Scheduled<\/span><\/li>\n<li><strong>Discussion<\/strong> \u2014 open or close comments<\/li>\n<li><strong>Pingbacks &amp; trackbacks<\/strong><\/li>\n<\/ul>\n<p class=\"normal-text\">\n<p class=\"normal-text\">For <strong>Posts<\/strong>, you can also set <strong>Categories<\/strong>, <strong>Tags<\/strong>, and <strong>Sticky<\/strong> (pin to the top of your blog).<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">For <strong>Pages<\/strong>, you can also set <strong>Parent Page<\/strong> and <strong>Menu Order<\/strong>.<\/p>\n<p class=\"normal-text\" style=\"overflow: hidden; display: block; margin: 0; border: 0; width: 100%;\"><img decoding=\"async\" src=\"https:\/\/wp001.tenwrite.com\/wp-content\/uploads\/2026\/04\/d1b4133713.png\" style=\"max-width: 100%; height: auto; margin-left: 0; margin-top: 0;\"><\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\" style=\"overflow: hidden; display: block; margin: 0; border: 0; width: 100%;\"><img decoding=\"async\" src=\"https:\/\/wp001.tenwrite.com\/wp-content\/uploads\/2026\/04\/b87447849a.png\" style=\"max-width: 100%; height: auto; margin-left: 0; margin-top: 0;\"><\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\" style=\"overflow: hidden; display: block; margin: 0; border: 0; width: 100%;\"><img decoding=\"async\" src=\"https:\/\/wp001.tenwrite.com\/wp-content\/uploads\/2026\/04\/9dc6611389.png\" style=\"max-width: 100%; height: auto; margin-left: 0; margin-top: 0;\"><\/p>\n<h3 class=\"heading-3\">Step 6 \u2014 Advanced Formatting (Optional)<\/h3>\n<p class=\"normal-text\">For most exports you can skip this section. If you want more control over how the content is processed, click <strong>Show Advanced Options<\/strong> to open the formatting controls.<\/p>\n<p class=\"normal-text\" style=\"overflow: hidden; display: block; margin: 0; border: 0; width: 100%;\"><img decoding=\"async\" src=\"https:\/\/wp001.tenwrite.com\/wp-content\/uploads\/2026\/04\/18ee6ceb4d.png\" style=\"max-width: 100%; height: auto; margin-left: 0; margin-top: 0;\"><\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\"><strong>Output Format<\/strong> is the most important choice here:<\/p>\n<p class=\"normal-text\">\n<ul class=\"nesting-level-1\">\n<li><strong>WordPress Blocks<\/strong> (recommended for most sites) \u2014 exports your content in Gutenberg block format. Works best with modern block themes and sites using the block editor actively. Paragraphs become paragraph blocks, headings become heading blocks, images become image blocks, and so on.<\/li>\n<li><strong>Classic HTML<\/strong> \u2014 exports as standard HTML. Use this for classic-editor workflows, older themes, or any setup that isn&#8217;t actively using the block editor.<\/li>\n<\/ul>\n<p class=\"normal-text\">\n<p class=\"normal-text\">If you&#8217;re not sure, start with <strong>WordPress Blocks<\/strong> \u2014 it&#8217;s the right choice for most modern WordPress sites.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\"><strong>Cleanup<\/strong> controls how much of Google Docs&#8217; original inline styling comes through:<\/p>\n<p class=\"normal-text\">\n<ul class=\"nesting-level-1\">\n<li><strong>Balanced<\/strong> (recommended) \u2014 strips unnecessary markup while preserving meaningful formatting like headings, bold and italic text, lists, tables, and links.<\/li>\n<li><strong>Original<\/strong> \u2014 keeps more of Google Docs&#8217; original styling when you specifically need it.<\/li>\n<\/ul>\n<p class=\"normal-text\" style=\"overflow: hidden; display: block; margin: 0; border: 0; width: 100%;\"><img decoding=\"async\" src=\"https:\/\/wp001.tenwrite.com\/wp-content\/uploads\/2026\/04\/14fb173325.png\" style=\"max-width: 100%; height: auto; margin-left: 0; margin-top: 0;\"><\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">You can also enable individual content transformations: responsive images, YouTube and Twitter embed conversion, heading demotion, link behavior (<span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">rel=&#8221;nofollow&#8221;<\/span>, <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">target=&#8221;_blank&#8221;<\/span>), and fine-grained CSS cleanup controls.<\/p>\n<h3 class=\"heading-3\">Step 7 \u2014 Start the Export<\/h3>\n<p class=\"normal-text\">Check that the header shows the correct document count, destination site, and export type (Post or Page). Then click <strong>Start Export<\/strong>.<\/p>\n<p class=\"normal-text\" style=\"overflow: hidden; display: block; margin: 0; border: 0; width: 100%;\"><img decoding=\"async\" src=\"https:\/\/wp001.tenwrite.com\/wp-content\/uploads\/2026\/04\/93ba636070.png\" style=\"max-width: 100%; height: auto; margin-left: 0; margin-top: 0;\"><\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">Tenwrite processes each document and tracks status in real time: <strong>Pending<\/strong>, <strong>Processing<\/strong>, <strong>Success<\/strong>, or <strong>Error<\/strong>.<\/p>\n<p class=\"normal-text\" style=\"overflow: hidden; display: block; margin: 0; border: 0; width: 100%;\"><img decoding=\"async\" src=\"https:\/\/wp001.tenwrite.com\/wp-content\/uploads\/2026\/04\/bc80536b64.png\" style=\"max-width: 100%; height: auto; margin-left: 0; margin-top: 0;\"><\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">When a document finishes successfully, a confirmation toast appears, and <strong>Edit<\/strong> and <strong>Preview<\/strong> links appear in that row.<\/p>\n<p class=\"normal-text\" style=\"overflow: hidden; display: block; margin: 0; border: 0; width: 100%;\"><img decoding=\"async\" src=\"https:\/\/wp001.tenwrite.com\/wp-content\/uploads\/2026\/04\/948ef9829d.png\" style=\"max-width: 100%; height: auto; margin-left: 0; margin-top: 0;\"><\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\" style=\"overflow: hidden; display: block; margin: 0; border: 0; width: 100%;\"><img decoding=\"async\" src=\"https:\/\/wp001.tenwrite.com\/wp-content\/uploads\/2026\/04\/fe541dc07f.png\" style=\"max-width: 100%; height: auto; margin-left: 0; margin-top: 0;\"><\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">Click <strong>Preview<\/strong> to view the post on your WordPress site. Click <strong>Edit<\/strong> to open it in the WordPress editor for any final adjustments before sharing it.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">\n<h2 class=\"heading-2\">Skip the Manual Step: Drive Automation<\/h2>\n<p class=\"normal-text\">If you publish regularly, manually running the export form each time adds up. <strong>Drive Automation<\/strong> removes that step entirely.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">The setup is straightforward:<\/p>\n<p class=\"normal-text\">\n<ol class=\"nesting-level-1\" list-style-type=\"decimal\">\n<li>Create a folder in Google Drive and share it with Tenwrite&#8217;s automation service account (<span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">automation@tenwrite-gcp.iam.gserviceaccount.com<\/span>) as a Viewer.<\/li>\n<li>In Tenwrite, go to <strong>WordPress &gt; Automations<\/strong>, open the <strong>Drive<\/strong> tab, and create a new automation. Choose your target WordPress site, paste the folder URL, and optionally set a default category and post status.<\/li>\n<li>Tenwrite checks the folder every hour. New Google Docs in the folder become new WordPress posts. Docs that have been edited since the last run sync back to the existing post automatically.<\/li>\n<\/ol>\n<p class=\"normal-text\">\n<p class=\"normal-text\">\n<p class=\"normal-text\" style=\"overflow: hidden; display: block; margin: 0; border: 0; width: 100%;\"><img decoding=\"async\" src=\"https:\/\/wp001.tenwrite.com\/wp-content\/uploads\/2026\/04\/d7667930cd.png\" style=\"max-width: 100%; height: auto; margin-left: 0; margin-top: 0;\"><\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">Posts created via Drive Automation are saved as drafts by default. To control status, categories, tags, publish date, or other per-post settings on a per-document basis \u2014 without touching the export form \u2014 add a <a href=\"https:\/\/tenwrite.com\/docs\/wordpress\/frontmatter\">Frontmatter table<\/a> to the top of your Google Doc. Tenwrite reads it during the automation run and removes it before the content goes live.<\/p>\n<p class=\"normal-text\" style=\"overflow: hidden; display: block; margin: 0; border: 0; width: 100%;\"><img decoding=\"async\" src=\"https:\/\/wp001.tenwrite.com\/wp-content\/uploads\/2026\/04\/e9ff65cf75.png\" style=\"max-width: 100%; height: auto; margin-left: 0; margin-top: 0;\"><\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">For the full setup walkthrough \u2014 including how to create and share the Drive folder \u2014 see the <a href=\"https:\/\/tenwrite.com\/docs\/wordpress\/drive-automation\">WordPress Drive Automation guide<\/a>.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">\n<h2 class=\"heading-2\">Bulk Publishing with Sheet Automation<\/h2>\n<p class=\"normal-text\">For high-volume work \u2014 location pages, product content, programmatic SEO campaigns \u2014 <strong>Sheet Automation<\/strong> turns a Google Sheet into a publishing queue. Each row defines a post: title, content (written directly in the sheet or via a Google Doc URL), categories, tags, status, and which WordPress site to target.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">Because each row can specify a different site in the <strong>SITE<\/strong> column, one sheet can drive publishing across all your WordPress sites simultaneously. Tenwrite processes the sheet every hour and creates or updates posts for each valid row. The maximum is 500 rows per sheet.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">Supported columns include <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">TITLE<\/span>, <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">CONTENT<\/span>, <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">GOOGLE DOC<\/span>, <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">SLUG<\/span>, <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">EXCERPT<\/span>, <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">STATUS<\/span>, <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">CATEGORIES<\/span>, <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">TAGS<\/span>, <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">PUBLISH DATE<\/span>, <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">OUTPUT FORMAT<\/span>, and more. Tenwrite also provides a ready-made Google Sheets template to get you started quickly.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">See the <a href=\"https:\/\/tenwrite.com\/docs\/wordpress\/sheet-automation\">WordPress Sheet Automation guide<\/a> for the full column reference, the template link, and the setup walkthrough.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">\n<h2 class=\"heading-2\">Frequently Asked Questions<\/h2>\n<p class=\"normal-text\"><strong>Does Tenwrite preserve my formatting when exporting to WordPress?<\/strong> Yes. Tenwrite converts the Google Doc to clean HTML or Gutenberg blocks before sending it to WordPress. The default &#8220;Balanced&#8221; cleanup removes the inline style clutter that Google Docs generates while keeping meaningful formatting \u2014 headings, bold and italic text, lists, tables, and links all transfer correctly.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\"><strong>What happens to images?<\/strong> Images are extracted from the document and uploaded directly to your WordPress media library. The published post references those media library URLs. Images are properly managed by WordPress and won&#8217;t become unavailable over time.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\"><strong>Which should I choose \u2014 WordPress Blocks or Classic HTML?<\/strong> WordPress Blocks for most modern sites using the Gutenberg editor. Classic HTML if you&#8217;re running the classic editor, an older theme, or a site where the block editor is not actively used.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\"><strong>Can I export multiple Google Docs at once?<\/strong> Yes. You can add as many documents as you need in one batch. Each gets its own row in the export table with individual progress tracking.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\"><strong>Can I schedule a post for a future date?<\/strong> Yes. In Step 5, set <strong>Status<\/strong> to <span style=\" font-weight: 400; color: rgb(24.000000749999998, 128.000004, 55.9999992)\">Scheduled<\/span> and fill in the <strong>Publish Date<\/strong>. WordPress will publish the post at that time.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\"><strong>Does this work with WordPress.com and self-hosted WordPress?<\/strong> Yes. Tenwrite supports both. WordPress.com sites connect via OAuth. Self-hosted sites connect using Application Passwords \u2014 there&#8217;s an auto-connect option that handles this automatically, or a manual option if your site has security plugins that block the automatic flow.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\"><strong>Does it work from Google Docs as well as the web dashboard?<\/strong> Yes. The Google Docs add-on (installed from the Google Workspace Marketplace via <strong>Extensions &gt; Tenwrite<\/strong>) and the web dashboard at app.tenwrite.com share the same interface and the same features.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\"><strong>Is there a free plan?<\/strong> Yes. Tenwrite has a free tier with no credit card required. See the <a href=\"https:\/\/tenwrite.com\/pricing\">pricing page<\/a> for current plan details.<\/p>\n<p class=\"normal-text\">\n<p class=\"normal-text\">\n<h2 class=\"heading-2\">What to Do Next<\/h2>\n<ul class=\"nesting-level-1\">\n<li><a href=\"https:\/\/workspace.google.com\/marketplace\/app\/tenwrite_google_docs_to_wordpress_blogge\/334649400148\" rel=\"nofollow noopener noreferrer\" target=\"_blank\">Install the Tenwrite add-on<\/a> from the Google Workspace Marketplace<\/li>\n<li><a href=\"https:\/\/app.tenwrite.com\">Open the web dashboard<\/a> at app.tenwrite.com<\/li>\n<li><a href=\"https:\/\/tenwrite.com\/docs\/wordpress\/connect-sites\">Connect your WordPress site<\/a> to Tenwrite<\/li>\n<li><a href=\"https:\/\/tenwrite.com\/docs\/wordpress\/drive-automation\">Set up Drive Automation<\/a> to publish automatically from a Google Drive folder<\/li>\n<li><a href=\"https:\/\/tenwrite.com\/docs\/wordpress\/sheet-automation\">Set up Sheet Automation<\/a> for bulk publishing and programmatic SEO workflows<\/li>\n<\/ul>\n<p class=\"normal-text\">\n","protected":false},"excerpt":{"rendered":"<p>Stop fighting with the WordPress editor. Learn how to publish Google Docs to WordPress cleanly \u2014 images, categories, blocks, and all \u2014 using Tenwrite. Updated for 2026.<\/p>\n","protected":false},"author":2,"featured_media":814,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,4],"tags":[37,36,35,39],"class_list":["post-826","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-google-docs","category-wordpress","tag-automation","tag-export","tag-google-docs","tag-gutenberg"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/wp001.tenwrite.com\/wp-json\/wp\/v2\/posts\/826","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp001.tenwrite.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp001.tenwrite.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp001.tenwrite.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wp001.tenwrite.com\/wp-json\/wp\/v2\/comments?post=826"}],"version-history":[{"count":1,"href":"https:\/\/wp001.tenwrite.com\/wp-json\/wp\/v2\/posts\/826\/revisions"}],"predecessor-version":[{"id":827,"href":"https:\/\/wp001.tenwrite.com\/wp-json\/wp\/v2\/posts\/826\/revisions\/827"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wp001.tenwrite.com\/wp-json\/wp\/v2\/media\/814"}],"wp:attachment":[{"href":"https:\/\/wp001.tenwrite.com\/wp-json\/wp\/v2\/media?parent=826"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp001.tenwrite.com\/wp-json\/wp\/v2\/categories?post=826"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp001.tenwrite.com\/wp-json\/wp\/v2\/tags?post=826"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}