SSP Documentation
Admin Screens
The plugin adds a top-level menu item Republish Old Posts Lite (update icon) with four tabs:
- Enable/disable republishing schedule
- Set republish interval (days, weeks, months only)
- Selection method (random from oldest pool or oldest first)
- Category filtering for posts
- Manual “Run Once Now” button
- Enable/disable activity logging
- View up to 200 most recent republished posts
- Track original date and last republished timestamp
- Full-width sortable table display
- Compare Lite vs Pro features
- High-frequency scheduling (minutes/hours)
- Priority marked posts queue
- Cooldown protection
- WooCommerce product support
- Upgrade information
- Product showcase with images
- Other available plugins
- Direct links to plugin pages
Navigation
| Menu Location | Republish Old Posts Lite (update icon) in the WP admin sidebar at priority 80 |
|---|---|
| Permissions | Only users with manage_options capability can access settings |
| Settings Page | admin.php?page=ssp-republish-posts |
How It Works
Republish Old Posts Lite uses WordPress’s built-in WP-Cron system to automatically refresh old content:
- Activation: Default settings are created and WP-Cron event is scheduled
- Scheduled Execution: At each interval tick, plugin selects a candidate post according to current rules
- Date Update: Selected post’s
post_dateandpost_date_gmtare updated to current time - Metadata Tracking: Post receives
_ssp_last_republishedmeta timestamp for tracking - Cache Clearing: Post cache is cleared to ensure fresh data throughout WordPress
Selection Methods
| Oldest First | Always selects the chronologically oldest eligible post based on original publish date |
|---|---|
| Random from Oldest Pool | Builds a pool of N oldest posts (configurable size, default 50), then randomly selects one from that pool |
Single General Pool
Lite version includes only the general republishing pool:
- Category-filtered automatic republishing
- Configurable selection method and pool size
- Simple enable/disable toggle
- Best for basic evergreen content refresh
Scheduling & Selection
Interval Configuration (Lite Limitations)
Lite version supports longer intervals only:
| Days | 1+ days (default: 1 day) – Recommended for most sites |
|---|---|
| Weeks | 1+ weeks – For slow rotation strategies |
| Months | 1+ months (treated as 30 days internally) – For very infrequent updates |
| Minutes | Pro Only – Not available in Lite |
| Hours | Pro Only – Not available in Lite |
WP-Cron Schedule
The plugin registers a custom WP-Cron schedule:
ssp_republish_lite_interval– General pool schedule- Labeled as “[SSP Lite] Every N days/weeks/months” in cron listings
When settings are saved, existing scheduled events are cleared and new ones are created to reflect the updated interval.
Candidate Rules
- All published posts (
posttype only) - Filtered by selected categories if any are chosen
- Sticky posts are ignored (
ignore_sticky_posts=true) - Ordered by original publish date ascending (oldest first)
- No cooldown enforcement (Pro feature)
- No marked/priority posts (Pro feature)
Selection Mode Details
- Fetches N oldest eligible posts (default 50)
- Randomly selects one from that pool
- Provides variety while prioritizing old content
- Prevents predictable patterns
- Deterministically selects the single oldest post
- Ensures systematic rotation through all content
- Predictable republishing order
- Best for complete archive coverage
Activity & Logs
The Activity / Logs tab provides visibility into republishing history:
Enable/Disable Logging
Checkbox option: “Enable Logs” – controls visibility of the logs table. When disabled, table is hidden. Setting is stored in ssp_activity_enabled option (default: enabled).
Log Display
Full-width striped table showing up to 200 most recently republished posts:
| Query | Posts with _ssp_last_republished meta, ordered by that meta value (newest first) |
|---|---|
| Limit | 200 posts maximum |
| Status Filter | Only published posts shown |
Table Columns
- Post: Linked to edit screen
- Original Date: Original publish date (unchanged by republishing)
- Last Republished: Formatted timestamp from meta, or “Never”
Posts List Column
The plugin adds a “Last Republished” column to the Posts admin list, appearing after the Title column:
- Shows formatted date/time using site’s date/time format settings
- Displays “Never” if post hasn’t been republished by the plugin
- Data source:
_ssp_last_republishedpost meta (Unix timestamp)
Empty State
When no posts have been republished yet, a centered message displays: “Nothing republished yet.”
Lite vs Pro Comparison
Understand the differences between Lite and Pro versions:
| Scheduling Intervals |
Lite: Days, weeks, months only Pro: Minutes, hours, days, weeks, months |
|---|---|
| Content Types |
Lite: Posts only Pro: Posts AND WooCommerce products |
| Republishing Pools |
Lite: Single general pool Pro: General pool + Priority marked posts queue |
| Cooldown Protection |
Lite: Not available Pro: Configurable cooldown (hours to years) |
| Per-Post Controls |
Lite: View-only “Last Republished” column Pro: Metabox, bulk actions, row actions, marked queue |
| Category Auto-Include |
Lite: Category filtering only Pro: Auto-include entire categories in priority queue |
| Admin Interface |
Lite: 2 functional tabs (General, Activity) + Pro upgrade tab Pro: 3 full tabs (General, Marked Pool, Activity) |
| Use Cases |
Lite: Basic evergreen content rotation, simple blogs Pro: News sites, e-commerce stores, high-frequency publishing, strategic content management |
Pro Exclusive Features
- Republish every 15 minutes, hourly, etc.
- Perfect for news sites and trending content
- Keep content flowing constantly
- Mark specific posts for priority republishing
- Separate queue with independent schedule
- Bulk mark/unmark actions
- Auto-include entire categories
- Prevent over-republishing same posts
- Configurable from hours to years
- Protect user experience
- Republish products alongside posts
- Product category filtering
- Perfect for evergreen product catalogs
- Perfect for cycling products throughout your site
Troubleshooting
No posts are being republished automatically
- Verify republishing is enabled on General tab
- Check that your interval value and unit are saved correctly
- Confirm categories are selected (if you want category filtering) and contain published posts
- Test with “Run Once Now” button to isolate WP-Cron from selection logic
- On low-traffic sites, WP-Cron may not fire regularly – consider triggering
wp-cron.phpvia system cron or external service - Check for plugin conflicts that might clear scheduled events
I need to republish more frequently than daily
Lite version is limited to days, weeks, and months intervals. For minutes and hours intervals (high-frequency republishing), you’ll need to upgrade to Pro version.
Can’t find option to mark specific posts
Priority marked posts queue, per-post marking, bulk actions, and metabox controls are Pro-only features. Lite version provides category-based filtering only.
Want to republish WooCommerce products
WooCommerce product support is exclusive to Pro version. Lite only supports standard WordPress posts.
List column shows “Never” but I republished manually
The “Last Republished” column reflects only this plugin’s automatic republishing via the _ssp_last_republished meta timestamp. Manual edits or republishing through other methods won’t update this value.
Manual “Run Once Now” doesn’t seem to work
- Check the Activity / Logs tab to confirm if a post was actually republished
- With “Oldest first” mode and specific filters, it may pick the same post multiple times legitimately
- If your candidate set is empty due to filters, no action will occur – verify category selections
- Ensure at least one published post exists that matches your category filters
Changed intervals but still runs at old schedule
Saving settings clears and reschedules events, but a previously queued cron job might still be close to firing. Wait for one complete cycle of the old interval, or use a cron manager plugin to manually clear events and resave settings.
Want cooldown protection feature
Cooldown protection (preventing the same post from being republished too soon) is a Pro-only feature. Lite version has no cooldown enforcement.
How to upgrade from Lite to Pro
- Go to the “Pro Version” tab in plugin settings
- Review Pro features and click upgrade link
- Purchase and download Pro version
- Deactivate Lite version (settings are preserved)
- Install and activate Pro version
- Your existing settings (categories, interval, etc.) will be migrated automatically
Test / Verification
Follow these steps to verify the plugin is working correctly:
Basic Functionality Test
- Create 3-5 test posts with different publish dates in a category like “Test Evergreen”
- Go to General tab and verify republishing is enabled
- Set interval to “1 day” for testing
- Choose “Random (from oldest pool)” selection method
- Set pool size to 3
- Select only the “Test Evergreen” category
- Click Save Settings
- Click Run Once Now
- Visit Posts list and confirm one post’s date changed to now
- Check “Last Republished” column shows current timestamp
- Go to Activity / Logs tab and verify the entry appears
Selection Mode Test
- Switch to “Oldest first” selection method
- Save settings
- Click “Run Once Now”
- Verify the chronologically oldest post in your filtered set was republished
- Run again and confirm it picks the next oldest
Category Filter Test
- Create posts in two different categories
- Select only one category in General settings
- Run once now
- Verify only posts from the selected category are republished
- Unselect all categories (blank = all posts)
- Verify posts from all categories are now eligible
Logs Test
- Go to Activity / Logs tab
- Verify logs are enabled
- Republish several posts manually via “Run Once Now”
- Confirm all appear in the logs table
- Check they’re sorted by most recent first
- Disable logs and verify table disappears
- Re-enable and confirm data persists
WP-Cron Simulation
On low-traffic test sites, you may need to manually trigger WP-Cron:
curl https://your-site.com/wp-cron.php
Or visit https://your-site.com/wp-cron.php directly in your browser after waiting for the scheduled interval to pass.