آموزش افزایش سرعت سایت با GTmetrix – رفع خطاهای YSlow

آموزش افزایش سرعت سایت با GTmetrix – رفع خطاهای YSlow

در این پست قصد داریم درباره ارور Reduce DNS lookups و یا ارور Minimize DNS lookups که هر دو به یک مفهوم اشاره دارد، صبحت کنیم و بررسی کنیم منظور این خطا چیست و اینکه رفع آن چگونه باعث بالا بردن سرعت سایت ما می‌شود.

خلاصه‌ای از خطا Reduce DNS lookups

نام: Reduce DNS lookups
نوع: محتوا
اولویت: پایین
میزان سختی: متوسط
میانگین امتیاز: 70%

5 1 300x154 - رفع خطای Reduce DNS lookups در YSlow جی تی متریکس
خطا Reduce DNS lookups

DNS lookups چیست ؟

Hostname یا آدرس یک سایت همانند seoraz.com گفته می‌شود، تمام Hostname ها استعاره از یک IP هستند که به این استعاره alias هم گفته می‌شود و اگر توجه کرده باشید در تنظیمات DNSها یک نوع رکوردی وجود دارد به نام A، در این نوع رکوردها نام یک سایت (Hostname) را می‌دهیم تا به یک IP وصل شود.

زمانی که شما یک Hostname را در نوار آدرس مرورگر خود تایپ می‌کنید مانند seoraz.com سیستم شما به دنبال IP آن می‌گردد و اگر در خودش نباشد به‌وسیله مودم به دنیای بیرون وصل می‌شود و یک action به نام DNS lookups(جستجوی DNS) ایجاد می‌کند، ابتدا به سراغ DNS Serverهای ISP محلی (سرویس‌دهندگان اینترنت) می‌رود و به دنبال IP یک Hostname که شما تایپ کردید می‌گردد و اگر درون ISP محلی نباشد به یک DSN Server سطح بالاتر مراجعه می‌کند همانند ISP های جهانی و حتی اگر پاسخ را در آن‌ها پیدا نکند (که بسیار بعید است) درنهایت به بالاترین مرجع یعنی InterNIC خواهد رسید.

InterNIC پایگاه داده‌ ثبت‌نام دامنه (Domain Registration Database) وبرترین و بزرگ‌ترین DNS Server است . شما می‌توانید با مراجعه به آدرس www.internic.net و انتخاب گزینه Whois و سپس واردکردن آدرس یک سایت به جستجو درباره سایت مربوطه و webserver آن بپردازید.

پس به شکل خلاصه DNS lookups یعنی عمل جستجوی IP یک سایت در بین DNS Serverها می‌باشد. فرآیند DNS lookup تا زمانی که تمام نشود مرورگر نمی‌تواند فایل‌های لازمه برای نمایش سایت را دانلود کند و اصولا این فرآیند زمانی بین 20 تا 120 میلی‌ثانیه به طول می‌انجامد تا IP یک سایت را پیدا کند.

مثال از DNS Lookup

در این مثال می‌خواهیم به شما نشان دهیم که چطور یک DNS lookup می‌تواند بر روی بهینه سازی سرعت سایت تاثیر بگذارد، به همین منظور از یک ابزار آنلاین تست سرعت سایت استفاده می‌کنیم و ما در اینجا به کمک ابزار webpagetest.org سایت seoraz.com را تست می‌کنیم. به آدرس ذکر شده رفته و در سربرگ Details به بررسی این موضوع می‌پردازیم.

5 2 300x155 - رفع خطای Reduce DNS lookups در YSlow جی تی متریکس
DNS Lookup

