آوا سام

آوا سام

آموزش جامع برنامه نویسی
آوا سام

آوا سام

آموزش جامع برنامه نویسی

8 راه سریع برای index صفحات شما توسط گوگل

8 راه سریع برای index صفحات شما توسط گوگلhttps://avasam.ir/post/138

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

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

 

ایندکس کردن صفحات در گوگل (google index) 

ایندکس کردن صفحات توسط گوگل بطور خلاصه با روش های زیر انجام میگیرد : 

  • Crawling
  • Indexing
  • Ranking

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

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

 

راه 1 - نحوه ی بررسی ایندکس بودن صفحات توسط گوگل ( لیست صفحات index شده سایت شما در گوگل )

قبل از هر چیزی شما باید بدانید  indexation rate  سایت شما چطور است . 

برای این کار ابتدا وارد google search console شوید و از بخش Index بخش Coverage را انتخاب کنید ، باید مشابه تصویر زیر باشد.

آموزش ایندکس کردن صفحات در گوگل - سئو

اگر شما در این بخش error میبینید یا تعداد زیاد صفحاتی که index نشده اند یکی از اتفاقات زیر در سایت شما رخ داده است : 

  • فایل sitemap.xml شما درست نیست یا url هایی در آن است که قابل index شدن نیست ( بعنوان مثال صفحاتی که NOINDEX هستند یا توسط robots.txt مسدود شده اند یا اینکه برای دیدن آن url ها باید کاربران وارد شده باشند ... )
  • سایت شما دارای صفحات زیاد کیفیت پایین یا تکراری است که گوگل أنها را بی ارزش میداند .
  • سایت شما authority کافی ندارد تا تمام صفحات را پردازش کند .

 

شما میتوانید مشکلات را بصورت کامل در جدول زیرین همین بخش مشاهده کنید . تصویر زیر را ببینید 

آموزش ایندکس کردن صفحات در جستجوی گوگل - آموزش نمایش صفحات سایت در جستجوگر گوگل

 

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

من از کلیشه بدم میاد ولی برای اینکه توجه گوگل را به سمت سایتتون جلب کنید باید حتما تجربه ی کاربری خوبی ایجاد کنید ( UX ) .

برای اینکه این نکات برای سایت شما مفید باشد حتما راهنمای گوگل در این باره را مطالعه کنید . 

با استفاده از این تکنیک ها شما میتوانید indexation rate یا نرخ ایندکس شدن صغحات خود را بهبود ببخشید . 

 

1 - استفاده از URL inspection برای ارسال درخواست indexing یا ایندکس کردن لینک ها

  در کنسول جستجوی گوگل وارد شوید و سپس به بخش url inspection بروید . شما در این بخش میتوانید قابل دسترس بودن لینک خاصی توسط گوگل را بررسی کنید سپس میتوانید یک لینک خاص را ثبت کنید تا توسط گوگل index شود البته index شدن یک لینک در این بخش ممکن است زمانی طول بکشد . 

طبق تصاویر زیر عمل کنید 

- ابتدا روی url inspection کلیک کنید 

آموزش index کردن صفحات در گوگل

- سپس روی بخش سرچ در بالای صفحه ی لینک مورد نظر را تایپ کنید 

آموزش ثبت لینک در گوگل

- بعد از اینکه لینک خود را وارد کردید و enter زدید گوگل شروع میکند به بررسی اینکه این لینک قبلا index شده است یا نه . 

آموزش ثبت و index کردن صفحات سایت در گوگل

- سپس اگر لینک وارد شده توسط گوگل index شده باشد با تیک سبز رنگ به شما اعلام میکند که این لینک قبلا در گوگل index شده است ولی اگر ثبت نشده باشد به شما اعلام میکند که URL is not on Google یعنی لینک مورد نظر شما توسط گوگل ثبت نشده است . 

- برای ثبت کردن یا index کردن یک لینک در گوگل ابتدا میتوانید live یا قابل دسترس بودن آن لینک توسط گوگل را بررسی کنید . کافیست روی دکمه ی TEST LIVE URL را کلیک کنید 

آموزش index کردن یا ثبت لینک در گوگل

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

آموزش index کردن صفحات در گوگل - آموزش ثبت صفحات در گوگل

- بعد از تست شدن لینک وارد شده به شما اعلام میشود که لینک روی دستگاه موبایل و دستگاه های دسکتاپ قابل دسترس است و میتواند توسط گوگل INDEX شود .  سپس برای INDEX کردن صفحه روی گزینه ی GOOGLE INDEX طبق تصویر زیر کلیک کنید . 

آموزش ثبت کردن لینک در گوگل - آموزش INDEX  شدن در گوگل

و بعد صفحه ی زیر باز میشود و به شما اعلام میکند که لینک شما در گوگل ثبت نشده است برای درخواست ثبت صفحه یا لینک مورد نظر باید روی گزینه ی REQUEST INDEXING طبق تصویر زیر کلیک کنید 

آموزش ثبت کردن لینک در گوگل - آموزش INDEX کردن مطالب در گوگل

- سپس کنسول گوگل شروع میکند به ثبت کردن لینک و سپس پیام زیر را نمایش میدهد مبنی بر اینکه درخواست شما برای INDEX کردن این لینک ثبت شد و بعد روی GOT IT  کلیک کنید 

آموزش ثبت سایت در گوگل - سئو برای INDEX شدن سایت

به همین سادگی میتوانید یک به یک لینک های خود را در گوگل ثبت کنید البته وقتی sitemap  باشد تمام لینک ها بصورت خودکار از درون sitemap فراخوانی میشوند . 

 

راه 2 - استفاده از لینک های درونی 

خزنده های موتور جستجویی مثل گوگل روی لینک های درون سایت شما کلیک میکند و بین لینک های HTML میخزد ! 

آموزش سئو و index کردن سایت

 

راه 3 - صفحات با کیفیت پایین را برای index گوگل بلاک کنید 

 

با این وجود که سنگ بنای یک وب سایت با کیفیت ، محتوای آن است در همین حال محتوای بد یا بی کیفیت نیز سایت را به نابودی می کشاند .

هر چه بیشتر تعداد مطالب بی کیفیت در سایت شما وجود داشته باشد همانقدر ، بازدید خزنده های گوگل ، تعداد index های شما و رتبه ی سایت شما کاهش خواهد داشت . 

بنابراین پاکسازی یا بلاک کردن صفحات کم کیفیت یا بد ، همانند هرس کردن یک درخت است . 

صفحاتی که احساس میکنید محتوای خوب و به درد بخوری ندارند باید کارهای زیر را برای آنها انجام دهید :‌

  1. به حالت NOINDEX در بیایند . در این صورت کاربران عادی صفحه را میبینند ولی از دید موتورهای جستجو مخفی میشود تا کیفیت و محتوای کم یا بد تاثیری روی رتبه ی سایت شما نداشته باشد . ( مثلا صفحات نمایش پیام تشکر ، صفحات پرداخت بانکی و اینجور چیزها که فاقد محتوا خاصی هستند ) .
  2. خزنده را  از طریق  Robots.txt  بلاک کنید . زمانی که لیستی از صفحات برای مخاطبین شما ارزشمند هستند ولی برای دید موتورهای جستجو نه !‌ ( مانند مطبوعات ، آرشیو و ... ) . 
  3. ریدایرکت 301 زمانی که صفحه هیچ ارزشی برای کاربران یا برای موتورهای جستجوگر ندارد (ممکن است حذف شده باشد ) اما هنوز لینک و ترفیکی برای آن وجود دارد ( برای مثال مطالب قدیمی وبلاگ که زمانی نوشته بودید و در اینترنت لینکش هست و کاربران با کلیکش به سایت شما روانه میشن ) . 
  4. صفحه ی 404  برای صفحاتی که وجود ندارند یا حذف شده اند . زمانی که هیچ پاسخی درباره ی یک لینک در سایت خود ندارید کافیست صفحه ی 404 را نمایش دهید . برای این ورودی مطمئن باشید که هیچ ترافیک خاصی وجود ندارد .

 

راه 4 -  اضافه کردن صفحات و لینک ها به Sitemap

 sitemap یک فایل xml است که به خزنده ی موتور جستجو میگوید در سایت شما کدام لینک ها و صفحات مهم هستند . همانطور که از اسمش پیداست نقشه ی سایت شما را در اختیار موتور جستجوگر قرار میدهد . 

وجود لینک ها درون sitemap تضمین کننده ی این نیست که حتما لینک توسط موتور های جستجو  index میشود ولی نبودن لینک ها در sitemap حتما روی index نشدن آنها تاثیر دارد . 

