Free Forever · No Registration · No Hidden Fees

A Free WordPress
Bulk Publishing PluginKennyDTC Smart Publisher

Import Word, Excel or JSON files in batches, or paste content. Review text and images in one workspace, then schedule posts by day, week or month. Version 1.6.1 fixes batch category selections being ignored during direct scheduling, so selected categories are saved with bulk publishing or scheduling.

  • Imports are saved as drafts
  • No KennyDTC account required
  • No automatic reporting of article data
  • GPL open-source license

WHAT’S NEW · 1.6.1

Select Categories, Then Publish or Schedule

Version 1.6.1 fixes batch category settings not being saved during direct publishing or scheduling. Replace removes old categories such as Blog; Add keeps existing categories.

01

Apply Site Categories to a Batch

Select categories below the scheduling controls, then publish or schedule in bulk without saving categories first. Apply them to the whole review batch or only selected posts on the current page.

02

Save Categories as You Publish

Batch and individual post categories are submitted with bulk publishing or scheduling. Batch replacement removes unselected old categories. Changes to the article, title or SEO fields still need to be saved first.

03

Article Navigation Defaults to English

Home, Breadcrumb and Table of Contents use English by default. You can switch to Chinese in settings. Post titles and category names stay in their original language.

Who It’s For

Spend More Time on Content, Less on Repetitive Tasks

01

WordPress Site Owners

Reduce copying, formatting, image uploads and setting publication dates one post at a time.

02

SEO Professionals

Review categories, SEO titles, descriptions and focus keyphrases in one place.

03

Website Managers

Prepare articles and images, then publish in batches according to your content plan.

04

Content Teams

Manage articles through a review queue and keep a human check before publication.

Features

From Import to Scheduled Publishing in One Plugin

Supports DOCX, XLSX, JSON and pasted content. PDF import, .md file uploads and AI article generation are not currently supported.

01 / IMPORT

DOCX Import with Formatting

Read paragraphs, tables and images in document order, preserving web-compatible colors, font sizes, spacing, alignment and callout blocks where possible.

02 / STRUCTURE

Tables, Headings and Lists

Supports Word table borders, background colors and merged cells, plus heading levels, lists, text formatting and hyperlinks.

03 / BATCH

Multiple Files and Pasted Content

Select multiple DOCX, XLSX or JSON files at once, or paste rich text, HTML or common Markdown.

04 / MEDIA

Local Images and WebP

Save images to the media library. When supported by the server, convert static images to WebP and set quality, maximum width and featured image cropping.

05 / SEO

Optional Automatic Yoast Settings

When enabled, generate and sync the SEO title, meta description and focus keyphrase, then refresh the relevant index. When disabled, automatic writes stop and existing fields remain.

06 / KEYPHRASE

Explicit Keywords Take Priority

With automatic Yoast settings enabled, the plugin prioritizes keywords explicitly provided in Word paragraphs or tables and JSON fields. Suggested keyphrases remain intact and can be edited.

07 / REVIEW

Review Content and SEO Together

Edit titles, content, categories, excerpts, SEO fields and featured images directly. Preview search results and see where the full focus phrase appears.

08 / SCHEDULE

Daily, Weekly or Monthly Scheduling

Set start and end dates, posts per period, eligible weekdays or dates, and daily time windows. Choose intervals in minutes, hours, days, weeks or months.

09 / QUEUE

Publishing Queue and Recovery

View scheduled, published and trashed posts with search, filters and pagination. Move published posts back to drafts for rescheduling.

10 / CLEANUP

HTML Cleanup and Category Management

Remove unnecessary code while keeping safe styles. Choose default import categories, or replace or add existing site categories across a review batch.

11 / LINKS

Anchor Text and Article Navigation

Add custom links by keyword and generate breadcrumbs and an H2/H3 table of contents. Navigation defaults to English, with a Chinese option. Post titles keep their original language.

12 / WORKFLOW

Schedule Validation and Save Prompts

Category changes can be saved with publishing or scheduling. Unsaved content changes still trigger a prompt. The plugin checks date limits, post status and scheduled tasks.

How It Works

Import, Review, Then Schedule

  1. 1

    Prepare Your Content

    Organize articles, images, categories and optional SEO details.

  2. 2

    Import as Drafts

    Upload files or paste content to add posts to the review queue.

  3. 3

    Check and Save

    Check and save the content, images, links and focus keyphrase. Apply categories to the current batch below the scheduling controls if needed.

  4. 4

    Set Scheduling Rules

    Select posts, then choose daily, weekly or monthly periods, post limits, date ranges, intervals and eligible dates.

  5. 5

    Confirm the Publishing Queue

    Click “Confirm Staggered Schedule” and check the planned time for each post.