طبق عکس، سایت سئوراز درکل از ۳۰ درخواست ساخته شده است که ۳ نوع آن DNS lookup است، نتیجه‌ای که از این تست می‌توان گرفت این است که زمان لازم برای پیدا کردن DNSهای موجود در سایت سئوراز حدود 100 میلی‌ثانیه می‌باشد که این زمان بسیار فوق العاده می‌باشد و نشان از بهینه سازی سئو سایت صحیح آن است، ولی گاهی ما در پروژه‌های افزایش سرعت سایت برخوردیم که زمان کل DNS lookup به 2980 رسیده و این یعنی 2.98 ثانیه به زمان کل بارگذاری سایت اضافه می‌شود. و اگر سعی کنیم می‌توانیم این زمان را بهبود دهیم، پس می‌توان نتیجه گرفت که DNS lookup می‌تواند بر سرعت سایت تاثیر مناسبی داشته باشد و بهبود آن باعث بهینه سازی سایت می‌شود. در پروژه‌ای که اشاره کردیم ما در انتها توانستیم زمان 2980 را به 1201 برسانیم و این نکته بسیار مهم است چرا که در بهبود سازی فقط یک فاکتور دو ثانیه از زمان لود کل وب سایت کاسته شد.

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

نحوه رفع مشکل Reduce DNS lookups

کاهش تعداد DNS lookup ساده به نظر می‌رسد و میتوان با داشتن سیاست های مناسب به این خواسته رسید.

به سادگی شما می‌توانید تعداد دامنه‌های مجزایی که در سند سایت خود آن‌ها را فراخوانی کرده‌اید را کاهش دهید. مثلا به عکس بالا توجه کنید، ۳ بار درخواست از نوع DNS lookup بوده است چرا که سه دامنه متفاوت در سند سایت میزفا فراخوانی شده است، که اولی طبیعتا خوده سایت یعنی دامنه seoraz.com است، دومی مربوط به سایت cloudflare است و سومی برای گوگل آنالیتیکس می‌باشد. در ساخت سایت‌ های ایرانی مخصوصا سایت‌های با CMS های اماده همانند وردپرس و جوملا ممکن است به خاطر نصب افزونه‌های مختلف از شرکت‌های متفاوت، چنین خطاهایی بسیار باشد، چرا که هر افزونه ممکن است از سایت‌های لازمه برای به اجرا در آمدن در سایت شما فایل هایی را در سند HTML سایتتان لود نماید و این یعنی افزایش DNS lookup در طراحی سایت شما. نمونه سایت‌های مشهوری که در بسیاری از سایت‌های ایرانی وجود دارد توجه نمایید:

  • دامنه fonts.googleapis.com : مربوط به فونت‌های گوگل می‌باشد.
  • دامنه google-analytics.com : مربوط به ابزار آمارگیر گوگل یعنی گوگل آنالیتیکس
  • دامنه maps.googleapis.com : مربوط به مپ گوگل
  • دامنه cdnjs.cloudflare.com : مربوط به CDN کلودفلیر
  • دامنه amarfa.ir : مربوط به طراحی سایت (طراحی سایت شرکتی، طراحی سایت فروشگاهی)‌ ایرانی برای گرفتن آمار
  • دامنه webgozar.com : مربوط به سایت داغون امار گیر
  • دامنه logo.samandehi.ir : لوگوی مجوز اخذ شده از ساماندهی محتوای فضای مجازی
  • دامنه trustseal.enamad.ir : لوگوی مجوز اخذ شده از سایت ای نماد
  • دامنه cdn.onesignal.com : مربوط به سایت onesignal برای ایجاد نوتیفیکیشن در مرورگر کاربران
  • و تمام زیردامنه‌های سایت شما و هر فایلی که از دیگر دامنه‌ها در سند شما بارگذاری شود باعث افزایش DNS lookup می‌شود.

بنابراین روش اول که اشاره شد جذف چنین سایت‌هایی برای Reduce DNS lookups می‌باشد، روش دوم دانلود فایل‌هایی است که از یک سایت خارجی در سند ما لود می‌شود و قرار دادن آن فایل در هاست خود یا CDN سایت ما، که این روش باعث بهبود DNS lookups می‌شود، همان‌طور که می‌دانید برای دیدن سایت میزفا حداقل یک DNS lookups یعنی seoraz.com به ناچار به وجود می‌اید بنابراین وقتی چنین DNS lookups قطعا وجود دارد می‌توان فایل‌هایی که از دیگر سایت‌ها در سایت ما لود می‌شود را درون هاست خود قرار دهیم و یا اگر CDN داریم در آنجا قرار دهیم. البته ذخیره چنین فایل‌های خارجی از دامنه‌های دیگر در CDN راه بهتری است چرا که باعث کاهش فشار به سرور اصلی سایت شما می‌شود.
رکورد Canonical Name به اختصار CNAME نام برده می‌شود و یکی از رکوردهای نسبتا پرکاربرد DNS است، این نوع رکورد DNS که از یک نام دامنه مستعار (alias) استفاده می‌کند تا به دامنه‌ای دیگر وصل شود، سعی کنید در فراخوانی آدرس‌ها از CNAME در سایت خود استفاده نکنید. چرا که یک رکورد CNAME اشاره می‌کند به رکورد A و تازه رکورد A به دنبال DNS می‌گردد تا ای پی سایت را پیدا کند. پس به حداقل رساندن رکوردهای CNAME در بهبود لود سایت کمک می‌کند.

