Title: DateSweep – Bulk Update Post &amp; Page Dates
Author: digtiz
Published: <strong>జూలై 21, 2026</strong>
Last modified: జూలై 22, 2026

---

Search plugins

![](https://ps.w.org/datesweep/assets/banner-772x250.png?rev=3617197)

![](https://ps.w.org/datesweep/assets/icon.svg?rev=3617197)

# DateSweep – Bulk Update Post & Page Dates

 By [digtiz](https://profiles.wordpress.org/digtiz/)

[Download](https://downloads.wordpress.org/plugin/datesweep.2.6.1.zip)

 * [Details](https://te.wordpress.org/plugins/datesweep/#description)
 * [Reviews](https://te.wordpress.org/plugins/datesweep/#reviews)
 *  [Installation](https://te.wordpress.org/plugins/datesweep/#installation)
 * [Development](https://te.wordpress.org/plugins/datesweep/#developers)

 [Support](https://wordpress.org/support/plugin/datesweep/)

## Description

DateSweep refreshes the published and/or modified dates of your content in bulk.
New dates are distributed randomly across a range you choose, so the result looks
natural — and every run can be previewed first and undone afterwards.

Use it to bulk-change post dates, update the published or modified date across pages
and custom post types, or bulk-edit comment dates — all from one screen, with a 
dry-run preview and one-click undo.

#### Typical use cases

 * **Pre-launch freshness pass** — you built a new site from an older template or
   a copy of an existing site, and everything still carries dates from years ago.
   One run on the “All content” tab (optionally with drafts included and both dates
   set equal) makes the whole site look current before launch.
 * **After an import or migration** — imported content often ends up with a single
   identical date on every post, or wrong dates from a timezone mix-up. Spread realistic
   dates across a chosen range in one pass.
 * **Content maintenance for SEO** — you reviewed and batch-edited older articles
   and want their modified dates to reflect that work naturally over the past weeks
   instead of one suspicious spike.
 * **Comments that match** — after an import, comments dated before their own posts
   look broken. The Comments tab redates them plausibly (a comment is never dated
   before its post).

#### How it works

Pick a tab (a post type, Comments, or All content), choose the range to distribute
dates within, optionally filter by taxonomy, status or specific pages, and choose
which date field to update. **Preview (dry run)** shows current  proposed dates 
before anything is written. Runs are processed in batches of 100 over AJAX with 
a live progress bar, so even very large sites finish without PHP timeouts. Before
each batch is written, the previous dates are snapshotted — your most recent run
can always be restored with one click from the **Recent runs** list.

#### Features

 * **Batched AJAX processing with a live progress bar** — works on sites with tens
   of thousands of posts without PHP timeouts.
 * **All public post types** — posts, pages and custom post types each get their
   own tab, plus a Comments tab.
 * **Filter by any taxonomy** (categories, tags, custom taxonomies) with AND/OR 
   relation, or pick specific pages.
 * **Choose the field**: modified date, published date, or both set equal.
 * **Safety guard**: never sets a modified date earlier than the published date (
   the classic plugin’s known flaw).
 * **Comments stay plausible**: a comment is never dated before its parent post.
 * **No external CDNs** — native date pickers, vanilla JavaScript, everything loaded
   locally.
 * **Undo built in**: every run records the previous dates first, and your most 
   recent run can be restored with one click.
 * **Hardened**: capability checks, nonces, full input sanitization and output escaping,
   prepared SQL statements, object-cache invalidation after every update.
 * **Developer friendly**: actions and filters for every stage (`datesweep_post_dates_updated`,`
   datesweep_collected_post_ids`, `datesweep_new_timestamp`, `datesweep_form_rows`
   and more).

#### DateSweep Pro

The [DateSweep Pro](https://datesweep.com/) add-on extends the free plugin with 
scheduled automatic refreshes, a 10-run undo history, 100-row dry-run previews, 
ACF date-field support, age targeting and IndexNow submission.

## Screenshots

[⌊The "All content" tab — one freshness pass across every post type.⌉⌊The "All content"
tab — one freshness pass across every post type.⌉[

The “All content” tab — one freshness pass across every post type.

[⌊Dry-run preview: current dates and proposed new dates, before anything is written.⌉⌊
Dry-run preview: current dates and proposed new dates, before anything is written
.⌉[

Dry-run preview: current dates and proposed new dates, before anything is written.

[⌊A run in progress — batched processing with a live progress bar.⌉⌊A run in progress—
batched processing with a live progress bar.⌉[

A run in progress — batched processing with a live progress bar.

[⌊Recent runs with one-click Undo.⌉⌊Recent runs with one-click Undo.⌉[

Recent runs with one-click Undo.

## Installation

 1. Upload the `datesweep` folder to `/wp-content/plugins/`, or install the zip via
    Plugins  Add New  Upload.
 2. Activate the plugin.
 3. Go to **Tools  DateSweep**, pick a tab, choose a range and click _Update Dates_.

## FAQ

### Will this time out on a large site?

No. Items are processed in batches of 100 over AJAX; the browser drives the queue
and shows progress. Only the ID collection happens up front.

### Can I undo an update?

Yes. Every run records the previous dates before writing, and the Recent runs list
on the plugin page lets you undo your most recent run with one click. DateSweep 
Pro extends this to an undo history of your last 10 runs. A database backup before
large operations is still good practice.

### Does it change dates in the future?

No. The range is always capped at the current time.

### Does it change my content?

No. Only the date columns of posts/pages (`post_date`, `post_modified` and their
GMT counterparts) or comment dates are touched. Titles, content, excerpts, custom
fields and settings are never modified.

### Does it work with page builders like Elementor, Avada or Divi?

Yes. Builders store their layouts in content and meta fields, which DateSweep never
touches — only the core date columns change. If your theme displays a date from 
a custom field instead of the WordPress date, see DateSweep Pro’s ACF integration.

### Does it work with custom post types?

Yes, automatically. Every public custom post type — whether registered by a theme,
a plugin or ACF — gets its own tab and is included in the “All content” pass.

### Is it safe for SEO? Will Google penalize me?

DateSweep changes dates, not content. Search engines reward genuinely updated content;
refreshing dates without any real changes can be ignored or, at worst, erode trust
in your dates. Use it where the dates are genuinely misleading (imports, rebuilds,
migrations) or alongside real content maintenance — not as a substitute for it.

### Why did nothing change on my site after a run?

Your dates did change in the database — but a caching plugin or CDN may still serve
old pages. Clear your page cache after a run. (Object caches are already flushed
automatically.)

### Where do I find the plugin after activating it?

Under **Tools  DateSweep**.

### Can I schedule automatic refreshes?

That’s a DateSweep Pro feature: daily, weekly or monthly schedules with a “Save &
Run Now” button, age targeting so recently edited content is left alone, and IndexNow
submission so search engines re-crawl the refreshed URLs quickly.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“DateSweep – Bulk Update Post & Page Dates” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ digtiz ](https://profiles.wordpress.org/digtiz/)

[Translate “DateSweep – Bulk Update Post & Page Dates” into your language.](https://translate.wordpress.org/projects/wp-plugins/datesweep)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/datesweep/), check 
out the [SVN repository](https://plugins.svn.wordpress.org/datesweep/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/datesweep/) by [RSS](https://plugins.trac.wordpress.org/log/datesweep/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.6.1

 * Renamed internal prefixes to `datesweep_` (from `dsw_`) to meet WordPress.org’s
   4-character prefix guideline. Fresh installs only; no data migration. Removed
   bundled translation files and the manual textdomain load (WordPress.org handles
   translations automatically).

#### 2.6.0

 * Undo history: the free plugin keeps your most recent run (previously 5). The 
   new `datesweep_keep_runs` filter lets add-ons extend the history — DateSweep 
   Pro keeps the last 10 runs.

#### 2.5.2

 * The “no items match” check now runs after extensions filter the job, so add-ons
   that narrow the selection (e.g. age targeting) report empty results correctly.

#### 2.5.1

 * Undo progress and success message now count items (posts/comments) instead of
   internal snapshot rows, so runs that include ACF fields report correct numbers.

#### 2.5.0

 * Plugin renamed to DateSweep. Slug, text domain and all internal prefixes updated(`
   datesweep_`). No functional changes.

#### 2.4.0

 * New extension seams for add-ons: `datesweep_form_rows` action (extra form rows),`
   datesweep_job_data` filter (attach data to a job), `datesweep_batch_processed`
   action (post-batch processing) and `datesweep_restore_snapshot` action (restore
   custom snapshot types).

#### 2.3.0

 * Translations added: German (de_DE), Dutch (nl_NL, nl_BE) and French (fr_FR, fr_BE),
   plus a POT template.
 * The dry-run preview limit is now filterable (`datesweep_preview_limit`) for the
   Pro add-on.
 * New public helper `DSW_Processor::range_from_preset()` used by scheduled (Pro)
   runs.
 * Confirmation dialog now mentions that runs can be undone.

#### 2.2.0

 * Undo/rollback: every run snapshots the previous dates before writing; the new“
   Recent runs” list restores them with one click (batched, with progress).
 * The last 5 runs are kept; snapshots are pruned automatically and removed on uninstall.
 * New action hook: `datesweep_post_dates_restored`.

#### 2.1.0

 * New “All content” tab: one freshness pass across every public post type at once—
   ideal before launching a site built from an older template.
 * Dry-run preview: see current  proposed dates for a sample of matching items before
   committing.
 * Post status selection: optionally include drafts, pending and private items.
 * New extension filters: `datesweep_collected_post_ids`, `datesweep_new_timestamp`.

#### 2.0.0

 * Complete rewrite: OOP architecture, batched AJAX processing with progress bar.
 * Native date pickers; removed all CDN dependencies (moment.js, daterangepicker).
 * Full sanitization, escaping, nonce and capability hardening.
 * Fixed: modified date can no longer be set before the published date (optional
   guard, on by default).
 * Object cache is now invalidated after every update.
 * Added `datesweep_post_dates_updated` action hook.
 * Uninstall cleanup.

## Meta

 *  Version **2.6.1**
 *  Last updated **13 గంటలు ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/datesweep/)
 * Tags
 * [bulk edit](https://te.wordpress.org/plugins/tags/bulk-edit/)[change date](https://te.wordpress.org/plugins/tags/change-date/)
   [modified date](https://te.wordpress.org/plugins/tags/modified-date/)[post date](https://te.wordpress.org/plugins/tags/post-date/)
   [published date](https://te.wordpress.org/plugins/tags/published-date/)
 *  [Advanced View](https://te.wordpress.org/plugins/datesweep/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/datesweep/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/datesweep/reviews/)

## Contributors

 *   [ digtiz ](https://profiles.wordpress.org/digtiz/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/datesweep/)