اگر سایت شما روی WordPress است به راحتی میتوانید sitemap سایت خود را با استفاده از پلاگین ها انجام دهید و اگر سایت شما اختصاصی است میتوانید با کدنویسی مقالات یا محصولات یا هر چیزی که مهم است را اضافه کنید . 

زمانی که شما sitemap سایت خود را ساختید میتوانید به کنسول جستجوی گوگل بروید و آنرا به گوگل معرفی کنید . 

آموزش اضافه کردن sitemap.xml به کنسول جستجوی گوگل

همانطور که در تصویر بالا میبینید ابتدا بخش Sitemaps را کلیک کنید سپس در بخش Add a new sitemap  آدرس sitemap خود را وارد کنید و سپس دکمه ی SUBMIT را بزنید . 

اگر خطایی وجود نداشته باشد در لیست Submited sitemaps  میتوانید سایت مپ خود را بصورت Success مشاهده کنید . جزئیات دیگر هم آنجا موجود است و میتوانید با کلیک روی آن مشاهده کنید . 

یکبار دیگر بررسی کنید تا مطمئن شوید لینک هایی که میخواهید index شود درون sitemap قرار گرفته است و صد در صد مطمئن شوید لینک هایی که نمیخواهید index شوند درون sitemap وجود نداشته باشند .

 

راه 5 -  اشتراک گذاری صفحات در توئیتر (twitter) 

گوگل یک شبکه ی قدرتمند است که خزنده های گوگل هم ارتباط خوبی با آن دارند و دائما در حال خزیدن در توئیتر هستند . 

تاثیر توئیتر در index شدن سایت و سئو

اشتراک گذاری در شبکه های اجتماعی شاید تاثیر مستقیم روی indexing  سایت شما نداشته باشند ولی به خزنده ی گوگل از انتشار مطلب جدید و مهم در سایت شما مطلع میشود که قرار است index شود . 

 

راه 6 -  صفحاتتان را در سایت های ترافیک بالا به اشتراک بگذارید 

سایت هایی مثل Reddit و Quora سایت های محبوبی هستند که به شما اجازه میدهند لینک بگذارید . 

میتوانید برای تبلیغات صفحاتی که اخیرا منتشر شده از Quora استفاده کنید . این کار علاوه بر اینکه ترافیک به سایت شما جذب میکند بلکه به راحت شدن indexing صفحات شما کمک میکند . 

اشتراک گذاری در Quora و تاثیر آن بر روی indexing و سئو سایت

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

چون یکی از کلید های موفقیت سایت شماست . 

راه 7 -  لینک های خروجی برای صفحه ی خود تامین کنید  

همانطور که بالاتر گفتیم خزنده ی گوگل روی لینک های سایت ها کلیک میکند و آنها را تحلیل میکند .

لینک دادن به سایت های دیگر درسته که بعنوان یک فاکتور مهم در رتبه بندی و افزایش ترافیک سایت مقصد نیست ولی روی indexing سایت مقصد تاثیر زیادی دارد . 

شما میتوانید به شکل های زیر برای خود لینک ورودی بسازید :‌

  • ارسال پست بعنوان مهمان در سایت های مرتبط و معتبر.
  • وبلاگ ها یا وب سایت های مرتبط با موضوع سایت خودتان را پیدا کنید و درخواست تبلیغات به آنها بدهید . 

 

راه 8 - روی سایتتان Ping بزنید

سایت هایی مثل Ping-O-Matic به موتورهای جستجو یک ping ارسال میکنند و اعلام میکنند که سایت یا وبلاگ شما بروزرسانی شده است . 

ping زدن به موتورهای جستجو موقع بروزرسانی سایت - اعلام آپدیت سایت به موتورهای جستجو

راستش ، این بهترین روش نیست - اما سریع ، رایگان و قابل استفاده است

 

تمام :) 


این ۸ چیز را باید همه بدنامه نویسان بدانند

 

این ۸ چیر رو باید همه برنامه نویسا بدونن !https://avasam.ir/post/153

نکاتی که برنامه نویسان باید بدانند 

  1. در برنامه نویسی هیچ چیز آسان نمیشود ، شما باهوش تر میشوید
  2. برنامه نویسی را باید هر روز یاد بگیرید
  3. بعضی وقت ها برنامه نویسی شما را قورت میدهد 
  4. گاهی وقت ها احساس میکنید نمیدانید دارید چیکار میکنید
  5. بعضی وقت ها کلافه میشوید اما استرس را کنترل کنید
  6. مهارت ارتباط برقرار کردن مهم تر از مهارت کدنویسی است 
  7. یا باید احمق ترین فرد اتاق باشید یا اتاقتان را عوض کنید تا جایی بروید که آنجا احمق ترین باشید
  8. یک محیط کاری خوب بهتر از حقوق بالاست 

 

1 در برنامه نویسی هیچ چیز آسان نمیشود ، شما باهوش تر میشوید . 

برنامه نویسی یک فعالیت ساده نیست. نیازها در وسط پروژه تغییر می کند. فناوری ها به سرعت و بی رحمانه پیشرفت می کند. مشتریان سریع قضاوت می کنند ولی آهسته توضیح میدهند. برنامه نویسی آسان تر نمی شود بلکه برنامه نویسان باهوش تر می شوند.

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

اصل ترفند این است :  سری بعدی وقتی به آن باگ یا مشابه آن برخورد کردید سریعا حل میکنیدش چون قبلا پیچ و خم راه را رفتید . احساس میکنید مشکل ساده ای بود نه اینطور نیست راحت نبود شما باهوش تر شدید ! 

 

2 - برنامه نویسی را باید هر روز یاد بگیرید

نکات آموزش برنامه نویسی سریع 

در دنیای برنامه نویسی همه چیز در حال اپدیت شدن و همه چیز در حال منسوخ شدن هستند . اگر در حال یادگیری نباشید شما هم به همراه دانش قبلی خود منسوخ خواهید شد :) برای اینکه دیگر برنامه نویسان از ما عقب نباشند این فناوری و این زمینه ی شغلی یا هر چیزی با سرعت جت در حال پیشرفته !!!

دشوارترین نکته در این مورد این است که یاد بگیرید چطور یاد بگیرید . 

سالها طول می کشد تا بتوانید در یک زبان برنامه نویسی مهارت داشته باشید و سالها بیشتر طول میکشد تا بتوانید آنچه را که می دانید بشناسید و آنچه را که لازم ندارید رها کنید. نگران نباشید شما موفق میشوید مثل افراد دیگر که شدن ، فقط وقت بگذارید.

 

3 - بعضی وقت ها برنامه نویسی شما را قورت میدهد 

نکاتی برای یادگیری برنامه نویسی - یادگیری سریع برنامه نویسی

برنامه نویسی سخت است . ما در دنیایی کار میکنیم که قوانین بین المللی هم حتی ندارد . دنیایی که در ان وقتی مشتری از ما ماشین میخواهد میتواند بجای ماشین هواپیما هم بخواهد و انتظار هم دارد که طی یک هفته تحویل دهیم ! 

زمینه ی کاری ما طوری است که تقریبا همه روزه عوض میشود و انتظار میرود که همیشه سرحال باشید و کارتان را بکنید 

شما اگر احساس عدم تعادل کردید باید جوری به آن عادت کنید . توجه کنید که همه ی ما این احساس را داریم . ما نمیتوانیم همه چیز را درآن واحد حل و فصل کنیم .

همه ی ما گاهی احساس سردرگمی و گم شدن در مسائل پیدا میکنیم اما مشکلی نیست . رو به جلو حرکت کنید همه چیز خوب خواهد شد . 

 

4 - گاهی وقت ها احساس میکنید نمیدانید دارید چیکار میکنید

نکات آموزش برنامه نویسی

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

وقتی برای اولین بار این حس را تجربه میکنید شاید احساس کمبود کنید . اما با این احساس شما میتوانید از شغلتان لذت ببرید ؟ قطعا نه و شما را سریعا دلزده میکند . 

پس سقوط نکنید . سعی کنید دیدگاهتان را به این مسئله عوض کنید به این فکر کنید که مسئله ساده است ولی شما هنوز راه حل آنرا فرا نگرفته اید . بعضی برنامه نویس ها پازل را در قلب شان حل میکنند . یاد بگیرید که معماهای برنامه نویسی را دوست بدارید و دنبال کسب حرفه و مهارت بیشتر باشید . 

 

5 - بعضی وقت ها کلافه میشوید اما استرس را کنترل کنید

