سفارش تبلیغ
صبا ویژن

سئو- استفاده از همه شگردها برای بالابردن ترافیک سایت

Keep-Alive چیست

 

یکی از فاکتورهای اصلی و غیرقابل اغماض در بررسی سئوی یک هاست Keep-Alive  است که اگر هاست شما این قابلیت را نداشته باشد تا 50 درصد سسرعت سایت شما دستخوش تغییر قرار می گیرد (بسته به تعداد اجزای صفحه شما)

Keep-Alive از تنظیمات سرور آپاچی تبعیت می کند و بطور خلاصه وظیفه آن حفظ و پایداری  خط اتصال است

یعنی بعد از درخواست یک صفحه توسط مرورگر از هاست  سرور php تا مدت زمان از قبل تعین شده ای به اتصال اینترنتی خاتمه نخواهد داد و  به درخواست های بعدی گوش خواهد داد
شاید باورتان نشود که این امکان به تنهایی تا 50 درصد باعث افزایش سرعت در تاخیر به پاسخ سرور منجر خواهد شد
این قابلیت از آپاچی 1.1 به سرور php اضافه شد  و تنها از طریق پیکربندی آپاچی قابل تغییر است 
keep-alive دو تنظیم  دارد
max-requests که تعداد در خواست قابل قبول است (بطور پیش فرض در آپاچی 5 است که خیلی کم است)
Timeout که زمانی است که انتظار سر می رسد و بطور پیش فرض 15 ثانیه است
کاربردهای keep-alive 
قبل از هرچیز مرورگر شما باید درکی از این قابلیت داشته باشد  امکانی که در مرورگرهای مبتنی بر ویندوز 95 وجود نداشت اما الان تقریبا تمام مرورگرها از آن پشتیبانی می کنند
از پیش شرطهای استفاده از keep-alive این است که طول فایل معلوم باشد بنابراین در فایلهای دینامیکی CGI استفاده از آن نهی شده است و فرض بر این است که مدیر سایت این را می داند

 


استفاده از CDN گوگل برای دریافت فایل جی کوئری

اگر شما قصد دارید فایل جی کوئری خود را از طریق CDN  گوگل   راه اندازی کنید
برای نسخه jQuery 1.4.4
http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js
و برای نسخه نهایی از ورژن 1.4  یا latest 1.4.x release
http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js
را مورد استفاده قرار دهید
اما مزایا و معایب استفاده از cdn برای دریافت جی کوئری
ابتدا مزایای cdn گوگل
1- CDN گوگل دارای یک زمان تاخیر بسیار پایین است، بنابراین می تواند کدهای جیکوئری را سریعتر از وب سرور شما بارگذاری کند.
2-شانس اینکه کاربر شما قبلا نسخه کش شده جی کوئری را از cdn های گوگل داشته باشد زیاد است که در این صورت دیگر نیازی به دانلود آن برای کاربر نیست
3- از آنجایی که فایل جی کوئری بر روی دامنه دیگری قرار می گیرد توسط مرورگرهای جدید بصورت موازی دانلود میشود و ای باعث تسریع سرعت بارگذاری می شود
4- cdn گوگل از پروتکل HTTPS هم پشتیبانی می کند
5- همیشه آخرین نسخه آن را می توانید از cdn گوگل دریافت نمایید
مثلا در زمان درج این پست آخرین نسخه جی کوئری 1.7.1 است که آن را از آدرس زیر می توانید دریافت نمایید
http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
جالبتر انکه می توانید شماره نسخه را بدهید و به گوگل اجازه دهید خودش آخرین ویرایش آن نسخه را برای شما بارگذاری کند مثلا اگر لینک بالا را بصورت زیر تغییر دهید
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
باز هم گوگل آخرین نسخه را برای شما بارگذاری می کند
البته می توانید از api های گوگل هم استفاده نمایید مثلا

<SCR1PT type="TEXT/JAVASCR1PT" 
src="http://www.google.com/jsapi"></SCR1PT>
<SCR1PT type="TEXT/JAVASCR1PT">
// You may specify partial version numbers, such as "1" or "1.3",
// with the same result. Doing so will automatically load the
// latest version matching that partial revision pattern
// (e.g. 1.3 would load 1.3.2 today and 1 would load 1.7.0).
google.load("jquery", "1.7.0");
 

