-
پاسخ : شناسایی موتور جستجو و حل مشکل کامپوننت تبلیغات
آقا با تست هایی که انجام دادم اینجوری فهمیدم که تنها وقتی که ربات وارد سایت میشه مقدار متغیر $IsBot در کد بالا true هست و وقتی که در حال crawl کردن سایت هست دیگه true نیست.
حتی کد رو به این شکل قرار دادم:
کد:
if(!ereg("Googlebot", $_SERVER['HTTP_USER_AGENT']))
{
$database->setQuery( "UPDATE #__banner SET impmade=impmade+1 WHERE bid='$banner->bid'" );
if(!$database->query()) {
echo $database->stderr( true );
return;
}
echo "updated";
}
در کد بالا خواستم وقتی که بازدید کننده Googlebot نباشه، کلمه updated توی صفحه قرار بگیره. سورس html ئی که موقع ورود goolebot دیده میشه کلمه updated درش نیست، یعنی اینکه این دستور درست کار کرده، اما در همون لحضاتی که سایت داره crawl میشه، نمایش بنر ها هم تعدادش زیاد میشه، یعنی دیگه این شرط جواب نمیده و انگار user-agent، دیگه Googlebot نیست.
این مورد رو برای msnbot هم تست کردم و همین نتیجه به دست اومد.
ضمنا تست های بالا رو با سایت زیر انجام دادم:
[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]
که ربات های شبیه سازی شده رو به سایت میفرسته.
یه در خواست دیگه هم اینکه شما میدونی فیلد hits مطالب در کدوم فایل مامبو آپدیت میشه؟
با تشکر
جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.
-
-
12-31-2008 05:08 PM
# ADS
تبلیغات در جوملا فارسی
علاقه مندی ها (Bookmarks)