آموزش نکات شروع برنامه نویسی

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

کار خود را دو چندان نکنید! کوهی از کارهای انجام شده را مقابل خود تصور نکنید و نگویید "اگر من فقط کمی سخت تر کار کنم ، همه چیز درست میشود." این راه منجر به فرسودگی شما می شود.

شغل خود را ادامه دهید در همین حال سعی کنید از زندگی کردن هم لذت ببرید اینطوری مسائل و مشکلات شما حل میشود . امتحان کنید !

 

6 - مهارت ارتباط برقرار کردن مهم تر از مهارت کدنویسی است 

آموزش مهارت های برنامه نویسی - شروع برنامه نویسی

شما میتوانید هر زبان برنامه نویسی را یاد بگیرید ، میتوانید هر ابزار و سیستم عاملی را یاد بگیرید ، میتوانید هر فریمورک و تکنولوژی را یاد بگیرید اما اگر قدرت ارتباطات شما ضعیف باشد عملا آن تخصص ها به هیچ دردی نخواهند خورد چون شما نمیتوانید خود را به دیگران تعریف کنید . 

مشتری ها و کارفرماهای ما نمیتوانند مسائل فنی که ما بلد هستیم را درک کنند ما فقط باید این کارها را انجام دهیم ولی باید بتوانیم آنها را به یک فرد غیر متخصص هم توضیح دهیم . 

اگر ارتباطات قوی ندارید نیاز به تمرین و تجربه در این زمینه دارید . چیزی نیست که نتوانید آنرا بدست بیاورید . 

به خودتان فرصت برقرار کردن ارتباط با دیگران را بدهید بهترین برنامه نویسان جهان در اغلب موارد ارتباطات خوبی با دیگران دارند زیرا به مردم این اجازه را میدهند که کار آنها را درک کنند . 

 

7 - یا باید احمق ترین فرد اتاق باشید یا اتاقتان را عوض کنید تا جایی بروید که آنجا احمق ترین باشید

آموزش برنامه نویسی - نکات آموزشی برنامه نویسی

اگر احساس میکنید در اتاقی هستید که از همه بیشتر میدانید سریعا انرا عوض کنید چون آنجا پیشرفتی نخواهید کرد . 

خیلی از برنامه نویسان یک شغل پیدا میکنند یا مسیری پیش میگیرند که با دانسته های قبلی آنها قابل انجام است پس دنبال یادگیری چیزهای جدید نمی روند یا اصلاح خودمانی راحت طلب هستند .

این افراد چون در کار قدیمی خوب تبحر دارند مطمئنا از کار قبلی خود درآمد کسب خواهند کرد ولی در همان جایی که هستند باقی خواهند ماند و پیشرفت نخواهند کرد . 

پس اگر در یک اتاقی هستید که احساس میکنید هیچکس از شما بیشتر نمیداند یا از کسی چیز جدیدی یاد نمیگیرید آنجا را ترک کنید و به اتاقی بروید که آنجا یک احمق حساب شوید . 

 

8 - یک محیط کاری خوب بهتر از حقوق بالاست 

همه چیز پول نیست اگر با شغلتان راحت نیستید یا استرس بیش از اندازه به شما وارد میکند آن محیط مناسب شما نیست و سریعا جای خود ا عوض کنید . 

من میدانم که ترک یک شرکت یا تغییر شغلی که حقوقتان از آن شرکت تامین میشود کار ساده ای نیست و ممکن است خودتان و خانواده تان متضرر شود ولی اگر نمیتوانید یک شغل را تغییر دهید حداقل کاری کنید آنرا دوست داشته باشید و همانجا پیشرفت کنید . 

با رئیس خود درباره ی استرس های خود صحبت کنید شاید بخش جدید یا کار جدیدی برای شما داشته باشد . مشکل خود را با هم تیمی های خود در میان بگذارید شاید هم تیمی های شما یا همکاران شما راه چاره را بدانند و این را هم بدانید که صاحبان کسب و کار ها حاضر هستند خیلی کارها را برای کارمندان خود انجام دهند  تا استرس انها کم شده و خلاقیت انها افزایش پیدا کند . 

برنامه نویسی یک کار ثابت است و نیاز به فعالیت بدنی ندارد پس مراقب اضافه وزن و سلامتی خود هم باشید پول را میتوان پیدا کرد ولی سلامتی را دوباره نه ! 

 

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

مطمئنا کارهای سخت پول خوبی هم دارند و به همین خاطر است که بیشتر پولدارهای دنیا برنامه نویس هستند . 

مفاهیم موتور جستجو و آموزش ساخت موتور جستجو با PHP

مفاهیم موتور جستجو و آموزش ساخت موتور جستجو با PHPhttps://avasam.ir/post/144

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

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

موتور های جستجوگر به ابزار بسیار کاربردی در زمینه اینترنت تبدیل شده اند  و این ابزارها برای برنامه نویسان ، توسعه دهندگان ، مدیر شرکت ها ، کسب و کارهای آنلاین و دیگر کاربران اینترنتی بسیار کمک کننده و مفید هستند . 

با استفاده از موتور جستجوگر ما میتوانیم اطلاعاتی درباره ی موضوع خاص را به راحتی بدست بیاوریم . 

ما در این مقاله قصد داریم علاوه بر بررسی تخصصی موتور جستجوگر و مفاهیم آن ، به شما آموزش بدیم چطور موتور جستجوی شخصی خودتان را با PHP و MySQL بسازید ! تعجب نکنید شما هم میتوانید گوگل اولش انقدر قدرتمند نبود طی سالهای درازی اینطوری شده و تبدیل شده به یک سیستم عالی !‌ولی شما هم میتوانید از یه سیستم ساده ی موتور جستجو شروع کنید و آنرا هر روز بهتر از دیروز بکنید . 

البته در این مقاله ما قصد نداریم چیزی به شما یاد بدهیم که جایگزینی برای گوگل یا یاهو بسازید چون طبیعتا این امر فعلا امکان پذیر نیست ولی شما با این آموزش به مفاهیم موتورهای جستجو و طرز عمل آنها مسلط میشوید و یاد میگیرید چطور با PHP یک موتور جستجو بسازید . 

 

موتور جستجو چیست ؟ 

بصورت کلی موتور جستجو یک ابزاری در بستر اینترنت است که به کاربران کمک میکند اطلاعات مختلف را از بین میلیون ها سایت به راحتی پیدا کنند . موتور جستجوهای پرکاربرد در جهان عبارتند از Google, Yahoo!, MSN, Bing , Ask و غیره ...

موتورهای جستجو مثل یک برنامه ی کامپیوتری هستند که در بین اسناد زیادی که دارید بین یک کلمه ی خاصی میگردند و آن اسناد را برای شما طبقه بندی میکنند . 

به هر حال بصورت عامیانه موتور جستجو چیزی است مثل Google , Bing , Yahoo و غیره ...

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

سپس این اطلاعات جمع بندی و طبقه بندی میشود ،‌ به این کار index کردن سایت ها میگویند . وقتی کاربر کلمه ی گرگ را جستجو میکند موتور جستجو در پایگاه داده خود میگردد و بین سایت هایی که این کلمه را ربات ها و خزنده ها جمع آوری کرده اند براساس رتبه ی آنها لیست میکند و به کاربر نمایش میدهد . 

 

موتور های جستجو چطور کار میکنند ؟‌

هر موتور جستجو یک الگوریتمی برای لیست کردن و نمایش اطلاعات طبقه بندی شده از سایت ها دارد. 

نتیجه ی جستجو در موتور های جستجو گر در یک لیستی به نام SERP که مخفف Search Engine Results Page است نمایش داده میشود . 

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

سپس وب سایت ها در موتور جستجو Rank بندی یا رتبه بندی میشود که کدام سایت اول نمایش داده شود و سپس کدام سایت ها یعنی به ترتیب کیفیت و محتوای سایت ها بیشتر توجه میشود و  الگوریتم های موجود در موتورهای جستجوگر تقریبا همگی به کیفیت بالا اهمیت میدهند چون هر سایتی که کیفیت بالاتری داشته باشد بهتر است ابتدا دیده شود .

البته هر موتور جستجوگر الگوریتم خاص خودش را دارد مثلا یک وب سایتی ممکن است در گوگل در رتبه ی ۱ باشد ولی در موتور جستجوی یاهو در رتبه ی ۱۰ باشد و این بستگی دارد به الگوریتمی که پشت آن موتور است . 

