Open Graph: کنترل کامل ظاهر لینکت تو شبکه‌های اجتماعی

تو درس قبل یه اشاره‌ی کوتاه به تگ‌های Open Graph داشتیم. حالا وقتشه کامل بریم سراغشون، چون این پروتکل نقش خیلی مهمی تو تجربه‌ی اشتراک‌گذاری محتوای سایتت داره؛ چیزی که مستقیماً روی نرخ کلیک و بازدید از شبکه‌های اجتماعی تأثیر می‌ذاره.

Open Graph چیه؟

Open Graph یه پروتکل بازه که اولین بار توسط فیسبوک معرفی شد، اما امروزه توسط اکثر شبکه‌های اجتماعی (تلگرام، توییتر/X، لینکدین، واتساپ و بقیه) به‌عنوان استاندارد شناخته می‌شه. این پروتکل از طریق یه سری تگ meta مخصوص، مشخص می‌کنه وقتی لینک سایتت جایی به اشتراک گذاشته می‌شه، دقیقاً چه عنوان، توضیح و تصویری باید کنارش نمایش داده بشه.

چرا بدون Open Graph مشکل داریم؟

اگه هیچ تگ Open Graph تو صفحه‌ات نداشته باشی، اکثر شبکه‌های اجتماعی سعی می‌کنن خودشون حدس بزنن چه چیزی رو نمایش بدن؛ معمولاً از همون title و meta description معمولی استفاده می‌کنن، و برای تصویر هم یا اولین img صفحه رو انتخاب می‌کنن یا اصلاً هیچ تصویری نشون نمی‌دن. نتیجه معمولاً یه پیش‌نمایش ناقص، نامرتب یا حتی گمراه‌کننده‌ست.

چهار تگ اصلی Open Graph

<meta property="og:title" content="آموزش کامل HTML5 از صفر تا حرفه‌ای">
<meta property="og:description" content="یک دوره‌ی جامع برای یادگیری HTML5 با مثال‌های عملی">
<meta property="og:image" content="https://example.com/images/course-cover.jpg">
<meta property="og:url" content="https://example.com/html5-course">

یه نکته‌ی فنی جالب: برخلاف تگ‌های meta معمولی که از ویژگی name استفاده می‌کنن، تگ‌های Open Graph از ویژگی property استفاده می‌کنن؛ این تفاوت نحوی به این خاطره که Open Graph در واقع بر پایه‌ی یه استاندارد متادیتای دیگه به اسم RDFa ساخته شده، نه استاندارد اصلی HTML meta.

بررسی هر تگ به‌طور جداگانه

  • og:title: عنوانی که تو پیش‌نمایش نمایش داده می‌شه؛ می‌تونه با title اصلی صفحه یکی باشه یا کمی متفاوت (مثلاً کوتاه‌تر و جذاب‌تر برای شبکه‌ی اجتماعی).
  • og:description: توضیح کوتاهی که زیر عنوان نمایش داده می‌شه؛ مشابه meta description ولی مستقل ازش.
  • og:image: مهم‌ترین تگ از نظر جذابیت بصری؛ آدرس کامل (نه نسبی) یه تصویر که کنار لینک نمایش داده می‌شه.
  • og:url: آدرس رسمی صفحه؛ مشابه نقشی که canonical تو درس قبل داشت.

تگ og:type: نوع محتوا

<meta property="og:type" content="article">

ویژگی og:type مشخص می‌کنه این صفحه چه نوع محتوایی داره؛ مقادیر رایج شامل website (صفحه‌ی عمومی سایت)، article (یه مقاله یا پست وبلاگ)، و product (صفحه‌ی یه محصول) هستن. این مقدار به شبکه‌ی اجتماعی کمک می‌کنه گاهی اطلاعات اضافه‌ی مرتبط با اون نوع محتوا رو هم نمایش بده.

ابعاد مناسب تصویر Open Graph

یه نکته‌ی عملی مهم: تصویر og:image بهتره حداقل ۱۲۰۰ در ۶۳۰ پیکسل باشه (یه نسبت تقریبی ۱.۹۱ به ۱)؛ این ابعاد باعث می‌شه تصویر تو اکثر پلتفرم‌ها (فیسبوک، توییتر، لینکدین) بدون بریدگی نامناسب یا کشیدگی، درست نمایش داده بشه. تصاویر خیلی کوچیک ممکنه اصلاً توسط بعضی پلتفرم‌ها نادیده گرفته بشن.

Twitter Card: نسخه‌ی مخصوص توییتر/X

<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="آموزش کامل HTML5">
<meta name="twitter:description" content="یک دوره‌ی جامع برای یادگیری HTML5">
<meta name="twitter:image" content="https://example.com/images/course-cover.jpg">

توییتر/X یه استاندارد مشابه اما مجزا به اسم Twitter Card داره که از ویژگی name (نه property) استفاده می‌کنه. مقدار summary_large_image باعث می‌شه تصویر به‌صورت بزرگ و برجسته نمایش داده بشه، نه یه تصویر کوچیک کنار متن. اگه این تگ‌ها رو ننویسی، توییتر معمولاً به‌طور خودکار از همون تگ‌های Open Graph استفاده می‌کنه؛ اما برای کنترل دقیق‌تر، نوشتن جداگانه‌شون توصیه می‌شه.

یه مثال کامل و واقعی

