Changing WP Post Dates

Discussion in 'White Hat SEO' started by edgematch, Mar 21, 2011.

  1. edgematch

    edgematch Elite Member

    Joined:
    May 24, 2010
    Messages:
    2,542
    Likes Received:
    1,954
    Occupation:
    You can never guess!
    Location:
    :noitacoL
    I posted this as the request of a member but he did not look at his thread later. He was asking for a script which will change the dates of posts between a time interval.

    This script does just that. thanks goes to the original coder. Actually I forgot where I found it, but it is not definitely mine.

    PHP:
    <?php
    // define mysql connect
    $dbname "dbname";
    $dbuser "dbuser";
    $dbpass "dbpass";
    $dbhost "localhost"// this can usually stay 'localhost'

    $wp_table "wp_posts"// define wordpress table name

    $gmt_offset '-8'// -8 for California, -5 New York, +8 Hong Kong, etc.

    $min_days_old 1// the minimum number of days old
    $max_days_old 20// the maximum number of days old

    // connect to db
    mysql_connect($dbhost,$dbuser,$dbpass);
    mysql_select_db($dbname);


    $result mysql_query("SELECT ID FROM $wp_table WHERE post_type = 'post'") or die(mysql_error());
    while (
    $l mysql_fetch_array($result)) {
        
    $post_id $l['ID'];
        echo 
    "Updating: $post_id <br>";

        
    $day rand($min_days_old$max_days_old);
        
    $hour rand(023);

        
    $new_date date'Y-m-d H:i:s'strtotime("-$day day -$hour hour") );
        
    $gmt_new_date date'Y-m-d H:i:s'strtotime("-$day day -$hour hour -$gmt_offset hour") );

        
    mysql_query("UPDATE $wp_table SET post_date='$new_date', post_date_gmt='$gmt_new_date',
        post_modified='
    $new_date', post_modified_gmt='$gmt_new_date' WHERE ID='$post_id'")
        or die(
    mysql_error());

    }

    echo 
    "<hr>DONE!";

    ?>
    1. save this as a php file (cpd.php) (you can tweak dates)
    2. put in the root folder of the domain
    3. run as http://www.mydomain.com/cpd.php