google.setOnLoadCallback(function() {
// Place init code here instead of $(document).ready()
});
</SCR1PT>


معایب cdn گوگل:
1- امنیت: اگر به شکلی سرور گوگل هک شود هکر امکان اجرای هر اسکریپتی بر روی سرور شما را پیدا می کند البته این به ندرت اتفاق خواهد افتاد
2-در صورت قطعی سرور گوگل که احتمال آن 0.1 درصد است سایت شما از استفاده جی کوئری محروم میشود
3-اگر پیکر بندی سایت شما بصورت اینترانت  باشد مثل سایت تبیان احتمال زیاد دچار کندی در اجرا خواهد شد
 اگر کاربران  مزایا و معایب دیگری بر استفاده از cdn گوگل دارند بفرمایند تا در صورت تایید افزوده شود


ایندکس شدن در گوگل

در مورد ایندکس شدن در گوگل بارها در همین وبلاگ مطالبی نوشته شده اینبار هم قصد دارم به طور کلی و قابل فهم همه چیز از ایندکس شدن توسط گوگل را بنویسم

گوگل با چندین سرور (به روایتی 140 سرور) در سراسر دنیا به سایتها سر می زند
تمام این سرورها اطلاعات بدست آمده از یک سایت را با هم به اشتراک می گذارند 
در یک سایت نوپا بعد از ثبت شدن در گوگل (اینکه چطور بفهمیم در گوگل ثبت شده ایم کافیست نام کامل سایت را در گوگل مورد جستجو قرار دهیم مثلا seo.parsiblog,com  برای این همین وبلاگ) حداقل یک هفته طول می کشد تا اولین مطلب در جستجوی گوگل ظاهر شود این نه به دلیل کندی گوگل در ایندکس کردن سایت است بلکه برای ابتدای کار چنین است و در مرحله بعدی به 2 روز و سپس در حداقل زمان ممکن این کار انجام می شود
گوگل دو نوع مطالب را ایندکس می کند یکی بصورت کش شده و دیگری بصورت ثبت شده
در حالت کش شده (که 24 ساعت طول دارد) همیشه و در همه حال پیج رنک ملاک عمل گوگل است 
و در حالت ثبت شده الگوریتمهای پیچیده گوگل وارد عمل می شوند مثل اعتبار سنجی سایت، قدمت سایت،چگالی کلمات،پیج رنک، و....
بنابراین ممکن است شما امروز  در گوگل با جستجوی site:seo.parsiblog.com   با 2000 نتیجه روبرو شوید و روز بعد به 1800 تا
این به دلیل خارج شدن بعضی از نتایج جستجو ی این وبلاگ از کش گوگل است
حال سوال این است که چه کمک هایی می توان برای سریع شدن ایندکس انجام داد
ا- clear code یا تمیز کردن کدها مثلا انتقال استالهای خطی به فایل CSS 
2- انتخاب هاست سریع
3- پیروی از قواعد اعتبار سنجی w3c
4- تهیه سایت مپ برای سایت
5-استفاده صحیح از متا ها علی الخصوص متای توضیحات و کلمات کلیدی
همچنین متاهای مربوط به معرفی نویسنده ، پاورقی(فوتر)، صاحب امتیاز و....
6- رعایت پرفورمانسهایی که برای افزایش سرعت توصیه شده  مثل gzip،
css اسکریپت و یکی کردن فایلهای جاوا اسکریپت و css همچین انتخاب بجای هدرهای کش و etag
بررسی اینکه هرکدام از موارد بالا چقدر ضرورت دارد خارج از حوصله این وبلاگ است فقط همینقدر بگویم که در نظر بگیرید که گوگل برای سایت شما 2 ساعت در روز وقت می گذارد (این زمان برای هر سایت متفاوت است) حال اگر شما صفحه خود را با gzip از 100 کلو به 13 کیلو کاهش حجم داده باشید به گوگل اجازه می دهید محتویات صفحه را سریعتر به سرور خودش منتقل کند   و در نتیجه تعداد صفحات بیشتری را در این 2 ساعت بخواند
یا مثلا اگر استایلهای خطی را حذف کرده باشید علاوه بر کاهش حجم صفحه   پروسه بررسی صفحه را هم سریع تر کرده اید