الگوریتم های استفاده شده در موتور های جستجوگر تقریبا در حالت مخفی و سرّی  و دائما هم در حال بروزرسانی و بهبود هستند بنابراین صاحبان وب سایت ها باید مرتبا روی سئو سایت خود کار کنند تا الگوریتم های جدید سایت ها را بهتر بشناسد . 

اگر راز الگوریتم موتور جستجو فاش شود شرکت ها سعی میکنند آنرا دور بزنند و با ایجاد رتبه ی جعلی به جاهای بالاتری بروند که این باعث میشود موتور جستجو نتایج خوبی بدست نیاورد . گاهی نحوه ی کار کردن الگوریتم ها کشف میشود و اینجاست که خیلی ها سعی میکنند تقلب کنند و دقیقا بعد از این اتفاق توسعه دهندگان آن موتور جستجو الگوریتم را بروزرسانی میکنند و یک برچسب spam به آن سایت های متقلب میزنند و رتبه ی آنها به شدت کاهش پیدا میکند . 

موتورهای جستجو گر به سورس یک وب سایت مراجعه میکنند یعنی چیزی که موتور جستجوگر از یک سایت میبینید با چیزی که یک انسان میبیند متفاوت است . موتور جستجو متن ها را میخواند و برایش تصاویر و انیمیشن ها بی مفهوم است . 

به همین علت هم بود که سریعا بساط سایت هایی که کلا با فلش طراحی میشدند جمع شد چون انیمیشن ها و گرافیک فلش برای موتور نامفهوم بود و رتبه ی سایت هایی که با HTML و CSS ساخته شده بودند بسیار بهتر بود . 

در هر صورت اگر شیوه ای را اتخاذ کنیم که متن خالی توسط موتور ها قابل رویت نباشد به احتمال زیاد رتبه ای هم در موتور های جستجو نخواهیم داشت . 

 

موتورهای جستجوی وب 

در متن بالا که درباره ی موتورهای جستجو صحبت میکردیم اشاره ی کوتاهی هم به موتور جستجوی وب داشتیم . همانطور که بالا هم گفتیم این موتور ها یک خزنده به سمت سایت شما ارسال میکنند و این توانایی را دارد که محتوای وب سایت شما را به همراه کلمات کلیدی یک صفحه واکشی کند . یک برنامه ی دیگری به نام indexer وجود دارد اسنادی که خرنده آورده است را میخواند و دسته بندی میکند و به آنها رتبه میدهد . 

هر موتور جستجوگری بر اساس الگوریتم خاص خود این رتبه بندی را انجام میدهد . 

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

 

ویژگی موتورهای جستجو 

موتورهای جستجو بدون نظارت انسان کار میکنند . هر شخصی میتواند از آنها استفاده کند و برخی از موتورهای جستجو نیز دارای نقص های درونی هستند . 

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

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

موتورهای جستجو این قابلیت را دارند که انواع نیاز های کاربران را فراهم کنند . 

 

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

ما بعنوان یک جستجوگر باید یاد بگیریم که چطور عبارت دلخواهمان را به موتور جستجو بگوییم تا بهترین نتیجه را برای ما بیاورد . 

اپراتورهای جستجو به دو دسته ی اصلی تقسیم بندی میشوند :‌

  1. اپراتورهای Boolean
  2. اپراتورهای غیر Boolean

در اینجا منظور ما از اپراتور یک کلمه یا یک سمبلی است که تایپ میکنیم .اپراتور کلمه یا نمادی است که تایپ می کنیم. این راهنما را به موتور جستجو راهنمایی می کند تا بداند چه چیزی را جستجو کند. با استفاده از این اپراتورها می توانیم جستجوی خود را محدود یا گسترده تر کنیم ، بنابراین به ما کمک می کنیم تا وب سایت هایی را که برای شما مفید است پیدا کنیم.

اپراتورهای هر موتور جستجوگر ویژه ی خودش میباشد و باید نسبت به موتوری که استفاده میکنید اپراتور های انها را یاد بگیرید .

 

تکنیک های جستجوی Boolean

عبارت AND :

این عبارت به موتور جستجو گر میگوید یک عبارت یا عبارت دیگر اگر در محتوا بود به من نمایش بده . این راه کار باعث محدود شدن وب سایت ها و بهتره پیدا شدن نتیجه ی مورد نظر میشود مثلا اگر بخواهیم به موتور بگوییم گل و قرمز را برای ما پیدا کن یا گل و قرمز و آبی را پیدا کن باید رشته های زیر را جستجو کنیم :‌

  • گل AND قرمز
  • گل AND  فرمز AND آبی

در تصویر زیر من عبارت  گل AND قرمز AND آبی را در بخش تصاویر گوگل جستجو کردم نتیجه را ببینید :‌

تکنیک های جستجو در موتورهای جستجوگر - آموزش ساخت موتور جستجو

عبارت OR :

این عبارت به موتور جستجو میگوید هر چیزی که OR بین آنها قرار گرفت یکی از آنها را پیدا کن مثلا گل یا آسمان فرقی ندارد پس گل OR آسمان ممکن است در نتایج جستجو هم آسمان داشته باشد هم گل ! 

این مورد باعث زیاد شدن نتایج جستجو و سخت تر شدن پیدا کردن هدف اصلی میشود ولی بازه ی جستجو را گسترده میکند که کاربرد های خاص خود را دارد . 

برای مثال من در تصویر زیر کیبورد OR ساعت را جستجو کرده ام که هم نتایج ساعت و هم نتایج کیبورد را برای من آورده است . 

آموزش ساخت موتور جستجو

 

عبارت NOT :

این عبارت باعث حذف شدن یک کلمه خاص از نتایج جستجو میشود مثلا اگر ما به دنبال گوشی موبایل هستیم ولی نمیخواهیم مدل LG را نمایش دهد به راحتی مینویسیم  موبایل -ال جی . توجه کنید که این عبارت در دستورات جستجوی گوگل با علامت منفی یا - انجام میگیرد تصویر زیر را ببینید 

آموزش ساخت موتور جستجو - آموزش عملکرد موتور های جستجوگر

 

تکنیک های جستجوی Non-Boolean در موتور های جستجوگر 

عبارت + :‌ این درست مثل AND عمل میکند یعنی اگر در بین دو یا چند عبارت قرار گیرد همه ی آنها باید در نتیجه ی جستجو باشند مثلا گل + أبی + قرمز 

باز مثالی در تصویر زیر آماده کرده ایم ببینید . 

آموزش ساخت موتور جستجوگر - موتور های جستجو چطور کار میکنند

عبارت - :‌

این عبارت هم دقیقا مثل NOT عمل میکند که البته در مثال بالا در گوگل ما فقط توانستیم از - استفاده کنیم چون دستور گوگل همین است . 

عبارت "" :

هر چیزی که بین " " قرار بگیرد به موتور جستجو میگوید عینا همین را جستجو بکن و جستجوی شما را خاص میکند . برای مثال تصویر زیر را ببینید 

آموزش کار با موتور های جستجو - آموزش ساخت موتور جستجوگر

 

آموزش ساخت موتور جستجوی شخصی با Php و Mysql

شاید خیلی هیجان انگیز باشه که یه موتور جستجو بسازید هر چند ساده !‌ کلی مفاهیم یاد میگیرید و کلا دستتون میاد که موتور های جستجو چطور کار میکنند . 

ما قصد نداریم موتور جستجو گر حرفه ای بسازیم که در اندازه ی Yahoo یا Google باشه ما داریم تمرین میکنیم و حداقل یک موتور جستجو در حد موتور جستجوهای بومی که میتونیم بسازیم باهاش تفریح کنیم . 

پس شروع میکنیم و  با استفاده از ابزارهای اوپن سورس مثل PHP و MySQL این کار را انجام میدیم . 

خب از آنجایی که ما در این آموزش از زبان برنامه نویسی PHP استفاده خواهیم کرد طبیعتا شما باید با مفاهیم این زبان برنامه نویسی آشنا باشید و اگر آشنا نیستید اشکالی ندارد ما قبلا یک دوره ی آموزشی برای این زبان برگزار کردیم که از لینک زیر میتوانید تهیه کنید . 

دوره ی آموزش کامل زبان برنامه نویسی PHP به فارسی

همچنین اگر قصد دارید در زبان PHP تسلط شما بیشتر شود ما دو دوره ی پیشرفته دیگری هم برگزار کردیم که مطمئنا باعث ارتقای دانش و تخصص PHP در شما میشود و در تمامی زمینه های ساخت وب سایت به درد شما میخوره . 

