Train

PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : انجمن خود را سریع کنید! ویبولتین 4


anti206
03-13-2011, 02:43 PM
با سلام. در این تاپیک روش های بهینه سازی فروم های vBulletin ورژن 4 قرار داده شده که توسط مدیر سایت وی بی ایران جمع آوری شده است.

هر چقدر به مراحل بالاتر بروید آموزش تخصصی تر می شود.

مرحله اول:
تنظیمات زیر را روی خیر قرار دهید ( به خاطر تفاوت در فارسی ساز ها بصورت انگلیسی قرار می دهیم ) :

ادمین سی پی -> تنظیمات -> General Settings سپس Use Quick Navigation Menu
ادمین سی پی -> تنظیمات -> General Settings سپس Thread/Forum Read Marking Type
ادمین سی پی -> تنظیمات -> Forums Home Page Options سپس Display Logged in Users?
ادمین سی پی -> تنظیمات -> Forum Home Page Options سپس Display Today's Birthdays?
ادمین سی پی -> تنظیمات -> Forum Home Page Options سپس Display Calendar Events?
ادمین سی پی -> تنظیمات -> Forum Display Options (forumdisplay) سپس Show Users Browsing Forums
ادمین سی پی -> تنظیمات -> Thread Display Options سپس Show Users Browsing Thread
ادمین سی پی -> تنظیمات -> Thread Display Options سپس Check Thread Rating
ادمین سی پی -> تنظیمات -> Thread Display Options سپس Check Thread Subscription (غیر فعال کنید اگر سریعتر شد نیاز نیست دوباره فعال کنید. )
ادمین سی پی -> تنظیمات -> Thread Display Options سپس Full Next / Prev Links
ادمین سی پی -> تنظیمات -> Message Searching Options سپس Automatic Similar Thread search


تنظیمات زیر را روی بله قرار دهید ( به خاطر تفاوت در فارسی ساز ها بصورت انگلیسی قرار می دهیم ) :
ادمین سی پی -> تنظیمات > Cookies and HTTP Header options سپس Enable GZip HTML Output -روی 1 قرار دهید .
Admin CP -> تنظیمات -> Message Searching Options سپس Queue Search Updates
Admin CP -> تنظیمات -> Message Searching Options سپس Search Result Sharing
-----------------------------------------------------
مرحله دوم:
به تنظیمات اصلی انجمن --> تنظیمات استایل/زبان بروید --> حالا ذخیره css در یک فایل رو بله بزنید .
حالا به هاست خود بروید --> پوشه clientscript --> پوشه vbulletin_css و دسترسی اون رو روی 777 قرار بدید.
-----------------------------------------------------
مرحله سوم:
یکی از دلیل کم سرعت بودن ویبولتین 4 کادر های دور آن بوده است ! یعنی کادر بندی دور هر قسمت برای رفع این مشکل به انتهای additional.css انجمنتون برید و در آخر آن کد موجود در فایل پیوست code1.txt (این فایل ([Only registered and activated users can see links])) را قرار دهید:
-----------------------------------------------------
مرحله چهارم:
به htaccess انجمنتون این کد رو اضافه کنید ( در صورتی که در حال حاضر htaccess ندارید یک فایل با نام .htaccess درست کنید و در روت انجمن قرار دهید ):

<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 259200000 seconds"
ExpiresByType image/jpeg "access plus 259200000 seconds"
ExpiresByType image/png "access plus 259200000 seconds"
ExpiresByType text/css "access plus 60480000 seconds"
ExpiresByType text/javascript "access plus 21600000 seconds"
ExpiresByType application/x-javascript "access plus 21600000 seconds"
</ifModule>

<ifModule mod_headers.c>

<filesMatch "\\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=25920000, public"
</filesMatch>

<filesMatch "\\.(css)$">
Header set Cache-Control "max-age=6048000, public"
</filesMatch>

<filesMatch "\\.(js)$">
Header set Cache-Control "max-age=2160000, private"
</filesMatch>

<filesMatch "\\.(xml|txt)$">
Header set Cache-Control "max-age=2160000, public, must-revalidate"
</filesMatch>