<head>
  <meta charset="UTF-8">
  <title>آموزش کامل HTML5 - وبلاگ گرین‌دیتا</title>
  <meta name="description" content="دوره‌ی جامع HTML5 با مثال‌های عملی و کاربردی">

  <meta property="og:type" content="article">
  <meta property="og:title" content="آموزش کامل HTML5 از صفر تا حرفه‌ای">
  <meta property="og:description" content="یک دوره‌ی جامع برای یادگیری HTML5">
  <meta property="og:image" content="https://greendata.ir/images/html5-cover.jpg">
  <meta property="og:url" content="https://greendata.ir/html5-course">

  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:title" content="آموزش کامل HTML5">
  <meta name="twitter:image" content="https://greendata.ir/images/html5-cover.jpg">
</head>

تو این مثال، هم تگ‌های استاندارد سئو (title، description)، هم Open Graph (برای فیسبوک، تلگرام، لینکدین و بقیه)، هم Twitter Card رو با هم داریم؛ این ترکیب باعث می‌شه لینک این صفحه، تو هر پلتفرمی که به اشتراک گذاشته بشه، یه پیش‌نمایش کامل و حرفه‌ای داشته باشه.

نکته‌ی مهم: آدرس تصویر باید کامل (Absolute) باشه

<!-- اشتباه -->
<meta property="og:image" content="/images/cover.jpg">

<!-- درست -->
<meta property="og:image" content="https://example.com/images/cover.jpg">

برخلاف لینک‌های داخلی معمولی که تو درس ۴-۲ دیدیم و آدرس نسبی براشون توصیه می‌شد، تگ‌های Open Graph (مثل og:image و og:url) همیشه باید آدرس کامل (Absolute URL، شامل https://) داشته باشن. دلیلش اینه که این اطلاعات توسط سرورهای شبکه‌ی اجتماعی (نه مرورگر خود کاربر) خونده می‌شن، و اون سرورها هیچ اطلاعاتی از «آدرس فعلی صفحه» ندارن تا بتونن یه آدرس نسبی رو کامل کنن.

ابزار تست: چطور مطمئن بشیم درست کار می‌کنه؟

پلتفرم‌های اصلی معمولاً ابزارهای رایگانی برای پیش‌نمایش و اعتبارسنجی این تگ‌ها ارائه می‌دن (مثل ابزار Sharing Debugger فیسبوک یا Card Validator توییتر). بعد از نوشتن این تگ‌ها، همیشه توصیه می‌شه لینک صفحه رو تو این ابزارها تست کنی تا مطمئن بشی پیش‌نمایش دقیقاً همون چیزیه که انتظار داری.

چند اشتباه رایج

  • استفاده از آدرس نسبی برای og:image یا og:url، که باعث می‌شه شبکه‌ی اجتماعی نتونه تصویر یا آدرس رو درست پیدا کنه.
  • فراموش‌کردن og:image، که باعث می‌شه لینک بدون هیچ تصویر جذابی به اشتراک گذاشته بشه.
  • استفاده از تصویر با ابعاد خیلی کوچیک که تو پیش‌نمایش‌ها بریده یا کشیده می‌شه.
  • گیج‌شدن بین ویژگی property (برای Open Graph) و name (برای meta معمولی و Twitter Card).

بهترین روش‌ها

  • برای هر صفحه‌ی مهمی که احتمال اشتراک‌گذاریش بالاست (مقالات، محصولات، صفحه‌ی اصلی)، تگ‌های Open Graph کامل رو اضافه کن.
  • همیشه og:image و og:url رو با آدرس کامل (نه نسبی) بنویس.
  • از یه تصویر با کیفیت و ابعاد مناسب (حداقل ۱۲۰۰ در ۶۳۰ پیکسل) برای og:image استفاده کن.
  • بعد از انتشار، لینک رو تو ابزارهای تست پلتفرم‌های مختلف بررسی کن.

نکته‌ی سئو

هرچند Open Graph مستقیماً روی رتبه‌بندی گوگل تأثیری ندارد، اما پیش‌نمایش جذاب‌تر در شبکه‌های اجتماعی می‌تواند نرخ کلیک و ترافیک ورودی از این پلتفرم‌ها را به‌طور محسوسی افزایش دهد، که در نهایت به سیگنال‌های مثبت (مثل بازدید بیشتر) برای سایت کمک می‌کند.

نکته‌ی دسترسی‌پذیری

تگ‌های Open Graph مستقیماً روی دسترسی‌پذیری صفحه برای صفحه‌خوان‌ها تأثیری ندارند، چون این اطلاعات صرفاً برای پیش‌نمایش در پلتفرم‌های خارجی استفاده می‌شوند، نه برای نمایش یا خواندن در خود صفحه.

جمع‌بندی

تگ‌های Open Graph (با ویژگی property) و Twitter Card (با ویژگی name)، کنترل کاملی روی نحوه‌ی نمایش عنوان، توضیح و تصویر یک لینک هنگام اشتراک‌گذاری در شبکه‌های اجتماعی فراهم می‌کنند. آدرس تصویر و URL در این تگ‌ها همیشه باید کامل (Absolute) باشد، و استفاده از تصویری با ابعاد و کیفیت مناسب، تأثیر مستقیمی روی جذابیت پیش‌نمایش و نرخ کلیک دارد.