از لینک های زیر میتوانید این دوره های پیش رفته را ببینید و در صورت تمایل در انها شرکت کنید . 

دوره ی آموزش ساخت فریمورک MVC با PHP 

دوره ی آموزش پروژه محور ساخت سیستم هتلداری با زبان PHP و الگوی MVC

همچنین به علت اینکه پایگاه داده مورد استفاده ی ما MySQL است بهتره کمی کار با این پایگاه داده و کوئری های sql آشنا باشید ( با یه سرچ ساده پیدا میکنید ) . 

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

 

آموزش ساخت بخش پایگاه داده موتور جستجوگر اینترنتی 

خب همانطور که بالا اشاره کردیم پایگاه داده ی ما MySQL است پس باید ابتدا این پایگاه داده را نصب و راه اندازی کنید اگر ویندوزی هستید بهتره یکی از برنامه های زیر را بگیرید که PHP و MySQL و دیگر مخلفات را داخل خودش دارن :‌

  • Xampp
  • Wampp
  • EasyPHP

توجه کنید که یکی از موارد بالا را به انتخاب خودتان نصب و اجرا کنید و ما Xampp را پیشنهاد میکنیم . 

برای شروع یک پایگاه داده با هر اسمی که دوست دارید بسازید و سپس یک جدول درونش به نام SEARCH_ENGINE بسازید . 

کد sql زیر به شما کمک میکند یک جدول با نام SEARCH_ENGINE بسازید .

CREATE TABLE SEARCH_ENGINE (
       `id` INT(11) NOT NULL AUTO_INCREMENT,
       `pageurl` VARCHAR(255) NOT NULL,
       `pagecontent` TEXT NOT NULL,
       PRIMARY KEY (`id`))

 

آموزش ساخت فرم برای موتور جستجوگر اینترنتی 

خب ، بعد از اینکه پایگاه داده آماده شد و جدول مورد نظر را ساختیم الان نوبت اینه که یک فرم HTML بسازیم که کاربران نهایی ما وقتی موتور جستجوگر ما را باز میکنند آنرا ببینند و بتوانند عبارت مورد نظر خود را تایپ کنند و دکمه ی جستجو را بزنند . 

در ریشه ی اصلی سرور مجازی که نصب کردید یه فایل جدید به نام index.php بسازید و محتویات زیر را درونش کپی کنید  . 

<html>
       <head>
             <title> My search engine </title>
       </head>
       <body>
             < form action = 'search.php' method = 'GET' >
                    < center >
                           <h1 > My Search Engine </h1 >
                           < input type = 'text' size='90' name = 'search' >
                           </ br >
                           </ br >
                           < input type = 'submit' name = 'submit' value = 'Search source code' >
                           < option > 10 </ option >
                           < option > 20 </ option >
                           < option > 50 </ option >
                    </ center >
             </ form >
       </ body >
</ html > 

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

 

آموزش نوشتن الگوریتم موتور جستجوگر اینترنتی 

برای این کار ابتدا یک فایل دیگر PHP به نام search.php بسازید و در کنار همان index.php که بالا ساختیم قرار دهید . این فایل از بخش های زیر تشکیل خواهد شد . 

 

اتصال به پایگاه داده 

از کد زیر برای اتصال به پایگاه داده استفاده کنید 

mysql_connect ( "localhost", "USER_NAME", "PASSWORD" ) ; 
mysql_select_db ( "DB_NAME" );

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

نوشتن کوئری متناسب با عبارت جستجو شده 

کوئری مناسب برای این کار بصورت خیلی ساده طبق کدهای زیر است . 

$search_exploded = explode ( " ", $search );
$x = 0; 
foreach( $search_exploded as $search_each ) {
 $x++;
 $construct = " ";
 if( $x == 1 )
   $construct .= "keywords LIKE '%$search_each%' ";
 else
   $construct .= "AND keywords LIKE '%$search_each%' ";
  }
$construct = " SELECT * FROM SEARCH_ENGINE WHERE $construct ";
$run = mysql_query( $construct ); 

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

واکشی نتیجه از پایگاه داده و قرار دادن نتیجه در اختیار کاربر . طبق کدهای زیر باید انجام بگیرد .

 if ($foundnum == 0)
             echo "Sorry, there are no matching result for <b> $search </b>.
             </ br >
             </ br > 1. Try more general words. for example: If you want to search 'how to create a website' then use general keyword like 'create' 'website'
             </ br > 2. Try different words with similar  meaning
             </ br > 3. Please check your spelling"; 
                    else {
                           echo "$foundnum results found !<p>";
                           while ( $runrows = mysql_fetch_assoc($run) ) {
                                  $title = $runrows ['title'];
                                  $desc = $runrows ['description'];
                                  $url = $runrows ['url'];
                                  echo "<a href='$url'> <b> $title </b> </a> <br> $desc <br> <a href='$url'> $url </a> <p>";
                    }
             } 

اکنون موتور جستجوی ساده ی ما آماده است .  در زیر کد کامل search.php را میبینید . 

<?php
       $button = $_GET[ 'submit' ];
       $search = $_GET[ 'search' ]; 
 
       if( !$button )
             echo "you didn't submit a keyword";
       else {
             if( strlen( $search ) <= 1 )
                    echo "Search term too short";
             else {
                    echo "You searched for <b> $search </b> <hr size='1' > </ br > ";
                    mysql_connect( "localhost","USERNAME","PASSWORD") ; 
                    mysql_select_db("DBNAME");
 
                    $search_exploded = explode ( " ", $search );
                    $x = 0; 
                    foreach( $search_exploded as $search_each ) {
                           $x++;
                           $construct = "";
                           if( $x == 1 )
                                  $construct .="keywords LIKE '%$search_each%'";
                           else
                                  $construct .="AND keywords LIKE '%$search_each%'";
                    }
 
                    $construct = " SELECT * FROM SEARCH_ENGINE WHERE $construct ";
                    $run = mysql_query( $construct );
 
                    $foundnum = mysql_num_rows($run);
 
                    if ($foundnum == 0)
                           echo "Sorry, there are no matching result for <b> $search </b>. </br> </br> 1. Try more general words. for example: If you want to search 'how to create a website' then use general keyword like 'create' 'website' </br> 2. Try different words with similar  meaning </br> 3. Please check your spelling"; 
                    else {
                           echo "$foundnum results found !<p>";
 
                           while( $runrows = mysql_fetch_assoc( $run ) ) {
                                  $title = $runrows ['title'];
                                  $desc = $runrows ['description'];
                                  $url = $runrows ['url'];
 
                                  echo "<a href='$url'> <b> $title </b> </a> <br> $desc <br> <a href='$url'> $url </a> <p>";
 
                           }
                    }
 
             }
       }
 ?>

 

ساختار موتور جستجوگر اینترنتی پیشرفته تر 

موتور های جستجوگر معمولا پیشرفته تر هستند یعنی شامل بخش ها و کدهای زیادی هستند که برای مثال یک عبارت خاص را از بین میلیون ها اسناد واکشی میکنند و نتایج را دسته بندی و مرتب سازی کرده و به کاربر نهایی نمایش میدهند . 

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

یا مثلا کاربر کلمه ی دقیق یک چیزی را به یاد نمی آورد و با اشاره به کلمات مشابه آن میخواهد آنرا پیدا کند گوگل این قابلیت را دارد که به این شخص در پیدا کردن گمشده ی خود کمک کند 

پس موتور های جستجوگر بزرگ در اینترنت بسیار گسترده تر از حوصله ای این آموزش و گنجایش اینجاست . ما قصد داریم اساس و پایه را یاد بگیرید سپس میتوانید آنرا گسترش دهید و حداقل یک موتور جستجو متوسط برای ایران بسازید که بومی باشد و به درد بخور !!!

 

بخش های اصلی یک موتور جستجوی اینترنتی 

  1. یک خزنده که اصطلاحا به آن crawler گفته میشود که وظیفه اش واکشی اطلاعات مربوط به سایت ها و اسناد و کلا جمع آوری هر آنچه در اینترنت است . 
  2. یک بخش index برای نگهداری صفحات یا اسناد ذخیره شده که بصورت ساختاری در آنجا قرار گرفته اند
  3. و یک مخزن اسناد برای نگهداری اطلاعات مربوط به کل اسناد موجود 

 

خزنده یا crawler موتور های جستجو چطور کار میکنند 

