ساختن محتوا و مدیریت یه سایت میتونه خیلی وقتگیر و چالشبرانگیز باشه. تولید محتوای خوب فقط یه بخش ماجراست؛ بخش مهمتر اینه که مطمئن بشی محتوای سایتت دیده میشه و بین اینهمه پست و لینک توی شبکههای اجتماعی گم نمیشه. تو دنیای پر از سر و صدای امروز، وقتی لینک سایتت به اشتراک گذاشته میشه، باید به قدری جذاب و حرفهای به نظر برسه که بتونه توجه مخاطب رو به خودش جلب کنه. سوال اصلی اینه: چطوری میتونیم این کار رو انجام بدیم و مطمئن بشیم که محتوای ما به بهترین شکل نمایش داده میشه و نرخ کلیک بیشتری میگیره؟ راهحل این مشکل، استفاده از پروتکل اوپن گرافه! در ادامه این مقاله به معرفی این پروتکل میپردازیم.
اوپن گراف (Open Graph) یه پروتکل اینترنتیه که در اصل توسط فیسبوک ساخته شد تا یه استانداردی برای استفاده از متادیتا (اطلاعات اضافی در مورد محتوای یه صفحه) داخل وبسایتها ایجاد کنه. به کمک اوپن گراف میتونی اطلاعاتی مثل عنوان صفحه یا حتی جزئیات دقیقتر مثل مدت زمان یک ویدیو رو به اشتراک بذاری. این اطلاعات کنار هم قرار میگیرن تا هر صفحه وب به بهترین شکل ممکن در اینترنت نمایش داده بشه.
معمولاً وقتی محتوایی رو توی اینترنت منتشر میکنی، میخوای که با بقیه به اشتراک بذاری. حالا شاید برای یک نفر این مهم نباشه، اما اگه میخوای محتوات توی شبکههای اجتماعی یا اپلیکیشنهایی که پیشنمایش جذاب از لینکها نشون میدن، به اشتراک گذاشته بشه، قطعاً دوست داری که اون پیشنمایش تا جایی که میشه حرفهای و جذاب باشه. و اینجا اوپن گراف به کار میاد!
برای اینکه صفحات وبت رو به آبجکتهای گرافی تبدیل کنی، باید یه سری متادیتای ساده به صفحاتت اضافه کنی. اولین نسخه از این پروتکل بر پایه RDFa ساخته شده، به این معنی که باید تگهای <meta> اضافی رو توی بخش <head> صفحه وب قرار بدی. هر صفحه نیاز به چهار ویژگی اصلی داره:
مثال: کد زیر یه نمونه از متادیتای اوپن گراف برای فیلم "The Rock" در IMDb هست:
<html prefix="og: https://ogp.me/ns#">
<head>
<title>The Rock (1996)</title>
<meta property="og:title" content="The Rock" />
<meta property="og:type" content="video.movie" />
<meta property="og:url" content="https://www.imdb.com/title/tt0117500/" />
<meta property="og:image" content="https://ia.media-imdb.com/images/rock.jpg" />
</head>
</html>
این ویژگیها اختیاری هستن، اما به طور کلی توصیه میشن که استفاده بشن:
مثال از متادیتای اختیاری:
<meta property="og:audio" content="https://example.com/bond/theme.mp3" />
<meta property="og:description" content="Sean Connery found fame and fortune as James Bond." />
<meta property="og:determiner" content="the" />
<meta property="og:locale" content="en_GB" />
<meta property="og:locale:alternate" content="fr_FR" />
<meta property="og:site_name" content="IMDb" />
<meta property="og:video" content="https://example.com/bond/trailer.swf" />
بعضی از ویژگیها میتونن متادیتای بیشتری همراه خودشون داشته باشن. اینا هم مثل بقیه با property و content مشخص میشن، ولی این بار با جزئیات بیشتری:
نمونهای از کد تصویر:
<meta property="og:image" content="https://example.com/ogp.jpg" />
<meta property="og:image:secure_url" content="https://secure.example.com/ogp.jpg" />
<meta property="og:image:type" content="image/jpeg" />
<meta property="og:image:width" content="400" />
<meta property="og:image:height" content="300" />
<meta property="og:image:alt" content="A shiny red apple with a bite taken out" />
تگ og:video دارای تگهای مشابه og:image هست. مقال:
<meta property="og:video" content="https://example.com/movie.swf" />
<meta property="og:video:secure_url" content="https://secure.example.com/movie.swf" />
<meta property="og:video:type" content="application/x-shockwave-flash" />
<meta property="og:video:width" content="400" />
<meta property="og:video:height" content="300" />
برای فایلهای صوتی (og:audio) هم مشابه تصویر و ویدیو، ولی بدون ابعاد. مثالی از کد:
<meta property="og:audio" content="https://example.com/sound.mp3" />
<meta property="og:audio:secure_url" content="https://secure.example.com/sound.mp3" />
<meta property="og:audio:type" content="audio/mpeg" />
وقتی یه تگ میتونه چندین مقدار مختلف داشته باشه، کافیه چند تا تگ مشابه رو پشت سر هم توی صفحت بذاری. توی این حالت، اولین تگی که از بالا به پایین قرار داره، توی مواقعی که تداخل پیش میاد، اولویت داره.
مثال:
<meta property="og:image" content="https://example.com/rock.jpg" />
<meta property="og:image" content="https://example.com/rock2.jpg" />
حالا، وقتی میخوای ویژگیهای ساختاریافته مثل عرض و ارتفاع یه تصویر رو اضافه کنی، باید بعد از تگ اصلی اون ویژگیها رو قرار بدی. هر وقت یه تگ جدید با همون ویژگی اصلی شروع بشه، یعنی کار ویژگیهای قبلی تموم شده و ویژگیهای جدید از اونجا شروع میشن.
مثال:
<meta property="og:image" content="https://example.com/rock.jpg" />
<meta property="og:image:width" content="300" />
<meta property="og:image:height" content="300" />
<meta property="og:image" content="https://example.com/rock2.jpg" />
<meta property="og:image" content="https://example.com/rock3.jpg" />
<meta property="og:image:height" content="1000" />
تو این مثال، ۳ تا تصویر داریم:
وقتی میخوای اطلاعات یه صفحه وب رو به شبکههای اجتماعی ارسال کنی (مثلاً وقتی لینک صفحهای رو به اشتراک میذاری)، باید مشخص کنی که نوع اون صفحه چی هست. این نوع رو با استفاده از ویژگی og:type تعیین میکنی. مثلاً:
<meta property="og:type" content="website" />
این یعنی داری به شبکههای اجتماعی میگی که این صفحه یه سایت هست.
حالا فرض کن یه نوع جدید به وجود اومده (مثلاً یه نوع خاص از ویدیو یا موزیک)، وقتی افراد زیادی توافق کنن که این نوع جدید لازمه، اون نوع به لیست "انواع جهانی" اضافه میشه، یعنی انواعی که همه ازشون استفاده میکنن.
بقیه انواعی که ممکنه توسط افراد یا سایتهای مختلف ساخته بشن، به شکل CURIE نوشته میشن. ساختار CURIE به این شکله که اول اسم فضای کاری (namespace) میاد، بعد یه دو نقطه، و بعد نوع آبجکت. مثلاً:
<head prefix="my_namespace: https://example.com/ns#">
<meta property="og:type" content="my_namespace:my_type" />
تو این مثال، my_namespace فضاییه که تو براش تعریف کردی و my_type نوعی که تو تعریف کردی.
این انواع جهانی توی دستههای مختلف (بهشون میگن ورتیكال) قرار میگیرن. هر ورتیکال یا دستهبندی یه فضای کاری خاص داره. برای اینکه این نوعهای جهانی با نوعهایی که خود کاربران ممکنه تعریف کنن قاطی نشن، برای انواع جهانی از یه پیشوند استفاده میکنیم. مثلاً:
توی دسته "موزیک"، نوع آبجکتها به این صورت هست: music.song
ولی اگه یه کاربر نوع خودش رو تعریف کنه، باید از دونقطه (:) استفاده کنه، مثل: my_namespace
این کار باعث میشه که نوعهایی که از قبل تعیین شدن (مثل موزیک، فیلم، مقاله و غیره) با چیزایی که خودت تعریف میکنی، اشتباه گرفته نشن.
Namespace URI: https://ogp.me/ns/music#
مقادیر og:type برای موزیک:
music.song
music.album
music.playlist
music.radio_station
Namespace URI: https://ogp.me/ns/video#
مقادیر og:type برای ویدیو:
video.movie
video.episode
همون ویژگیهای فیلم، ولی مربوط به اپیزودهای سریال.
video.tv_show
یه سریال چند قسمتی. متادیتاش مشابه فیلم هست.
video.other
ویدیویی که تو هیچ دسته دیگهای جا نمیگیره. متادیتاش مشابه فیلم هست.
اینها آبجکتهایی هستن که توی هیچ دسته خاصی جا نمیگیرن ولی به طور گسترده استفاده میشن و توافق جهانی روشون وجود داره.
مقادیر og:type برای این دسته:
article
article - Namespace URI: https://ogp.me/ns/article#
book
book - Namespace URI: https://ogp.me/ns/book#
profile
profile - Namespace URI: https://ogp.me/ns/profile#
website
website - Namespace URI: https://ogp.me/ns/website#
هیچ ویژگی اضافی نداره جز اونهایی که توی متادیتای پایه استفاده شدن. هر صفحهای که نشانهگذاری نشده باشه، باید به عنوان og:type با مقدار website در نظر گرفته بشه.
تو پروتکل Open Graph، برای تعریف ویژگیها از چند نوع داده استفاده میشه. بیایید اینا رو با هم مرور کنیم:
نوع داده | توضیح | مقادیر (Literals) |
---|---|---|
Boolean | نوع داده بولین که فقط میتونه "درست" یا "غلط" باشه | true، false، 1، 0 |
DateTime | تاریخ و زمان که شامل تاریخ (سال، ماه، روز) و به صورت اختیاری زمان (ساعت، دقیقه) هست | استاندارد ISO 8601 |
Enum | نوع دادهای که از بین مقادیر ثابت انتخاب میشه | یه رشته که عضو مجموعه ثابت باشه |
Float | عدد اعشاری ۶۴ بیتی | 1.234، -1.234، 1.2e3، -1.2e3، 7E-10 |
Integer | عدد صحیح ۳۲ بیتی. اعداد بزرگتر از ۳۲ بیت توی بعضی زبانها به Float تبدیل میشن | 1234، -123 |
String | رشتهای از کاراکترهای یونیکد (حروف، اعداد و نمادها) | هر رشتهای از کاراکترهای یونیکد بدون کاراکترهای کنترلی |
URL | آدرس اینترنتی که منابع آنلاین رو مشخص میکنه | هر URL معتبری که از پروتکل https:// یا http:// استفاده کنه |
پروتکل اوپن گراف (OGP) نقش مهمی توی دنیای دیجیتال داره، مخصوصاً برای صاحبان سایتها و تولیدکنندههای محتوا. استفاده از OGP فقط یه کار فنی نیست؛ بلکه یه تصمیم استراتژیکه که میتونه تاثیر زیادی روی دیده شدن محتوای شما توی شبکههای اجتماعی و جلب توجه مخاطبات داشته باشه. بیایید با هم نگاهی بندازیم به مزایایی که این پروتکل به همراه داره:
وقتی تگهای اوپن گراف رو توی کدهای HTML سایتت جا میدی، کمک میکنی که شبکههای اجتماعی مثل فیسبوک، توییتر و لینکدین محتوای سایتت رو بهتر بفهمن و نمایش بدن. یعنی وقتی کاربرا صفحاتت رو به اشتراک میذارن، همراه با پیشنمایشهای جذاب و بصری نشون داده میشن که توجه بیشتری رو جلب میکنه و احتمال کلیک کردن رو بالا میبره.
این پیشنمایشهای جذاب فقط خوشگل نیستن؛ بلکه بهشدت روی افزایش تعاملات تاثیر دارن. وقتی که عنوانها، توضیحات و تصاویر جذابی توی پستهای شبکههای اجتماعی نمایش داده میشن، کاربرا احتمالاً بیشتر روی لینکها کلیک میکنن.
امروزه شبکههای اجتماعی به مرکز مهمی برای کشف و به اشتراک گذاشتن محتوا تبدیل شدن. با استفاده از قدرت اوپن گراف، مطمئن میشی که محتوای تو از بین همهی سر و صداهای دیجیتال دیده میشه و توجهات رو جلب میکنه. فرقی نداره که یه مقاله جذاب باشه، یه تصویر خفن از محصولت یا یه ویدیو سرگرمکننده؛ OGP به تقویت صدای برندت کمک میکنه و تعاملات با مخاطب رو افزایش میده.
موتورهای جستجو به معیارهایی مثل نرخ کلیک، اشتراکگذاریهای اجتماعی و زمانی که کاربر روی صفحه میمونه اهمیت زیادی میدن. با بهینهسازی محتوای سایتت برای اشتراکگذاری در شبکههای اجتماعی از طریق OGP، بهصورت غیرمستقیم به سئوی سایتت هم کمک میکنی. افزایش دیده شدن و تعاملات در شبکههای اجتماعی باعث میشه که لینکهای ورودی بیشتری داشته باشی، آگاهی از برندت بیشتر بشه و در نهایت، ترافیک ارگانیک سایتت از موتورهای جستجو بالاتر بره.
اگه میخوای سئو رو حرفهای یاد بگیری و به راحتی سایتت رو توی نتایج جستجوی گوگل بالا بیاری، دوره متخصص سئو سونلرن رو از دست نده! این دوره بهت یاد میده چطور بهترین کلمات کلیدی رو پیدا کنی و سایتت رو به صدر نتایج برسونی.
نه لزوماً، اما اگه برات مهمه که وقتی محتوای سایتت توی شبکههای اجتماعی به اشتراک گذاشته میشه، جذاب و حرفهای به نظر بیاد و شانس کلیک بالاتری داشته باشه، اوپن گراف میتونه این کار رو برات انجام بده.
میتونی با اضافه کردن متاتگهای اوپن گراف به بخش <head> صفحات HTML سایتت این کار رو انجام بدی. ابزارهایی مثل افزونههای وردپرس هم این کار رو راحتتر میکنن.
بهصورت غیرمستقیم بله! وقتی محتوای سایتت در شبکههای اجتماعی بهتر نمایش داده بشه و تعامل بیشتری ایجاد کنه، احتمال اینکه ترافیک ارگانیک و لینکهای ورودی بیشتری به دست بیاری، بالاتر میره.
بیشتر شبکههای اجتماعی معروف مثل فیسبوک، توییتر، لینکدین و پینترست از اوپن گراف پشتیبانی میکنن و اطلاعاتی مثل عنوان، تصویر و توضیحات رو از طریق این پروتکل دریافت میکنن.
ابزارهایی مثل Facebook Object Debugger یا Google Rich Snippets Testing Tool وجود دارن که میتونی ازشون استفاده کنی تا بررسی کنی که تگهای اوپن گراف به درستی تنظیم شدن و محتوای سایتت به خوبی نمایش داده میشه.
میتونی اطلاعاتی مثل عنوان، تصویر، توضیحات، زمان انتشار محتوا، نوع محتوا (مثل مقاله، ویدیو، آهنگ) و موارد دیگهای رو به اشتراک بذاری. اوپن گراف بهت امکان میده که این دادهها رو به شکلی استاندارد و بهینهشده منتقل کنی.
پروتکل اوپن گراف یه ابزار قدرتمنده که بهت کمک میکنه محتوای سایتت رو به شکل جذابتری توی شبکههای اجتماعی به اشتراک بذاری. از افزایش نرخ کلیک گرفته تا تعاملات بیشتر و حتی کمک به سئوی سایت، استفاده از اوپن گراف میتونه تاثیر مثبتی روی رشد آنلاین و دیده شدن محتوات داشته باشه. اگه به دنبال این هستی که سایتت بیشتر دیده بشه و مخاطب بیشتری جذب کنه، بهکارگیری اوپن گراف قطعاً یکی از بهترین قدمهاست.
دوره الفبای برنامه نویسی با هدف انتخاب زبان برنامه نویسی مناسب برای شما و پاسخگویی به سوالات متداول در شروع یادگیری موقتا رایگان شد: