WPで記事の更新日を自動で更新する方法(ランダムで自動更新)

更新日を自動更新静岡県富士市のホームページ制作

WPで記事の更新日を自動で更新する方法を紹介します。

これを作成したきっかけは、「更新日が変更になるだけで、ページとして更新されたと検索エンジンが認識し、検索エンジンからの評価は上がるのか?」を試してみたかったためです。

結果として「更新日は自動的に変わりましたが、検索エンジンに評価されたかはわかりません。」でした。

またこれから紹介する内容は「function.php」に記述する内容となります。そのため少しの記述ミスでサイトが真っ白になってしまう可能性があります。よって必ずバックアップを取り自己責任で行うようにしてください。

 

記事を更新日を自動更新させるためのコード

  1. // CRONジョブをスケジュールする関数
  2. function wpb_schedule_random_update() {
  3.     if (!wp_next_scheduled('wpb_update_random_posts')) {
  4.         wp_schedule_event(time(), 'daily', 'wpb_update_random_posts');
  5.     }
  6. }
  7. add_action('wp', 'wpb_schedule_random_update');
  8. // ランダムに選択された記事の更新日時を変更する関数
  9. function wpb_update_random_posts_function() {
  10.     // ランダムに3つの記事を取得するクエリ
  11.     $args = array(
  12.         'post_type' => 'post',
  13.         'post_status' => 'publish',
  14.         'orderby' => 'rand',
  15.         'posts_per_page' => 10, // 10個の記事をランダムに取得
  16.     );
  17.     $random_posts = get_posts($args);
  18.     // 各記事の更新日時をランダムに設定
  19.     foreach ($random_posts as $post) {
  20.         $post_id = $post->ID;
  21.         $random_time = mt_rand(-86400, 86400); // -1日から1日までのランダムな秒数を生成
  22.         $current_time = current_time('mysql');
  23.         $random_update_time = date('Y-m-d H:i:s', strtotime($current_time) + $random_time); // 現在の日時にランダムな秒数を追加
  24.         wp_update_post(
  25.             array(
  26.                 'ID' => $post_id,
  27.                 'post_modified' => $random_update_time,
  28.                 'post_modified_gmt' => get_gmt_from_date($random_update_time),
  29.             )
  30.         );
  31.     }
  32. }
  33. add_action('wpb_update_random_posts', 'wpb_update_random_posts_function');

 

以上のようになります。

 

お断り

冒頭でもお話ししましたが、function.phpに記述する内容であるため、必ずバックアップを取ってから作業をするようにしてください。

万が一問題が発生したとしても、弊社側では責任を負うことができませんのでご了承ください。