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.
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.
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.
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
WordPress Site Owners
Reduce copying, formatting, image uploads and setting publication dates one post at a time.
SEO Professionals
Review categories, SEO titles, descriptions and focus keyphrases in one place.
Website Managers
Prepare articles and images, then publish in batches according to your content plan.
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.
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.
Tables, Headings and Lists
Supports Word table borders, background colors and merged cells, plus heading levels, lists, text formatting and hyperlinks.
Multiple Files and Pasted Content
Select multiple DOCX, XLSX or JSON files at once, or paste rich text, HTML or common Markdown.
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.
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.
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.
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.
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.
Publishing Queue and Recovery
View scheduled, published and trashed posts with search, filters and pagination. Move published posts back to drafts for rescheduling.
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.
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.
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
Prepare Your Content
Organize articles, images, categories and optional SEO details.
- 2
Import as Drafts
Upload files or paste content to add posts to the review queue.
- 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
Set Scheduling Rules
Select posts, then choose daily, weekly or monthly periods, post limits, date ranges, intervals and eligible dates.
- 5
Confirm the Publishing Queue
Click “Confirm Staggered Schedule” and check the planned time for each post.
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
9edb38df2f462f7a328485b4d9228048b1a0eb270a169ae639a15a5298f9fc0bTested 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
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
Open the Plugin Upload Page
In WordPress, go to Plugins → Add New Plugin → Upload Plugin.
- 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
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.
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.