همانگونه که بالا هم گفتیم خزنده ها یا crawler ها در سرتاسر اینترنت میچرخند و اطلاعات سایت ها را جمع آوری میکنند اما خزنده ها باید لیستی از URL های اینترنتی داشته باشند که به آنها رجوع کنند . برای این کار چند روش کلی وجود دارد که در زیر به آنها پرداخته ایم .

  • متداول ترین روش این است که URL ها را بعنوان یک لیست و feed به خزنده بدهیم . سپس خزنده یک به یک به آنها رفته و عمل crawle را انجام دهد . 
  • روش دیگر دانلود کردن لیستی از URL ها و استفاده از آنهاست . 

ابتدا یک تجزیه کننده ی لینک ها مینویسیم تا لینک های واقعی را بشناسیم . کدهای زیر را ببینید .

          $file_handle = fopen( " Quantcast-Top-Million.txt ", "r" );
 
       while ( !feof ( $file_handle ) ) {
             $line = fgets( $file_handle );
             if( preg_match( '/^\d+/',$line ) ) { # if it starts with some amount of digits
                    $tmp = explode( "\t",$line );
                    $rank = trim( $tmp[0] );
                    $url = trim( $tmp[1] );
                    if( $url != 'Hidden profile' ) { # Hidden profile appears sometimes just ignore then
                           echo $	
			}
		}
	}
	fclose( $file_handle );

سپس کد خزنده را برای دریافت محتوای یک URL مینویسیم که دانلود کردن دااده های سایت های در لیست ممکن است کمی زمان ببرد . 

   $file_handle = fopen("urllist.txt", "r");
         while (!feof($file_handle)) {
                 $url = trim(fgets($file_handle));
                 $content = file_get_contents($url);
                 $document = array($url,$content);
                 $serialized = serialize($document);
                 $fp = fopen('./documents/'.md5($url), 'w');
                 fwrite($fp, $serialized);
                 fclose($fp);
         }
         fclose($file_handle);

 

خزنده ی بالا یک خزنده ساده ی تک رشته ای است که داخل حلقه ای تمامی URL ها را واکشی میکند اطلاعات آنها را دریافت و در دیسک ذخیره سازی میکند  .

نکته ای که وجود دارد این است که URL به همراه محتوای آن هم در یک فایل ذخیره میکنیم و این URL به رتبه بندی لیست و همچنین برای اینکه متوجه شویم منبع این محتوا کجاست به درد میخورد . 

بخش INDEX 

این بخش باید مسئولیت هایی را برعهده ی خود داشته باشد :‌

  1. نیاز است که محتویات را در دیسک ذخیره کند و آنها را واکشی کند 
  2. وقتی میخواهیم همه چیز را دوباره تولید کنیم باید قادر باشد خودش را پاکسازی کند 
  3. باید اسنادی که ذخیره میکند را اعتبار سنجی کند  

با تعاریف بالا باید interface خود را به شکل زیر داشته باشیم 

 interface iindex {
                 public function storeDocuments($name,array $documents);
                 public function getDocuments($name);
                 public function clearIndex();
                 public function validateDocument(array $document);
         }

 

هر چند پیاده سازی یک موتور جستجو کار ساده ای نیست ولی ما سعی کردیم کلیت موضوع را در این مقاله برای شما آشکار کنیم . چیزی که شما نیاز دارید این است که الان بدون ترس وارد کدها شوید و تمرین و تست کنید برای هر بخشی کی راه کاری مطمئنا وجود دارد . 


دوره ی پروژه محور ساخت فروشگاه بامیلو با لاراول

دوره ی پروژه محور ساخت فروشگاه بامیلو با لاراولhttps://avasam.ir/product/35 

توضیحات و جزئیات دوره :

 

دوره ی اموزش ساخت فروشگاه اینترنتی با لاراول بصورت پروژه محور مشابه بامیلودوره ی اموزش ساخت فروشگاه اینترنتی با لاراول بصورت پروژه محور مشابه بامیلو

 

:: سخن مدرس این دوره ::

این دوره یک دوره ی آموزشی ویژه است ، این دوره براساس نیاز کاربران تهیه شده است چرا که خیلی از دوستان که قصد دارند یک فروشگاه اینترنتی پیاده کنند تا کسب و کار خود را رونق دهند یا یک پروژه را تحویل دهند همیشه به مشکل میخورند یعنی همیشه جای خالی یک دوره ی آموزشی قوی و سریع که شما را وارد بازار کار کند احساس میشد و من دست به کار شدم و یک دوره فوق العاده طبق تجربه ی ۵ سال برنامه نویسی خودم ساختم که سعی کرده ام از نظر کیفیت و مباحث آموزشی سنگ تمام را بگذارم چرا که در این مدت کم و با این سرعت بالا ، دوره ای در زمینه ی ساخت فروشگاه اینترنتی ندیده ام که این همه مطالب را منتقل کند . البته سخنی که اینجا مینویسم حاصل فیدبک گرفته شده از دانشجویان این دوره است  .

 

:: سرفصل های این دوره ی آموزشی ::

 

جلسه ۱ :

  • آموزش نصب و راه اندازی برنامه های مورد نیاز
  • آموزش دانلود و نصب composer
  • آموزش کامل نصب laravel ۵,۶
  • آموزش نصب و راه اندازی xampp
  • آموزش ساخت دامنه ی مجازی در ویندوز و xampp 

 

جلسه ۲ :

  • آموزش و معرفی پایگاه داده مورد استفاده
  • آموزش کار با dbdesigner جهت طراحی پایگاه داده پروژه ها
  • آموزش ساخت جداول مختلف و ارتباط آنها با استفاده از سایت dbdesigner.net
  • آموزش خروجی گرفتن از پایگاه داده ساخته شده با dbdesigner

 

جلسه ۳ :

  • معرفی قالب ریسپانسیو
  • آموزش وارد کردن قالب به لاراول
  • آموزش کار با blade در laravel
  • آموزش تکه بندی قالب با استفاده از انجین blade
  • آموزش استفاده از متد asset در blade 

 

جلسه ۴ :

  • استفاده از bootstrap dashboard برای ساخت قالب داشبورد مدیر فروشگاه
  • آموزش کار با  Route ها در Laravel
  • آموزش ایجاد قالب ، پنل مدیریت فروشگاه
  • آموزش نصب پکیج های مفید laravel برای محیط sublime Text
  • آموزش ساخت کنترلر جدید HomeController برای کنترل صفحه ی اصلی فروشگاه
  • آموزش ساخت کنترل AdminController جهت کنترل پنل مدیریت فروشگاه
  • آموزش ایجاد و نمایش فایل های blade یا ویو های فروشگاه
  • آموزش extends کردن ویوهای مختلف در blade لاراول
  • آموزش ایجاد متد login برای پنل مدیریت
  • آموزش آدرس دهی فایل های css در blade 

 

جلسه ۵ :

  • ایجاد route و متد مربوط به login پنل  مدیریت
  • آموزش کامل ساخت پایگاه داده و متصل کردن آن به لاراول
  • آموزش کار با migration ها جهت ایجاد جدول مدیر ها ساخت فرم ورود مدیریت و چک کردن آن با پایگاه داده
  • آموزش واکشی اطلاعات از پایگاه داده و بررسی کردن مقدار آن
  • آموزش کار با session ها در لاراول و ایجاد سشن مدیریت

 

جلسه ۶ :

  • چک کردن Session ها و وضعیت ورود مدیر
  • آموزش ریدایرکت به به پنل مدیریت بعد از لاگین
  • آموزش چک کردن هویت مدیر 
  • آموزش نابود کردن session ها در هنگام خروج از مدیریت و برنامه نویسی متد خروج مدیر
  • آموزش نمایش پیام های مختلف با استفاده از session ها

 

جلسه ۷ :

  • آموزش ایجاد کنترلر SuperAdmin جهت مدیریت سطح بالاتر
  • نمایش نام مدیر وارد شده در پنل مدیریتی و تنظیم منوی پنل مدیریت 
  • آموزش ایجاد route و متد logout پنل مدیریت  و همچنین ایجاد منوی مربوط در پنل مدیریتی
  • ویرایش منوهای پنل مدیریت و افزودن لینک های ( دسته بندی ها ، افزودن دسته بندی ، برندها ، افزودن برند،محصولات ، افزودن محصول )

 

جلسه  ۸  :

  • آموزش ایجاد route کنترلر ، متد مربوط به دسته بندی های محصولات فروشگاه 
  • آموزش ساخت فرم افزودن دسته بندی محصولات
  • آموزش استفاده از csrf_field() در فرم های لاراول
  • آموزش تنظیم مقدار action فرم ها با استفاده از URL برای فرم های لاراول

 