<filesMatch "\\.(html|htm|php)$">
Header set Cache-Control "max-age=1, private, must-revalidate"
</filesMatch>

</ifModule>

<ifModule mod_headers.c>
Header unset ETag
</ifModule>

FileETag None

<ifModule mod_headers.c>
Header unset Last-Modified
</ifModule>

-----------------------------------------------------
مرحله پنجم:
به قالب headinclude بروید و در ابتدای آن وارد کنید:

<META [Only registered and activated users can see links] content=BlendTrans(Duration=0)>
<META [Only registered and activated users can see links] content=BlendTrans(Duration=0)>

-----------------------------------------------------
مرحله ششم:
به آدرس زیر بروید:
AdminCP > Settings > Server Settings And Optimization Options > Remote YUI to YES
گوگل پیشنهاد میشود.
-----------------------------------------------------
مرحله هفتم:
از vboptimise استفاده کنید.
دانلود هک بالا بردن سرعت بارگذاری انجمن + آموزش کاملاً تخصصی vB Optimise Lite ([Only registered and activated users can see links])
-----------------------------------------------------
مرحله هشتم:
کش را خالی کنید!
ویبولتین یک کش داخلی دارد که به هیچ وجه خودش را خالی نمیکند .
در قسمت اضافه کردن پلاگین یک پلاگین در محل cron_script_cleanup_hourly اضافه کنید و کد زیر را درون آن قرار دهید:

require_once(DIR . '/includes/class_bootstrap_framework.php');
vB_Bootstrap_Framework::init();
vB_Cache::instance()->clean(true)

-----------------------------------------------------
مرحله نهم:
افزایش سرعت لیست شدن پیغام خصوصی
برای بالاتر بردن سرعت یک پلاگین در محل private_messagelist_fi lter با کد زیر ایجاد کنید:
if ($sortfield == 'pmtext.dateline') $sortfield = 'pm.pmid';

ادامه ی آموزش در پست های بعد...

anti206
03-13-2011, 02:44 PM
مرحله دهم:
افزایش سرعت بخش نمایش گروه کاربری ( showgroups ) تا 6 برابر.
برای انجام ، درون هاست رفته و showgroups.php را پیدا کنید و آن را ویرایش کنید.

// get usergroups who should be displayed on showgroups
// Scans too many rows. Usergroup Rows * User Rows
$users = $db->query_read_slave("
SELECT user.*,
usergroup.usergroupid, usergroup.title,
user.options, usertextfield.buddylist,
" . ($show['locationfield'] ? 'userfield.field2,' : '') . "
IF(user.displaygroupid = 0, user.usergroupid, user.displaygroupid) AS displaygroupid
" . ($vbulletin->options['avatarenabled'] ? ",avatar.avatarpath, NOT ISNULL(customavatar.userid) AS hascustomavatar, customavatar.dateline AS avatardateline,customavatar.width AS avwidth,customavatar.height AS avheight, customavatar.width_thumb AS avwidth_thumb, customavatar.height_thumb AS avheight_thumb, filedata_thumb, NOT ISNULL(customavatar.userid) AS hascustom" : "") . "
FROM " . TABLE_PREFIX . "user AS user
LEFT JOIN " . TABLE_PREFIX . "usergroup AS usergroup ON(usergroup.usergroupid = user.usergroupid OR FIND_IN_SET(usergroup.usergroupid, user.membergroupids))
LEFT JOIN " . TABLE_PREFIX . "userfield AS userfield ON(userfield.userid = user.userid)
LEFT JOIN " . TABLE_PREFIX . "usertextfield AS usertextfield ON(usertextfield.userid=user.userid)
" . ($vbulletin->options['avatarenabled'] ? "LEFT JOIN " . TABLE_PREFIX . "avatar AS avatar ON(avatar.avatarid = user.avatarid) LEFT JOIN " . TABLE_PREFIX . "customavatar AS customavatar ON(customavatar.userid = user.userid)" : "") . "
WHERE (usergroup.genericoptions & " . $vbulletin->bf_ugp_genericoptions['showgroup'] . ")
");

$groupcache = array();
while ($user = $db->fetch_array($users))
**
$t = strtoupper($user['title']);
$u = strtoupper($user['username']);
$groupcache["$t"]["$u"] = $user;
}