Staggered scheduling and immediate publishing are separate actions.

Use “Confirm Staggered Schedule” to publish over time. “Publish Now” sends selected posts live immediately and ignores staggered scheduling settings.

Free Download

KennyDTC
Smart Publisher 1.6.1

No email address required. The package includes plugin code, upgrade notes, fix records and screenshots of the admin interface.

Plugin Name
KennyDTC Smart Publisher
Current Version
1.6.1
File Size
351.9 KiB
360,312 bytes
Updated
September 13, 2026
WordPress Requirements
Version 6.2 or later
PHP Requirements
Version 7.4 or later
SHA-256 · Original Package Checksum9edb38df2f462f7a328485b4d9228048b1a0eb270a169ae639a15a5298f9fc0b
Checks completed: batch categories with direct publishing and scheduling, browser form submission and existing category features.

Tested with WordPress 7.1, PHP 8.3.6 and Yoast SEO 28.4 using a SQLite database adapter. The team reproduced batch scheduling retaining Blog despite new category selections, then checked three publishing methods, Replace and Add modes, application scope, invalid-request handling and browser form submission. Existing default categories, English navigation and category handling across pages also passed checks. See the package’s upgrade notes for the full scope.

Installation and Upgrades

Install Fresh or Replace an Older Version

DOCX parsing requires ZipArchive and DOM extensions; XLSX also requires SimpleXML. WebP conversion depends on the host’s image library.

  1. 1

    Download the Original ZIP

    Download version 1.6.1 and keep it as a ZIP file. There is no need to extract it first.

  2. 2

    Open the Plugin Upload Page

    In WordPress, go to Plugins → Add New Plugin → Upload Plugin.

  3. 3

    Install or Replace the Current Version

    Activate the plugin after a new installation. If an older version is installed, choose “Replace current with uploaded.” Do not uninstall the old plugin first.

  4. 4

    Check Settings and Import

    Open Smart Publisher and check image settings, the Yoast toggle, default import categories and navigation language. Review imported content, apply batch categories if needed, then publish immediately or schedule by day, week or month.

Can an Upgrade Restore Posts Imported with Empty Content?

Version 1.5.1 fixed empty content when importing DOCX files with large embedded images. An upgrade alone cannot restore posts already saved blank. Reimport the original DOCX files, check content, images and schedules, then handle the old blank entries.

What If an Older Version Published Posts by Mistake?

Upgrading does not unpublish existing posts. To reschedule, select posts under Publishing Queue → Published and choose “Move Back to Drafts for Rescheduling.” Then set the schedule in Content Review. Moving posts to drafts temporarily removes them from the public site.

Changelog

Version History

Version 1.6.1 fixes batch categories being ignored during direct publishing or scheduling, while keeping default category management, English navigation and daily, weekly and monthly scheduling.

1.6.1 · Current Version

  • Fixed selected batch categories being ignored during direct publishing or scheduling, leaving old categories such as Blog.
  • Batch categories are submitted with bulk immediate publishing, per-post schedules and staggered schedules. Separate category saving remains available.
  • Clarified Replace and Add: Replace removes unselected old categories; Add keeps them. Batch categories take priority over individual post-card categories.
  • Batch category controls no longer preselect defaults, avoiding accidental overrides of per-post changes. Default import categories still apply during import.
  • Submit the selected post cards’ current categories without depending on whether the browser fired a category-change event.
  • Retained scope, unsaved-change and category-error checks. Categories on previously scheduled posts must be corrected manually.

1.6.0

  • Home, Breadcrumb and Table of Contents default to English on the public site, with a Chinese option in settings.
  • Category-only changes are saved with immediate publishing or staggered scheduling and are no longer blocked by an unsaved-content prompt.
  • Added central category management, multiple default import categories and access to WordPress’s native category manager.
  • Replace or add categories below the scheduling controls for a whole review batch across pages, or only selected posts on the current page.
  • Applying categories saves only categories. Other batches, published posts and scheduled posts are unaffected by the batch action.
  • Retained the large-image DOCX fix, Yoast toggle and daily, weekly and monthly scheduling, with regression checks for categories and existing features.

1.5.1

  • Fixed large embedded images hitting parser limits and causing empty DOCX content.
  • Parse SEO details paragraph by paragraph while preserving article text, images and text alongside images.
  • Added empty-content checks after parsing and processing. Failed imports now show an error instead of keeping blank drafts.
  • Used the reported problem file to check content, images, WebP featured images and SEO fields, then reran import and scheduling regression checks.

