موتور جستجو چگونه کار می­کند؟

وقتی جستجویی در یک موتور جستجو انجام و نتایج جستجو ارائه می­شود، کاربران در ­واقع نتیجه همکاری بخش­های متفاوتی از آن را می­بینند. موتور جستجو قبلاً پایگاه داده خود را آماده کرده است و این­گونه نیست که درست در همان لحظه جستجو، تمام وب را بگردد تا پاسخی برای پرسش کاربر بیابد. بسیاری از خود می­پرسند که چگونه امکان دارد گوگل در کم‏تر از یک ثانیه تمام سایت­های وب را بگردد و میلیون­ها صفحه در خروجی خود لیست کند؟
در­حقیقت گوگل و هر موتور جستجوی دیگری توانایی انجام چنین کاری را ندارد. همه آن‏ها در زمان پاسخ­گویی به کاربران، تنها در پایگاه داده­ای که در اختیار دارند به جستجو می­پردازند و نه در همه وب!
موتور جستجو به کمک بخش­های متفاوت خود، اطلاعات مورد نیاز را قبلاً جمع­آوری، تجزیه و تحلیل می­کند، آن‏ها را در پایگاه داده­اش ذخیره می­نماید و به هنگام جستجوی کاربر، تنها در همین پایگاه داده می­گردد. موتور جستجو را می­توان شامل سه بخش اصلی دانست که عبارت­اند از:

جمع‏آوری کننده اطلاعات، اسپایدر
بایگانی­کننده داده­ها، ایندکسر
تحلیل­گر درخواست کاربر

الف ) جمع ‏آوری کننده اطلاعات
جمع ‏آوری کننده اطلاعات (اسپایدر، روبوت یا کراولر)، آن بخش از موتور جستجو است که کار جمع‌آوری اطلاعات مورد نیاز آن را به عهده دارد. اسپایدر به صفحات مختلف سر­می­زند (فضولی کردن در وب)، محتوای آن‏ها را می­خواند، اطلاعات مورد نیاز را جمع­آوری می­کند و در اختیار سایر بخش­های موتور جستجو قرار می­دهد.
اسپایدر مشخص می­کند که کدام صفحات را مورد بازدید قرار دهد. در واقع تصمیم می­گیرد که کدام یک از لینک­های موجود در هر صفحه را دنبال کند. ممکن است همه لینک­ها را دنبال کند، برخی از آن‏ها را و یا هیچ کدام را دنبال نکند. اسپایدر، ممکن است قبلاً به گونه­ای برنامه­ریزی شده باشد که تنها صفحات خاصی از هر سایت را ببیند.
دنبال کردن لینک­های یک صفحه بستگی به میزان تمایل و توانایی موتور جستجو در ذخیره اطلاعات یک سایت در پایگاه داده خود دارد. معمولاً موتورهای جستجو دوست دارند صفحات مهم و مورد نیاز کاربران را بایگانی کنند. این­گونه صفحات نیز در سایت­های مهم و محبوب بیش‏تر دیده می‏شود تا سایت­های کم­ارزش. دقت کنید که گفتم سایت­های کم­ارزش و نه سایت­های کوچک! سایت کوچک لزوماً کم­ارزش یا بی­ارزش نیست. بعداً خواهید آموخت که چگونه سایت خود را مهم جلوه دهید حتی اگر تنها یک صفحه داشته باشد! در واقع بسیاری از سایت­ها نادانسته خود را بسیار کم‏تر از آن چه که واقعاً هستند، نشان می­دهند!
همچنین ممکن است اجازه مرور و خواندن محتوای بعضی از صفحات به موتورهای جستجو داده نشده باشد. شما به عنوان دارنده سایت، همان­طور که دوست دارید موتورهای جستجو اطلاعات سایت شما را با خود ببرند، می­توانید آن‏ها را از بعضی صفحات سایت­تان دور کنید و اجازه خواندن و بایگانی کردن محتوای آن صفحات را ندهید. موتور جستجو اگر مؤدب باشد؛ قبل از ورود به هر سایتی ابتدا قوانین دسترسی به محتوای آن را بررسی می­کند و از حقوق دسترسی خود اطلاع می­یابد.
تنظیم میزان دسترسی موتورهای جستجو به محتوای یک سایت توسط پروتکل و دستوراتی خاص انجام می­شود که در بخش‌های بعد بررسی شده است.
کار اسپایدر، بسیار شبیه کار کاربران وب است. همان­گونه که کاربران، صفحات مختلف را بازدید می­کنند، اسپایدر هم درست همین کار را انجام می­دهد، با این تفاوت که اسپایدر کدهای سازنده صفحات و کاربران نتیجه حاصل از کنار هم قرار گرفتن این کدها را می­بینند.
page1.html، صفحه­ای است که کاربران آن را به شکل زیر می­بینند:
نمونه­ای از صفحات وب که توسط مرورگرها نشان داده می شود.
اما اسپایدر آن را چگونه می­بیند؟
برای این که شما هم بتوانید دنیای وب را از دیدگاه یک اسپایدر ببینید، کافی است که کدهای سازنده صفحات را مشاهده کنید. برای این کار در مرورگر خود، مسیر نشان داده شده زیر را دنبال کنید:
Firefox: View > Page Source (Ctrl+U)
IE: Page > View Source (Ctrl+S)
فراموش نکنید شما باید توانایی کار با هر دو مرورگر فایرفاکس و اینترنت اکسپلورر را به خوبی بدانید و سایت خود را در هر دو مرورگر اشاره شده بازدید و بررسی کنید تا سایت برای اغلب کاربران وب ظاهر مناسبی داشته باشد.
کدهای اچ­تی­ام­ال صفحه page1.html به صورت زیر است:
کدهای اچ­تی­ام­ال یک صفحه وب
آیا این دنیای متنی برای شما جذاب است؟
رد پای اسپایدر به هنگام مشاهده صفحات یک سایت روی سرور آن می­ماند. شما اگر اجازه دسترسی به آمار دید و بازدیدهای صورت گرفته از یک سایت و اتفاقات انجام­شده در آن را داشته باشید، می‌توانید مشخص کنید که اسپایدر کدام یک از موتورهای جستجو صفحات سایت را مورد بازدید قرار داده ­­است.
یکی از فعالیت­های مهمی که در بازاریابی با موتورهای جستجو انجام می­شود، تحلیل همین دید و بازدیدهاست. در بخش­های آتی کتاب به موضوع تحلیل آمار سایت پرداخته شده است.

