ارسال مطالب با تاخیر بر روی RSS در وردپرس

AHMAD

ایران وب ادمین
عضو کادر مدیریت
ناظر انجمن
عضویت
28/1/15
ارسال ها
145
امتیاز
6
محل سکونت
Matt Cutts Office
وب سایت
www.rastana.com
سلام

احتمالا شما هم مانند من و بسیاری از کاربران با مشکل دزدیده شدن مطالب توسط روبات های RSS Reader مواجه شده اید.

این ربات ها مطالب شما را بلافاصله پس از انتشار ، از طریق RSS خوانده و به صورت خودکار در وب سایت مقصد منتشر می کنند. این کار به صورت مستقیم و غیر مستقیم باعث ضربه خوردن به وب سایت شما خواهد شد به این صورت که مطلبی که از طریق RSS وارد سایت دیگری شده ، زودتر از سایت شما ایندکس می شود و در نتیجه گوگل اینطور برداشت می کند که شما آن مطلب را از سایت دیگری کپی کرده اید.

یکی از راه های مقابله با این مشکل، انتشار مطالب با تاخیر زمانی بر روی rss است که باعث می شود مطلبی که منتشر کرده اید ایندکس شود و بعد بر روی RSS قرار بگیرد.

برای این کار کد زیر را در فایل functions.php قالب خود قرار دهید :
کد:
function publish_later_on_feed($where) {
    global $wpdb;
    if ( is_feed() ) {
    // timestamp in WP-format
    $now = gmdate('Y-m-d H:i:s');
    // value for wait; device
    $wait = '15'; // integer
    // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
    $device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
    // add SQL-sytax to default $where
    $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
    }
    return $where;
    }
    add_filter('posts_where', 'publish_later_on_feed');

به جای عدد 15 می توانید مقدار زمان مد نظر خود را به دقیقه وارد کنید.
 

farid

مدیر کل انجمن
عضو کادر مدیریت
مدیر کل انجمن
عضویت
20/5/15
ارسال ها
452
امتیاز
10
وب سایت
faraso.org
سلام

احتمالا شما هم مانند من و بسیاری از کاربران با مشکل دزدیده شدن مطالب توسط روبات های RSS Reader مواجه شده اید.

این ربات ها مطالب شما را بلافاصله پس از انتشار ، از طریق RSS خوانده و به صورت خودکار در وب سایت مقصد منتشر می کنند. این کار به صورت مستقیم و غیر مستقیم باعث ضربه خوردن به وب سایت شما خواهد شد به این صورت که مطلبی که از طریق RSS وارد سایت دیگری شده ، زودتر از سایت شما ایندکس می شود و در نتیجه گوگل اینطور برداشت می کند که شما آن مطلب را از سایت دیگری کپی کرده اید.

یکی از راه های مقابله با این مشکل، انتشار مطالب با تاخیر زمانی بر روی rss است که باعث می شود مطلبی که منتشر کرده اید ایندکس شود و بعد بر روی RSS قرار بگیرد.

برای این کار کد زیر را در فایل functions.php قالب خود قرار دهید :
کد:
function publish_later_on_feed($where) {
    global $wpdb;
    if ( is_feed() ) {
    // timestamp in WP-format
    $now = gmdate('Y-m-d H:i:s');
    // value for wait; device
    $wait = '15'; // integer
    // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
    $device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
    // add SQL-sytax to default $where
    $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
    }
    return $where;
    }
    add_filter('posts_where', 'publish_later_on_feed');

به جای عدد 15 می توانید مقدار زمان مد نظر خود را به دقیقه وارد کنید.
سلام
آیا برای اینکار ماژولی هم وجود دارد چون در صورت افزودن این کد و تغییر قالب مجددا باید به قالب دیگر کد مورد نظر افزوده شود اما اگر ماژولی وجود داشته باشد
نیاز به این کار به ازای هر قالب نخواهد بود
 

AHMAD

ایران وب ادمین
عضو کادر مدیریت
ناظر انجمن
عضویت
28/1/15
ارسال ها
145
امتیاز
6
محل سکونت
Matt Cutts Office
وب سایت
www.rastana.com
سلام
آیا برای اینکار ماژولی هم وجود دارد چون در صورت افزودن این کد و تغییر قالب مجددا باید به قالب دیگر کد مورد نظر افزوده شود اما اگر ماژولی وجود داشته باشد
نیاز به این کار به ازای هر قالب نخواهد بود

سلام

من ماژول معروف و شناخته شده ای برای این کار ندیدم اما تبدیل این کد به ماژول 2 دقیقه بیشتر زمان نمی بره

توصیه می کنم یک ماژول اختصاصی برای وب سایت خودتون ایجاد کنید و در مواردی که به این شکل مجبور هستید از کد استفاده کنید ، کافیه کد مورد نظر را در فایل php ماژول قرار بدین. در این صورت مجموعه ای از کدهای اختصاصی را در قالب یک ماژول اختصاصی خودتان دارید که در صورت تعویض قالب هم تغییرات ایجاد شده از بین نخواهد رفت.
 
بالا