1.5.0

  • Added an automatic Yoast settings toggle, enabled by default. Turning it off stops automatic SEO field generation and updates while preserving existing values.
  • Imports, review saves, structure repairs and later publishing all respect the toggle. SEO fields in Content Review are read-only when it is off.
  • Added daily, weekly and monthly scheduling limits based on calendar weeks and months. Choose weekdays for weekly schedules or a date range for monthly schedules.
  • Post intervals support minutes, hours, days, weeks and months, with start and end dates and daily publishing windows.
  • If all selected posts cannot fit before the deadline, the batch is not scheduled. Existing published and scheduled posts from other batches are still considered.
  • Added handling for month-end dates, leap years, daylight saving time and cross-period schedules. Updated desktop and mobile scheduling controls.

1.4.0

  • Redesigned the admin workspace with consistent navigation, SEO previews, mobile support and unsaved-change prompts.
  • Fixed draft publication times being reset to the current time, which caused staggered schedules to publish immediately.
  • Scheduling checks actual post status and scheduled tasks, with cross-batch conflict handling, daily limits and publishing permission checks.
  • Improved Yoast keyphrase detection, explicit Word keyword extraction, field synchronization and index refresh.
  • Structure repairs preserve existing SEO content so manually entered keyphrases are not overwritten.
  • Fixed Excel date timezone offsets, duplicate extra images and overwritten metadata on reused media.
  • Added review pagination, overdue notices and an option to move published posts back to drafts.
  • Added upload and compressed-document size checks and improved duplicate handling for automatic anchor links.

1.3.1

  • Rewrote DOCX parsing to import paragraphs, tables and images in Word document order.
  • Improved support for table borders, background colors, column widths, header cells and merged cells.
  • Improved preservation of colors, font sizes, spacing, headings, lists, links and image details.

1.3.0

  • Updated the import page to show pasted content and file uploads side by side.
  • Added Scheduled, Published and Trash tabs to the publishing queue.
  • Added search, date filters, pagination, editing and recovery actions.

1.2.0–1.2.2

  • The review page supports direct editing of content, categories, Yoast SEO fields, publication times and featured images.
  • Added individual and bulk publishing, scheduled and staggered publishing, and reprocessing of older drafts.
  • Improved heading levels, URL slugs, meta descriptions and featured image cropping.

1.1.0–1.1.2

  • Added image figures and captions, WebP, HTML cleanup, breadcrumbs and a table of contents.
  • Added anchor text rules, links to official resources in the admin area and a privacy notice.
  • Improved DOCX heading parsing, featured image cropping and embedded image limits.

FAQ

Download and Usage Guide

The plugin reduces repetitive publishing work. You remain in control of content quality, keyword choices and the final publishing plan.

Is the Plugin Free? Do I Need an Account?

KennyDTC Smart Publisher is released under GPLv2 or later. The current version is free with no hidden fees. Downloading and using it requires no KennyDTC account or email address.

Why Do Posts Still Have the Blog Category After I Select Another Category?

In version 1.6.0, batch categories were saved only after clicking “Apply and Save Categories”; direct bulk publishing or scheduling ignored those selections. Version 1.6.1 fixes this. After upgrading, select your categories and “Replace Existing Categories,” then publish or schedule to remove Blog. “Add” keeps Blog. Upgrading does not change categories on older published or scheduled posts. You can update those in WordPress Quick Edit while keeping their dates. Individual buttons at the bottom of each post card use only that card’s categories.

How Do I Change Categories for a Whole Batch?

Select the import batch in Content Review. Under “Batch Categories” below the scheduling controls, choose categories, Replace or Add, and the scope. From 1.6.1, you can publish or schedule in bulk and the categories will be saved first, or click “Apply and Save Categories” separately. Batch categories override card categories. Replace removes unselected old categories such as Blog; Add keeps them. Whole-batch scope includes other pages, up to 100 posts. Only selected posts are published or scheduled.

Must I Save Every Post Before Publishing After Changing Categories?

If you changed only categories on post cards, select the posts and publish or schedule directly. Categories are saved in the same request before publishing continues. A failed save stops publication and shows an error. Unsaved title, content, SEO or featured image changes still need a separate save. If categories save but the schedule rules are invalid, the plugin reports it and does not publish automatically.

Where Do I Manage Default Import Categories?

Under Plugin Settings → Category Management, select existing site categories or open WordPress’s native category manager. The priority is: categories explicitly matched from the document, plugin import defaults, enabled category suggestions, then WordPress’s default category. Defaults affect only new imports. Use batch category controls to update existing imports.

Can I Change the Default English Article Navigation to Chinese?

Yes. Change the navigation language under Plugin Settings → HTML and Article Navigation. Home, Breadcrumb and Table of Contents default to English regardless of the admin or site language. Post titles and category names are not translated automatically. Existing imported navigation can update with the setting; refresh affected post caches if page caching is enabled.