بالاخره etag در آپاچی فعال باشد یا نباشد

قبل از هرچیز باید بک نکته مهم اشاره کنم
هدر های Etag و Last-modified تنها در اعتبار سنجی صفحه کاربرد دارند یعنی اینکه اصلا هنوز  این صفحات  معتبر هستند یا نه
 و هدرهای  Expires و  Cache-control در رفرش کردن صفحه توسط مرورگر مورد استفاده قرار می گیرند

etag از مواردی است که هم مرورگرها و هم پروکسی ها (مثل isp ها) ازآن برای اینکه فایل پیشتر دریافت شده  را دوباره دانلود  نکنند استفاده می کنند

یکی از مواردی که توسط سرور ها در هدر ارسالی برای هر فایل از سرور قرار داده میشود etag نام دارد

etag بصورت hash و معمولا md5_file در php ساخته میشود

یکی از ابزاری که من برای بررسی سرعت لود یک صفحه استفاده می کنم YSlow است که استفاده از etag را توصیه کرده است

حال برگردیم به اصل سوال بالاخره etag در آپاچی فعال باشد یا نباشد

etag زمان درخواست یک صفحه از سرور بصورت هدر به صفحه الصاق می شود

اما هیچ کاربردی برای کلاینت (=مرورگر) ندارد مخصوصا که بصورت رمز شده است

هر وقت مرورگر درخواست  تکرار ارسال فایل به سرور را بدهد etag را برای اطلاع به سرور آپاچی اعلام می کند

آپاچی مقدار etag را بر اساس تاریخ ?نام و شماره inode فایل می سازد و با دریافت آن از مرورگر سریعا می تواند بفهمد که فایل تغییر داشته یا نه

و بر اساس آن تصمیم گیری کند که برای مرور گر کد 200  را ارسال کند یا 304

بنابراین آپاچی یا دریافت مقدار رمز شده آن از مرورگر در پاسخ دهی به درخواست مرورگر و تعین کد ارسالی 200 یا 304 سریعتر عمل می کند

با این توضیحات مشخص می شود که وجود و استفاده از etag کمک به بالا رفتن سرعت لود صفحه می کند

اما اینکه چه زمانهایی بهتر است etrag را خاموش کرد باید گفت

در مواردی که از cdn استفاده می کنید یعنی میزبانی فایلهای شما بر روی بیش از یک سرور انجام میشود مثل کاری که گوگل کرده و سایر سایتهای چند سروری  بهتر است
etag خاموش شود چرا که روش ایجاد  هش یا hash در دو کامپیوتر ممکن است مثل هم نباشد و با این حساب  ممکن است etag در محاسبات  عملا کاربردی نداشته باشد

 


قرار دادن کد محبوبیت گوگل برای هر پست

 

پرسش: 

روزتون به خیر.  خسته نباشید  . مرسی از مطالب وبلاگتون .

آقای شیبانی یه کدی رو در وبتون استفاده میکنید که برای هر مطلب به صورت جداگانه آیکون +1 گوگل قرار گرفته ، اگر لطف کنید اون کد رو برای من هم ایمیل کنید که در مطالبم قرار بدهم خیلی ممنون میشم . احیانا اگر توضیح کوتاهی بدهید که در کددام قسمت از قالبم قرار بدهم خیلی خوبتر میشود .
بعضی از وبها این کد را در صفحه ی اصلی قرار داده اند و فقط صفحه ی اصلیشان +1 میشود . یعنی تقریبا 99 درصد وبهای تفریحی 
من خودم فکر میکنم +1 قرار دادن در مطالب ، بهتر است . چون ارزش صفحه ی هر مطلب را جداگانه زیاد میکند .  
آیا این تفکر من صحیح است ؟
آیا ممکن است قرار دادن +1 در صفحه ی اصلی باعث بالارفتن ارزش صفحه ی اصلی در گوگل ، و در پی آن در بعضی مواقع ایندکس شدن صفحه ی اصلی به جای مطلب را در پی داشته باشد ؟

 