5 3 300x102 - رفع خطای Reduce DNS lookups در YSlow جی تی متریکس
Reduce DNS lookups

 

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

  1. یک CName به یک اسم Domain یا A Record دیگر اشاره می‌کند
  2. یک A Record به یک آدرس IP اشاره می‌کند
  3. پیدا کردن یک CName یعنی آغاز یک جستجو (شروع DNS lookups)
  4. پیدا کردن یک A Record یعنی پایان یک جستجو (پایان DNS lookups)
  5. تداخل CName های زیاد می تواند باعث ایجاد شدن Loop شود (یعنی افزایش DNS lookups)
  6. وجود A Record های زیاد هرگز ایجاد Loop در نتایج DNS نمی کند

Defer parsing of JavaScript باعث می‌شود لود اولیه سایت بهبود یابد و برخی از DNS lookupsها را به تاخیر اندازد.
فعال بودن keep-alive باعث کاهش DNS lookups می‌شود، زمانی که keep-alive فعال نباشد برای دریافت هر فایل درخواست‌ها به شکل جداگانه ارسال می‌شود و هر بار برای یک درخواست DNS lookup رخ می‌دهد، ولی با فعال بودن keep-alive باعث می‌شود که فقط درخواست DNS lookups برای هر دامنه یک بار رخ دهد و مجموعه درخواست‌ها برای هر دامنه در قالب یک درخواست ارسال می‌گردد.
تمام موارد مربوط به Make fewer HTTP requests می‌تواند به رفع خطای Reduce DNS lookups کمک نماید.

درباره DNS caching

تشکر از DNS caching موجود در کامپیوترها که کمک خوبی به افزایش سرعت سایت می‌کند، چرا که مرورگر دوباره لازم نیست برای پیدا کردن ای پی به DNS Server ها دستوری ارسال کند و از کش لوکال برای پیدا کردن ای پی یک سایت استفاده می‌کند، البته ذکر این نکته لازم است که وقتی سرور یا هاست یک سایت تغییر کند IP آن سایت هم عوض می‌شود بنابراین مرورگر شما در حافظه‌ی پنهان یا همان کش DNS خود، از IP قدیمی استفاده می‌کند و شما نمی‌توانید مثل همیشه به سایت مورد نظر متصل شوید.

اگر از مرورگر کروم استفاده می کنید دستور chrome://net-internals/#dns را وارد نمایید تا تمام DNSهایی که در حافظه پنهان خود ذخیره کرده است را مشاهده کنید. برای پاک کردن کش DNS در ویندوز می‌توانید با اجرا کردن CMD در حالت Run as administrator دستور ipconfig /flushdns تایپ و اجرا نمایید.

5 4 300x89 - رفع خطای Reduce DNS lookups در YSlow جی تی متریکس
DNS caching

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

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

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

1 5 - اجازه دسترسی به موتور های جستجو

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

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

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

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

search engines - اجازه دسترسی به موتور های جستجو

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

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

Robots.txt

XML Sitemap

Robots Meta Tag

Rel=Nofollow

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

Artikel terindex google13 - اجازه دسترسی به موتور های جستجو

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

ROBOTS.TXT

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

google robots txt - اجازه دسترسی به موتور های جستجو

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

نوشتن ROBOTS

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

  • کدام اسپایدرها محدود شوند
  • کدام مسیرها محدود شوندگ

robots.txt - اجازه دسترسی به موتور های جستجو

USERAGENT