را با

require_once(DIR . '/includes/class_bootstrap_framework.php');
vB_Bootstrap_Framework::init();
if (!$groupcache = vB_Cache::instance()->read('showgroups.groupcache')) **

// get usergroups who should be displayed on showgroups
// Scans too many rows. Usergroup Rows * User Rows
$users = $db->query_read_slave("
SELECT user.*,
usergroup.usergroupid, usergroup.title,
user.options, usertextfield.buddylist,
" . ($show['locationfield'] ? 'userfield.field2,' : '') . "
IF(user.displaygroupid = 0, user.usergroupid, user.displaygroupid) AS displaygroupid
" . ($vbulletin->options['avatarenabled'] ? ",avatar.avatarpath, NOT ISNULL(customavatar.userid) AS hascustomavatar, customavatar.dateline AS avatardateline,customavatar.width AS avwidth,customavatar.height AS avheight, customavatar.width_thumb AS avwidth_thumb, customavatar.height_thumb AS avheight_thumb, filedata_thumb, NOT ISNULL(customavatar.userid) AS hascustom" : "") . "
FROM " . TABLE_PREFIX . "user AS user
LEFT JOIN " . TABLE_PREFIX . "usergroup AS usergroup ON(usergroup.usergroupid = user.usergroupid OR FIND_IN_SET(usergroup.usergroupid, user.membergroupids))
LEFT JOIN " . TABLE_PREFIX . "userfield AS userfield ON(userfield.userid = user.userid)
LEFT JOIN " . TABLE_PREFIX . "usertextfield AS usertextfield ON(usertextfield.userid=user.userid)
" . ($vbulletin->options['avatarenabled'] ? "LEFT JOIN " . TABLE_PREFIX . "avatar AS avatar ON(avatar.avatarid = user.avatarid) LEFT JOIN " . TABLE_PREFIX . "customavatar AS customavatar ON(customavatar.userid = user.userid)" : "") . "
WHERE (usergroup.genericoptions & " . $vbulletin->bf_ugp_genericoptions['showgroup'] . ")
");

$groupcache = array();
while ($user = $db->fetch_array($users))
**
$t = strtoupper($user['title']);
$u = strtoupper($user['username']);
$groupcache["$t"]["$u"] = $user;
}

vB_Cache::instance()->write('showgroups.groupcache', $groupcache, 360);
}

جایگزین کنید.
-----------------------------------------------------
مرحله یازدهم:
از طریق این لینک ([Only registered and activated users can see links]) Yslow را دانلود و محتوای آن را روی روت انجمنتان اکسترکت کنید البته! در صورتی که قبلاً htaccess ی داشته اید باید محتوای این htaccess را نیز به بقیه اضافه کنید .
-----------------------------------------------------
مرحله دوازدهم:
عکس های خود را Optimize ( بهینه سازی ) کنید!
سوالی که ممکن است در ذهن شما موج بزند این است که از کجا بفهمیم عکس های سایت ما بهینه نیست؟
شما با استفاده از سایت gtmetrix.com می توانید بفهمید تا چند درصد میتوانید عکس ها را بهینه کنید و حتی عکس بهینه شده را بدون افت کیفیت دانلود کنید.
برای شروع ابتدا به سایت [Only registered and activated users can see links] ([Only registered and activated users can see links]) بروید .
سایت خود را تایپ کنید و منتظر بمانید تا سایت شما بررسی شود.
حالا به قسمت Optimize Images بروید.
در این قسمت به شما گفته شده که کدام عکس ها بهینه نیستند و در قسمت See optimized Version شما عکس بهینه شده را دریافت می کنید!
برای مثال من سایت یاهو رو در جی تی متریکس زدم:
[Only registered and activated users can see links]
شما باید عکسی را که از gtmetrix از قسمت see optimized version دریافت میکنید رو ذخیره کنید و به اسم اصلی اون Rename کنید سپس درون هاست در همان مسیر قبلی Replace ( جایگزین ) کنید.

برای مطلع شدن از تکمیل شدن آموزش، به این تاپیک سر بزنید.