ب) بایگانی کننده داده­ها
تمام اطلاعات جمع­آوری شده توسط اسپایدر در اختیار ایندکسر قرار می­گیرد. در این بخش اطلاعات ارسالی مورد تجزیه و تحلیل قرار می­گیرند و به تکه­های متفاوتی تقسیم می­شوند. تجزیه و تحلیل به این معناست که مشخص می­شود اطلاعات از کدام صفحه ارسال شده است، چه حجمی دارد، کلمات موجود در آن کدام­اند، کلمات چندبار تکرار شده­اند و در کجای صفحه قرار دارند، صفحه چه زمانی بروز رسانی شده است و…

در حقیقت ایندکسر، صفحه را به پارامترهای آن خرد می­کند و تمام این پارامترها را به یک مقیاس عددی تبدیل می­کند تا سیستم رتبه­بندی بتواند پارامترهای صفحات مختلف را با هم مقایسه کند. تمام داده­ها تجزیه و تحلیل شده، گروه­بندی، کدگذاری و ذخیره می­شوند. همچنین داده­ها قبل از آن که ذخیره شوند، طبق تکنیک­های خاصی فشرده می­شوند تا حجم کمی را اشغال کند.
یک موتور جستجو باید پایگاه داده عظیمی داشته باشد و به طور مداوم حجم محتوای آن را گسترش دهد. بزرگی و بروز بودن پایگاه داده یک موتور جستجو برای آن امتیاز محسوب می­گردد.
حجم پایگاه داده موتورهای جستجو و روش ذخیره­سازی داده­ها در آن، متفاوت است. زمانی رقابت شدیدی در اعلام بزرگی پایگاه داده میان موتورهای جستجو وجود داشت. بعد از آن که گوگل دیگر به ارائه آمار پایگاه داده­اش ادامه نداد، عملاً رقابت به جبهه­های دیگری منتقل شد. هر چند بزرگی پایگاه داده امتیاز محسوب می­شود اما به نظر می­رسد کیفیت در ارائه نتایج جستجو همچنان مورد‏توجه­ترین فاکتور برای رقابت است.

ج) تحلیل­گر درخواست کاربر
پس از انجام تمامی مراحل گفته شده، موتور جستجو آماده پاسخ­گویی به کاربران است. آن‏ها چند کلمه را در فیلد جستجو وارد می­کنند و سپس با فشردن دکمه جستجو، منتظر پــاسخ موتور جستجو می‌مانند. برای پاسخ­گویی به درخواست کاربر، ابتدا تمامی صفحات مرتبط موجود در پایگاه داده، مشخص می‌شوند. پس از آن عمل رتبه­بندی صورت می­گیرد. به عبارت دیگر صفحات جمع‏آوری شده، از بیش‏ترین ارتباط تا کم‏ترین ارتباط با موضوع مطرح شده، به عنوان نتایج جستجو به کاربر نشان داده می­شوند.

حتی اگر موتور جستجو بهترین و کامل­ترین پایگاه داده را داشته باشد اما نتواند پاسخ­های مرتبطی ارائه کند، یک موتور جستجوی ضعیف به‌شمار می­آید. آلتاویستا زمانی مهم‏ترین موتور جستجو در وب بود اما تنها به همین دلیل بازی را به گوگلِ تازه­وارد باخت. در حقیقت سیستم رتبه­بندی قلب تپنده یک موتور جستجو است. تفاوت اصلی موتورهای جستجو نیز در سیستم رتبه­بندی می­باشد.

سیستم رتبه­بندی برای پاسخ­گویی به سؤالات کاربران، پارامترهای بسیاری را در نظر می­گیرد تا بتواند بهترین پاسخ­ها را در اختیار آن‏ها قرار دهد. به این سیستم رتبه­بندی، الگوریتم گفته می­شود. الگوریتم، مجموعه­ای از دستورالعمل­هاست که موتور جستجو با اعمال آن‏ها بر پارامترهای صفحات موجود در پایگاه داده­اش، تصمیم می­گیرد که صفحات مرتبط را چگونه در نتایج جستجو مرتب کند.
در حال حاضر قدرتمندترین سیستم رتبه­بندی را گوگل در اختیار دارد. سیستم رتبه­بندی گوگل پیج­رنک نام دارد که در بخش­های آتی کتاب معرفی شده است.

به طور خلاصه می­توانیم فعالیت موتور جستجو را در سه مورد زیر بگنجانیم:
مراجعه به صفحات و خواندن محتوای آن‏ها
بایگانی اطلاعات خوانده شده
رتبه­بندی صفحات متناسب با کلمات جستجو شده
تذکر – از این پس هرگاه گفته شود صفحه بایگانی شده است، مقصود این­ است که موتور جستجو صفحه را خوانده، تجزیه و تحلیل نموده و آماده نمایش آن در نتایج جستجو است.
منبع: کتاب یک یا دو هزار و یک