اسکیما یا Structured data چیست؟

یک سالی میشه که از اولین بررسی این مبحث که اصلا اسکیما چی هست و چه استفاده ای ازش میشه کرد رو شروع کردم. متاسفانه هنوز بعد از گذشت این مدت هنوز منبع فارسی و حتی لاتین درستی در موردش نیست در حالیکه بشدت مقوله مهمی هست. چند روز پیش با یکی از همکاران که سئو منیجر یک استارت آپ هست صحبت کردم و دیدم متاسفانه ایشون نمیدونن ای دو تا یعنی اسکیما و Structured data هر دو یه مبحث هستن و با اینکه روز قبلش در خصوص پیاده سازی الگوریتم برای این استارت آپ صحبت کرده بودم ایشون بازم ازم پرسیدن که اسکیما و ریچ اسنیپت (rich snippet) رو کاری براش کردید؟! برای همین گفتم اینجا یه سری توضیح مختصری بدم و بگم این مبحث چی هست اصلا.

اول از همه باید بگیم اسکیما چی هست

اسکیما چیست؟

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

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

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

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

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

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

چطور از اسکیما استفاده کنیم؟

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

  • مایکرو دیتا: در این روش داخل تگهای html از یک سری اصطلاحا متادیتا استفاده میشه که از ویژگی هایی مثل itemscope، itemtype و itemprop استفاده میشه که برای اینکه بدونید چه پارامترهایی رو باید استفاده کنید، بهترین مرجه همون سایت schema.org هست. در زیر یک نمونه از یک بخش که منظورش معرفی یک فیلم هست رو میتونید ببینید:
<div itemscope itemtype="http://schema.org/Movie">
  <h1 itemprop="name">Avatar</h1>
  <div itemprop="director" itemscope itemtype="http://schema.org/Person">
  Director: <span itemprop="name">James Cameron</span> 
(born <time itemprop="birthDate" datetime="1954-08-16">August 16, 1954</time>)
  </div>
  <span itemprop="genre">Science fiction</span>
  <a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer">Trailer</a>
</div>



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

<div vocab="http://schema.org/" typeof="Movie">
  <h1 property="name">Avatar</h1>
  <div property="director" typeof="Person">
  Director: <span property="name">James Cameron</span>
(born <time property="birthDate" datetime="1954-08-16">August 16, 1954</time>)
  </div>
  <span property="genre">Science fiction</span>
  <a href="../movies/avatar-theatrical-trailer.html" property="trailer">Trailer</a>
</div>

استاندارد JSON-LD: این استاندارد بنظرم بهترین استاندارد هست. علتش هم اینه که نمیخواد در تمام تگ های html کاری رو انجام بدید. کافیه به ازای هر محتوا، یک تکه کد قرار بدید و گوگل اون رو متوجه بشه. خیلی استاندارد خوبی هست و پیشنهاد من این مورد هست. مثال زیر همون فیلم رو با این استاندارد پیاده کرده:

<script type="application/ld+json">
{ 
  [email protected]": "http://schema.org/",
  [email protected]": "Movie",
  "name": "Avatar",
  "director": 
    { 
       [email protected]": "Person",
       "name": "James Cameron",
       "birthDate": "1954-08-16"
    },
  "genre": "Science fiction",
  "trailer": "../movies/avatar-theatrical-trailer.html" 
}

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

اسکیما در وردپرس

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

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

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

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

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

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

شما باشید چه برداشتی میکنید :(

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

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

بله سایت شما پنالتی میشه.

+ عه! پنالتی چیه؟ مگه فوتباله؟!

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

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

+پس یعنی وردپرس و ووکامرس بدرد نمیخورن؟

- قطعاً این سوال غلطه و قطعاً هر دو بهترینن

چطور از اسکیما استفاده کنیم پنالتی نشیم؟

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

اسکیمای اشتباه ووکامرس رو چه کنیم؟

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

برای حذف اسکیماهای ووکامرس کافیه تکه کد زیر رو در فایل functions.php قالب فعال یا child theme فعال در مسیر wp-content/themes/your theme name (که your theme name اسم قالب شماست) اضافه کنید:

remove_action( 'wp_footer', array( WC()->structured_data, 'output_structured_data' ), 10 );

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

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

اسکیمای بدرد نخور Yoast SEO

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

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

برای اینکه این اسکیماها رو هم غیر فعال کنید باید از کد زیر در همون محلی که قبلا گفته شد استفاده کنید:

add_filter('wpseo_json_ld_output',  'ywp_remove_yoast_output_structured_data', 10, 1);
function ywp_remove_yoast_output_structured_data($data) {
		$data = array();
	return $data;
	}

ایراد افزونه Yoast SEO for Woocommerce

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

خب چه کنیم؟

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

صلاح مملکت خویش خسروان دانند.

ارتباط اسکیما با سئو

خب رسیدیم به بهترین بخش، چرا اصلا باید اسکیما فعال باشه؟

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

ولی چطور اسکیما باعث جذب بیشتر کاربر میشه؟

در بحث سئو و طراحی سایت مقوله ای داریم به اسم rich snippet. این مقوله توضیحش خیلی ساده است. وقتی شما یک مطلب رو داخل موتور جستجو سرچ میکنید، نتایجی که به شما نمایش داده میشن هر کدوم یه باکس دارن و در کل ما بهشون میگیم اسنیپت.

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

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

 h
h


شاخص CTR (یا میانگین نسبت دفعاتی که یک سایت در نتایج جستجو نمایش داده میشه به دفعاتی که کاربر جستجو کننده برای ورود به سایت کلیک کرده) شاخص بسیار مهمی هست که در تصویر بالا بیشتر از یک چهارم هست. گفتنش خالی از لطف نیست که این سایت حدود یک ماه هست که محتوا داره و از نظر سئو یک سایت خیلی نوپا هست. میتونید در کادر بنفش هم میانگین جایگاه این سایت رو در نتایج گوگل ببنید.

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

از کجا بفهمم صفحات من ایراد اسکیما دارن یا نه؟

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

گزارش اسکیمای مخرب داخل سرچ کنسول گوگل کجاست؟

اسکیمای مخرب ووکامرس و یواست رو میتونید داخل قسمت Enhancements گزینه Products مشاهده کنید. اگه هر ایرادی داشته باشه براتون لیست میکنه. مواردی که Error هستن بشدت شما رو در خطر پنالتی قرار میدن و البته Warning ها هم همین طور ولی اولویت یک هستن. موارد Error فورس ماژور هستن و باید سریعتر برطرف بشن.

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

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

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

اگه این مطلب مفید بود خوشحال میشم نظر شما دوست عزیز رو بدونم. اصلا بگید از این دست مقالات بذارم بدرد میخوره یا نه؟