PageRank گوگل چگونه محاسبه می شود ؟

ساخت وبلاگ
این مقاله با کمی تغییرات ، ترجمه ای از مقاله The Google Pagerank Algorithm and How It Works

نوشته Ian Rogers است.

 

 

لازم به ذکر است که کلیه تصاویر و لینکهای مربوط به اجراء برنامه ها در سایت         http://www.iprcom.com میباشد و مترجم هیچگونه دخالتی در آنها نداشته است.
 
کاربرد PageRank
PageRank یکی از روشهائی است که  Google‌ از آن برای تعیین ارتباط یک صفحه با موضوع و اهمیت آن استفاده می کند. PageRank تنها یکی از مقوله هائی است که مربوط به لیست شدن سایتها در گوگل می باشند.
PageRank هر صفحه در نوار ابزار ( Toolbar ) گوگل نمایش داده میشود. اگر بخواهید میتوانید آنرا از آدرس http://toolbar.google.com  دریافت نمائید. PageRank عددی بین ۰ و ۱۰ است و به نظر میرسد که از یک مقیاس لگاریتمی پیروی می نماید.
 
 
Toolbar PageRank
    (log base 10)
 
Real PageRank
             0
       0 – 10
             1
   100 – 1,000
             2
 1,000 – 10,000
             3
10,000 – 100,000
             4
  and so on…
 
جزئیات دقیق این مقیاس مشخص نیست ، چرا که PageRank صفحات هر ماه و در زمانی که گوگل رتبه بندی خود را انجام میدهد عوض میشود . اگر فرض کنیم که مقیاس به صورت لگاریتمی است ، پس گوگل می تواند به بالاترین PageRank  عدد ۱۰ را نسبت دهد و بقیه را  نسبت به آن رتبه بندی نماید. همچنین خود نوار ابزار گوگل بعضی مواقع PageRank  را حدس میزند به خاطر اینکه به صفحاتی که تازه Upload شده اند نیز PageRank  تعلق میگیرد.
اینطور به نظر میرسد که نوار ابزار به URL نگاه میکند و از روی آن صفحه مادر ( اشاره کننده ) را تشخیص میدهد و اگر صفحه مادر دارای PageRank  باشد ، نوار ابزار عدد ۱ را از آن کم میکند و به به صفحه مذکور PageRank نسبت میدهد. و اگر از این راه نتواند PageRank را حدس بزند آنگاه عبارت PageRank  بروی نوار ابزار خاکستری میشود و عبارت No PageRank Information available پس از قرار گرفتن موس بروی آن نمایش داده میشود.
 
PageRank چیست؟
به طور مختصر میتوان گفت که : PageRank یک “رای” به اهمیت یک صفحه خاص است که توسط تمامی صفحات دیگر وب به آن اختصاص داده می شود. هر link به صفحه یک رای مثبت به PageRank آن می باشد و اگر لینکی وجود نداشته باشد رای ممتنع میگردد (دقت کنید که رای منفی نمی شود).
خود گوگل PageRank  را به شرح زیر تعریف می نماید.
“فرض کنیم که صفحه A دارای صفحات T1 تا Tn است که به آن اشاره می کنند. d هم یک فاکتور کند کننده ( damping factor ) است که مقداری بین ۰ تا ۱ دارد. معمولا برای  d مقداری معادل ۰٫۸۵ انتخاب میشود. همچنین C(A) تعداد لینکهائی که این صفحه به صفحات دیگر داده است.  در این صورت PageRank صفحه A مساوی است با :
PR(A) = (1-d) + d(PR(T1)/C(T1)+…+PR(Tn)/C(Tn))
باید توجه داشت که PageRank  به صورت یک احتمال پراکندگی ( probability distribution) بوجود می آید و از یک الگوریتم تکرار شونده استفاده میکند.”
 
اجازه دهید که نحوه عملکرد این فرمول را با تقسیم وظایف اجزای آن توضیح دهیم  :
 
 
 : PR(Tn) .1هر صفحه PageRank خود را دارد که PR(T1) برای  صفحه اول سایت است و PR(Tn) برای  nامین صفحه ای که در سایت به آن می رسیم.
 
 
