داده‌های ساختارمند توسط اسکریپت JSON-LD
داده‌های ساختارمند توسط اسکریپت JSON-LD : در این مقاله، اسکریپت JSON-LD را معرفی خواهیم کرد، فرمت نوشتن آن را توضیح خواهیم داد، Property های آن را تعریف می کنیم، آیتم Type@ در اسکریپت JSON-LD را تعریف می کنیم.

 داده‌های ساختارمند توسط اسکریپت JSON-LD 

»»» بخش اول: معرفی اسکریپت JSON-LD و نحوه تعریف آن «««

 

راهنمای JSON-LD برای مبتدیان

 

» در بخش اول آموزش اسکریپت JSON-LD، آن را معرفی خواهیم کرد و فرمت نوشتن آن را توضیح خواهیم داد و Property های آن را تعریف می کنیم.

 

اسکریپت JSON-LD چیست؟

Json-ld مخفف عبارت JavaScript Object Notation for Linked Data  می باشد که از آرایه های چند بعدی (Multi-dimensional arrays) تشکیل شده است.

این اسکریپت یک فرمت پیاده سازی ساختارهای داده شبیه میکرودیتا (MicroData) و RDFa می باشد. معمولا در حوزه سئو (SEO) بکار می رود و هدف آن پیاده سازی داده ها با فرمت Schema.org می باشد که حاصل تلاش مشترک موتورهای جستجوی گوگل، یاهو و بینگ می باشد برای رسیدن به یک فرمت واحد (Unified Format) برای داده های تحت وب.

 

اسکریپت JSON-LD چیست؟

 

JSON-LD چه کاری انجام می دهد؟

اسکریپت جی‌سون-ال-دی (JSON-LD) به داده های موجود در وب ساختار می بخشد و باعث می شود موتورهای جستجو نوع داده های موجود در هر صفحه وب (Webpage) را سریع تر و راحت تر تشخیص دهند و بطور کلی باعث ساختارمند شدن داده های موجود در دنیای وب خواهد شد.

 

JSON-LD چه کاری انجام می دهد؟

 

همانطور که در تصویر فوق می بینیم، توسط JSON-LD ، داده های بی ساختار (Unstructured Data) به داده های ساختارمند (Structured Data) تبدیل می کند.

 

محل قرارگیری اسکریپت JSON-LD دریک صفحه HTML 

گوگل پیشنهاد می دهد اسکریپت json-ld در بخش head یک صفحه وب (<head></head>) قرار بگیرد. اگرچه در صورتی که در تگ body یک صفحه وب نیز تعریف شود نیز صحیح می باشد و مشکلی پیش نخواهد آمد.

 

فرمت نوشتن اسکریپت JSON-LD:

 

تگ اسکریپت <script>:

این اسکریپت با عبارت زیر آغاز می شود:

<script type="application/ld+json"> {

تگ اسکریپت فوق که از نوع ld+json می باشد به مرورگر اعلام می کند که "من یک جاوااسکریپت هستم که حاوی کدهای JSON-LD می باشم"

اگر اسکریپت JSON-LD شما درون کروشه باز و بسته یعنی { و } نباشد، مرورگر آنرا تفسیر نخواهد کرد. به تصویر زیر دقت کنید:

 

فرمت نوشتن اسکریپت JSON-LD

 

کاربرد آیتم context@:

آیتم دوم این اسکریپت، @context می باشد. مکان قرارگیری این المنت، ثابت و در ابتدای اسکریپت می باشد که همیشه مقدارش http://schema.org خواهد بود.  

"@context": "http://schema.org",

 

آیتم دوم اسکریپت JSON-LD برابر context@ می باشد

 

@context به مرورگر می گوید مرجع این اسکریپت کجاست. متاسفانه وب سایت schema.org در ایران فیلتر می باشد (Error403) و برای دیدن آن نیاز است فیلترشکن داشته باشید!

 

وب سایت schema.org در ایران فیلتر می باشد

 

کاربرد آیتم ویرگول (کاما ,):

حتما متوجه ویرگول (,) در انتهای عبارت @context شده اید. این ویرگول به مرورگر می گوید که عملیات parsing را کماکان ادامه دهد و متوقف نشود.

نکته: حتما به یاد داشته باشید که در انتهای هر خط از این اسکریپت، ویرگول (Comma) بگذارید و اسکریپت خود را توسط ابزار تست داده های ساختارمند گوگل (Google’s Structured Data Testing Tool) تست کنید تا از صحیح بودن فرمت اینگونه اسکریپت ها مطمئن شوید.

در بخش بعد، در زمینه نوع آیتم (Type@) و Property های دیگر از اسکریپت JSON-LD صحبت خواهیم کرد.

 

»»» بخش دوم: آیتم Type@ و ساختار Item Property:Value «««

 

در بخش دوم، قصد داریم Type@ و چند property دیگر از اسکریپت json-ld را توضیح دهیم.

 

تعریف Type@ در اسکریپت JSON-LD:

آیتم بعدی @Type می باشد که بصورت زیر تعریف می شود:

 

کاربرد آیتم Type@:

 این آیتم بیانگر نوع داده ای است که ما میخواهیم آنرا نشانه گذاری (markup) کنیم. در وب سایت https://schema.org/docs/full.html می توانید لیست کاملی از انواع داده را مشاهده کنید.

در مثال زیر ، اسکریپت جی‌سون به مرورگر اعلام می کند که من دارم یک نوع داده ای از نوع شخص (Person) تعریف می کنم:

 

نوع شخص (Person)

 

جهت کسب اطلاعات بیشتر و مشاهده تمام property ها و مثال های کاربردی نوع داده ای Person ، به وب سایت http://schema.org/Person مراجعه شود:

 

وب سایت Schema.org

 

ساختار Item Property:Value:

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

۱- Item Property: از فرهنگ لغات وب سایت مرجع Schema.org آمده است و باید در دابل کوتیشن یعنی " تعریف شود و اگر در سینگل کوتیشن نوشته شود، فرمت اشتباهی خواهد داشت.

۲- Value: مقدار آیتم فوق را در این قسمت وارد می کنیم.

فرمت کلی بصورت زیر می باشد:

“Item Property”: “Value”,

 

Item Property

 

مطالعه بیشتر در زمینه داده ساختارمند Schema

 

کاربرد کوتیشن و براکت:

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

علامت براکت یعنی ] و [ برای زمانی کاربرد دارد که property بیش از یک مقدار داشته باشد. در تصویر زیر، دو نام خانوادگی تعریف کرده ایم:

 

علامت براکت برای زمانی کاربرد دارد که property بیش از یک مقدار داشته باشد

 

 یک کاربرد معمول براکت برای تعریف sameAs می باشد که مانند تصویر زیر، بخواهیم پلتفرم های مختلف شبکه های اجتماعی را لیست کنیم:

 

پلتفرم های مختلف شبکه های اجتماعی

 

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

در بخش سوم و پایانی آموزش اسکریپت JSON-LD، نحوه تو در تو نویسی اسکریپت JSON-LD و مشکلات و خطاهای احتمالی این اسکریپت را بیان خواهیم کرد.

 

»»» بخش سوم: قابلیت تو در تو نویسی (Nesting) و رفع خطاهای احتمالی «««

 

در بخش قبل، آیتم Type@ و ساختار Item Property:Value را معرفی و بررسی نمودیم. در این بخش که آخرین قسمت از آموزش JSON-LD می باشد، قابلیت تو در تو نویسی (Nesting) اسکریپت JSON-LD و خطاهای احتمالی و مرسوم در کدهای JSON-LD را بررسی خواهیم کرد.

 

تو در تو نویسی (Nesting) در اسکریپت JSON-LD:

تو در تو نویسی یک موضوع مهم در نشانه گذاری Schema می باشد. زیرا می خواهید خواصی (property) را برای یک آیتم تعریف کنید که به آیتم های دیگر تعلق ندارد. بعنوان مثال، در تصویر زیر، خاصیت name هم می تواند برای MUSIC EVENT باشد هم PERFORMER و هم LOCATION:

 

تو در تو نویسی (Nesting) در اسکریپت JSON-LD

 

نکاتی در زمینه تو در تو نویسی  JSON-LD:

  • حتما از item type و item property استفاده کنید.
  • مقادیر (Values) در کروشه یعنی { و } تعریف شوند.
  • باید نوع داده ای هر property را بیان کنید.
  • نباید هیچ ویرگولی قبل از براکت بسته یعنی ] وجود داشته باشد.

 