با این دستور روبوتها مشخص می شوند. روبوت (اسپایدر) هر موتور جست و جو نام مشخصی دارد و برای محدود کردن موتور جست و جو کافی است که نام روبوت آن را به همراه این دستور به کار گیریم. کاربرد این دستور به صورت زیر است:

useragent: robot name

به عنوان مثال وقتی که روبوت مورد نظر مربوط به گوگل است خواهیم داشت :

Useragent : Googlebot و برای بینگ: Useragent : Bingbot با هر دستور Useragent تنها می توان یک روبوت را مشخص کرد.

DISALLOW/ALLOW

با این دستور مسیرهای ممنوع/مجاز مشخص می شوند و به صورت زیر به کار می روند:

/disallow:/path

/allow:/path

 

/disallow:/sales

/disallow:/shoppingcard

allow:/site/search/map.php

allow:/iranforums/user

با  هر دستور allow/dis تنها می توان یک مسیر را مشخص کرد و کاربرد آن به صورت زیر اشتباه است:

،/shopping/ disallow: /sales/

/allow: /site/search, /map

برای محدود کردن هر روبوت ابتدا آن را مشخص کرده و سپس تمام مسیرهای محدود شده برای آن ذکر می شود:

useragent: Googlebot

/disallow: /test

/disallow: /sales

در مثال زیر روبوت XGET از دسترسی به فولدرها و ۱، ۲ و ۳۳ منع شده است:

useragent: XGET

/diallow: /1

/disallow: /2

/disallow: /33

و با دستور زیر مقدم همه روبوتها در سایت گرامی داشته می شود:

*:useragent

:disallow

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

 *:useragent

/:disallow

کاربرد / به همراه disallow به معنای تمام مسیرهاست، برای نوشتن توضیجا۔ فایل robots.txt از # به صورت زیر استفاده می شود:

 *:useragent#

:disallow#

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

useragent: Googlebotimage

disallow: /images/picture.jpg

و برای حذف همه تصاویر از نتایج گوگل اینگونه عمل کنید:

useragent: Googlebotlmage

disallow: / Allow

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

*:useragent

Disallow: /forums/rules

Disallow: /site/search

Useragent: Googlebot

Allow: /site/search

Allow: /forums/user

Useragent: Bingbot

Allow: /site/search

Allow: /forums/user

در این مثال همه روبوت ها به جز دو مورد از دسترسی به مسیرهایی مشخص، منع شدهforums / user /اند. توضیح بیشتری در این جا لازم است.

به معنی تمام مسیرهایی است که

forums/user/

در آن موجود است، یعنی مواردی مانند:

/forums/users /

forums/user/124/

/forums/users/messages/

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

Useragent: Googlebot

$Disallow: /*.gif

$Disallow: /*.eps

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

*:Useragent

Disallow:/site/map.php

تنها برای فایل / map.php /site مؤثر است و نه برای site/map.php/.معمولا بهتر است این پروتکل را برای هر موتور جست و جو در صفحه راهنمای همانموتور جست و جو بررسی کنید. زیرا ممکن است موارد دیگری علاوه بر موارد اشاره شده را نیز پشتیبانی کند. برخی موارد مورد قبول گوگل در ادامه بررسی شده است.

Useragent: Googlebot

*/Disallow: /private

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

Useragent: Googlebot

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

http://www.mysite.com/harchiz?harchizmasalanprint

محدود کردن دسترسی به تمام آدرس هایی که به xls ختم می شوند:

Useragent: Googlebot

