ساختار 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
نقشه سایت یا sitemap فایلی است که صفحات سایت در آن لیست شده و توسط آن می توانید ساختار طراحی سایت (طراحی سایت فروشگاهی، طراحی سایت شرکتی، قیمت طراحی سایت) و صفحات، عکس ها و ویدیو ها را به موتور جستجو مانند گوگل و بینگ معرفی کنید. به غیر از آدرس های URL می توانید اطلاعات دیگری به نام متادیتا را نیز به موتور های جستجو بدهید. متادیتااطلاعاتی در مورد صفحه هستند مانند زمان آخرین بروز رسانی، اولویت بندی صفحات نسبت به یکدیگر از نظر اهمیت، مدت زمان فیلم، نوع عکس و موارد متفاوت دیگر .
در حال حاضر چها نوع نقشه سایت شامل صفحات، عکس ، ویدیو و خبر وجود دارند که به دلیل کاربرد زیاد نقشه سایت صفحات و عکس در همه سایت ها، این دو نوع sitemap در این مطلب توضیح داده شده اند.
اگر لینک های داخلی به همه صفحات طراحی سایت داشته باشید، معمولا گوگل می تواند بیشتر صفحات را بیابد و ایندکس کند ولی به هر حال وجود سایت مپ بهموتور جستجو کمک می کند که همه صفحات را بیابد، ضمن اینکه با متادیتا در سایت مپ می توانید اطلاعات بیشتری نیز به موتور جستجو بدهید.
داشتن سایت مپ در موارد زیر حائز اهمیت است:
دقت داشته باشید که گوگل تضمین نمی کند که همه آدرسهای موجود در سایت مپ را بخواند و ایندکس کند ولی در بیشتر موارد وجود سایت مپ برای سایت ها مفید است و شما گوگل هرگزسایتی را به علت داشتن سایت مپ جریمه نمی کند.
گوگل از فرمت های مختلف سایت مپ پشتیبانی می کند. همه سایت مپ ها مجاز هستند که حداکثر حاوی ۵۰ هزار URL باشند و سایز قایل آنها در حالت غیر فشرده از ۱۰ مگابایت بیشتر نشود. منظور از حالت غیر فشرده، حالتی است که فایل نقشه سایت با تکنیک هایی مانند GZIP فشرده نشده باشد.
گوگل از استانداردهای www.sitemaps.org پشتیبانی می کند. یکی از فرمت های رایج سایت مپ، فرمت XML است که برای ایجاد سایت مپ صفحات، عکس، ویدیو و اخبار استفاده می شود.
نمونه زیر یک نمونه ساده از سایت مپ XML است.
<?"xml version="1.0" encoding="UTF-8?>
<"urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9>
<url>
<loc>http://www.example.com/foo.html</loc>
</url>
</urlset>
اگر شما بلاگی دارید که از RSS یا Atom feed پشتیبانی می کند، شما می توانید آدرس همه feed ها را به عنوان سایت مپ به موتور جستجو معرفی کنید. گوگل از RSS نسخه ۲ و Atom feed نسخه ۱ پشتیبانی می کند. همچنین می توانید با استفاده از < mRSS feed جزئیات محتوای ویدیویی سایت را به گوگل بدهید.
اگر سایت مپ شما فقط حاوی URL است و هیچ متادیتایی در آن وجود ندارد، می توانید یک سایت مپ متنی با فرمت txt داشته باشید که در هر خط آن فقط یک URL وجود داشته باشد. توجه داشته باشید که:
http://www.example.com/file1.html
http://www.example.com/file2.html
Escaped | Character | |
---|---|---|
;amp& | & | Ampersand |
;apos& | ‘ | Single Quote |
;quot& | “ | Double Quote |
;agt& | < | Greater Than |
;lt& | > | Less Than |
جهت معرفی نقشه سایت به گوگل دو روش رایج وجود دارد :
۱- آدرس نقشه (های) سایت را در فایل robots.txt به صورت زیر قرار دهید.
Sitemap: http://www.example.com/sitemap.xml
٢- از طریق بخش crawl در گوگل سرچ کنسول، نقشه سایت را به گوگل معرفی کنید.
در ایجاد نقشه سایت از تعدادی تگ اجباری جهت مشخص کردن آدرس و تعدادی تگ اختیاری اضافه کردن متادیتا و برخی جزئیات برای موتور جستجواستفاده می شود.
نمونه زیر یک نقشه سایت است که از متادیتا نیز در در طراحی سایت و ساخت سایت از آن استفاده شده است.
<?"xml version="1.0" encoding="UTF-8?>
<"urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9>
<url>
<loc>http://www.example.com/page1.html</loc>
<lastmod>2016-12-19T13:10:55+03:30</lastmod>
<changefreq>hourly</changefreq>
<priority>0.9</priority>
<url/>
<urlset/>
این امکان وجود دارد که نقشه سایت را برای عکس های طراحی سایت (طراحی سایت فروشگاهی، طراحی سایت شرکتی) نیز ایجاد کرد. نقشه سایت زیر یک نمونه از Image sitemap است.
<?"xml version="1.0" encoding="UTF-8?>
"urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9>
<"xmlns:image="http://www.google.com/schemas/sitemap-image/1.1
<url>
<loc>http://www.example.com/page1.html</loc>
<image:image>
<image:loc>http://example.com/image.jpg</image:loc>
<image:caption>Image Caption</image:caption>
<image:geo_location>Torento, Canada</image:geo_location&
gt;
<image:title>Image Title</image:title>
<image:image/>
<url/>
<urlset/>
تگ های استفاده شده در نقشه سایت عکس به شرح زیر می باشد :
فایل 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 نیازی نباشد.
مفهوم موبایل فرندلی (Mobile friendly) از آن جایی می آید که موبایل ها (دستگاه های همراه مانند تلفن هوشمند و تبلت) در حال تغییر دنیا هستند. امروزه در برخیاز کشورها تعداد موبایل ها بیشتر از تعداد کامپیوترهای شخصی مانند دسکتاپ و لپ تاپ ها است. طبق آمار رسمی گوگل تعداد جستجو های انجام شده توسط موبایل به طور میانگین در سرتاسر دنیا در سال ۲۰۱۵ بیش از ۵۱ درصد بود و این نشان دهنده این موضوع بود که تمایل کاربران به جستجوو گشت و گذار در اینترنت توسط دستگاه های همراه مانند تلفن های هوشمند به دلایلی مانندپیشرفت تکنولوژی، در دسترس بودن و قدرت خرید بالای تلفن های هوشمند و گسترش شبکه های اجتماعی بیشتر شده است و بنابراین طراحی سایت (طراحی سایت فروشگاهی، طراحی سایت شرکتی) در نظر گرفتن استانداردهای طراحی سایت برای موبایل بسیار حائز اهمیت است.
به طور کلی mobile friendly بودن یک سایت به معنای این است که کاربران موبایلی بتوانند به راحتی توسط دستگاه موبایلاز سایت استفاده کنند و نیازی به زوم صفحه جهت بهتر دیدن محتوا و یا اسکرول صفحه به چپ و راست نباشد. سایتی که موبایل فرندلی نباشد، بر تجربه کاربر از سایت تاثیر منفی می گذارد و منجر به ترک کاربر با استفاده کمتر از سایت می شود. طبق تعریف گوگل، سهیک اصلی برای طراحی سایت mobile friendly وجود دارد:
سایت رسپانسیو یا واکنشگرا سایتی است که برای همه دستگاه ها مانند تلفن همراه، تبلت، لپ تاپ و هر دستگاه دیگری فقط یک کد HTML را به کاربر ارائه می دهد ولی از نظر ظاهری با توجه به عرض صفحه دستگاه کاربر، ظاهر متفاوتی را ارائه می دهد.
در طراحی به صورت URL ،dynamic Serving صفحات برای همه انواع دستگاه ها یکسان است ولیکد HTML با توجه به عرض دستگاه یا User-agent متفاوت است.
در طراحی به صورت separate URL، همانطور که از نام آن مشخص است، آدرس URL برای دستگاه های موبایل و کامپیوترهای شخصی متفاوت است و کدHTML نیز با توجه به نوع دستگاه موبایل و یا کامپیوتر شخصی، متفاوت خواهد بود. در سایتی که با تکنیک separate URL طراحی شده باشند، وظیفه تشخیص نوع دستگاه کاربر به عهده سرور است.
آدرس URL یکسان | کد HTML یکسان | نوع سایت |
---|---|---|
* | * | Responsive Web Design |
* | – | Dynamic Serving |
– | – | Separate URLS |
از نظر SEO تفاوت خاصی بین سه نوع تکنیک طراحی سایت موبایل فرندلی مذکور نیست ولی گوگل مورد Responsive Web Design را به دلیل خطای کمتر برنامه نویسی و مدیریت بهتر سایت به طراحان و دارندگان سایت پیشنهاد می کند و نکات زیر را در مورد سایت موبایل فرندلی توصیه می کند :