توصیه: برای خوانایی (readability) بیشتر کدهای تو در تو (Nested) بهتر است آنها را با تو رفتگی مرتب کنیم.

در تصویر زیر، نمونه ای از تورفتگی کدها بهنگام تو در تو نویسی اسکریپت JSON-LD را مشاهده می کنید:

 

نکاتی در زمینه تو در تو نویسی  JSON-LD

 

خطاهای احتمالی و مرسوم در اسکریپت JSON-LD:

اگر اسکریپت نهایی خود را توسط ابزار تست داده های ساختارمند گوگل (Google’s Structured Data Testing Tool)

تست کردید و کد شما غیرمعتبر (invalid) شناخته شد، و متوجه نشدید مشکل اسکریپت شما از کجاست می توانید مراحل زیر را به منظور خطایابی طی کنید:

  • سینتکس (Syntax):

۱- علامت “” با "" متفاوت است و دومی مورد قبول می باشد.

۲- محل قرارگیری ویرگول (Comma) را بررسی و اصلاح کنید.

 

  • واژگان (Vocabulary):

۱- حتما با مراجعه به وب سایت Schema.org از property های نوع داده ای خود مطلع شوید و مراقب باشید از property های اشتباه استفاده نکنید.

۲- بطور مداوم اسکریپت خود را در ابزار تست گوگل، تست کنید.

 

  • نقض خط مشی (Policy Violation):

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

۲- خط مشی گوگل در مورد داده های ساختارمند را مطالعه نمائید (Google’s Structured Data Policies).

 

  • مایکروسافت (Microsoft):

۱- اگر از نوم افزارهای مایکروسافت آفیس مانند ورد (word) و یا اکسل (excel) داده ها و اسکریپت JSON-LD را کپی و پیست (paste) کنیم، می تواند مشکل ساز باشد.

۲- مایکروسافت علامت دابل کوتیشن صحیح " " را به “” تبدیل می کند.

۳- راه حل اینست که از یک ادیتور HTML استفاده کنید.

 

فرآیند درج اسکریپت JSON-LD در وب سایت:

این فرآیند به راحتی شما با واژگان سایت Schema.org و نیز توانایی تان در نوشتن اسکریپت JSON-LD بستگی دارد.

در پایین، فرآیند نوشتن اسکریپت توسط فردی را توضیح داده ایم که در مباحث json-ld و Schema.org مبتدی می باشد:

 

۱- پاسخ ذهنی (Mentally Answer):

  • چه چیزی را می خواهید نشانه گذاری کنید؟

  1. هدف (Goal): داده ها و محتوای مد نظر خود را با واژگان وب سایت Schema.org چک کنید. ممکن است لغتی از نظر مفهومی درست بنظر برسد ولی جایی در لغت نامه Schema نداشته باشد.
  • چرا می خواهید آن را نشانه گذاری کنید؟
  1. هدف (Goal): مشخص کنید که دلیل اینکار تجاری است یا برای کسب تجربه. نشانه گذاری (marking up) موضوعی در یک صفحه وب بدون دلیل نمی تواند باشد. این نشانه گذاری بدین دلیل است که شما می خواهید محتوا و داده های مهم آن صفحه وب را به موتورهای جستجو بشناسانید و شانس خود را برای نمایش داده شدن به کاربران افزایش دهید.
  2.  نگاهی به مطلب resource on markup بیاندازید تا متوجه شوید گوگل در چه جاهایی و چگونه از markup استفاده می کند.

 

۲- اگر شما از یکی از markup هایی که گوگل صراحتا استفاده کرده است، استفاده می کنید، به دستورالعمل آن مراجعه نموده و مثال های مرتبط با آن را مشاهده کنید.

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

 

