هنگامیکه جستجویی در یکی از موتورهای جستجو انجام شده و نتایج جستجو ارائه می شود، کاربران نتیجه کار بخش های متفاوت این موتورهای جستجو را می بینند. یک موتور جستجو از پیش پایگاه داده اش را آماده کرده و این گونه نیست که درست در همان لحظه جستجو تمام وب را بگردد. بسیاری از خود می پرسند که چگونه ممکن است گوگل در کمتر از یک ثانیه تمام سایت های وب را بگردد و میلیون ها صفحه را در نتایج جستجوی خود اراعه کند؟ گوگل و هیچ یک از موتورهای جستجو توانایی انجام این کار را ندارند. همه آنها در زمان پاسخ گویی به جستجوهای کاربران، تنها در پایگاه داده ای که در اختیار دارند به جستجو می پردازند و نه در وب! موتور جستجوگر به کمک بخش های متفاوت خود، اطلاعات مورد نیاز را از پیش جمع آوری، تجزیه و تحلیل کرده، آنرا در پایگاه داده اش ذخیره نموده و به هنگام جستجوی کاربر تنها در همین پایگاه داده می گردد.
بخش های موتورهای جستجو
• اسپایدر “Spider”
• خزنده “Crawler”
• بایگانی کننده “Indexer”
• پایگاه داده “Database”
• سیستم رتبه بندی “Ranker”
1- اسپایدر “Spider”
نرم افزاری است که کار جمع آوری اطلاعات مورد نیاز موتورهای جستجو را برعهده دارد. اسپایدر به صفحات مختلف سر می زند، محتوای آنها را می خواند، لینکها را دنبال می کند، اطلاعات مورد نیاز را جمع آوری کرده و آنرا در اختیار سایر بخش های موتور جستجوگر قرار می دهد. کار یک اسپایدر، بسیار شبیه به کار کاربران وب است. همانطور که کاربران صفحات مختلف را بازدید می کنند، اسپایدر نیز دقیقا این کار را انجام می دهد، با این تفاوت که اسپایدر کدهای HTML صفحات را می بیند اما کاربران نتیجه حاصل از کنار هم قرارگیری این کدها را مشاهده میکنند. اسپایدر، به هنگام مشاهده صفحات بر روی سرورها رد پا برجای می گذارد. اگر اجازه دسترسی به آمار بازدیدهای صورت گرفته از یک سایت را داشته باشید، می توانید مشخص کنید که اسپایدر کدام یک از موتورهای جستجو صفحات سایت را مورد بازدید قرار داده است. یکی از فعالیتهای اصلی که در بهینه سازی موتور جستجو انجام می شود تحلیل آمار همین بازدیدها است. اسپایدرها کاربردهای دیگری نیز دارند، به عنوان مثال برخی از آنها به سایت های مختلف مراجعه می کنند و فقط به بررسی فعال بودن لینک های آنها می پردازند و یا به دنبال آدرس ایمیل (Email) می گردند.
2- خزنده “Crawler”
کراولر، نرم افزاری است که به عنوان یک فرمانده برای اسپایدر عمل می کند. کرولرهای موتور جستجو مشخص می کنند که اسپایدر کدام صفحات را مورد بازدید قرار دهد. در واقع کراولر تصمیم می گیرد که کدام یک از لینک های صفحه ای که اسپایدر در حال حاضر در آن قرار دارد دنبال شود. امکان دارد کراولر از پیش برنامه ریزی شده باشد که آدرس های خاصی را طبق برنامه در اختیار اسپایدر قرار دهد تا از آنها دیدن کند. دنبال کردن لینک های یک صفحه به این بستگی دارد که موتور جستجوگر چه حجمی از اطلاعات یک سایت را می تواند (می خواهد) در پایگاه داده اش ذخیره کند. همچنین ممکن است اجازه دسترسی به بعضی از صفحات به موتورهای جستجوگر داده نشده باشد.
3- بایگانی کننده “Indexer”
تمام اطلاعات جمع آوری شده توسط اسپایدر در اختیار ایندکسر قرار می گیرد. در این بخش اطلاعات ارسالی مورد تجزیه و تحلیل قرار می گیرند و به بخش های متفاوتی تقسیم می شوند. تجزیه و تحلیل بدین معنی است که مشخص می شود اطلاعات از کدام صفحه ارسال شده است، چه حجمی دارد، کلمات موجود در آن کدامند، کلمات چندبار تکرار شده اند، کلمات در کجای صفحه قرار دارند و … . در حقیقت ایندکسر صفحه را به پارامترهای آن خرد کرده و تمام این پارامترها را به یک مقیاس عددی تبدیل می کند تا سیستم رتبه بندی بتواند پارامترهای صفحات مختلف را با هم مقایسه کند. در زمان تجزیه و تحلیل اطلاعات، ایندکسر برای کاهش حجم داده ها از بعضی کلمات که بسیار رایج هستند صرفنظر می کند. کلماتی نظیر a ، an ، the ، www ، is و … . از این گونه کلمات هستند.
4- پایگاه داده “Database”
تمام داده های تجزیه و تحلیل شده در ایندکسر به پایگاه داده ارسال می گردد. در این بخش داده ها گروه بندی، کدگذاری و ذخیره می شود. همچنین داده ها قبل از ذخیره سازی طبق تکنیکهای خاصی فشرده می شوند تا حجم کمی از پایگاه داده را اشغال کنند. موتورهای جستجو باید پایگاده داده عظیمی داشته باشند و به طور مداوم حجم محتوای آنرا گسترش دهند و البته اطلاعات قدیمی را هم به روز رسانی نمایند. بزرگی و به روز بودن پایگاه داده یک موتور جستجوگر برای آن امتیاز محسوب می گردد. یکی از تفاوتهای اصلی موتورهای جستجو در حجم پایگاه داده آنها و همچنین روش ذخیره سازی داده ها در پایگاه داده است.
5- سیستم رتبه بندی “Ranker”
پس از آنکه تمام مراحل قبل انجام شد، موتورهای جستجو آماده پاسخ گویی به سوالات کاربران هستند. کاربران چند کلمه را در جعبه جستجو (Search Box) آن وارد می کنند و سپس با فشردن Enter منتظر پــاسخ می مانند. برای پاسخگویی به درخواست کاربر، ابتدا تمام صفحات موجود در پایگاه داده که به موضوع جستجو شده مرتبط هستند، مشخص میگردند. پس از آن سیستم رتبه بندی وارد عمل شده، آنها را از بیشترین ارتباط تا کمترین ارتباط مرتب می کند و به عنوان نتایج جستجو به کاربر نمایش می دهد. حتی اگر موتور جستجوگر بهترین و کامل ترین پایگاه داده را داشته باشد اما نتواند پاسخ های مرتبطی را ارائه کند، یک موتور جستجوگر ضعیف خواهد بود. در حقیقت سیستم رتبه بندی قلب تپنده یک موتور جستجوگر است و تفاوت اصلی موتورهای جستجو در این بخش قرار دارد. سیستم رتبه بندی برای پاسخ گویی به سوالات کاربران، پارامترهای بسیاری را در نظر می گیرد تا بتواند بهترین پاسخ ها را در اختیار آنها قرار دارد. حرفه ای های دنیای سئو و بهینه سازی وب سایت برای موتور جستجو به طور خلاصه از آن به Algo ( الگوریتم) یاد می کنند. الگوریتم، مجموعه ای از دستورالعمل ها است که موتور جستجوگر با اعمال آنها بر پارامترهای صفحات موجود در پایگاه داده اش، تصمیم می گیرد که صفحات مرتبط را چگونه در نتایج جستجو مرتب کند. در حال حاضر قدرتمندترین سیستم رتبه بندی را گوگل در اختیار دارد. گوگل برای کارهای مختلف دارای الگوریتم های متفاوتی از جمله گوگل آنالیتیکس، الگوریتم گوگل پنگوئن، الگوریتم پاندا، گوگل پنالتی و … است.