For larger websites and web portals, keeping their website layout look fresh is one of the most important factors. You may be posting lot of new content in your website but if it;s layout remains same, users might not feel any difference.
One great way to show visitors new layout to see each time they visit your site, apart from the content, is to rotate different content blocks. Every web portals has different content blocks which are dynamic and show content from each sections or whatever they hold. You can easily rotate these content blocks which usually are the php include files.
For instance you have a well structured web portal where you include different include files to display content from different sections. Of course each section content is fetched from database and is dynamic but by rearranging the include files by changing their order dynamically based on the date, web site layout will bring a fresh look and feel where each content block will rotate.
Just define the the include files in an array (or you can even fetch this from database) like this:
// This function will rotate the array values as per offset value
function array_rotate($array, $shift) {
$shift %= count($array);
if($shift < 0) $shift += count($array);
return array_merge(array_slice($array, $shift, NULL, true), array_slice($array, 0, $shift, true));
}
//define the content blocks files
$content_blocks = array('/block1.php','/block2.php', '/block3.php','/block4.php', '/block5.php');
//find the offset using today's date
$block_offset = date('j') % count($content_blocks);
//rotate the array to re-arrange content blocks
$content_blocks = array_rotate($content_blocks, $block_offset);
//print the content blocks here by including them in the page one by one
foreach($content_blocks as $k){
if(file_exists(dirname(__FILE__).$k)) include(dirname(__FILE__).$k);
}
So each day, your website home page or (any other page) will display content blocks in new order, bringing it a fresh look everyday. Of course, you can make content of each block file also dynamic.
Hope that helps.
Cheers!