پاسخ: ضمن تشکر از ابراز لطف دوست عزیزم باید به اطلاع برسانم راحتترین و مطمئن ترین روش برای اینکار استفاده از وب مستر گوگل است
برای اینکار طبق مراحل شماره بندی شده تصویری زیر (با کلیک بر روی هر شماره به مرحله بعد بروید) می توانید براحتی کد گوگل پلاس را برای سایت خودتان قرار بدهید
google-plus
در قسمت پایانی و در جایی که نوشته شده
Show:
بر حسب انتخاب می توانید برای هر پست یا صفحه کد محبوبیت را نمایش دهید
در مورد اینکه قرار دادن 1+ در هر صفحه بهتر است بله طبیعتا
چون کاربر حق انتخاب بیشتری در تشریک مطالب دارد
در مورد سوال دوماتان هم باید توضیحی بدهم
1+  هیچ وقت سیاستهای از قبل تعین شده برای یک سایت را تحت شعاع قرار نمی دهد
و تنها کمک به پیاده سازی بهتر الگوریتمهای گوگل از جمله پاندا گوگل می کند
توضیحات بیشتر درباره کد محبوبیت گوگل پلاس در

word Popularity in google search بررسی محبوبیت کلمه در گوگل(حتی برای دامنه های فارسی)


کش در جاوا اسکریپت و جی کوئری

همانطور که قبلا گفته شد ما دو جور  مدیریت کش بیشتر نمی توانیم داشته باشیم
یک- مدیریت کش نرم افزای (مبتنی بر مرورگر)
دو- مدیریت کش سخت افزاری ( میتنی بر سرور)


مدیریت کش سخت افزار خیلی جا نیفتاده و جز در موارد خاص مثل بازی های آنلاین یا سیستم های چتینگ  استفاده ای از آن نمی شود و گفتیم که انواع مطرح آن xcached    و apc و memcach  هست
مدیریت کش نرم افزار هم به طرق مختلف می شود انجام داد
1- با استفاده از Htaccess (البته  به شرط فعال بودن مودهای مربوطه در سرور آپاچی)
2- با استفاده از زبان برنامه نویسی سمت سرور  (مثل php )  و ارسال هدر ها مربوطه به کلاینت
3- تنظیمات خود   مرورگر
اگر دقت کرده باشید جایی برای جاوا اسکریپت و جی کوئری وجود ندارد
پس چرا در راهنما های جی کوئری به کررات از کش  کردن صحبت و تاکید شده
معمولا در برنامه نویسی تحت جاواسکریپت (فرقی نمی کند با فریم ورک هایی مثل موتولز یا پروتایپ یاجی کوئری این کار بشود یا بصورت کد مستقیم جاواسکریپتی) وقتهایی که قصد ثبت  یا بررسی رویدادی سمت سرور را در یک سیکل نا معلوم داریم از setInterval (بصورت ‌حلقه مستدام) یا setTimeout (تا مشاهده رویداد)‌ استفاده می کنیم  فکرش را بکنید در همان اول سیکل مرورگر پاسخ سرور را کش کند عملا  پاسخ های جدیدتر و بعدی سرور دریافت نخواهد شد برای همین ضرورت تام دارد مانع از کش شدن در حالت آجاکس شویم
زبان جی کوئری با ترفند هایی با هدف تغییر آدرس فایل درخواست فایل می کند در این موارد چون مکان فایل درخواست شده تغییر کرده است مرورگر  دیگر از کش تبعیت نمی کند یکی از این راه ها افزودن پارامتر اضافی با متد GET در  انتهای آدرس است  که معمولا تایم استامپ می باشد
و وقتی صحبت از کش در جی کوئری می شود (در عملیات آجاکسی با جی کوئری)‌ منظور این است که آدرس تغییر نداشته باشد


الگوریتم پاندا گوگل

