مقدمه

در دروس گذشته‌ی این فصل با روش‌های افزودن انواع مختلفی از متادیتا به صفحات وب آشنا شدیم. عنصر meta که یک کاربرد آن یعنی تعیین مجموعه‌ی کاراکتری و سیستم encoding صفحه را قبلاً دیده‌ایم، امکان افزودن انواع دیگری از متادیتا به صفحات وب را فراهم می‌کند. عناصر یا تگ‌های meta معمولاً برای ارائه‌ی اطلاعاتی از قبیل کلمات کلیدی صفحه، یک شرح و توصیف کلی از محتوای صفحه، معرفی طراح و نویسنده‌ی صفحه و اطلاعاتی از این دست کاربرد دارند. به علاوه، تعدادی عنصر meta نیز وجود دارد که اگر چه استاندارد نیستند اما توسط توسعه‌دهندگان وب به کار گرفته می‌شوند. در این درس، در مورد عنصر meta و انواع متادیتایی که می‌توان با استفاده از این عنصر به صفحات وب افزود، صحبت می‌کنیم.

فرم گلی عنصر meta

همانطور که در مقدمه‌ی این درس هم اشاره شده، عنصر meta برای افزودن انواع متادیتایی که نمی‌توان با استفاده از سایر عناصر مربوط به متادیتا یعنی title، link، style، script و base به صفحه افزود، کاربرد دارد. برای هر عنصر meta باید از بین صفت‌های charset، name، http-equiv و itemprop دقیقاً یکی را به کار گرفت. مطابق مستندات استاندارد HTML:

  • از عنصر meta به همراه یک صفت name برای افزودن متادیتایی که در سطح سند (document level) قرار دارد، استفاده می‌شود.
  • عنصر meta به همراه یک صفت http-equiv برای ایجاد یک pragma directive کاربرد دارد که دستورالعملی است معادل استفاده از یک http header.
  • عنصر meta به همراه یک صفت charset برای تعیین مجموعه‌ی کاراکتری صفحه کاربرد دارد.
  • عنصر meta به همراه یک صفت itemprop برای ایجاد متادیتای تعریف‌شده توسط کاربر (user-defined metadata) به کار می‌رود.

چنانچه از هر یک از صفت‌های بالا به‌جز صفت charset برای یک عنصر meta استفاده شود، باید یک صفت content نیز برای آن عنصر به کار گرفته شود. نحوه‌ی تعیین مجموعه‌ی کاراکتری با استفاده از عنصر meta و صفت charset را قبلاً دیده‌ایم. صفت itemprop و کاربرد آن نیز به بحث جداگانه‌ای نیاز دارد که در اینجا از ان صرف نظر می کنیم. اما در ادامه، با دو صفت دیگر یعنی name و http-equiv و مهمترین کاربردهای آنها آشنا می‌شویم.

عنصر meta به همراه صفت name

همانطور که گفته شد، برای افزودن متادیتای document level به صفحات وب باید از یک عنصر meta به همراه صفت name استفاده کرد. متادیتای document level به صورت جفت‌های نام و مقدار تعریف می‌شود و بنابراین، از یک صفت با نام content نیز برای تعیین مقدار ویژگی مشخص‌شده توسط name، استفاده می‌شود.

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

مقدار صفت name توضیح
description وقتی از مقدار description برای صفت name مربوط به یک عنصر meta استفاده می شود، صفت content باید شامل متنی باشد که توصیفی از محتوای صفحه ارائه می‌دهد. موتورهای جستجو از این متن برای تعیین محتوای صفحه و شاخص‌گذاری آن استفاده می‌کنند.
keywords وقتی از مقدار keywords برای صفت name مربوط به یک عنصر meta استفاده می شود، صفت content باید شامل لیستی از کلمات کلیدی صفحه باشد که با ویرگول (,) از هم جدا شده‌اند. به دلیل سوء استفاده‌هایی که از این عنصر صورت می‌گیرد، امروز دیگر موتورهای جستجو اهمیتی برای این عناصر meta قائل نیستند.
author وقتی از مقدار author برای صفت name مربوط به یک عنصر meta استفاده می شود، صفت content باید شامل نام یک نویسنده یا طراح صفحه باشد.
application-name وقتی از مقدار description برای صفت name مربوط به یک عنصر meta استفاده می شود، صفت content باید شامل متنی باشد که توصیفی از محتوای صفحه ارائه می‌دهد.
generator وقتی از مقدار generator برای صفت name ربوط به یک عنصر meta استفاده می شود، صفت content باید شامل متنی باشد که پکیج نرم‌افزاری استفاده‌شده برای تولید سند جاری را معرفی می‌کند.

عنصر meta به همراه صفت http-equiv

وقتی برای یک عنصر meta از صفت http-equiv استفاده می شود، این عنصر به یک pragma directive تبدیل می‌شود؛ یعنی دستورالعملی را ارائه می‌دهد که باید توسط مرورگر پیادهء‌سازی شود. عبارت equiv در نام این صفت از روی equivalent به معنای هم‌ارز گرفته شده که به این معناست که دستورالعمل مورد نظر با یک http header هم‌ارز است. برای نمونه، با تخصیص مقدار content-security-policy به صفت name می‌توانیم یک سیاست محتوا (content policy) را برای صفحه تعیین کنیم که با استفاده از یک http header با همین نام نیز قابل تنظیم است.

سایر عناصر meta

ما در اینجا فقط تعدادی از مهمترین عناصر meta را معرفی کردیم اما این عنصر به اَشکال متعدد دیگری نیز قابل استفاده است که البته کاربرد کمتری دارند و استفاده از بعضی از آنها اصلاً توصیه نمی‌شود. در ضمن، فرم‌ها و مقادیر غیر استانداردی هم برای عنصر meta وجود دارد که البته باید بدانید در برخی از موارد، این غیر استاندارد بودن باعث کاهش اهمیت آن عنصر نمی‌شود. برای نمونه، می‌توانیم به یک تگ meta با نام viewport (یعنی مقدار viewport برای صفت name) اشاره کنیم که به مرورگرها برای نمایش صحیح صفحات واکنشگرا (responsive) کمک می‌کند و بهتر است حتماً از آن استفاده کنیم. .