2. : C(Tn) هر صفحه رای خود را به صورت مساوی بین صفحاتی که به آنها لینک داده است تقسیم میکند. تعداد لینکهای خارج شده از صفحه ۱ را با  C(1) و برای صفحه nام را با C(n) نشان داده ایم.
 
 
3.  : PR(Tn)/C(Tn) اگر صفحه A‌ از صفحه n یک لینک داشته باشد آنگاه سهم رای صفحه A برابر میشود با PR(Tn)/C(Tn)
 
 
4. :  d(… تمامی آراء با هم جمع میشود و برای اینکه از افزایش بی رویه وزن برخی از صفحات جلوگیری شود این مجموع در  عدد 85/. ضرب می شود.
 
 
5.  (d – 1) برای اینکه میانگین PageRank ها همواره یک باشد.
 
 
نحوه محاسبه PageRank
فهمیدیم که PageRank صفحه به PageRank صفحاتی که به آن لینک داده اند بستگی دارد. بنابر این این طور به نظر میاد که ما نمیتوانیم PageRank یک صفحه را بدست بیاوریم مگر آنکه PageRank صفحات اشاره کننده به آن را محاسبه کنیم. و همچنین اگر یک صفحه دارای لینک به خودش باشد و یا اینکه صفحات از یک شکل دایره ای لینک دادن استفاده کرده باشند تکلیف چیست؟
اما حقیقت امر به این بدی نیست . یعنی ما میتوانیم PageRank صفحه را بدون دانستن PageRank صفحات دیگر بدست آوریم. این عجیب به نظر میرسد ولی اساسا هر بار که ما محاسبه را تکرار میکنیم یک رقم به رقم نهائی نزدیک تر میشویم. پس تنها چیزی که باید به خاطر داشت مقدار بدست آمده در هر بار محاسبه فرمول میباشد و آنرا باید تکرار کرد تا آنکه دیگر عدد بدست آمده آنچنان تغییری نکند. در این زمان به عدد PageRank واقعی رسیده ایم.

یک مثال ساده : دوصفحه که هر کدام به یکدیگر اشاره میکنند.
 
هر کدام از این صفحات تنها یک لینک خروجی دارد . پس C(A) = 1 , C(B) = 1
 
نمیدانیم که برای شروع  PageRank این صفحات چیست . پس حدس می زنیم.
حدس ۱ :
حدس  می زنیم که  PageRank صفحات ۱ است و محاسبه را انجام می دهیم.
 
d=0.85
PR(A) = (1-d) + d(PR(B)/1)
PR(B) = (1-d) + d(PR(A)/1)
 
که می شود
 
PR(A) = 0.15 + 0.85 * 1 = 1
PR(B)= 0.15 + 0.85 * 1 = 1
 
اعداد اصلا تغییر نمیکند ، پس به این نتیجه می رسیم که حدس اول بسیار حدس خوبی بوده است.
حدس ۲ :
حدس اول خیلی ساده ما را به نتیجه رساند ، پس ممکن است که درست نباشد. اجازه دهید حدس را به عدد صفر تغییر دهیم و محاسبات را تکرار کنیم.
PR(A) = 0.15 + 0.85 * 0 = 0.15
PR(B) = 0.15 + 0.85 * 0.15 = 0.2775
و دوباره تکرار میکنیم :
PR(A) = 0.15 + 0.85 * 0.2775 = 0.385875
PR(B) = 0.15 + 0.85 * 0.385875 = 0.47799375
و دوباره تکرار میکنیم :
PR(A) = 0.15 + 0.85 * 0.47799375 = 0.5562946875
PR(B) = 0.15 + 0.85 * 0.5562946875 = 0.622850484375
به همین ترتیب اعداد بزرگتر می شوند ولی آیا اعداد از یک هم بیشتر میشوند؟ و اگر عددی از یک بیشتر شود چه باید کرد؟
حدس ۳ :
حالا فرض کنیم که عدد شروع ۴۰ است. یعنی PageRank صفحات A و B عدد ۴۰ است. پس خواهیم داشت:
 
PR(A) = 0.15 + 0.85 * 40 = 34.15
PR(B) = 0.15 + 0.85 * 34.15 = 29.1775
 
و دوباره تکرار میکنیم :
 
PR(A) = 0.15 + 0.85 * 29.1775 = 24.950875
PR(B) = 0.15 + 0.85 * 24.950875 = 21.35824375
 
خوب، همان طور که پیداست اعداد به سمت عدد ۱ کم می شوند و زمانی که به عدد یک برسند دیگر تغییر نخواهند کرد.
کد اجرائی و همچنین برنامه مورد نظر این محاسبات که با حدس صفر شروع شده :
Show the code |
اصل مهم : بنابر این مهم نیست که حدس را چه عددی قرار دهیم ، محاسبه نهائی به عدد یک ختم خواهد شد.
به جواب سریعتر برسیم
برای رسیدن به جواب در شبکه های بزرگ به چه تعداد محاسبه نیاز است؟ مثلا برای شبکه ای به گستردگی اینترنت احتیاج به میلیونها محاسبه خواهد بود. انتخاب ترتیب  محاسبه می تونه مفید باشه. با اینکه جواب نهائی یکسان است ، اما انتخاب ترتیب مراحل محاسبات میتونه به سرعت انجام آن کمک کنه.
 
مثال ۲ :
یک نمونه سلسله مراتبی ( hierarchy ) به همراه تعدادی لینک خروجی.
همانطور که میتوان تصور کرد Home Page بیشترین PageRank را دارد . چرا که بیشترین لینک ورودی را دارا می باشد. اما چرا متوسط عدد ۰٫۳۷۸ شده است؟ به نظر می آید که یک جای کار اشتباه است!
اما اشتباهی رخ نداده است. به صفحات External Site ها توجه کنید. این صفحات به هیچ صفحه دیگری لینک نداده اند و بنابراین PageRank خود را هدر می دهند . برای توضیحات بیشتر به این thread مراجعه کنید.
مثال ۳ :
اجازه دهید که در مثال قبلی External Site ها به Home Page لینک دهیم. ببینید که مقدار میانگین چه تغییری می کند.
بهتر شد. نه؟ ضمنا PageRank تمام صفحات هم زیاد شده است . بالاخص Home Page.
مثال ۴ :
چه اتفاقی برای PageRank می افتد اگر ما page review داشته باشیم؟
مثال ۵ :
یک سلسله ساده
دقت کنید که PageRank صفحه Home دو نیم برابر صفحات داخلی میباشد. بنابراین حالت سلسله ای رای ها را برای PageRank در یک صفحه متمرکز میکند.
مثال ۶ :
حالت چرخشی ( Looping )
این حالت چیزی است که ما انتظار آنرا داشتیم. تمامی صفحات تعداد لینکهای مساوی دارند و تمامی صفحات هم PageRank یکسان.
 
مثال ۷ :
حالت Internal linking به صورت گسترده و یا Fully Meshed
 
به همون دلیل مثال ۶ ، اینجا هم همگی دارای PageRank مساوی هستند.
مثال ۸ :
سلسله مراتبی – اما با یک لینک ورودی و یک لینک خروجی
فرض کنید که یک External Site وجود دارد که دارای صفحات و لینکهای زیاد است و در نتیجه یکی از صفحات آن دارای PageRank متوسط ۱٫۰ است . همچنین فرض کنید که وب مستر آن سایت تنها یک لینک به صفحه Home سایت شما داده است.
در مثال ۵ صفحه Home سایت شما دارای PageRank معادل ۱٫۹۲ بود . اما در اینجا PageRank به عدد ۳٫۳۱ ارتقاء پیدا کرده. خیلی عالی است نه؟
ضمنا نه تنها سایت مذکور معادل ۰٫۸۵ به ما PageRank داده است ، بلکه صفحات دیگر سایت ما هم که ارتقاء پیدا کرده اند و به ارتقاء صفحه home کمک کرده اند.
اصل مهم: ساختاری منظم برای یک سایت به ارتقاء PageRank آن کمک زیادی میکند.
مثال ۹:
حالت چرخشی – دارای یک لینک ورودی و یک لینک خروجی
همانطور که دیده میشه ، PageRank صفحه Home بالا رفته اما چرا PageRank صفحه More پائین آمده است؟
علت آن است که ، رای صفحه Product بین صفحه More و سایت B به صورت مساوی تقسیم شده است و در حقیقت این برای سایت B خوب است و برای ما بد.
مثال ۱۰:
Fully meshed – دارای یک لینک ورودی و یک لینک خروجی
بهتر شد.  می بینیم که صفحه Product میزان ۳/۴ رای خود را در سایت ما نگه داشته است. همچنین نگهداری این میزان رای در سایت ، نتیجه خوبی را برای صفحه Home‌ داشته است.
پس میتوان گفت که : بیشتر کردن تعداد لینکهای داخلی ( Internal Links ) در صفحات از هدر رفتن آراء جلوگیری میکند و طبیعتا PageRank  صفحات سایت ما را افزایش میدهد .
 
۳ اصل مهم :
 
  1. اگر صفحه ای دارای اهمیت بالائی می باشد ، آنرا در بالای مدل سلسله مراتبی قرار دهید.
  2. اگر صفحات سایت شما دارای لینکهای خروجی زیادی هستند ، سعی کنید لینکهای داخلی سایت را افزایش دهید تا PageRank صفحات را ثابت نگه دارید .
  3. اگر صفحاتی از سایت شما دارای لینک خروجی نیست ، افزایش تعداد لینکهای داخلی هیچ تائیری بر PageRank ندارد. پس دقت کنید که سایت خود را از حالت قابل استفاده خارج نکنید.
 
اهمیت داشتن Site Map
 
داشتن Site Map به دودلیل مهم است
  1. اگر کاربر URL اشتباه وارد کند ، اکثر سایتها یک صفحه غیر مفید به عنوان “۴۰۴ Page not found” نمایش میدهند. این برای کاربر مایوس کننده میباشد. بهتر است که صفحه این خطا به حالتی تغییر کند که  اولا علت خطا را نمایش دهد و ثانیا Site Map را هم نمایش دهد .
  2. لینک دادن به Site Map در هر صفحه تعداد لینکهای داخلی را افزایش میدهد و در نتیجه از هدر رفتن آراء بر ای ارتقاء PageRank جلوگیری میکند.
مثال ۱۱:
اجازه دهید سایت خود را به نحوی نمایش دهیم که PageRank به طور مصنوعی در صفحه Home متمرکز شود.
به نظر مدل خوبی است و تمام آراء به سمت صفحه Home می رود. باید PageRank خوبی بدست آوریم. حال برنامه را اجراء میکنیم تا نتیجه را ببینیم.
می بینید که نتیجه بر خلاف انتظار ما ، چندان هم خوب نیست. علت این است که لینکهای ورودی صفحات D و C بسیار ضعیف هستند و کمک زیادی به صفحه A نمی کنند.
سعی در سوء استفاده و تقلب در محاسبات PageRank از آنچه که فکر میکنید مشکل تر است.
مثال ۱۲:
یک layout خوب برای صفحات وب که شامل document طولانی می باشد این است که ، آن document را به چند صفحه تقسیم کنیم و بروی صفحات یک Navigator برای رفتن به صفحات بعد و قبل قرار دهیم و همچنیم در تمام صفحات هم به صفحه Home یک لینک دهیم.
در این مثال که تنها یک document وجود دارد ، صفحه اول از document یعنی صفحه B دارای PageRank بیشتری نسبت به صفحه Home یعنی A است. به این خاطر که صفحه B‌ تمامی رای صفحه A را به خود اختصاص داده است ولی صفحه A تنها بخشی از آراء صفحات B و C و D را به خود اختصاص داده است.
خوب اگر بخواهید که سایت قابل استفاده و مفیدی داشته باشید ممکن است که PageRank در سایت شما قربانی شود. اما نگران نباشید ، چونکه اگر سایت شما مفید باشد webmaster سایتهای دیگر به سایت شما لینک خواهند داد و PageRank سایت شما احیا خواهد شد.
پس میتوان گفت که : با اضافه کردن تعداد لینکهای داخلی به سایت خود ، می توانید PageRank را به طور مساوی بین صفحات سایت تقسیم کنید.
مثال ۱۳:
در این مثال می بینیم که چگونه میتوان به PageRank بالائی از روشهای غلط و تقلب دست یافت.
برای نمونه ببینیم اگر که ۱۰۰۰ صفحه خارجی به سایت ما لینک دهند و ما تنها یک لینک خروجی داشته باشیم چه می شود؟
بله ، صفحات Spam با اینکه بی ارزش هستند اما از PageRank بالائی برخوردارند.
پس میتوان گفت که : بهترین متوسط PageRank صفحات سایت شما عدد ۱ است و داشتن تعداد صفحات زیاد اصلا اهمیت ندارد. ولی در مدل سلسله مراتبی میتوان رای ها را به سمت صفحه Home‌متمرکز کرد و PageRank آنرا بالا برد.
از این روش برخی از سایتها برای بالا بردن PageRank استفاده می کنند که اگر رباتهای گوگل  ( Google’s robots‌)  متوجه آن شوند به احتمال زیاد از حضور آن سایتها در فهرستهای گوگل جلوگیری میکنند.
بنابراین ، پیشنهاد میکنم که از دو روش صحیح زیر برای بالا بردن PageRank سایت خود در گوگل استفاده کنید.
۱ – یک سایت بزرگ داشته باشید
سایتهای بزرگ مانند http://news.bbc.co.uk دارای دهها و شاید صدها نویسنده و ویراستار خبری میباشد. هر کدام از صفحات این سایت دارای مطالب جهانی و مهم هستند و تمامی آنها نیز به صفحه Home سایت لینک داده اند. بنابراین می بینیم که PageRank صفحه Home آن ۹ از ۱۰ است.
پس هیچ جایگزینی برای محتوای خوب وجود ندارد!
۲ – یک چیز مفید برای ارائه به دیگران داشته باشید
می بینیم که http://www.phpbb.com دارای PageRank معادل ۸ از ۱۰ است. با اینکه سرمایه گذاری و بازاریابی قوی پشتیبان آن نبوده است. چه طور این اتفاق افتاده است؟
علت آن است که بسیاری از افراد که دارای سایتهای bulletin board هستند از سیستم مدیریت phpbb استفاده کرده اند . در تمام صفحات سایت آنان عبارت زیر مشاهده میشود.
Powered by phpBB
پس میلیونها صفحه رای خود را با قرار دادن این لینک در خود به سمت سایت http://www.phpbb.com ارسال میکنند. علت این است!
 
دو  اصل مهم:
 
  1. ابزارهای مفید رایگان در اختیار دیگران قرار دهید تا مدیران سایتها پس از استفاده از آن با رقبت به سایت شما لینک دهند.
  2. بهتر است که لینکهای ورودی از سایتها ی زیادی (‌حتی سایتهائی با PageRank کم ) به سایت شما وجود داشته باشد تا اینکه تنها چند لینک محدود (‌ولو از سایتهائی با PageRank بالا )‌ به سایت خود داشته باشید.
نتیجه گیری نهائی
PageRank  ساده است (‌به جز یک فرمول ترسناک ) ولی وقتی یک محاسبه ساده میلیونها بار تکرار می شود نتایج ممکن است پیچیده به نظر آید.
PageRank تنها قسمتی از مسائل تعیین کننده رتبه در لیستهای گوگل است. به طور مثال شواهد نشان داده است که گوگل این روزها به متن موجود در یک href برای تگ اهمیت بیشتری قائل است تا PageRank .
 

PageRank جزئی از داستان لیست شدن در فهرست گوگل است ولی ارزش آنرا دارد که با آن به عنوان یک طرح خوب در اینترنت بیشتر آشنا شوید.

 
٭ جزيره كاوش ٭ نرم افزار و آموزش های کاربردی ٭...
ما را در سایت ٭ جزيره كاوش ٭ نرم افزار و آموزش های کاربردی ٭ دنبال می کنید

برچسب : مقالات وب,اينترنت, نویسنده : admin kavosh777 بازدید : 827 تاريخ : 18 آبان 1391 ساعت: 17:23

نظر سنجی

بازديد كنندگان محترم نظر شما در مورد اين وبلاگ چيست ؟

خبرنامه