جلسه  ۹  :

  • آموزش ایجاد layout قسمت نمایش تمام دسته بندی محصولات در پنل مدیریت
  • آموزش کار با بوت استرپ جهت ایجاد جدول
  • آموزش قراردادن دکمه ی عملیات مختلف مدیریتی، برای ردیف های موجود جدول دسته بندی محصولات (هر دسته بندی که در جدول نمایش داده خواهد شد . )
  • اصلاح لینک های مربوط به منو پنل مدیریت با استفاده از آدرس دهی blade

 

جلسه  ۱۰  :

  • ایجاد جدول دسته بندی محصولات در پایگاه داده  با استفاده از migration
  • ارسال اطلاعات فرم ، ثبت دسته بندی جدید به یک route
  • دریافت اطلاعات post شده دسته بندی جدید در کنترلر
  • آموزش استفاده از Request در متدهای کنترلر
  • دریافت و نمایش اطلاعات دسته بندی جدید با استفاده از Request 

 

جلسه  ۱۱  :

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

 

جلسه  ۱۲  :

  • آموزش فراخوانی اطلاعات دسته بندی ها از پایگاه داده
  • آموزش نمایش تمام دسته بندی های موجود در قسمت دسته بندی های پنل مدیریت
  • آموزش مرتب سازی و بهبود وضعیت ظاهری قسمت نمایش تمام دسته بندی ها
  • آموزش ایجاد قسمت های مدیریتی روی دسته بندی ها ( نمایش / عدم نمایش ، ویرایش ، حذف ) 

 

جلسه  ۱۳  :

  • آموزش مسیردهی به دکمه های Active/Unactive کردن دسته بندی محصولات
  • آموزش کدنویسی متد مربوط به Active/Unactive کردن دسته بندی محصولات
  • آموزش آپدیت کردن وضعیت (نمایش/عدم نمایش) دسته بندی های محصولات درجدول  پایگاه داده 

 

جلسه  ۱۴  :

  • ایجاد لینک و route مربوط به ویرایش دسته بندی های موجود در پایگاه داده
  • آموزش ایجاد متدکنترلر مربوط به ویرایش دسته بندی محصولات
  • آموزش دریافت آیدی یک دسته بندی خاص و نمایش محتویات سابق آن از پایگاه داده ،  در فرم ویرایش دسته بندی
  • آموزش اعمال آپدیت های  یک دسته بندی خاص در پایگاه داده

 

جلسه  ۱۵  :

  • ایجاد لینک و route برای حذف کردن یک دسته بندی خاص
  • آموزش ایجاد متدکنترلر مربوط به پاک کردن یک دسته بندی خاص
  • آموزش ارسال آیدی یک دسته بندی خاص به سمت متد حذف
  • آموزش حذف کردن یک دسته بندی خاص از پایگاه داده
  • آموزش نمایش پیام تائید هنگام پاک کردن یک دسته بندی 

 

جلسه  ۱۶  :

  • آموزش فراخوانی دسته بندی ثبت شده در پایگاه داده
  • آموزش نماش دسته بندی ها از پایگاه داده در front – end فروشگاه ( جایی که مشتری ها میبیند )
  • آموزش ساخت لینک برای نمایش محتویات ، هر دسته بندی در قسمت front – end فروشگاه
  • آموزش مسیردهی به هر دسته بندی خاص
  • آموزش ساخت migration مربوط به جدول برند ها در پایگاه داده 

 

جلسه  ۱۷  :

  •  آموزش ایجاد لینک و route برای برندها در پنل مدیریت
  • آموزش ایجاد کنترلر جدید برای برند های فروشگاه
  • آموزش ایجاد فرم ثبت برند جدید در پنل مدیریتی آموزش نمایش تمام برند های موجود در پایگاه داده در قسمت پنل مدیریت
  • آموزش ایجاد قسمت های مدیریتی روی برندها ( حذف ، ویرایش ؛ فعال / غیرفعال کردن ) 

 

جلسه  ۱۸  :

  • آموزش برنامه نویسی قسمت فعال/غیرفعال کردن برند ها
  • آموزش برنامه نویسی متدکنترلر حذف کردن یک برند از پایگاه داده
  • آموزش نمایش پیام تائید قبل از حذف کردن یک برند
  • آموزش ویرایش کردن یک برند خاص ( نمایش اطلاعات سابق در فرم و ثبت ویرایش های جدید )

 

جلسه  ۱۹  :

  • آموزش واکشی تمامی برند های موجود در پایگاه داده
  • آموزش نمایش برندها در front – end فروشگاه
  • آموزش مرتب سازی و بهبود ظاهری مربوط به front -end نمایش برند ها
  • آموزش ایجاد جدول محصولات در پایگاه داده با استفاده از migration ها
  • آموزش ایجاد قسمت درج محصول جدید در فروشگاه به همراه جزئیات و تصویر ( در پنل مدیر)

 

جلسه  ۲۰  :

  • آموزش ایجاد کنترلر Product یا محصولات فروشگاه
  • آموزش ایجاد متدکنترلر افزودن یک محصول جدید به پایگاه داده
  • آموزش آپلود تصویر برای هر محصول و ثبت آن در دیتابیس
  • آموزش لود کردن دسته بندی ها و برند های موجود برای نمایش در فرم ثبت محصول جدید بصورت منوی بازشو 

 

جلسه  ۲۱  :

  • آموزش واکشی محصولات از پایگاه داده
  • آموزش نمایش تمامی محصولات در قسمت پنل مدیریت
  • آموزش ساخت قسمت های مدیریت برای هر محصول ( فعال / غیرفعال ، ویرایش ، حذف )
  • آموزش نحوه ی ساخت migration برای تغییر نام یک ستون
  • آموزش نحوه ی نصب پکیج doctrine/dbal لاراول 

 

جلسه  ۲۲  :

  • آموزش فعال/غیرفعال کردن محصولات از پنل مدیریت
  • آموزش حذف کردن یک محصول خاص با استفاده از پنل مدیریت
  • آموزش نمایش پیام تائید قبل از حذف یک محصول خاص 

 

جلسه  ۲۳  :

  • آموزش ایجاد متد احراز هویت مدیر توسط کنترلر SuperAdminController
  • آموزش ایجاد محدودیت برای قسمت های مختلف مدیریت که فقط برای مدیر نمایش داده شود 
  • بهبود لاگین مدیر و ایجاد ریدایرکت به لاگین در صورت نبود مجوز دسترسی

 

جلسه  ۲۴  :

  • آموزش بهبود وضعیت مجوز ها و دسترسی ها توسط session ها و افزایش امنیت فروشگاه
  • آموزش اعمال محدودیت (دسترسی فقط برای مدیر مجاز باشد) روی قسمت های ( دسته بندی ها ، برندها ، محصولات و … )
  • آموزش فراخوانی تمام محصولات موجود در پایگاه داده و نمایش انها در front – end فروشگاه ( قسمتی که مشتری میبیند)
  • بهبود ظاهری و گرافیکی صفحه ی اصلی فروشگاه

 

جلسه  ۲۵  :

  • آموزش ایجاد جدول مربوط به اسلایدر توسط migration
  • آموزش ایجاد قسمت افزودن اسلایدر جدید توسط مدیر
  • آموزش کدنویسی آپلود تصویر اسلایدر جدید و درج در پایگاه داده
  • آموزش ایجاد قسمت مدیریت اسلایدرهای موجود توسط مدیر
  • آموزش کدنویسی نمایش تمام اسلایدرهای موجود در پایگاه داده در پنل مدیر 

 

جلسه  ۲۶ :

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

 

جلسه  ۲۷ : 

  • آموزش کدنویسی فعال/غیرفعال کردن اسلایدر های موجود در پایگاه داده
  • آموزش ایجاد امکان حذف کردن یک اسلایدر خاص از دیتابیس
  • آموزش کدنویسی واکشی و نمایش محصولات درون یک دسته بندی خاص

 

جلسه  ۲۸ :

  • آموزش لینک دار کردن محصولات جهت هدایت به صفحه ی جزئیات هر محصول
  • آموزش ایجاد صفحه ی جزئیات محصول
  • آموزش ایجاد تب های مختلف جهت نمایش جزئیات کامل هر محصول

 

جلسه  ۲۹ : 

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

 

جلسه  ۳۰ :

  •   آموزش جداسازی blade یک محصول و دکمه ی خرید بصورت آیتم های آماده برای استفاده های مجدد
  • ویرایش و بهبود دکمه افزود ن به سبد خرید در قسمت های دیگر فروشگاه
  • آموزش پکیج LaravelShoppingCart و نحوه ی نصب و استفاده از آن جهت کنترل سبد خرید
  • آموزش کدنویسی نمایش محتویات سبد خرید

 