چند وقت پیش و به طور آنی شاهد تغییرات زیادی در ترافیک سایتهای فارسی شدیم یعنی من شخصا شاهد بودم که یک شبه و در  18 آبان  بازدید وبلاگم که روزی متوسط  بود 90 به 500  رسید و تقریبا در روزهای بعد هم در همین حدود یا کمی کمتر و بیشتر  ماند. در همان تاریخ  با مطلبی به این موضوع هم اشاره کردم 

ظاهرا یک اتفاق خوشایند رخ داده
 چند روز پیش بطور متوسط روزی 110 بازدید کننده داشته است (عمر این وبلاگ دو سال دو ماه و 10 روز است
یعنی 800 روز و اگر تعداد بازدیدهای انجام شده در این مدت یعنی 86952 را به تعداد روزها تقسیم  کنیم به عدد 108 می رسیم
در حالیکه الان چند روز است که بازدیهای وبلاگ حدود 500 بازدید در روز رسیده است
این مسئله بیش از اینکه برای من خوشحال کننده باشد سوال برانگیز است

و در همان جا گفتم که از تحلیل آن عاجزم

تا اینکه امروز در خبرنامه سئوموز که برایم ایمیل شده بود متوجه خبری از پیاده سازی  الگوریتم پاندا گوگل (که از بهمن 89 رسما اعلام و اجرای ان برای سایتهای انگلیسی زبان شروع شد) در زبان فارسی شدم

من از قبل خواندن این خبر در این خبرنامه با این الگوریتم و تاثیرات آن در سایتهای انگلیسی زبان  آشنا شده بودم و اینکه چطور با اجرای آن در سایتهای پربازدید انگلیسی زبان یک دفعه افت بازدید در سایتهای کم کیفیت اما پربازدید ایجاد شده
وب سایت Wisegeek.com افت ترافیک 77% درصد
وب سایت Ezinearticles.com افت ترافیک 90% درصد
وب سایت Suite101.com افت ترافیک 94%
وب سایت Hubpages.com افت ترافیک 87%
وب سایت Buzzle.com افت ترافیک 93%
 اما چون تاثیرات اجرای آن را در زبان فارسی ندیده بودم به نوعی فراموشش  کرده بودم
به هرحال جای خوشبختی است که گوگل بالاخره توانست الگوریتم قوی تری از الگوریتم قبلی اش که مبتنی بر پیج رنک بود را اجرا کند
چرا که  خود پیج رنک به عناصری وابسته بود که به راحتی قابل تقلید بود
و سایتهای بی محتوای زیادی با تقلب از گوگل ورودی می گرفتند
در الگوریتم جدید به جای لینک از سایتهای دیگر و یا شمارش تعداد ورودی های گوگل (در این حالت کاربر گوگل تنها با تکیه بر تایتل و یک پاراگراف کوچک از سایت حدس می زد که مطلب می تواند مفید باشد) از فاکتورهای پیچدیده ولی موثر تر دیگری استفاده کرد
مثل:
زمان ماندگاری در صفحه که بر اساس آن گوگل ضریب گزافه گویی را برای یک سایت تعریف کرد
یعنی اینکه وقتی کاربری از گوگل وارد یک صفحه از سایت شد چقدر رغبت می کند در صفحه بماند
یا اینکه کاربر چقدر از لینکهای ثبت شده در سایت  استفاده می کند
بنابراین در الگوریتم گوگل دیگر تقلب جایی ندارد و شما نمی توانید یک شبه با عنایت از مزارع لینک به پیج رنک برسید و یا با افزایش ایندکس های خود از روش اسپمر گوگل ( که صفحات پوچ و بی ارزش شما را در نتایج جستجوی گوگل وارد می کند ) به سایت لینک برسید چرا که گوگل گزافه گویی را با عدم  مکث کاربر در صفحه تشخیص می دهد

توصیه اکید من این است که با در پیش گرفت موارد زیر بطور شرافتمندانه  از گوگل ورودی بگیرید
1- تولید محتوا  و اجتناب از کپی  مطالب دیگران
2- لینک به منبع (یادتان باشد همینکه کاربر با لینک از سایت شما به سایت دیگری می رود طبق الگوریتم پاندا امتیاز است  و با این الگوریتم دیگر قواعد دست و پا گیر پیج رنک را فراموش کنید
3- اگر از طریق لینک آگهی قصد درآمد زایی یا فروش محصول خود را دارید آن را با آموزش همراه کنید(در پاندا گوگل تاکید ویژه ای بر محتوای آموزش گونه شده) آنهم آموزشی که کاربر را چند دقیقه ای در صفحه نگهدارد
4- شریک کردن گوگل در صفحه: یکی از ارکانی که به گوگل در بررسی  صفحه کمک می کند را داشته باشید (مثل نصب آنالیزر گوگل یا گوگل پلاس یا ادسنز گوگل  یا....)

 


پیش بارگذاری عکس با کمک جاوا اسکریپت

اگر خاطرتون باشه گفتیم که پیش بارگذاری عکس با کمک جاوا اسکریپت که مهمترین و قدیمیترین روش برای پیش بارگذاری عکس است که روشی هم خوب است و هم بد و دیگه خیلی فرصت نشد در اینباره بحث کنیم که ذیلا این کار انجام می شود

مهمترین فایده یش بارگذاری عکس با کمک جاوا اسکریپت کنترل راحت تر آن است ولی یک ایراد در فایرفاکس برای پیش بارگذاری عکس با کمک جاوا اسکریپت دیده می شود

و آن اینکه فایرفاکس عکس ها را در اینحالت نه بصورت پارالل بلکه بصورت سریال دانلود می کند در کروم هم سرعت بارگذاری در این روش فوق العاده کم است و بهترین سرعت در بین مرورگرهای اینترنت اکسپلور  در IE9 دیده شد

بنابراین اگر حوصله تفکیک مرورگر ها را دارید بهتر است برای فایرفاکس و کروم  از فریم پنهان یا قرار دادن عکس در داخل تگ دیو  مخفی شده استفاده کنید (برای این دو مرورگر به جای جاوااسکریپت از این روش استفاده شود) و برای اینترنت اکسپلور هم از همان روش جاوا اسکریپتی

عکس های زیر شماتیک تست انجام شده در سه مرورگر گفته شده  است

 











پیش بارگذاری عناصر صفحه در کش مرورگر

یکی از کارهای خوب در سئو می تواند سرعت بخشیدن به لود و بارگذاری صفحه است

شما می تونید مثلا عکسهایی را که انتظار داریم کاربر در مراجعه به صفحه بعدی رویت می کند را از قبل بارگذاری نمایید

این کار باعث میشه که سرعت باز شدن صفحه بعد به مراتب بالابره بدون اینکه کاربر خودش هم دلیل آنرا نفهمد

در اینجا به روش های مرسوم پبش بارگذاری عکس می پردازیم

سه روش برای اینکار وجود دارد که مهمترین و قدیمیترین آن پیش بارگذاری عکس با کمک جاوا اسکریپت است که هم روشی خوب است و هم بد و انشالله در پست بعدی به آن می پردازیم

یکی از دو روش دیگر  طریق  قرار دادن در داخل تگ دیو  مخفی شده است مثل

<div style=" display:none;">

<img src="logo.gif"

alt=" not really needed actually ... " height="350" width="350" >

[:p]

<img src="rollOver.gif"

alt="not really needed actually ..." height="350" width="350" >

</div>

که خیلی توصیه نمی شود (مهمترین دلیلش این است که می تواند توسط بعض از انجین ها از جمله گوگل (که خیلی مطمئن نیستم) تقلب محسوب شود

و روش دیگر که آن نیز قدیمی و فراموش شده است (حداقل توسط سئو کاران حرفه ای) فراخوانی فریمی است که عکس های ما در آن قرار داده شده است

البته به صورتی که فرم قابل نمایش نباشد مثلا با عرض 0

در کل روش جاواسکریپتی بهترین و قابل کنترل ترین روش است

دموی آن را می توانید از لینک زیر ببینید

پیش بارگذاری عکس با کمک جاوا اسکریپت