ساختار URL سایت باید تا جایی که امکان دارد ساده و قابل درک برای کاربر انسان باشد. در URL از ID یا اعداد استفاده کنید. به عنوان نمونه یک کاربر با دیدن آدرس زیر نمی تواند کلمات به جای متوجه شود که صفحه مربوطه در مورد چه موضوعی است :
http://www.example.com/article.aspx?id=1392
ولی با دیدن آدرس زیر می تواند متوجه شود که صفحه در مورد بهینه سازی برای موتور جستجو است:
http://www.example.com/seo.html
از قرار دادن کلمات پی در پی و بدون خط تیره خودداری کنید. به عنوان نمونه توصیه می شود که از آدرس زیر استفاده نکنید :
http://www.example.com/seobook.html
تلاش کنید از خط تیره برای تفکیک کلمات استفاده کنید و از underline یا derscore منظور تفکیک کلمات استفاده نکنید. آدرس زیر یک نمونه صحیح است:
http://www.example.com/seo-book.html
استفاده از URL های خیلی طولانی و یا استفاده بیش از حد از پارامتر در URL ممکن است که مشکلاتی برای خزنده موتورهای جستجو ایجاد کند که در نتیجه آن ممکن است همه صفحات ایندکس نشوند.
با استفاده از robots . txt دسترسی ربات های موتور جستجو را به URL هایی که به صورت داینامیک به وجود می آیند محدود کنید. به عنوان نمونه آدرس هایی که با جستجوی کاربران در سایت، استفاده از فیلترها و یا مرتب کردن کالاها در وب سایت به وجود می آیند نیازی به ایندکس شدن ندارند. علت آن این است که محتوای آنها با صفحات اصلی سایت که فیلتری در آنها اعمال نشده است، تکراری است.
در دسترس بودن یک صفحه با بیش از یک URL در سیستم های مدیریت محتوا یک امر طبیعی است.جهت جلوگیری از ایندکس شدن و همچنین شناخته شدن این گونه صفحات به عنوان صفحات تکراری توسط موتور جستجوی گوگل باید از canonical استفاده کرد. به عنوان نمونه اگر یک صفحه با سه آدرس در دسترس بود، شما باید یکی از آدرس ها را به عنوان canonical یا آدرس اصلی انتخاب کنید و آن را طبق نمونه زیر در کد HTML هر سه صفحه در قسمت<head> قرار دهید. در این صورت اگر خزنده گوگل وارد هر کدام از سه صفحه شود، متوجه می شود که آدرس اصلی کدام URL است و باید فقط یک URL که همان آدرس canonical است را ایندکس کند.
<"/link rel="canonical" href="https://www.weby00Z.Com/google-adwords>
مواردی که ممکن است منجر به در دسترس بودن یک صفحه با بیش از یک URL شوند عبارتند از:
وجود شناسه session کاربر، پارامتر جستجو یا فیلتر در URL :
https://webyooz.com/books/seo?gclid=ABCD
https://www.webyooz.com/products?category=seo&lang=per
https://www.webyooz.com/books/seo/nima-jafari.html
سیستم بلاگ به صورت خودکار دو آدرس را برای هر مطلب تولید کند :
https://www.webyooz.com/books/seo/nima-jafari.html
https://www.webyo0z.com/books/it/web-design/seo.html
سرور به نحوی تنظیم شده باشد که صفحات با www و بدون www در دسترس باشد :
https://www.webyooz.com/books/seo/nima-jafari.html
https://webyooz.com/books/seo/nima-jafari.html
سرور به نحوی تنظیم شده باشد که صفحات با https و http در دسترس باشد :
http://www.webyooz.com/books/seo/nima-jafari.html
https://www.webyooz.com/books/seo/nima-jafari.html
گوگل وبمستران را تشویق به استفاده از آدرسی canonical می کند ولی استفاده از آن اجباری نیست. در صورتیکه آدرس canonical در <head> مشخص نشده باشد، گوگل تصمیم خواهد گرفت که کدام آدرس را باید به عنوان آدرس اصلی در نظر بگیرد.
با تنظیم گوگل سرچ کنسول برای گوگل مشخص نمایید که آدرس با www مد نظر شما است و یا آدرس بدون www. پس از انجام این تنظیم، در صورتیکه آدرس های ساخت سایت در گذشته هم با www و هم بدون www در گوگل ایندکس شده باشند، همه آدرس ها به آن نسخه ای که مد نظر شما است تبدیل خواهند شد.
“nofollow” به دو صورت مورد استفاده قرار می گیرد. در صورتیکه “nofollow” به عنوان ما robots در <head> یک صفحه استفاده شود، خزنده موتور جستجو هیچ کدام از لینک های داخل و خارجی درون آن صفحه را دنبال نخواهد کرد.
</"meta name="robots" content="nofollow>
حال اگر بخواهیم که خزنده موتور جستجو فقط لینک یا لینک های مشخصی را دنبال نکند باید از” rel= ” nofollow در تگ <a> در HTML استفاده کنید.
<a href="signin.php" rel="nofollow"> sign in</a>
در صورت استفاده از ” rel= ” nofollow برای یک لینک، PageRank گوگل بین صفحه مبدا و لینک مقصد منتقل نمی شود. قبل از اینکه “rel = ” nofollowابداع شود، جهت جلوگیری از انتقال PageRank و مانع شدن از دنبال شدن یک لینک توسط خزنده موتور جستجو، از تکنیک هایی مان ریدایرکت کردن استفاده می کردند و آن آدرس واسط که عملیات ریدایرکت را انجام می داد را توسط robots . txt بر روی خزنده موتور جستجو مسدود می کردند.
بسیاری از سایت ها مانند سایت هایی که اخبار و مقالات را منتشر می کنند و یا فروش کالا دارند از صفحه بندی استفاده می کنند. معمولا گوگل صفحه بندی را متوجه می شود و می تواند همه صفحات محتوای صفحه بندی شده را بخواند و ایندکس کند. ولی اگر از دستورالعمل های گوگل وبمستر در مورد صفحه بندی استفاده کنید، خزنده گوگل راحتر می تواند از ساختار سایت مطلع شود و آن را ایندکس کند.
استفاده از ” rel= ” next و ” rel= ” prev در HTML برای آدرس های صفحات، یک سیگنال مهم برای گوگل در تشخیص صفحه بندی است. فرض کنید سه صفحه با URL های زیر در سایت وجود دارد :
https://www.webyooz.com/article-page1.html
https://www.webyooz.com/article-page2.html
https://www.webyooz.com/article-page3.html
<"link rel="next" href="http://www.webyooz.com/article-pape2.html>
<"link rel="prev" href="http://www.webyooz.com/article-pape1.html>
<"link rel="next" href="http://www.webyooz.com/article-pape3.html>
<"link rel="prev" href="http://www.webyooz.com/article-pape2.html>
در صورتیکه پارامترهایی مانند session ID در URL وجود داشته باشند که باعث تغییر در محتوا نشود، و البته همان طور که در بخش آن پارامترها باید در ” rel = “prev و “rel = ” next باشند و البته همانطور که در بخش “استفاده از آدرس canonical” گفته شد، این گونه پارامترها در آدرس canonical نباید وجود داشته باشند. به عنوان نمونه اگر آدرس صفحه ۲ از یک مقاله به صورت زیر باشد :
http://example.com/article?story=abc&page=2&sessionid=123
آنگاه در <head> تگ های زیر را خواهیم داشت :
"link rel="canonical">
</"href="http://example.com/article?story=abc&page=2&page=2
"link rel="prev>
</"href="http://example.com/article?story=abc&page=1&sessionid=123
"link rel="next>
</"href="http://example.com/article?story=abc&page=3&sessionid=123
تاکنون تمام سعی ما بر این بوده است که صفحات بیشتری از طراحی سایت (طراحی سایت شرکتی، طراحی سایت فروشگاهی) خود را به بایگانی موتورهای جست و جو وارد کنیم. در این راه هر بار که متوجه می شویم گوگل صفحات بیشتری از سایت را خوانده است، احتمالا از خوشحالی فریاد می زنیم!
یک صفحه بیشتر در بایگانی گوگل درست به معنای یک بخت بیشتر در قرعه کشی است. صبر کنید! بهتر است بگوییم بخت های بیشتر، زیرا آن یک صفحه ممکن است با چندین عبارت مختلف قابل جست و جو باشد!
اما این تنها روی اول سکه است. روی دیگر سکه شاید جالب تر هم باشد! گاهی دوست نداریم موتورهای جست و جو بعضی از صفحات سایت را بخوانند و تصمیم می گیریم آنها را از بعضی از صفحات دور نگه داریم.
دلایل بسیاری برای این کار وجود دارد. به عنوان مثال یک استاد دانشگاه که نمرات دانشجویان را در سایت شخصی خود قرار داده است، ممکن است برای حفظ حریم خصوصی دانشجویان، چنین تصمیمی اتخاذ کند.
یا آدرس برخی مطالب مهم سایت تغییر کرده است و مدیر سایت تمایل ندارد موتور جست و جو آدرس قدیم را همچنان بخواند. مسیر سبد خرید در ساخت سایت می تواند گزینه مناسبی برای این کار باشد.
شد. همچنین صفحه سلب مسوولیت سایت ها نیز که معمولا حاوی کلمات خشک و نامفهوم حقوقی است، گزینه عامی گزینه عامی برای این دوست نداشتن است. رفتار روبوتها و بایگانی کردن صفحات سایت توسط موتور جست و جو را می توان طبق پروتکل هایی پذیرفته شده، کنترل کرد.
این پروتکل ها به صورت زیر می باشند
Robots.txt
XML Sitemap
Robots Meta Tag
Rel=Nofollow
از این چهار پروتکل معرفی شده، گزینه اول و دوم برای کل سایت تعریف می شوند گزینه سوم برای هر صفحه به طور جداگانه و گزینه چهارم نیز برای هر پیوند به صورت تک به تک مشخص می شود. بیشتر موتورهای جست و جو تمایل به پشتیبانی از این پروتکل ها دارند اما هیچ کدام مجبور به رعایت آن ها نیستند.
در واقع پروتکل های یاد شده فقط مواردی را به موتورهای جست و جو توصیه می کنند و رعایت و یا عدم رعایت این توصیه ها به موتورهای جست و جو بستگی دارد. موتور جست و جو به خودی خود فضول است اما اگر مودب باشد برای بها دادن به حریم خصوصی سایت ها این توصیه ها را رعایت می کند.
می توان با یک فایل متنی بسیار ساده میزان دسترسی موتورهای جست و جو به محتوای سایت را کنترل کرد. این فایلrobots.txt نام دارد. موتور جست و جو قبل از محتوای سایت را کنترل کرد. این فایل آن که وارد سایتی شود، ابتدا فایل یاد شده را از سرور درخواست می کند و از تمام محدودیت های پیش روی خود در آن سایت آگاه می گردد.
نبود این فایل در سئو سایت به معنای نبودن هیچ گونه محدودیتی برای تمام اسپایدرها است. موتور جست و جو بعد از آن که تمام فایل ها و مسیرهای ممنوع را دانست، شروع به خواندن مطالب سایت می کند. البته اگر یک اسپایدر مودب باشد، به محدودیت های موجود نیز احترام میگذارد! عده کمی از آنها به طور کامل و صد در صد به محتوای این فایل وفادارند.
تنظیمات نادرست موجود در این فایل می تواند به شدت به موفقیت سایت ضربه بزند بنابراین در آماده ساختن این فایل بسیار دقت کنید.
پروتکل روبوتز تنها دو دستور دارد که به کمک آنها محدودیت های زیر مشخص می شود:
با این دستور روبوتها مشخص می شوند. روبوت (اسپایدر) هر موتور جست و جو نام مشخصی دارد و برای محدود کردن موتور جست و جو کافی است که نام روبوت آن را به همراه این دستور به کار گیریم. کاربرد این دستور به صورت زیر است:
useragent: robot name
به عنوان مثال وقتی که روبوت مورد نظر مربوط به گوگل است خواهیم داشت :
Useragent : Googlebot و برای بینگ: Useragent : Bingbot با هر دستور Useragent تنها می توان یک روبوت را مشخص کرد.
با این دستور مسیرهای ممنوع/مجاز مشخص می شوند و به صورت زیر به کار می روند:
/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 یک فایل متنی است که توسط آن امکان تعریف برخی قوانین برای ربات های موتور جستجو وجود دارد. قوانینی مانند محدود کردن رباتموتور جستجو برای دسترسی به فایل، فولدر، منابع مانند عکس و CSS و js، صفحه و کل سایت وجود دارد. همچنین همان طور که در بخش sitemap توضیح داده شد، آدرس نقشه سایت را نیز می توانید توسط فایل robots.txt به موتورهای جستجو اعلام نمایید. فایل robots.txt باید به صورت 8-UTF ذخیره شده باشد.
قوانینی که در ادامه نوشته شده در مورد موتور جستجو گوگل صدق می کند.
جهت نوشتن robots.txt امکان استفاده از چهار المان sitemap ،allow ،disallow ،user-agent وجود دارد.
نشان دهنده نوع خزنده موتور جستجو است و وب سرور توسط آن می تواند نوع خزنده وب را شناساییکند. نام تعدادی از خزنده های وب در آدرسwww.robotstxt.org/db.html موجود است.
روش نوشتن user-agent در robots.txt به صورت زیر است:
[نام ربات] : user- agent
مانند:
*:user-agent
user-agent: Google-bot
گوگل دارای user-agent های مختلفی است. به عنوان نمونه Googlebot نام user-agent موتور جستجوی گوگل و Googlebot-Image نام user-agent موتور جستجوی عکس گوگل هستند.
با استفاده از Disallow می توانید صفحه یا مسیر با پسوندی را که می خواهید بر روی خزنده موتور جستجو مسدود کنید را مشخص نمایید.
[مسیر مورد نظر ] :Disallow
/Disallow: /articles
Disallow: /products/product1.html
Disallow: /*.png
با استفاده از Allow می توانید برای یک صفحه یا مسیر از درون مسیری که بر روی خزنده موتور <جستجو مسدود کرده بودید استثنا قائل شوید و به موتور جستجو اجازه بدهید آن را بخواند و ایندکس کند.
[مسیر مورد نظر ] :Allow
/Allow: /articles/seo
Allow: /products/product2.html
Allow: /*.CSS
با استفاده از sitemap می توانید مسیر نقشه های طراحی سایت (طراحی سیات فر.شگاهی، طراحی سایت شرکتی) رای موتور جستجو را مشخص نمایید. همه موتورهای جستجو از sitemap در فایل robots.txtپشتیبانی نمی کنند. البته علاوه بر گوگل،موتورهای جستجوی بزرگ مانند Bing و Yahoo و Ask نیز از sitemap در فایل robots.txtپشتیبانی می کنند.
[مسیر نقشه سایت ] :sitemap
sitemap: https://www.example.com/sitemap.xml
جهت نوشتن robots.txt از دستورات متعددی می توان استفاده نمود که در جدول زیر تعدادی از آنها به عنوان نمونه نمایش داده شده اند.
توضیح | نمونه |
---|---|
همه سایت | /:Disallow |
مانند / است و به معنی همه سایت است. | /*:Disallow |
یک دایرکتوری به همراه همه محتویاتش | /Disallow: /sample-directory |
هر صفحه ای با نام file.html که بعد از یک slash باشد. | Disallow: /file.html |
یک عکس خاص برای ربات جستجوی عکس گوگل مسدود شده | User-agent: Googlebot-Image Disallow: /images/dogs.jpg |
همه سایت بر روی ربات جستجوی عکس گوگل محدود شده | User-agent: Googlebot-Image /:Disallow |
همه مسیرهایی که در انتهای آنها gif. باشد | $Disallow: /*.gif |
هر دایرکتوری که ابتدای نام آن private باشد به همراه محتویاتش | /*Disallow: /private |
هر آدرسی که در آن علامت سوال وجود داشته باشد. | ?*/:Disallow |
هر آدرسی که با علامت سوال پایان یابد. | $?*/:Disallow |
فایل robots.txt باید در ریشه سایت آپلود شود و به عنوان نمونه با آدرس زیر در دسترس باشد.
http://www.example.com/robots.txt
بیشتر موتورهای جستجو فایل robots.txt را با یکی از پروتکل های http یا https می توانند بخوانند ولی گوگل از پروتکل ftp نیز پشتیبانی می کند. بنابراین برای یک صفحه با پروتکل ftp نیز امکان داشتن فایلrobots.txt وجود دارد به شرطی که برای دسترسی به آن به نام کاربری و کلمه عبور ftp نیازی نباشد.
در بخش Google Index اطلاعاتی در مورد محتوای ایندکس شده در گوگل وجود دارد که در سه در مجموعه در اختیار وبمستران قرار گرفته است.
در گزارش گوگل Index Status اطلاعاتی در مورد صفحات ایندکس شده طراحی سایت (طراحی سایت شرکتی،طراحی سایت فروشگاهی، قیمت طراحی سایت) در یک سال اخیر نمایش داده می شود. مواردی مانند کاهش و یا افزایش ناگهانی تعداد صفحات ایندکس شده در گوگل حتما نیاز به بررسی دارند.
برخی موارد ایراد کدنویسی در سیستم مدیریت محتوا منجر به ایجاد صفحات بسیار زیاد و بدون محتوا که باید هرچه سریعتر این گوگنه ایراد ها شناسایی و برطرف شوند.
در سرچ کنسول جدید، همانند تصویر زیر، اطلاعات آمار ایندکس گوگل به تفکیک برای چهار گو Error و Valid with warning و Valid و Excluded نمایش داده می شود.
برای اینکه گوگل بات بتواند صفحات را به درستی رندر کند، باید بتواند به همه منابع صفحه مانند جاوا اسکریپت CSS و عکسها دسترسی داشته باشد. در صورتیکه صفحه یا صفحات و یا منابع آنها برروی گوگل بات بلاک شده باشند، لیست آنها به همراه صفحاتی که تحت تاثیر آن قرار گرفته اند در گزارشBlocked Resources نمایش داده می شود.
به عنوان نمونه در تصویر بعدی سایت example.com را مشاهده می کنید که تعداد ۱۰۸۳ صفحه آن دارای منبع یا منابعی هستند که گوگل بات به آنها دسترسی ندارد. طبق این گزارش، منابع بلاک شده بر روی گوگل بات بر سه هاست example.com و aparat.com وapi.pinterest.com قرار دارند و با کلیک بر روی هر کدام از آنها می توان لیست کامل صفحاتی که دارای منبع بلاک شده از آن هاست هستند را مشاهده کرد.
یکی از دلایل رایج بلاک بودن منابع برای موتورهای جستجو، استفاده غیر صحیح از robots.txt است، به عنوان نمونه ممکن است مسیری توسط robots.txtبلاک شده باشد ولی فایل CSS و یا js که برای رندر صفحه مورد نیاز است در آن مسیر قرار گرفته باشد. بنابراین کاربران می توانند به درستی صفحه را مشاهده کنند ولی موتور جستجو به دلیل تبعیت از robots.txt نمی تواند به درستی صفحه را رندر کند.
برای تست فایل robots.txt می توانید از ابزار robots.txt Tester سرچ کنسول استفاده کنید.
ابزار Remove URLS ابزاری برای مخفی نگاه داشتن موقت صفحه، فولدر و یا کل ساخت سایت در SERP یا صفحه نتایج جستجو است. توجه داشته باشید که این ابزار برای حذف آدرس از ایندکس گوگل نیست و فقط این امکان را در اختیار مالک سایت می گذارد که آدرس مورد نظرش را برای ۹۰ روز از SERP حذف نماید. بنابراین در صورتیکه قصد دارید آدرسی را برای همیشه از موتور جستجو نمایید، استفاده از ابزار Remove URLs انتخاب مناسبی نیست.
برای حذف همیشگی یک آدرس بهتر است که با آن صفحه را ۴۰۴ کنیم و یا اینکه با استفاده از meta، آن را noindex کنیم و یا با استفاده از robots.txt مانع دسترسی موتور جستجو به صفحه مورد نظر شوید..
جهت مخفی کردن موقت یک آدرس از ایندکس گوگل ابتدا به صفحه Remove URLs در سرچ کنسول رفته و روی دکمه Temporarily hide کلیک کنید. سپس آدرس مورد نظرتان را به صورت کامل وارد کرده و روی دکمه Continue کلیک کنید.