$Disallow: /*.xls

مقابلdisallow نمی توان نام روبوت را قرار داد.

*:Useragent

Disallow: Bingbot

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

Disallow: /cgibin/#comments

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

*:Useragent

/:Disallow

Useragent: Gulliver

/:Allow


فایل ROBOTS.TXT را کجا باید قرارداد؟

فایل ROBOTS.TXT را کجا باید قرارداد؟

robots txt 1 - فایل ROBOTS.TXT را کجا باید قرارداد؟

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

کاربرد درست:

 http://www.example.com/robots.txt

کاربرد نادرست:

http://www.example.com/mysite/robots.txt

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

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

هدف پروتکل

2 - فایل ROBOTS.TXT را کجا باید قرارداد؟

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

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

حتی اگر طراحی سایت (طراحی سایت شرکتی، طراحی سایت فروشگاهی) شما هیچ گونه محدودیتی ندارد، توصیه می شود یا یک فایل خالی روی سرور قرار دهید یا فایلی به صورت زیر:

* :useragent

:diallow

بودن این فایل خالی یا به صورت ذکر شده و نبودن آن برای موتورهای جست و جو یک معنا دارد: آزادی در دسترسی به همه محتوای سایت. اما وجودrobots.txt می تواند نشانی از حرفه ای بودن سایت باشد و شاید در رتبه بندی سئو سایت هم اثر بگذارد. بهتر است این گونه ادامه دهم: آزادی در پرتو یک قانون بدون محدودیت، بهتر است از آزادی ناشی از بی قانونی!

Robots FI - فایل ROBOTS.TXT را کجا باید قرارداد؟

همواره یک مسیر را ممنوع کنید و نه یک فایل را، گیریم که شما فایل rtg.html را برای گوگل به صورت زیر محدود کرده باشید:

useragent: googlebot

diallow: /project/htmlresources/rtg.html

می دانید که تنها موتورهای جست و جو فایل robots.txt را نمی خوانند. در واقع همه کاربران وب با خواندن این فایل می توانند متوجه شوند که شما چه فایلی را محدود کرده اید و به راحتی می توانند به آن مراجعه کنند (منظوری جز کنجکاوی نیست) در حالی که اگر شما یک پوشه را محدود کرده باشید کاربران چون نام فایل های موجود در آن پوشه را نمی دانند، نمی توانند سر از کار شما در بیاورند یا (سختتر می توانند).

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

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

https://www.google.com/webmasters

Capture1 - فایل ROBOTS.TXT را کجا باید قرارداد؟

با جست و جوی عبارت robots validator می توانید به سایت های بسیاری بیابید که در ارزیابی این فایل به شما کمک خواهند کرد. بررسی فایل robots.txtگوگل و سایت های مهم دیگر نیز خالی از لطف نیست. برای کسب اطلاعات بیشتر در باره روبوت های مختلف و ثبت شده database of agents را در گوگل جست و جو کنیدو یا مستقیما به آدرس های زیر مراجعه نمایید:

http://www.robotstxt.org/db.html

Capture2 - فایل ROBOTS.TXT را کجا باید قرارداد؟

/http://www.user-agents.org

Capture3 - فایل ROBOTS.TXT را کجا باید قرارداد؟

هر سایت تنها می تواند یک فایل robots.txt داشته باشد که در ریشه سایت قرار می گیرد. نکته پایانی اینکه Sitemap سایت خود را (که بلافاصله بعد از این بخش معرفی شده است) همانند مثال زیر می توانید در فایل روبوتز قرار دهید:

Sitemap: http://www.cnn.com/sitemaps/sitemapindex.xml

آیا با این پروتکل می توان دسترسی به صفحه اصلی سایت را هم محدود کرد؟

پروتکل XML SITEMAP

پروتکل XML SITEMAP

به کمک این پروتکل (پروتکل XML SITEMAP) صفحاتی از سایت که موتور جست و جو می تواند آنها را بخواند، به وی معرفی می شود. در حالت ساده این فایل که با فرمت xml است، فهرستی از آدرس های صفحات مختلف طراحی سایت (طراحی سایت فروشگاهی، طراحی سایت شرکتی) را در خود دارد.

نقشه سایت مپ Sitemap SEO xml html - پروتکل XML SITEMAP

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

اسپایدر موتور جست و جو

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

<?xml version="1.0" encoding="UTF8?>

<"urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9>

<url>

 <<loc>http://example.com/</loc

<lastmod>20120619</lastmod>

<changefreq>daily</changefreq>

<priority>0.8</priority>

<url/>

<urlset/>

این پروتکل باید

  • با <urlset> شروع شود و با <urlset/> خاتمه یابد.
  • دارای <url> برای هر آدرس صفحه به عنوان شناسه ی مادر باشد.
  • دارای <loc> برای هر آدرس به عنوان زیر مجموعه ای از شناسه ی مادر <ul> باشد.

این فایل باید به صورت UTF8 ذخیره گردد و باید برای برخی کاراکترها، معادل آن در این نوع کدگذاری استفاده شود. به عنوان مثال به جای & در آدرس باید;amp& قرار دهید موارد دیگر در جدول آمده است:

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

نحوه برخورد موتور چست و جو

موتور جست و جو ابتدا به سایت مپ مادر مراجعه می کند، سپس از طریق آن به سایت مپ های دیگر سر می زند. هر سایت مپ نباید بیشتر از ۵۰۰۰۰ آدرس داشته باشد و حجم آن نیز نباید بیشتر از ۱۰ مگابایت باشد. نمونه ای از سایت مپ مادر به صورت زیر است:

<?"xml version="1.0" encoding="UTF8?>

<"sitemapindex xmlns "http://www.sitemaps.org/schemas/sitemap/0.9>

<sitemap/>

<sitemap>

<loc>http://www.example.com/sitemap?.xml.gz</loc>

<lastmod>20120601</lastmod>

<sitemap/>

<sitemapindex/>

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

http://www.sitemaps.org/protocol.html

Capture4 - پروتکل XML SITEMAP

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

xml sitemap validator

یا

xml sitemap generator


GOOGLE SITEMAP چیست؟

GOOGLE SITEMAP چیست؟

sitemap.xml 42 - GOOGLE SITEMAP چیست؟

با معرفی سایت مپ سایت خود به Google Webmaster Tools می توانید رفتار گوگل با سایت (سئو سایت) خود را تحلیل کنید. توصیه اکید آن است که کار با این ابزار را به خوبی فراگیرید. به کمک آن میتوانید موارد زیر را تعیین کنید:

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

خطاهای گوگل

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

google wembaster tools errors - GOOGLE SITEMAP چیست؟

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

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

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

گوگل این کلمات را نیز به شما نشان می دهد! گوگل همچنین موارد زیر را مشخص می کند:

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

در بخش ابزار آن نیز می توانید ابزار بسیار مفیدی بیابید. یکی از آنها که قبلا نیز به آن اشاره شده، ابزار ارزیابی فایل robots.txt  سایت است.

META ROBOTS TAG

1 ZZ58WcOCmsIirRLPqLgAUA - GOOGLE SITEMAP چیست؟

 

با استفاده از robots.txt توانستیم بعضی از مسیرهای سایت خود را برای همه و یا تنی چند از موتورهای جست و جو محدود کنیم. می توان با استفاده از یکی از شناسه های اچ.تی.ام.ال، محدودیت ها را تنها برای یک صفحه خاص تعریف کرد. آشنایی با کاربرد این شناسه به خصوص برای زمانهایی که بهrobots.txt دسترسی ندارید، مهم است ( مثلا بلاگرهایی که در بلاگفا، میهن بلاگ، پرشین بلاگ و … می نویسند). این شناسه میزان دسترسی به یک صفحه را نشان می دهد و به یکی از چهار صورت زیر به کار می رود:

</"meta name="robots" content="index, follow>

</"meta name="robots" content="noindex, follow>

</"meta name="robots" content="index, nofollow>

</"meta name="robots" content="noindex, nofollow>

INDEX

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

FOLLOW

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

اگر در صفحه ای از این شناسه استفاده نشده باشد، به معنای follow, index است. یعنی محتوای صفحه خوانده شود و لینک های آن دنبال گردد (حالت پیش فرض). می دانید هر یک از چهار ترکیب یاد شده برای چه صفحاتی مناسب اند؟

برخی از موتورهای جست و جو نیز META Robots مخصوص به خود دارند که می توانید از آنها نیز استفاده کنید مانند گوگل، برای اطلاع از چگونگی استفاده از آنها می توانید از راهنمای همان موتور جست و جو کمک بگیرید. یک مورد خاص برای گوگل به صورت زیر است:

<"meta name="googlebot" content="noarchive>

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

<"meta name="robots" content="noarchive>

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

NOODP

اگر سایتی در dmoz فهرست شده است، آن توضیح را نشان نده.

NOYDIR

اگر سایتی در یاهو فهرست شده است، توضیح آن در یاهو را نشان نده.

Capture6 - GOOGLE SITEMAP چیست؟