Can an Upgrade Restore Posts Imported with Empty Content?

Version 1.5.1 fixed empty content when importing DOCX files with large embedded images. An upgrade alone cannot restore posts already saved blank. Reimport the original DOCX files, check content, images and schedules, then handle the old blank entries.

Will Importing Multiple Files Publish Them Immediately?

No. Imports create drafts and add them to the review queue. After checking and saving, choose daily, weekly or monthly scheduling, per-post times or immediate publishing. Version 1.6.1 retains the earlier fixes for draft times being reset and scheduled posts publishing immediately.

How Do I Set Up Staggered Publishing?

Save your changes in Content Review and select the posts. Choose daily, weekly or monthly scheduling, a maximum number of posts per period, a start time, an optional deadline, a minimum interval and a daily time window. Weekly schedules allow weekday selection; monthly schedules allow dates from 1–31. Click “Confirm Staggered Schedule.” Period limits are maximums, not even-distribution targets. Weeks run Monday to Sunday and months follow the calendar. Daily time windows cannot cross midnight.

Why Can Scheduled Posts Be Delayed?

WordPress scheduling uses WP-Cron, which needs site traffic or a server task to trigger it. Low traffic, disabled WP-Cron or hosting problems can delay publication. Several overdue tasks may run together when service resumes. For reliable triggers, ask your host to run wp-cron.php on a schedule. The queue flags overdue posts.

How Can the Plugin Read My Focus Keyphrase Accurately?

Enable automatic Yoast settings and provide one complete phrase. In Word, use a separate paragraph such as “Keyword: mosaic puzzle.” For JSON or XLSX, use focus_keyphrase; keyword, keywords and focus_keyword are also supported. If no phrase is supplied, the plugin generates an editable suggestion that still needs review.

Where Should I Edit Yoast Fields?

With automatic Yoast settings enabled, edit and sync them in Content Review. When the feature is off, those SEO fields are read-only and the plugin stops automatic writes. You can still edit them manually in the Yoast panel of WordPress’s post editor. The plugin’s phrase-location hints are not Yoast scores.

Will Word Formatting Be Preserved Exactly?

The plugin preserves web-compatible paragraphs, tables, headings, lists, text formatting, links and image details where possible. It does not promise a pixel-perfect copy of Word’s page layout. Fixed page breaks, headers and footers are not intended to be reproduced exactly on the web. Check the actual preview after import.

How Many Files Can I Upload at Once?

The plugin allows up to 20 MB per file, 50 files and 100 articles per import. Your host may impose lower limits on file size, file count or request size; follow the on-screen limits. DOCX and XLSX imports also check the size of extracted content. Split large imports into smaller batches.

Can Images Be Converted to WebP?

If the server’s image library supports it, new static images can be converted and compressed to WebP, with adjustable quality and maximum width. Animated GIFs keep their original format. Featured images can be kept in full or cropped.

Does the Plugin Upload My Domain, Email or Article Data?

The plugin does not automatically report your installation domain, admin email or article content. Downloading remote images referenced in articles or clicking official website links in the admin area generates the normal network requests for those actions.

Will Upgrading Delete Existing Posts or Settings?

Upload the new ZIP and replace the current plugin to retain posts, media and settings. Do not uninstall the old version first. Posts published by mistake are not automatically unpublished. If needed, use Publishing Queue → Published → Move Back to Drafts for Rescheduling.

How Do I Report a Compatibility Problem?

Use theKennyDTC Contact Pageto share your WordPress, PHP and Yoast versions, steps to reproduce the issue and error messages. Do not send website passwords or other sensitive information.

Can I Turn Off Automatic Yoast Settings?

Yes. Turn off “Automatic Yoast Settings” under Smart Publisher → Plugin Settings → Categories and SEO. It is enabled by default. When off, the plugin stops generating or writing SEO titles, descriptions and focus keyphrases, while preserving existing values. This does not disable Yoast or affect content, images, slugs, excerpts or manual edits in the Yoast panel. Turning it back on does not itself rewrite older posts in bulk.

What If Posts Do Not Fit Before the Deadline, or a Month Has No 31st?

If a deadline is set and all selected posts cannot fit, the batch is not scheduled and you are prompted to adjust the rules. A monthly date range of 31–31 skips months without a 31st. Monthly intervals are calculated from the previous actual scheduled date; if the next month lacks that date, its last day is used.

KENNYDTC GROWTH SUPPORT

Make Every Article
Part of Your Growth Plan

Need keyword and content cluster planning, or guest post links relevant to your business? Share your website and target markets to discuss the next step with KennyDTC.