سئو وردپرس بهتر است یا جوملا
اگر شما از سیستم مدیریت محتوا جوملا برای وبسایت خود انتخاب کردهاید لازم است بدانید که یکی از ضعفهای این سیستم نسبت به بزرگترین رقیب آن یعنی وردپرس، پایین بودن سئو اولیه در آن است و این بدان معناست که شما باید به روشهای مختلف سعی کنید که وب سایت جوملای شما در بالاترین نتایج جستجوهای کاربران وب در موتورهای جستجو قرار گیرد. البته به این نکته مهم توجه داشته باشید که وردپرس و جوملا ابزاری هستند که یک سری فاکتورهای مطلوب و دیگری مطلوبتر برای افزایش رتبه سایت فراهم کردهاند و این بدان معنا نیست که اگر از وردپرس استفاده کنید یعنی سایت شما سئو شده است، صرفا فقط بدانید که شرایط اولیه سئوی وردپرس بهتر از جوملا است هر چند برای یک متخصص سئو سایت این موضوع مهم نیست و میتواند شرایط لازم و مناسب را در هر سیستم مدیریت محتوایی چه رایگان (همانند وردپرس و جوملا) و چه اختصاصی فراهم کند.
در این مقاله آموزشی قصد داریم تا طی یازده گام اساسی، برای بالابردن سئو وبسایت جوملا در موتور جستجوی گوگل را به شما آموزش دهیم.
از درستی نوع سرور خود اطمینان پیدا کنید.
به عنوان نخستین و مهمترین مرحله از آموزش سئو جوملا، توصیه میشود از سرورهای IIS ( ویندوزی) پرهیز کنید چرا که به احتمال قوی با مشکلات بسیاری در نصب و پیکربندی جوملا و سئو آن در چنین سرورهایی مواجه خواهید شد و از سویی بازنویسی URL ها در IIS معمولا نیاز به ماژولهایی دارد که کار با آنها به هیچ وجه آسان نیست. بنابراین بهترین کار استفاده از یک سرور Apache با قابلیت rewrite-mode میباشد چرا که کامپوننت های سئو در آنها عملکرد بهتری بر Joomla داشته و امکان بازنویسی URL ها را در این سی ام اس فراهم است .
تغییر نام txt به
.htaccess
بازنویسی URL ها علاوه بر افزایش میزان خوانایی آدرس صفحات جوملا، میتواند یک تجربه کاربری و حس خوب را رقم بزد، از طرفی این امکان باعث میشود که با انتخاب عبارات و کلمات کلیدی مناسب، محتوای صفحه را به گونهای معرفی کنیم که سئو جوملا مورد نظر، از نگاه موتور جستجو افزایش یابد. برای فعالسازی امکان بازنویسی URL های جوملا نیاز به تغییر نام htaccess.txt به .htaccess میباشد.
فعالسازی قابلیت SEF و بازنویسی URL ها
نکته سوم از سئو جوملا این هست که در قسمت تنظیمات کلی (Global Configuration) -> تنظیمات SEO سایت جوملا گزینههای آدرس های بهینه برای موتورهای جستجو (Search Engine Friendly URLs) و استفاده از mod_rewrite را فعال کنید.
بهینه سازی ادرس جوملا در تنظیمات کلی
URL های مورد علاقه موتور جستجو بدین معناست که بخش های پایانی و تولید شده اتوماتیک حذف و با نام مستعاری که برای آیتم منوی آن صفحه در نظر گرفتهاید جایگزین شود. بازنویسی URL نیز برای حذف عبارات index.php از پایان URL ها استفاده می شود. SEF همان Search Engine Friendly است. و آدرس های بهینه برای موتورهای جستجو را SEF URLs گویند.
راستی یک مقاله عالی در زمینه URL ها بنده نوشتم و حتما پیشنهاد میکنم مقاله آدرس فارسی یا انگلیسی بخوانید.
تصحیح فایل txt
در فایل robots.txt که به طور خودکار توسط جوملا تولید می شود، امکان دسترسی روبوت ها به تصاویر موجود در پوشه images غیرفعال شده است. با توجه به اینکه تصاویر، تاثیر بسزایی در ترافیک سایت شما در موتورهای جستجو دارند، به شدت توصیه میشود جهت افزایش سئو سایت جوملا خود، پوشه /images/ را از فایل robots.txt حذف کنید. اگر اطلاعاتی درباره این فایل ندارد مقاله جامع فایل robots.txt را مطالعه فرمایید.
نصب ویرایشگر JCE
JCE کامپوننت بسیار مفیدی برای سئو وبسایت جوملا میباشد که استفاده از آن به شدت توصیه میشود. علاوه بر رایگان بودن این ویرایشگر، با نصب آن ویژگیهای بسیاری برای بهبود سئو جوملا از جمله امکان افزودن ابعاد تصاویر و تگ alt ، فراهم میشود.
ویرایشگر JCE برای بهبود سئو جوملا
قرار دادن متن جایگزین و ابعاد تصاویر
سئو عکس همیشه مورد توجه سئوکار ها بوده است، با نصب JCE میتوانید به کلیه تصاویر موجود در سایت جوملا، ابعاد و متن جایگزین اختصاص دهید. افزودن ابعاد به تصاویر باعث میشود که قبل از بارگیری تصویر در مرورگر، فضایی به آن اختصاص یابد و این امر باعث بهبود افزایش سرعت جوملا و همینطور سئو سایت شما میشود.
مدیریت تگ های متا
اگر چه امروزه متا تگ کلمات کلیدی تقریبا منسوخ شده است، اما متا تگ های توضیحات و عنوان هنوز بسیار با اهمیتند. ویرایش این متاتگ ها در سایت جوملا شما به صورت تکی بسیار زمان بر است، یک روش جایگزین استفاده از یک کامپوننت محبوب و بسیار مفید در این باره، با نام SEO Boss می باشد. این افزونه متا تگ توضیحات را به تمام صفحات می افزاید و شما تنها یکبار آن را ویرایش می کنید. همچنین میزان سئو جوملا شما در موتور جستجو را به شما اطلاع می دهد. البته این موارد مربوط به سئوی داخلی یک سایت میشود و ما یک مقاله بینظیر و بسیار کامل درباره سئو داخلی انتشار دادیم که با خواندن آن حتما شگفتزده خواهید شد.
نمایش دامنه سایت جوملا با www یا بدون www
یکی از مشکلات سئو جوملا همین موضوع هست، هر چند با چند کد ساده رفع میشود، برخلاف وردپرس که به طور خودکار آدرس ها را با www به بدون www انتقال میدهد، در سایت جوملا نیاز است به صورت دستی فایل .htaccess ویرایش شود. بدین منظور یکی از دو کد زیر را باید در این فایل وارد نمود.
برای www:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
برای بدون www :
RewriteEngine On
RewriteCond %{HTTP_HOST} www.mizfa.com
RewriteRule (.*) http://mizfa.com/$1 [R=301,L]
لینک دهی داخلی به شکل اصولی
یکی از مسائل اساسی در سیستم های مدیریت محتوا به ویژه جوملا ایجاد شدن محتوای تکراری است که تاثیر منفی بر سئو سایت جوملا دارد و میتواند اثر بر روی پنالتی شدن سایت توسط گوگل را داشته باشد. برای رفع این مشکل لازم است حتما به شکل دقیقد و اصولی به آن محتوا لینک داخلی داده شود، بدان معنا که برای ایجاد لینک سازی داخلی حتما باید به آدرس دقیق سایت ( که با www یا بدون آن نوشته شده است) و یا / و پسوند (مثل .html) در دامنه آن دقت شود.
بهبود سرعت وب سایت
ما در میزفا بسیار درباره افزایش سرعت سایت بحث کردیم و مقالات بسیار کامل و جامعی انتشار دادیم، شما میتوانید در قسمت آموزش Gtmetrix مقالات با این موضوعات را مطالعه نمایید. سیستم مدیریت محتوا جوملا را میتوان با روشهای لازمه موجود باعث بهبود سرعت بارگیری آن شد که ما در اینجا به شکل خیلی خلاصه به کمک سه روش زیر، شما را در این امر راهنمایی میکنیم:
10-1. تنظیمات کش سایت: مرورگر لازم است به مرورگر تفهیم شود که میخواهیم تا چه مدتی وب سایت ما را ذخیره کنند. بدین منظور لازم است فایل .htaccess ویرایش و کدی مشابه کد زیر به آن افزوده شود. در غیر اینصورت یعنی زمانی که نخواهیم زمان مشخصی را برای مرورگر تعیین کنیم یا ذخیره نوع خاصی از محتوا مد نظرمان نباشد، میتوان از این کد صرف نظر کرد. https://mizfa.com/blog/leverage-browser-caching/
## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
## EXPIRES CACHING ##
10-2. فعال کردن Gzip: یک روش بسیار عالی برای افزایش سرعت بارگیری سایت فعالسازی Gzip است. بدین منظور بایستی به تنظیمات اصلی جوملا در Global Configuration رفته و در قسمت سرور، این گزینه را فعال کنید. توجه داشته باشید که این گزینه زمانی کار خواهد کرد که mode_gzip سرور شما فعال باشد.
فعال سازی gzip در جوملا
10-3. بهینه سازی تصاویر: یکی از مهمترین موارد در سئو جوملا و سرعت آن است، فارغ از اینکه از جوملا یا هر CMS دیگر استفاده میکنید، بهینه سازی تصاویر قبل از بارگذاری وبسایت یک امر بدیهی برای هر برنامه نویس وب است. برای فشرده سازی تصاویر خود می توان از نرم افزارهای مخصوص این کار همچون فتوشاپ و یا ابزارهایی همچون ابزار Google’s Page Speed tool استفاده نمود. البته اگر دنبال ابزار سئو بیشتر هستید در لینک اشاره شده کلیک کنید.
راستی تمایل داری مثلا عکسهایی با حجم های بسیار بالا رو به راحتی بدون کاهش افت کیفیت، به حداقل حجم ممکنه برسونی؟ آموزش کاهش حجم عکس بدون افت کیفیت رو از دست نده.
نصب XMap
به جرات می توان گفت XMap یکی از بهترین افزونه های سئو جوملا برای ایجاد نقشه سایت است که می توان در دو فرمت xml و html نقشه سایت را در آن ایجاد کرد. وارد XMap شده و یک نقشه سایت در آن ایجاد کنید، آیتم های منو را انتخاب و اولویت های آن ها را تنظیم کنید و سپس روی ذخیره و viola کلیک کنید. در نهایت تنها لازم است تا این نقشه سایت به ابزار وب مسترتولز گوگل معرفی شود. اگر روش کار را نمیدانید آموزش گوگل وبمستر را هم از دست ندهید.
افزونه های سئو وبسایت جوملا
بنابر تجربه میتوان گفت با استفاده از جوملا 2.5 بدون استفاده از افزونه های غیر ضروری، سئو بسیار سادهتر است. با این حال، در صورتی که میخواهید کنترل بیشتری بر تنظیمات سئو خود داشته باشید، در اینجا دو مورد از افزونه های محبوب سئو جوملا را معرفی میکنیم:
افزونه Sh404sef که یک افزونه همه کاره سئو به شمار می رود و تنظیمات آن بسیار آسان است.
افزونه Artio JoomSEF – JoomSEF که شبیه به sh404SEF است اما به اندازه آن قدرتمند نبوده و تنظیمات آن کمی خسته کننده است، ولی نسخه رایگان آن نیز وجود دارد.
در پایان باید گفت که با رعایت نکات سئو بالا در ساختار جوملا، طی مراحلی باعث بهبود سئوی جوملا میشود ولی این همه ماجرا نمیباشد و اگر قصد دارید بیشتر درباره سئو بدانید پیشنهاد میکنم مقالات سئو سایت میزفا را مطالعه نمایید و همینطور میتوانید از سرفصلهای پست آموزش سئو در جهت افزایش رتبه سایت خود در نتایج گوگل استفاده کنید. و همیشه بدانید که باید به روز باشید که این امر به ویژه با در نظر گرفتن تغییرات اخیر الگوریتم و روحیه گوگل که در تلاش برای مقابله با سایت های بهینه سازی نشده است، بیشتر اهمیت پیدا میکند.
خوشحال میشویم دیدگاهها و تجربیات خود را در قسمت نظرات به اشتراک بگذارید.
شاید خوب باشه که اول مقاله structured data چیست مطالعه خوب داشته باشید و همینطور بعدش مقاله فوق العاده ریچ اسنیپت چیست بخونید.در این مقالهها به خوبی به تک تک عبارات این صفحه پرداختیم و گفتیم که چقدر میتونن در سئو سایت شما تاثیر مثبتی بذارن.
ولی در این مقاله بیشتر به فرق این عبارات میخوایم بپردازیم و به شما دید بسیار عالی میده
Structured data چیست؟
زبان نشانه گذاری HTML برای این منظور ایجاد شده بود که عناصر مختلف صفحه از قبیل تصویر، پاراگراف، جدول، مقاله، کتاب، فیلم و… را مشخص کند و به مرورگرها بگه که در کدام بخش از صفحه چه چیزی باید نمایش داده شه.
این تگها برای مرورگرها کافی بودن ولی موتورهای جستجو با دشواریهایی مواجه بودن، استراکچرد دیتا اینجا ظهور میکنه و این آگاهی رو برای موتورهای جستجو با استانداردهای مختلف ایجاد میکنه
Structured data به اطلاعاتی میگن که به موتورهای
جستجو مانند گوگل کمک میکنه تا دید بهتری نسبت محتوای یک صفحه از سایت داشته باشه.
استانداردهای
زیادی برای استراکچرد دیتا ایجاد شده که توسط اونها میتونیم اطلاعاتی در مورد یک
فیلم، مقاله، کتاب، دستورالعمل طبخ غذا و موارد متعدد دیگر رو به موتورهای جستجو
بدیم..
انواع استانداردهای Structured data
حال00 Structured data استانداردهای مختلفی داره که اکثرا موتورهای جستجو اونا رو پشتیبانی میکنن، استانداردهای استراکچرد دیتا عبارتاند از:
RDFa
Microformats
Microdata
JSON-LD
استاندارد JSON-LD یادم رفت تو عکس بزارم
structured data چیست
Structured data (استراکچرد دیتا) یا به فارسی دادههای ساختار یافته نیز گفته میشود در برخی از سایتهای ایرانی به اطلاعات ساختار یافته ترجمه شده و در بعضی مقالات Structured data را با عنوانهای rich data markup و semantic markup میخوانند. زبان نشانه گذاری HTML برای این منظور ایجادشدهبود که عناصر مختلف صفحه از قبیل تصویر، پارگراف، جدول، مقاله، کتاب، فیلم، حتی دستورالعمل طبخ غذا و… را به مرورگرها مشخص کند و به مرورگرها بگوید که در کدام بخش از صفحه چه چیزی باید نمایش داده شود. این تگها درحالیکه برای مرورگرها کافی بودند ولی برای موتورهای جستجو کارایی لازم را نداشتند و موتورهای جستجو نظیر گوگل برای شناختن چنین دادههایی واکنشی نشان نمیدادند و این عمل باعث سرگردان شدن بخش بزرگی از داده ها در فضای نت میگردید و موتورهای جستجو توانایی آن را نداشتند که بتوانند از تمام دادههای موجود در وب سایتها به شکل بهینه استفاده کنند، برای حل این مشکل حیاتی و مهم، استراکچرد دیتا با انواع استانداردهای مختلف ایجاد شد و استراکچرد دیتا این آگاهی را برای موتورهای جستجو با استانداردهای مختلف ایجاد کرد. اگر کمی پیچیده به نظر میآید لطفاً صبر کنید و ادامه مقاله را بخوانید تا بهراحتی قابلفهم شود.
Structured data به دادههایی میگویند که به موتورهای جستجو مانند گوگل کمک میکند تا دید بهتری نسبت محتوای یک صفحه از سایت داشته باشند. استانداردهای زیادی تابهحال برای استراکچرد دیتا ایجادشده است که توسط آنها میتوانیم به اطلاعاتی در مورد یک فیلم، مقاله، کتاب، دستورالعمل طبخ غذا و موارد متعدد دیگر را به موتورهای جستجو به شکل بهینه ارائه دهیم.
جستجو در سایتها بهمنظور یافتن کلمات کلیدی مدتزمان زیادی انجامشده است ولی با استفاده از استانداردهای Structured Data میتوان به موتورهای جستجو کمک کرد تا بفهمند صفحات واقعی وب شامل چه چیزهایی هستند و از وب مبتنی بر کلمات کلیدی به وب اشیاء برسیم. شاید درک این مقاله به نظر بعضی از شما دوستان سخت باشد ولی به شما پیشنهاد میکنم حتما با ادامه مقاله همراه باشید تا به سادگی این موضوع پی ببرید.
بعدازاین آموزش باید بتوانید:
مفهوم عبارت Structured Data و نحوه استفاده موتورهای جستجو از Structured Data در علامتگذاری کلمات و اطلاعات را درک کنید.
درک بعضی از استانداردهای کلیدی Structured Data که در حال حاضر وجود دارند
درک نحوه استفاده موتورهای جستجو و رباتهای هوشمند از Structured Data بهمنظور غنیسازی جستجو
فهمیدن اینکه چطور Structured Data در افزایش رتبه سایت در گوگل تأثیرگذار است و ساختار آن چگونه به شیوهی جدید و هوشمندانه عمل میکند.
بهعنوان کاربران اینترنت، تقریباً همه ما عباراتی را (کلمات کلیدی) جستجو کردهایم. برای سالهای بسیار، موتورهای جستجو مانند گوگل، دادهها و اطلاعات صفحات یک سایت را با تجزیهوتحلیل کلیدواژهها در هر صفحه شاخص گذاری کردهاند. در بین سایر عوامل، هنگامیکه صفحهای شامل کلید واژه مورد جستجو شما باشد، موتور جستجو با توجه به نتایج جستجوی دیگران آن صفحه را رتبه دهی میکند.
از وب مبتنی بر کلید واژه ها به وب اشیاء
استفاده تنها از کلمات کلیدی در صفحات برای موتورهای جستجو بهمنظور فهمیدن محتویات صفحه، به طرز باورنکردنی میتواند محدودکننده باشد و باعث از دست رفتن فرصتهای دیگر در استفاده از داده ها شود. استفاده از Structured Data در صفحات وب نمونهای از رویای وب معنایی تیم برنرز لی است که علاوه بر انسانها، ماشینها نیز اجازه درک دانش موجود در وب را داشته باشند.
توجه: واژه وب اشیا (web of things) را با اینترنت اشیا (internet of things) اشتباه نگیرید. اینترنت اشیا معمولاً به اتصال دستگاههای الکترونیکی به یکدیگر از طریق وب اطلاق میشود. این تعریف شامل قرار دادن Structured Data در صفحات وب نمیشود.
یک صفحه عادی مانند همین صفحه را در نظر بگیرید. موتور جستجو معمولاً با نگاه به کلمات صفحه درباره محتویات صفحه تصمیمگیری میکند. مثلاً موتور جستجو در برخورد با این صفحه، ممکن است به عباراتی مثل Structured Data برخورد کند.
ایجاد یک زمینه قابل فهم از دادهها در صفحات میتواند درک مناسبی را برای موتور جستجو ایجاد کند و برای آنها این موضوع از اهمیت زیادی برخوردار است. پس صرفا کلمات درون صفحه بهتنهایی نمیتوانند محتویات صفحه را برای موتور جستجو مشخص کنند. منظور ما دقیقاً چیست؟
مثالهایی از مواردی که ممکن است در صفحات عادی مشاهده کنید را در زیر میبینید:
شخص (نام، تصویر پروفایل، اطلاعات تماس)
مکان مانند محل کسبوکارها، شهرها یا پارکها
رویدادها (لیست رویدادها، شامل زمان و مکان رویداد)
محصولات (مانند چیزی که میفروشیم یا محصولی که به آن علاقهمند هستیم که شامل قیمت و تصویر میشود)
مقالات درباره موضوعات مختلف
موتور جستجو با نگاه به فهرستی از کلمات موجود در صفحه نمیتواند بهطور خودکار این دادهها را استخراج کند و به اطلاعات قابل استفاده برای کاربران تبدیل کند. پاراگرافها برای موتورهای جستجو بهاندازه کافی دارای دادههای ساخت یافته نیستند و به زمینهای برای نشان دادن دادههای اضافی نیاز دارند (به یاد داشته باشید، موتور جستجو یک ماشین است و انسان نیست).
Structured Data یا داده ساختار یافته با دادن ابزارها و استانداردها به موتور جستجو در استخراج دادههای متنی از صفحات وب کمک میکند. اکنون علاوه بر کلید واژهها و کلمات کلیدی در صفحات میتوانیم از شاخصها، مکانها، رویدادها، محصولات و چیزهای موجود در صفحه سایتها را در نتایج موتورهای جستجو به شکل بهینه سازی شده استفاده کنیم.
شاید این سؤال برایتان پیش بیاید که تا چه اندازه این تغییر رویکرد در انتشار اطلاعات در وب کارآمد است. ما در این آموزش به بررسی بعضی از احتمالات استفاده از Structured Data میپردازیم.
به یاد داشته باشید: موتورهای جستجو مانند گوگل بدون کمک نمیتوانند دادههای ساختار یافته را از سایتها و صفحات وب استخراج کنند. استانداردهای Structured Data ابزارهایی به ما میدهند تا دادهها را بهصورت قابلخواندن برای ماشین علامتگذاری کنیم.
نمونههایی از موارد استفاده Structured Data
برای استفاده از استانداردهای Structured Data در صفحات وب، نیازی به تلاش زیادی نیست. در ادامه تعدادی از نمونههای استفاده از Structured Data را مشاهده خواهید کرد.
Rich Snippets
شاید متوجه شده باشید که در سالهای اخیر، هنگامیکه درباره شخص معروف یا مکانی جستجو میکنید، نهتنها فهرستی از صفحات مرتبط را نمایش میدهد بلکه قسمت مجزایی از اطلاعات را به شکل ریز و دقیق در همان SERP نیز نشان میدهد. بهعنوانمثال، فیلم معروف Mary Poppins را در گوگل جستجو میکنیم. میبینید که علاوه بر عنوان صفحاتی که با عبارت مورد جستجو مطابق هستند، تعدادی اطلاعات مفید را نمایش میدهند (در این مثال، رتبه دهی فیلم توسط کاربران در وبسایت IMDB).
Rich Snippets
امتیاز کاربران برای این فیلم دادههایی هستند که در صفحه Mary Poppins وجود دارد و برای موتور جستجو نیز قابل تشخیص است، زیرا به شکل Structured Data در صفحه قرار دادهشده است. حال سوالی از شما دارم، اگر یک سایت بدون داشتن ستاره و یک سایت دیگر با داشتن ستاره در نتایج جستجو ظاهر شود کدام برای شما بیشتر جذابتر خواهد بود؟ قطعا با ستاره، پس داده های ساختار یافته تاثیر مهمی در سئو سایت و افزایش نرخ کلیک در نتایج جستجو دارد
توجه کنید: گوگل تنها موتور جستجویی نیست که از rich snippet استفاده میکند. سایر موتورهای جستجو مانند Bing، نیز اطلاعات ریز و کلیدی را از طریق Structured Data نمایش میدهند.
اگر اطلاعات بیشتری درباره rich snippet ها میخواهید مقاله rich snippets چیست را بخوانید
Knowledge Graphs
موتورهای جستجویی مانند Google و Bing به طرز فزایندهی در حال ساخت Knowledge Graph از Structured Data های یافته شده هستند، برای بعضی از جستجوها، Knowledge Graphs (البته Information box هم گاهی گفته میشود) را در سمت راست صفحه نتایج میتوانید مشاهده کنید. اگر اطلاعات دقیقتری از Knowledge Graphs میخواهید مقاله Knowledge Graphs چیست را بخوانید
بهعنوانمثال، جستجویی درباره نمایش نویسنده معروف انگلیسی، William Shakespeare انجام میدهیم، در سمت راست، مجموعهای از دادهها درباره ویلیام شکسپیر را میتوان مشاهده کرد. این دادهها از به شکل Google Knowledge Graph درجشدهاند.
یک نمونه از Knowledge Graph از William Shakespeare
Google تنها موتور جستجویی نیست که Knowledge Graph میسازد. بهعنوانمثال مایکروسافت نیز Knowledge Graph به اسم Satori دارد.
البته از Structured Data استفادههای بسیاری میشود که ما دو نمونه از آنها را در بالا ذکر کردیم، در مقاله rich answers به تک تک مواردی که از Structured Data در موتور جستجوی گوگل استفاده شده پرداختیم
استانداردهای چیست؟Structured Data
چطور میتوان دادهها را به گونهی منتشر کرد تا موتورهای جستجو به دادههای ریز موجود در صفحه پی ببرند؟
برای این منظور از Structured Data استفاده میکنیم.
در این آموزش وارد جزئیات استانداردهای Structured Data نمیشویم، اما Structured Data معمولاً در کد HTML صفحات قرار داده میشود. این موضوع را بهصورت تمرین محور در آموزش بعدی موردبررسی قرار میدهیم.
استانداردهای Structured Data همواره در حال پدید آمدن هستند اما بعضی از عبارات کلیدی و جملهها در این زمینه بارها و بارها تکرار میشوند که شامل:
انواع چیست ؟ Structured Data
RDFa
Microformats
Microdata
JSON-LD
منظور از DOM چیست و چقدر در سئوی سایت ما تاثیر میگذارد؟
کلمه DOM مخفف Document Object Model میباشد که به فارسی مدل شیگرای سند ترجمه میشود. DOM یک رابط برنامه نویسی مخصوص HTML و XML میباشد و یک نمایه ساختار یافته (نمودار درختی) را برای سند فراهم میکند، برای تعریف نحوه دسترسی و دستکاری آنها نیز از زبانهای اسکریپتی مانند JavaScript استفاده میشود.
نمودار درختی DOM ما دقیقا مانند دیگر نمودار درختی خانواده میباشد و اطلاعات متغیری در آن قرار میگیرد. برای مثال ما برای شما یک نمونه خیلی ساده از DOM را طراحی کردهایم:
نمودار درختی DOM
شرایط Laymen در DOM
برای سادهتر کردن شرایط بهتر است از ابزار Devtools Chrome استفاده کنید. (در مقاله تجزیه و تحلیل سرعت وبسایت به وسلیه کروم بیشتر درباره ابزار قدرتمند Devtools Chrome صحبت کردیم ) این ابزار بخشی مخصوص DOM HTML دارد که شما میتوانید به راحتی به این بخش دسترسی داشته باشید. توجه داشته باشید که فایل HTML سایت شما به صورت پیشفرض از DOM تشکیل نشده است بلکه این مرورگر کاربر است DOM را پس از ادغام فایل HTML و منابع Javascript و CSS ایجاد میکند. بنابراین شما میتوانید محتوایی که در ابزار Devtools Chrome میبینید را نسخه تجزیهشده HTML خود بدانید.
ابزار توسعه دهندگان Chrome
منظور از مسدود سازی DOM چیست؟
اگر قصد بهینه سازی سرعت وب سایت خود، توسط وب سایتهای آنالیز سرعت وب سایت داریم، میبایست به بخش مسدودسازی DOM توجه کنیم زیرا بخشی بسیار مهم در کاهش لود سرعت وب سایت است. این بخشها در بیشتر اوقات در وب سایتها در قسمت منابع render blocking قرار میگیرند. مانند HTML Render Blocking – CSS Render Blocking – JavaScript Render Blocking به این بخش مربوط خواهد شد.
یکی از بهترین راههای یافتن مسدودسازی DOM استفاده از بخش Devtools Chrome می باشد که در زیر راه استفاده از آن را به شما میآموزیم:
1 – راهاندازی ابزار توسعهدهنده در گوگل Chrome
ویندوز : F12 – یا استفاده از Ctrl + Shift + I
مکینتاش : Cmd + Opt + I
2 – به پنل Network بروید و صفحه را با Ctrl + R رفرش کنید.
3 – اکنون شما یک نمودار آبشاری از لود وب سایتتان را مشاهده میکنید. در حال حاضر ما میخواهیم به دوچیز بپردازیم یکی از آنها سرعت لود محتوای DOM میباشد و که براساس میلی ثانیه میباشد و در نمودار قبل از رنگ آبی میباشند.
از آنجا که فایلهای CSS و جاوااسکریپت از دسته منابعی هستند که امکان render blocking در آنها وجود دارد و بین یا قبل از رنگ آبی مخصوص DOM لود میشوند ، میتوانیم فرض کنیم که آنها باعث مسدودسازی DOM نیز میشوند.
توجه داشته باشید که تصاویر به عنوان Render Blocking شناخته نمیشوند بنابراین درصورتی که در بخش DOM نمایش داده شدند میتوانید آنها را نادیده بگیرید، اگرچه ما همچنان توصیه میکنیم که تصاویر خودتان را بهینهسازی کنید.
در نمونه زیر دو منبع Style.css و Jquery.min.js هردو DOM را مسدود میکنند.
مسدودسازی DOM
نمونه دیگری که میتوانید برای این کار استفاده کنید ،ابزار PageSpeed Insights گوگل میباشد. همانطور که در زیر مشاهده میکنید، همان دوفایلی که در بالا به آنها اشاره کردیم در اینجا نیز مشکل render blocking دارند.
گوگل PageSpeed Insight
توصیه های ما را دنبال کنید تا مشکل مسدود شدن DOM وب سایت خود توسط فایلهای CSS و JavaScript را حل کنید و سرعتتان را افزایش دهید. شما میتوانید کاری کنید تا DOM وب سایت شما به تدریج ایجاد شود.
این را در نظر بگیرید که اصلا نیازی به این نیست که حتما نمره ۱۰۰ از ۱۰۰ را در بررسیهای PageSpeed Insights گوگل کسب کنید ، برای مثال برای فونتهای گوگل شما راهی برای حل مشکل Render Blocking ندارید. بنابراین سعی کنید که منابعی که Render Block میشوند در وب سایت شما بیشتر از ۱۰ عدد نشوند و همیشه کمتر از ۱۰ عدد باشند. با اینکار سرعت لود وب سایت شما بسیار افزایش پیدا میکند.
CSS
non-render blocking کردن CSS
اگر میخواهید که به صورت کامل فایلهای CSS وب سایتتان را Non-Render Blocking کنید، تنها یک راه خوب دارید. آن هم inline کردن فایلهای CSS میباشد. برای اینکار میبایست کدهای CSS وب سایتتان را در تگهای <style> قبل از تگ </body> قرار دهید. با اینکار دیگر CSS های شما به صورت Render Blocking نمایش داده نمیشوند.
افزونه های inline کردن CSS به صورت خودکار
Grunt: grunt-critical-css
critical
شما همچنین میتوانید فایلهای CSS خود را از طریق فایلهای JavaScript هم بارگیری کنید ولی این را درنظر بگیرید که اینکار پس از لود شدن تمامی فایلها انجام میشود که برای بازدیدکنندگان اصلا ایدهآل نیست.
همانطور که در زیر مشاهده میکنید مشکل CSS ها حل شد و سرعت لود DOM نیز به ۲۷۹ میلی ثانیه کاهش پیدا کرد.
لود سریعتر DOM با بهینه سازی CSS
همچنین در گوگل PageSpeed Insights نیز مشاهده میکنید که وب سایت امتیاز ۹۵ را از ۱۰۰ امتیاز گرفته است و ۲ امتیاز افزایش پیدا کرده است.
گوگل PageSpeed Insight پس از بهینه سازی CSS
با اینکه این کار بسیار فوقالعاده به نظر میرسد، در مقابل به وب سایت شما نیز وابسته است. برای بیشتر وب سایتهایی که فایلهای CSS چندگانهای دارند امکان اینکه در فایل HTML اصلی استایلهای خود را لود کنند امکان پذیر نیست و حتی اگر امکان پذیر باشد و سرعت لود را افزایش که نمیدهد هیچ ، به علت حجمی که به صفحه HTML میافزاید سرعت را کاهش نیز میدهد. این کار پیشنهاد شده برای صفحات فرود (صفحه فرود چیست) و وب سایتهای کوچک راه بسیار عملی و خوبیست ولی برای وب سایتهای بزرگ باید چاره دیگری اندیشید. توضیحات جامع و مفید درباره inline css را بخوانید.
پیشنهاد ما برای CSS
برای مثال در یک صفحه فرود سعی میشود که حداکثر یک منبع Render Blocking وجود داشته باشد. با اینحال در زیر ما به نکاتی اشاره میکنیم که میتواند باعث افزایش سرعت لود صفحات شما شود.
فایلهای CSS خود را به درستی معرفی کنید. به عنوان مثال مقاله Put CSS in the document head و Optimize the order of styles and scripts میتواند به شما در این مورد کمک کند.
از بعضی از Media Queries برای لود فایلهای CSS استفاده کنید. منظور از این Media همان ریسپانسیو بودن سایت است.
تعداد منابع CSS خود را کاهش دهید، همه منابع CSS را به یک فایل CSS منتقل کنید ما در پست های آموزش GTmetrix به شکل جامع در این باره توضیح دادهایم.
فایلهای CSS خود را فشردهسازی کنید. (فضاهای خالی، کارکترهای اضافه و کامنتها را پاکسازی کنید، مقاله Minify CSS مقاله شود)
از CSS کمتر استفاده کنید.
افزونه های فشرده سازی CSS به صورت خودکار
Grunt: grunt-contrib-cssmin
Gulp: gulp-minify-css
جاوا اسکریپت
non-render blocking کردن فایلهای جاوا اسکریپت
برای از بین بردن کامل مشکل Render Blocking در فایلهای جاوااسکریپت به طور کلی چندین راه مختلف دارید:
فایلها را با تگ <script> قبل </body> قرار دهید.
از ناهمگامی یا به تعویق انداختن برای از بین بردن render blocking استفاده کنید.
کاهش تعداد فایلهای جاوااسکریپت با یکتا کردن کدهای جاوا در یک فایل.
فشردهسازی فایلهای جاوااسکریپت
inline کردن کدهای جاوااسکریپت در صورت کوتاه بودن آنها
ناهمگام اجرا کردن فایلهای جاوا اسکریپت (async JS)
ناهمگام سازی اجازه میدهد که فایلهای جاوااسکریپت به صورت کامل در پس زمینه وب سایت لود شوند. سپس بعد از اینکه به صورت کامل دانلود شد، Render Block میشود و اسکریپت اجرا میشود.
Render زمانی ادامه پیدا میکند که اسکریپت اجرا شود.
<script async src="foobar.js"></script>
به تعویق انداختن لود فایلهای جاوا اسکریپت (Defer JS)
به تعویق انداختن لود نیز دقیقا مانند ناهمگام سازی میباشد با این تفاوت که به شما تضمین میدهد که اسکریپتها به ترتیب لود میشوند.
بنابراین ممکن است بعضی از اسکریپتها زودتر دانلود شوند ولی منتظر میمانند که ابتدا اولیت بالاتر آنها نیز دانلود شود و سپس بعد از اجرای آن اسکریپت ، لود میشوند.
ما در مقاله رفع خطای Defer parsing of JavaScript در این مورد به شکل کاملی توضیح دادهایم.
افزونههای فشرده سازی فایلهای جاوا اسکریپت به صورت خودکار
Grunt: grunt-contrib-uglify
Gulp: gulp-uglify
همانطور که مشاهده میکنید با قرار دادن فایلهای جاوااسکریپت به فایل HTML تنها فایل Render Block شده jquery.min.js میباشد و سرعت DOMContentLoaded نیز به ۱۴۴ میلی ثانیه کاهش یافته است.
افزایش سرعت وب سایت با حل مشکل مسدود شدن DOM
با توجه به inline کردن کدهای جاوااسکریپت مشاهده میکنید که امتیاز ۱۰۰ را از ۱۰۰ نمره Google PageSpeed insights دریافت کردیم. شما نیز میتوانید با این کار امتیاز خود را افزایش دهید.
امتیاز ۱۰۰ از ۱۰۰ در گوگل PageSpeed Insights
فونتهای وب
وب فونتها نیز یک منبع با قابلیت Render Block میباشند زیرا توسط CSS ها لود میشوند ، شما برای حل این مشکل دو انتخاب دارید ، یا آن را رها کنید و بگذارید همان Render Block بماند یا بعدا دوباره از اول آن را بسازید. (که در آینده میبایست از FOUT استفاده کنید)
برای مثال در کروم (+36) ، اپرا (+23) و فایرفاکس ۳ ثانیه برای لود فونتها زمان لازم داریم.
در زیر چند پیشنهاد برای حل مشکل لود فونتها ارائه کرده ایم که امیدواریم برای شما مفید باشد.
از یک لودر وب فونت استفاده کنید. (Font Loading API)
با استفاده از inline کردن فونتها را بهینه سازی کنید.
از روشهای ذخیرهسازی مانند localStorage استفاده کنید.
همچنین شما با یک جستجوی ساده میتوانید اطلاعات بیشتری در رابطه با بهینه سازی لود فونتها در صفحات وب پیدا کنید.
خلاصه
امیدواریم که از این آموزش سئو که در جهت بهبود سرعت سایت بود، لذت برده باشید و برایتان مفید بوده باشد. در این مقاله متوجه شدید که مسدودسازی DOM ها ممکن است به علت Render Blocking منابع CSS ، جاوااسکریپت یا وب فونتها باشد و چگونگی حل مشکل این منابع را نیز به شما آموختیم.
به یاد داشته باشید که همیشه بدست آوردن امتیاز ۱۰۰ از ۱۰۰ برای وب سایت ها لازم نیست و تنها اینکه شما حداقل مسدودسازی DOM و همچنین حداکثر سرعت را در وب سایتتان داشته باشید اهمیت دارد بنابراین به جای وقت گذاشتن بر روی امتیاز به فکر سرعت وب سایت خود باشید.
فرق متاتگ Robots با فایل Robots.txt
اگر یک ربات بخواهد صفحهای از یک وب سایت را ایندکس کند قبل از این عمل robots.txt را مشاهده کرده و دستورات آن را پیروی میکند. طبیعتاً اولویت فایل robots.txt نیز از متاتگ robots بیشتر است.
فایل robots.txt به شکل یک فایل واقعی در چنین آدرسهایی www.domain.com/robots.txt قرار دارند. ولی متاتگ robots به شکل تگ و قبل از head نیز وجود دارند
با یک دستور robots.txt می توانیم صفحات بسیاری را برای رباتها و موتورهای جستجو مسدود کنید ولی اگر قصد داشته باشید با متاتگ robots چنین عملی را انجام دهید باید در تکتک آن صفحات نیز متاتگ را درج کنید.
در فایل robots.txt شما میتوانید سایت مپ سایت را به رباتها و موتورهای جستجو معرفی کنید ولی با متاتگ امکانپذیر نیست.
دستورات متاتگ robots انعطافپذیری بیشتری نسبت به فایل robots.txt نیز دارد.
مهم: در فایل robots.txt به ربات میگوییم خزش نکند ولی گاهی ایندکس میشود درحالی که برای ایندکس نشدن بهتر است از متاتگ robots هم استفاده کنید.
سؤال: آیا مشکلی در سئو پیش میآید اگر از هر دو متد یعنی متاتگ Robots با فایل robots.txt برای جلوگیری از ایندکس شدن یکصفحهای از سایت استفاده کنیم؟
قطعاً خیر، گوگل هم متنی درباره این موضوع نوشته است و اشاره میکند که:
ربات گوگل محتوایی که از طریق robots.txt مسدود شده باشد را خزش یا ایندکس نمیکند ولی ممکن است ما لینک آن محتوا را در مکانی دیگر از وب پیدا کنیم و درنتیجه محتوای موجود در آن آدرس در دسترس عموم قرار بگیرد و در نتایج جستجوی گوگل ظاهر شود. شما میتوانید برای جلوگیری از این عمل که محتوا در نتایج گوگل نمایش ندهد از متدهای دیگر برای مسدود کردن آدرسها استفاده کنید. بهعنوانمثال دایرکتوری آن آدرس را از طریق سرور خود رمزگذاری کنید یا از متاتگ robotx با دستور noindex استفاده کنید.