۳- لیست item type های Schema.org را مشاهده کنید.

  • به ویژه هنگامی که تازه می خواهید markup نویسی را شروع کنید، داکیومنت Schema.org را حتما بصورت روزنامه‌وار مطالعه نمائید تا با تمام item type ها و property های موجود و وب سایت هایی که از آنها استفاده کرده اند، آشنا شوید. پس از اینکه در دفعات اول از این سایت استفاده کردید، دیگر نیازی نیست تا تمام آن را مرور کنید. تنها وقتی که می خواهید یک markup جدید در وب سایت خود تعریف کنید نیاز است به وب سایت Schema.org رجوع کنید.

 

۴- المنت های ثابت و غیرمتغیر را کپی پیست کنید (بعنوان مثال از <script> تا @type):

  • برای خودتان زمان و نیروی فکری صرفه جویی کنید. روش دیگر اینست که از طریق مهندسی معکوس ، تمپلیت های آماده گوگل را ویرایش و شخصی سازی (Customize) کنید.
  • در داکیومنت های گوگل، گاهی اوقات اسکریپت های JSON-LD بدون تگ اسکریپت (<script>) بیان شده اند. این نکته را بخاطر داشته باشید که در یک داکیومنت HTML جاوااسکریپت نمی تواند بدون تگ script تعریف شود و مرورگر نمی تواند کدهای جاوااسکریپت را خارج از <script> تفسیر کند.

 

۵- در markup (نشانه گذاری) ، از item type هایی که به آنها علاقه مندید بعنوان مقدار @type استفاده کنید.

 

۶- item property ها و مقادیر (values) آنها را لیست کنید:

  • در این مرحله، نیازی به دانستن syntax نیست و بیشتر نیازمند تمرینات ذهنی شماست. روی آن چیزی که می خواهید نشانه گذاری (markup) کنید تمرکز کنید. اساسا ابتدا باید تفکرات خود را مرتب و ساختاربندی کنید و سپس به چگونگی پیاده سازی آنها فکر کنید.
  • غالبا پیش میاید که شما میدانید که چه چیزی را می خواهید نشانه گذاری کنید اما نمیدانید که آیا در فهرست واژگان Schema.org وجود دارد یا خیر. و نیز با نحوه تو در تو نویسی (Nesting) کدها نیز مشکل دارید.

 

۷- شروع به نوشتن JSON-LD کنید و از تو در تو نویسی زمانی استفاده کنید که نیاز/مناسب است.

  • در این مرحله مهم، تمام داده ها و افکار خود را باید به اسکریپت JSON-LD تبدیل کنید و در موارد ضروری، کدها را تودرتو بنویسید.

 

۸- اسکریپت خود را با ابزار تست داده های ساختارمند (Structured Data Testing Tool) تست کنید.

  • از معتبر (valid) بودن کدهای JSON-LD اطمینان حاصل کنید و مطمئن شوید که از تمام property های لازم در آن استفاده کرده باشید.

 

۹- استراتژی خود را برای افزودن اسکریپت JSON-LD به صفحات وب سایت تعیین کنید.

  • شما براحتی می توانید اسکریپت JSON-LD را به تگ head صفحات وب اضافه کنید. اگر از تمپلیت خاصی استفاده می کنید، می توانید با تیم توسعه (development) وب سایت خود مشورت کنید.

 

مقاله آموزشی اسکریپت JSON-LD ترجمه مقاله JSON-LD for beginners از وب سایت معتبر Moz می باشد. 

 

منبع: https://moz.com/blog/json-ld-for-beginners


برچسب‌ها:

JSON-LDآموزش JSON-LDاسکریپت JSON-LDداده ساختارمندساختار Item Property:Valueفرمت JSON-LDکاربرد JSON-LDکد JSON-LDمعرفی JSON-LD

2 دیدگاه برای “داده‌های ساختارمند توسط اسکریپت JSON-LD”

  1. rad گفت:

    ممنون از سایت خوبتون کاملا بروز و مفید

    1. Mohtava-Admin گفت:

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

2 × 2 =