جلسه  ۳۱ :

  •   آموزش بهبود گرافیکی و ظاهری سبد خرید
  • آموزش ایجاد دکمه حذف یک آیتم از سبد خرید
  • آموزش کدنویسی نمایش مجموع مبلغ سبد خرید و اعمال هزینه ی مالیات به سبد خرید و … 

 

جلسه  ۳۲ :

  •   آموزش بهبود سبد خرید ( گرافیکی و کدنویسی )
  • آموزش ایجاد دکمه ی + و – برای آیتم های سبد خرید
  • آموزش ایجاد متدکنترلر افزاینده و کاهنده ی تعداد محصولات سبد خرید (+/-)
  • آموزش بروزرسانی سبد خرید ( افزایش/ کاهش تعداد آیتم ها) 

 

جلسه  ۳۳ : 

  • آموزش ایجاد مرحله ی بعدی سبد خرید یا checkout
  • آموزش ایجاد کنترلر مربوط به مشتری ها بنام CustomerController
  • آموزش ایجاد جدول مشتری ها با استفاده از migration لاراول در پایگاه داده
  • آموزش ایجاد مرکز احراز هویت مشتری ( ثبت نام/ ورود )
  • ایجاد محدودیت برای مرحله ی بعدی خرید ( در صورت لاگین نشدن کاربر باید لاگین/ ثبت نام انجام شود)

 

جلسه  ۳۴ :

  •   آموزش ایجاد متدکنترلر ، جهت ثبت نام و ورود مشتری
  • آموزش ایجاد فرم ثبت نام مشتری
  • آموزش ثبت اطلاعات مشتری در پایگاه داده و ایجاد سشن
  • آموزش حذف یک ستونِ جدول پایگاه داده ، توسط migration ها

 

جلسه  ۳۵ :

  •   آموزش ایجاد فرم مرحله ی ثبت اطلاعات ارسال در سبد خرید
  • آموزش دریافت اطلاعات ارسال محصول ( آدرس پستی ، شماره تماس و … ) در متدکنترلر مربوطه آ
  • موزش ایجاد جدول shipping با استفاده از migration لاراول

 

جلسه  ۳۶ : 

  • آموزش کدنویسی قسمت ورود مشتری 
  • آموزش ایجاد سشن های مورد نیاز در قسمت ورود مشتری
  • آموزش ایجاد route و متد ذخیره سازی اطلاعات shipping در پایگاه داده
  • آموزش تغییر نوع یک ستون در پایگاه داده با دستورات migration( برای مثال تبدیل string به integer) 

 

جلسه  ۳۷ : 

  • آموزش ایجاد مقدمات برای مرحله ی سوم سبد خرید که قسمت پرداخت میباشد
  •  آموزش ایجاد blade مربوط به پرداخت بانکی فروشگاه
  • آموزش ایجاد ویو بخش های مختلف پرداخت ( بانک ملت ، بانک سامان ؛ زرین پال و …)
  • آموزش ایجاد قسمت انتخاب نوع روش های پرداخت اینترنتی

 

جلسه  ۳۸ :

  • آموزش بهینه سازی ظاهر و گرافیک قسمت پرداخت بانکی در سبدخرید
  • آموزش route و متد دریافت اطلاعات پرداخت جهت پردازش های بعدی
  • آموزش شناسایی  اطلاعات درگاه انتخاب شده ( switch case و … )

 

جلسه  ۳۹ : 

  • آموزش ایجاد جدول مربوط به پرداخت ها توسط migration لاراول
  • آموزش ایجاد جدول مربوط به سفارشات توسط migration لاراول
  • آموزش ایجاد جدول جزئیات سفارشات توسط migration لاراول
  • ایجاد ستون های مورد نیاز برای سه جدول ایجاد شده در بالا
  • معرفی پکیج لاراولی درگاه پرداخت زرین پال

 

جلسه  ۴۰ : 

  • آموزش دریافت کد درگاه بانکی از زرین پال
  • آموزش نصب پکیج زرین پال در لاراول
  • آموزش استفاده از درگاه زرین پال در حالت sandbox یا تستی
  • آموزش ارتباط کامل با درگاه پرداخت زرین پال و انجام پرداخت مبلغ کلی سبد خرید در زرین پال
  • آموزش دریافت پاسخ تراکنش زرین پال

 

جلسه  ۴۱ :

  •    آموزش ثبت اطلاعات پرداخت بازگشتی از درگاه بانکی
  • آموزش کدنویسی ثبت سفارش جدید در پایگاه داده  بعد از پرداخت موفق
  • آموزش دریافت آیدی سفارش ثبت شده در جدول order

 

جلسه  ۴۲ :

  •   آموزش ثبت تک تک آیتم های سبد خرید که برای انها که  پرداخت موفق انجام شده در جدول ( order_details)
  • آموزش ساخت صفحه ی پرداخت موفق و ریدایرکت کاربر بعد از اتمام خرید
  • آموزش ویرایش ظاهری اسلایدر صفحه اصلی
  • آموزش تبدیل اسلایدر ساده به یک اسلایدر حرفه ای در صفحه ی اول سایت
  • آموزش بروزرسانی جدول مربوط به اسلایدر و ایجاد ستون های جدید

 

جلسه  ۴۳ : 

  • آموزش اضافه کردن واترمارک تخفیف برای اسلاید ها به همراه ایجاد لینک در جدول اسلایدر پایگاه داده
  • آموزش بهبود ظاهری قسمت نمایش کادر هر محصول و دکمه ی افزودن به سبد خرید
  • آموزش ایجاد تب برای نمایش دسته بندی محصولات بصورت تب و نمایش محصولات هر دسته بندی زیر تب مخصوص به خود

 

جلسه  ۴۴ : 

  • آموزش بهبود قسمت منوی اصلی فروشگاه در front – end فروشگاه
  • آموزش بروزرسانی لینک های مربوط به منوی اصلی فروشگاه
  • آموزش پیاده سازی قسمت جستجوی فروشگاه
  • آموزش واکشی اطلاعات مشابه از بین محصولات برای عبارت جستجو شده

 

جلسه  ۴۵ :

  •   آموزش ایجاد جدول علاقه مندی ها با استفاده از migration
  • آموزش نحوه ی join کردن جداول 
  • آموزش واکشی و نمایش تمام علاقه مندی های موجود در پایگاه داده
  • آموزش دکمه ی افزودن / حذف کردن علاقه مندی برای تمام محصولات

 

جلسه  ۴۶ :

  •   آموزش کدنویسی متدکنترلر حذف/افزودن یک محصول به جدول علاقه مندی ها
  • آموزش کدنویسی و ایجاد منو برای logout کردن مشتری
  • آموزش بهبود ظاهری منوی مدیریت مشتری 

 

جلسه  ۴۷ :

  •   آموزش فارسی سازی منو های داشبورد
  • آموزش فارسی سازی قسمتی از فرانت اند فروشگاه
  • آموزش اصلاح و بهبود مسیردهی های قبلی

 

جلسه  ۴۸ : 

  • آموزش نصب فونت جدید در لاراول
  • آموزش نصب فونت Vazir
  • آموزش کدنویسی css برای تعریف فونت جدید و اعمال فونت به سایت

 

جلسه  ۴۹ :

  •   آموزش راست چین کردن بوت استرپ
  • آموزش کدنویسی css برای راست چین کردن قالب فراند اند فروشگاه

 

جلسه  ۵۰ : 

  • آموزش کار با استایل دهی css
  • آموزش بهبود وضعیت  RTL ظاهری
  • تغییر فونت و رنگبندی و آیکون قسمت های مختلف

 

جلسه  ۵۱ :

  • آموزش تغییر فونت پنل مدیریت 
  • آموزش راست چین کردن قالب پنل مدیریت فروشگاه

 

جلسه  ۵۲ :

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

 

لینک دریافت موراد مورد نیاز این دوره ( قالب و فونت و … )  : https://github.com/samenta/bamilo-Laravel-۵,۶-Tutorial-Sources

 

دوره-ی-آموزش-ساخت-فروشگاه-اینترنتی-با-لاراول-5.6-مشابه-بامیلو

 

اگر نیاز به مشاوره یا پشتیبانی درباره ی این دوره دارید به سیستم پشتیبانی ما در وب سایت مراجعه کنید که بعد از ثبت نام در پنل کاربری شما قرار گرفته است .