مفید بود؟

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

  1. در بخش محتوا
  2. در بخش نامک (URL)
  3. و در بخش ایندکس شدن

به همین ترتیب در این مطلب قصد داریم تا شما را با نحوه سئو کردن سایت های MVC ASP.NET آشنا کنیم.
اگرچه قابلیت های ذاتی سایت های تحت ASP.NET MVC آن ها را قادر ساخته تا همانند سایت های وردپرسی خود را در موتورهای جستجو (SEO) بهینه کنند، اما هنوز تعداد زیادی از مشکلات وجود دارد که سایت های IIS و ASP.NET در صورت عدم بررسی می توانند از بین بروند.

 

راهنمای مطالعه متن
  • آموزش سئو ASP.NET MVC
  • ایجاد اکشن canonicalization
  • سئو محتوا در ASP.NET
  • در سئو ASP به متا دسکریپشن ها توجه کنید
  • اسکیما را در سئو ASP فراموش نکنید
  • ایجاد URL های دوستانه کاربرپسند در برنامه ASP.NET MVC
  • برای سئو، محتوا باید ایندکس بشود

 

آموزش سئو ASP.NET MVC

همانند سایت های وردپرسی باید به موضوع آموزش سئو سایت های ASP.NET MVC نیز اهمیت دهیم. در گام اول باید اقدام به تولید محتوا و بررسی کلمات کلیدی کرد.
برای این کار می توان لیستی از کلمات کلیدی را توسط ابزارهای مختلق پیدا کرد و آنها را به صورت پراکنده در متن قرار داد.
خب اکنون که کلمات کلیدی را پیدا کردید، وقت آن رسیده تا یک محتوای با کیفیت تولید کنیم. اما در اینجا یک نکته اساسی وجود دارد. تا اینجای کار را یادتان بماند تا به یک نکته مهم اشاره کنیم. سپس برمی گردیم سر نحوه نوشتن محتوا.
یک نکته اساسی که بسیاری از موتورهای جستجو در تلاشند تا آن را به سرانجام برسانند، کاهش مقدار محتوای تکراری در بستر گوگل است. در برخی از مواقع اگر توجه کرده باشید، پس از سرچ کردن موضوعات خود، گوگل در قسمت پایین صفحه اشاره به حذف شدن برخی صفحات کرده است. این صفحات در واقع همان صفحات کپی و تکراری هستند که در هنگام اجرای یک جستجو در مرورگر نشان داده می شوند.
از قضا، سایت های IIS و ASP.NET به راحتی و به طور پیش فرض محتوای تکراری ایجاد می کنند – فقط به این دلیل که سایت های IIS و ASP.NET برای اطمینان از اینکه بازدیدکنندگان به محتوای درخواستی خود دست یابند، اقدام به تولید چند سری کپی از محتوای تولید شده می کنند.
به عنوان مثال، اگر شما نشانی‌های اینترنتی زیر را برای یک صفحه ساده در یک وب سایت در نظر بگیرید، هر کدام از URL ها کار خواهند کرد (تحت شرایط پیش‌فرض)؛ در واقع این همان چیزی است که در بالا به آن اشاره کردیم:
“تلاش حداکثری سایت های IIS و ASP.NET برای بالا آوردن مطالب”
• http://www.poonehmedia.com/categories/
• http:// poonehmedia.com/categories/
• http:// poonehmedia.com/categories
• http:// poonehmedia.com/categories/default.aspx
• http:// poonehmedia.com/Categories/
مشکل این است که همه این URL ها متفاوت و منحصر به فرد هستند – به این معنی که سایتی که دسترسی به محتوای یکسان را از طریق همه این URL ها فراهم می کند در واقع مقصر ایجاد محتوای تکراری است. و از آنجا که موتورهای جستجو به دنبال حذف محتوای تکراری هستند، وجود این مشکل می تواند رتبه بندی صفحات را کاهش دهد؛ تا جایی که این مسئله در محافل جستجوگرها (گوگل، یاهو، Bing، فایرفاکس و …) از اهمت بالایی برخوردار شده است. تنها راه حل برای رفع این مشکل یکی کردن این پیوندها است که برای محتوای سایت شما ایجاد شده اند.

رفع مشکل

مساله اصلی البته این است که اگر سایت پرمحتوایی دارید، استاندارد کردن پیوندها کار دشواری است. علاوه بر این، یک مشکل بزرگتر این است که شما کنترل زیادی بر روی بک لینک هایی که سایت های خارجی به محتوای شما می دهند، ندارید و از قضا موتورهای جستجو تاکید زیادی بر هدایت پیوندهای خارجی دارند.
در نتیجه، مواردی مانند وجود یا عدم وجود مضرابهای انتهایی، حروف بزرگ و استفاده یا عدم استفاده از “www” در نهایت مشکلاتی هستند که هنگام رسیدگی به درخواست ها باید آنها را رفع کنید. در واقع سایت های IIS و ASP.NET این واقعیت را پذیرفته اند که استفاده از URL ها از یک کاربر به کاربر دیگر بسیار متفاوت است.
این سایت ها نامک های کپی را از دید توسعه دهندگان خود محو می کنند، اما ممکن است نتوانند آنها را از نظر برخی کاربران و حتی موتورهای جستجو مخفی کنند.
یک روش ابتدایی برای رفع همه این نگرانی ها استفاده از یک فیلتر اکشن ساده است که با ارسال کد HTTP 301 (که بطور موثر توسط کاربران قابل مشاهده نیست، اما به ربات ها دقیقا URL مورد نظر را نشان می دهد) نامک ها را استانداردسازی می کند. درست است که تمامی URL ها وجود دارند، اما تنها یکی از آنها برای موتورهای جستجو تعریف می شود.

ایجاد اکشن canonicalization

ایجاد فیلتر اکشن canonicalization برای اپلیکیشن های MVC در واقع یک روش پیش پا افتاده و قدیی است. اما چاره ای نیست! تنها چیزی که نیاز دارید گردآوری یک سری مجموعه قوانین استاندارد است که می خواهید برای دسترسی به محتوای سایت خود آن را تعریف کنید و سپس برای اجرای این قوانین باید چند کد ساده را در ASP.NET بنویسید. سپس این فیلتر را به تمام کنترل‌کننده‌ها (یا به کنترل‌کننده پایه) اعمال کنید، تا اطمینان حاصل شود که تمام کنترل‌کننده‌های دیگر شما نیز به طور مداوم به sitewide دسترسی دارند.
به عنوان مثال در فیگور زیر، شما می توانید همیشه در URL ها “www” را به عنوان بخشی از نامک خود به میزبان ارجاع دهید. یا این که پیوندها باید همیشه با حروف کوچک باشند و با یک اسلش (/) در انتهای خود خاتمه یابند.

public class CanonicalizedAttribute : ActionFilterAttribute

{

private IAppConfiguration _config;

 

public CanonicalizedAttribute()

{

this._config = DependencyResolver.Current.GetService();

}

 

public override void OnActionExecuting(ActionExecutingContext filterContext)

{

HttpContextBase Context = filterContext.HttpContext;

 

string path = Context.Request.Url.AbsolutePath ?? “/”;

string query = Context.Request.Url.Query;

 

// don’t ‘rewrite’ POST requests or you’ll lost values:

if (Context.Request.RequestType == “GET”)

{

// check for any upper-case letters:

if (path != path.ToLower(CultureInfo.InvariantCulture))

{

this.Redirect(Context, path, query);

return;

}

 

// make sure request ends with a “/”

if(!path.EndsWith(“/”))

{

this.Redirect(Context, path + “/”, query);

return;

}

 

// perform hostname checks (unless working in dev):

if (this._config.IsProductionServer)

{

string hostName =

Context.Request.Url.Host.ToLower(CultureInfo.InvariantCulture);

 

if (!hostName.Contains(“sqlservervideos.com”))

{

this.Redirect(Context, path, query);

return;

}

 

// don’t allow host-name only connections (i.e., force ‘www’):

if (!hostName.StartsWith(“www.”))

{

this.Redirect(Context, path, query);

return;

}

}

}

 

base.OnActionExecuting(filterContext);

}

 

// correct as many ‘rules’ as possible per redirect to avoid

// issuing too many redirects per request.

private void Redirect(HttpContextBase context, string path, string query)

{

string newLocation = “http://www.sqlservervideos.com” + path;

if (!newLocation.EndsWith(“/”))

newLocation += “/”;

 

newLocation = newLocation.ToLower(CultureInfo.InvariantCulture);

 

context.Response.RedirectPermanent(newLocation + query, true);

}

}

اگر به کد فیلتر فوق نگاه کنید، می بینید که منطق خاصی در آن به کار نرفته و بهتر است بگوییم منطق اهمیتی در آن ندارد. تمام کاری که سئوکار در این کد انجام داده این است که روش OnExecuting فیلتر را نادیده گرفته تا بررسی های بسیار ساده ای انجام دهد؛ به این خاطر که اطمینان حاصل شود تا درخواست ها با قوانینی که ترجیحا تعریف شده اند، مطابقت داشته باشد.
به عنوان مثال، کدنویس در دو بررسی اول اطمینان حاصل کرده است که همه چیز مختصر است و تمام درخواست ها در یک اسلش خاتمه می یابند. با این حال، شما می توانید به راحتی منطق اسلش اسکریپت او را برعکس کنید تا مطمئن شوید که درخواست ها به یک اسلش (/) ختم می شوند یا خیر.

چند نکته مهم

در فیلتر فوق چند نکته وجود دارد که باید به آن توجه شود. یک نکته این است که، کدنویس هنگام پردازش قوانین متعارف سازی فقط برای درخواست های GET تلاش کرده است، و این به دو دلیل است.
اول، موتورهای جستجو (یا ربات های آنها) نباید درخواست های POST (POST requests) را علیه سایت شما اجرا کنند، بنابراین نیازی به استاندارد کردن طرح های URL مورد استفاده برای عملیات POST نیست.
دوم، وقتی صحبت از عملیات POST می شود، تنها چیزی که همه کدنویسان می خواهند این است که مجموعه داده های فرم POST به طرز مرموزی از بین برود؛ زیرا در زیر کاور ها (پنهان سازی داده‌ها) یک ریدایرکت شفاف انجام می شود. به عبارت دیگر، اطمینان حاصل کنید که فقط فعل‌هایی را که دارای معنا هستند، قانونی می دانید (به عنوان مثال: فعل GET).
توجه داشته باشید که قبل از شروع بررسی نام هاست، برای تعیین اینکه آیا نام میزبان با پیشوند “www” آغاز می شود، سریع کلاس پیکربندی خود را بررسی کنید تا مطمئن شوید که در یک سرور در حال توسعه نیستید. در غیر این صورت، در طی مراحل توسعه و آزمایش ، درخواست های هاست محلی به سایت زنده (توسعه یافته) منتقل می شوند. البته، شما می توانید از چند طریق مختلف این کار را انجام دهید، اما نکته اصلی که باید به آن توجه کنید این است که اگر فیلتر canonicalization خود را سفارشی سازی کردید، باید تمام مراحل را خودتان طی کنید.
اگر چه این روش کمی برای شما قابل اطمینان نیست، اما استفاده از روش Redirect می تواند بسیاری از مشکلات canonicalization برای یک درخواست واحد را برطرف کند. زیرا بسیاری از 301 ها می‌توانند به رتبه‌بندی آسیب برسانند. بر این اساس، روش Redirect انتخاب از بین بد و بدتر است.
نتیجه این که…
سایت های ASP.NET MVC به راحتی در معرض ایجاد محتوای تکراری هستند. این در حالی است که اکشن فیلترها پرداختن به این مشکلات را بسیار بی اهمیت می دانند. در عوض، نکته اصلی این است که Action Filters می تواند برای تعریف مجموعه ای از قوانین استفاده شود. در واقع این ابزار به عنوان ابزاری برای بهبود سئوی کلی مورد استفاده قرار می گیرد.

سئو محتوا در ASP.NET

اکنون که به طور مفصل با مشکل تکراری شدن یو آر ال در سایت های ASP.NET آشنا شدید، وقت آن رسیده تا با خیال راحت محتوای خود را تولید کنید.
چیزی که اهمیت ویژه ای در تولید محتوا دارد، کیفیت است. کیفیت حرف اول را برای مخاطبان می زند. موتورهای جستجو نیز تاکید ویژه ای بر روی این موضوع دارند؛ به طوری که شرکت گوگل بارها اعلام کرده است که محتوانویسان فقط به فکر کیفیت محتوا باشند و فقط در انتها به برخی از مهمترین فاکتورهای سئو نیز توجه کنند.
اینگونه نباشد که مانند سال 2000 فقط برای ربات های گوگل مطلب بنویسید. در آن زمان اگر کلمات کلیدی را به طور پی در پی تکرار می کردیم، مطلب سئو می شد و خزنده های گوگل خیلی زود محتوای ما را پیدا می کردند.
محتوای با کیفیت در طولانی مدت تاثیر خود را می گذارد و مخاطبان به مطالب سایت شما اعتماد می کنند. اما اگر می خواهید که این اتفاق زود بیافتد می توانید از روش های زیر استفاده کنید.

انتخاب عناوین جذاب

انتخاب یک عنوان جذاب می تواند کمک زیادی به افزایش ترافیک سایت کند. عنوان دقیقا مانند سردر یک فروشگاه است. فرض کنید دارای یک مغازه مشاور املاک حرفه ای هستید؛ اما فاقد یک بنر یا تابلو برای معرفی مغازه خود هستید. مردم چگونه باید بفهمند که مغازه شما با چند میز و صندلی در چه حوزه ای فعالیت می کند؟
عنوان محتوا نیز دقیقا همین ویژگی را دارد. عنوان اصلی در بخش واقع در <head> قرار می گیرد. در اصل موتورهای جستجو، مطالب سایت را از طریق این عناوین پیدا کرده و برای مخاطبان به نمایش می گذارند.<br /> سعی کنید هیچوقت عنوان سایت را تغییر ندهید؛ این کار باعث می شود تا ضربه ای سختی به سئوی محتوای شما وارد شود. استفاده از کلمه کلیدی کانونی در عنوان بسیار حائز اهمیت است. اینگونه شما به خزنده های گوگل می فهمانید که موضوع اصلی محتوا چیست. البته به شرطی که از کلمه کلیدی کانونی به صورت درست و پراکنده در محتوای خود استفاده کرده باشید.<br /> سعی کنید تنها یکبار از کلمه کلیدی در عنوان خود استفاده کنید. عنوان اصلی معمولا باید تگ H1 باشد. شما در هر محتوا تنها مجاز به استفاده از یک تگ H1 هستید. در غیر این صورت موتورهای جستجو به دلیل سئوی کلاه سیاه شما را جریمه خواهند کرد.<br /> بهتر است عناوین را در 75 کاراکتر بنویسید. چراکه تعداد کاراکترهای بیشتر در نتایج جستجو نمایش داده نمی شوند.<br /> همچنین یادآور می شود برای دستیابی به سئو و رتبه بندی خوب، یک یا دو کلمه کلیدی یا ترکیبی از کلمات کلیدی را انتخاب کنید.<br /> هنگام کار با صفحات اصلی ، یک روش آسان برای درج عنوان وجود دارد:<br /> //assuming, that your <head runat=”server” id=”myHead”><br /> if (Request.CurrentExecutionFilePath.Contains(“example.aspx”))<br /> {<br /> HtmlTitle title = new HtmlTitle();<br /> title.Text = “Example”;<br /> myHead.Controls.Add(title);<br /> }</p> <h3>استفاده از متا تگ های مناسب در سئو ASP</h3> <p>طبق یک قانون کلی متاتگ ها باید به ترتیب مورد استفاده قرار گیرند. البته ترتیب قرار گیری متاها در محتوا کمی فرق دارد. همانطور که در قسمت قبل گفتیم، تنها یبار امکان استفاده از تگ H1 آن هم برای عنوام اصلی متن مجاز است.<br /> زمانی می توان از تگ های H3،H4 و … استفاده کرد که حتما از تگ H2 حداقل برای یک بار استفاده کرده باشیم.<br /> حتی المقدور از تگ های H3 به بعد استفاده نکنید. چراکه بهین هسازی سایت را بهم می ریزند و کار را برا خزنده های گوگل سخت می کنند.</p> <h3>نکاتی مهم هنگام عنوان گذاری</h3> <p>اگر با Web Forms قصد درج عنوان دارید، روشهای مختلفی برای تنظیم عنوان صفحه وجود دارد. شما می توانید آن را در HTML صفحه اصلی رمزگذاری کنید، اما انجام این کار باعث می شود که هر صفحه در سایت شما با عنوان مشابه نمایان شود. اگر در هر صفحه عنوان منحصر به فرد و جذاب می خواهید، باید عنوان را در همان صفحه و در بالای آن قرار دهید. اگر عنوان ثابت است ، می توانید آن را در فایل aspx در دستورالعمل @ Page تنظیم کنید:<br /> <%@ Page Title=”About my site” Language=”C#” MasterPageFile=”~/Site.Master” AutoEventWireup=”true” CodeBehind=”About.aspx.cs” Inherits=”WebFormsSEO.About” %><br /> اما اگر می خواهید یک عنوان پویا (dynamic) تنظیم کنید، ممکن است بخواهید از عنوان مقاله یا دستور العمل وبلاگ خود متناسب با محتوای سایت استفاده کنید. برای این کار می توانید از طریق code-behind با تنظیم Page.Title (یا این.Title یا فقط عنوان) اقدام کنید.<br /> روشی که برای تعیین مقدار عنوان در نظر می گیرید به منبع داده ای که برای ساخت عنوان شما استفاده می شود بستگی دارد. در بیشتر مواقع، برای دسترسی به منبع داده کنترل و استفاده از هر مقداری که می خواهید، از کنترلر DataBound یا RowDataBound استفاده کنید. در این بخش هر مسیری را که انتخاب می کنید، باید به ترتیب باشد.<br /> معمولا کدهای سختی که در HTML یک صفحه اصلی قرار می دهید، برای عموم نمایش داده خواهند شد. از این رو، الگوی استاندارد سایت Web Forms با کدگذاری سخت “- My ASP.NET Application” به عنوان بخشی از مقدار <title> از این ویژگی استفاده می کند، اما همچنین اجازه می دهد قسمت اول <title> به صورت پویا تنظیم شود:</p> <p><title><%: Page.Title %> – My ASP.NET Application

وقتی یک فایل aspx جدید به اپلیکیشن خود اضافه می کنید، مقدار پیش فرض Title در دستورالعمل صفحه @ در واقع یک رشته خالی است:

<%@ Page Title=”” Language=”C#” MasterPageFile=”~/Site.Master”

اگر آن را به همین ترتیب رها کنید، دیگر مهم نیست که در کجا مقدار Page.Title را تنظیم خواهید کرد، چراکه به عنوان یک رشته خالی باقی می ماند. بنابراین، اگر بخواهید مقداری را در دستورالعمل @ Page کدگذاری کنید، باید کل عنوان را از آن حذف کنید.
حال اگر این مقدار را به عنوان یک رشته خالی به حال خود رها نکنید، هر چیزی را که در بخشنامه @ Page قرار دهید، با هر چیزی که در کد پشت صفحه تنظیم کنید ، رونویسی می شود. و این به نوبه خود توسط هر چیزی که از روی کد Master Page تنظیم کنید، رونویسی می شود.
الگوی MVC همچنین شامل برخی از تنظیمات پیش فرض برای تهیه مقدار عنصر در صفحه طرح است:</p> <p><title>@ViewBag.Title – My ASP.NET Application

شما می توانید مقدار ViewBag.Title را با تنظیم آن در کنترلر مدیریت کنید. همچنین می توانید آن را در صفحه محتوا تنظیم کنید:

@{
ViewBag.Title = “Home Page”;
}
این کد مقدار تعیین شده در کنترلر را لغو می کند. توجه داشته باشید، از آنجایی که ViewBag یک چیز پویا است، به جای استفاده از Title به عنوان نام خاص، می توانید به همین راحتی از PageTitle یا هر چیزی که دوست دارید استفاده کنید.

در سئو ASP به متا دسکریپشن ها توجه کنید

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

در استفاده از متای توضیحات باید چند نکته مهم را در نظر گرفت. این که باید از کلمات کلیدی در آن استفاده کرد و طول آن نباید بیش از 30 کلمه باشد. این کار باعث می شود تا موتورهای جستجو نیز سریع تر محتویات متن را درک کنند.

تصویر بالا نشان می دهد که Google چگونه از متا توضیحات (با رنگ زرد برجسته شده) در نتایج جستجو خود و کسب اطلاعات از محتویات سایت استفاده می کند. البته گوگل همیشه از متای توضیحات استفاده نمی کند؛ بنابراین اگر طول آن بیش از 160 کاراکتر باشد، قطعا از همه آن استفاده نمی کند.
زمانی که شما از متای توضیحات استفاده نکنید، خود گوگل متنی را به عنوان متای توضیحات از دل مطلب بیرون می کشد. ممکن است متای انتخاب شده توسط گوگل خلی مناسب نباشد، از این رو توصیه می شود خود شما دست به کار شوید و یک متای جذاب به همراه کلمه کلیدی بنویسید.
قبل از معرفی نسخه ASP.NET 4، شما می توانستید از ContentPlaceholder و کلاس HtmlMeta برای تنظیم توضیحات متا در یک سایت وب فرم استفاده کنید. اما از زمان معرفی نسخه ASP.NET 4، کلاس Page یک ویژگی برای برای برنامه نویسان ارائه کرد که شامل MetaDescription می شود. به طوری که توسعه دهندگان Web Forms را قادر می سازد تا طول متای توضیحات را خودشان تعیین کنند:

public partial class About : Page

{

protected void Page_Load(object sender, EventArgs e)

{

MetaDescription = “A page that describes what we are about”;

}

}
تمامی توسعه دهندگان MVC می توانند از رویکرد مشابهی برای تنظیم عنوان مورد نظر خود در برگه های Layout و Viewbag برای تعیین طول متای توضیحات استفاده کنند؛

در این مثال فیلدی وجود دارد که امکان قرار دادن پاراگراف ابتدایی هر مطلب را به می دهد. همچنین فیلدی دیگر برای نوشتن متای توضیحات در نظر گرفته شده است.
در این بخش اگر متای توضیحات را مشخص نکنیم، پاراگراف اول متن به عنوان متای توضیحات انتخاب می شود.
ViewBag.Description = article.Description != null ? article.Description : article.Introduction;

متاتگ کلمات کلیدی در سئو ASP

طبق آخرین اصلاحات الگوریتم گوگل، استفاده از متاتگ کلمات کلیدی دیگر اهمیت چندانی ندارد. گوگل هر چند سال یکبار اقدام به آپدیت اساسی الگوریتم های موتورهای جستجوی خود می کند.
با این حال هنوز برخی از برنامه نویسان علاقه دارند تا از این فاکتور برای بهینه تر کردن محتوای سایت خود استفاده کنند.
خوشبختانه در ASP.NET 4 نیز ویژگی MetaKeywords برای کلاس Page در معرفی شده است.

 

protected void Page_Load(object sender, EventArgs e)

{

MetaKeywords = “spam, spam, spam”;

}

اسکیما را در سئو ASP فراموش نکنید

گوگل برای برخی از سایت های پربازدید، تمایز قائل می شود. به طوری که در کنار متای توضیحات از یک سری اطلاعات اضافه نظیر تاریخ انتشار محتوا، نظرسنجی کاربران و تصاویر استفاده می کند. این اطلاعات که اصطلاحا ریچ اسنیپت نام دارند برای محتواهای مختلف به صورت ای خاصی ارائه می شوند.
مثلا هنگام سرچ یک شخصیت معروف اطلاعاتی نظیر سن، مرگ، زمان تولد، قد، همسر، تعداد فرزندان و … برای کاربر ظاهر می کند.
احتمالا از خود می پرسید که این اطلاعات چگونه به دست گوگل می رسند؟ الگوریتم های گوگل آنقدر باهوش هستند که قادرند این اطلاعات را پس از چندبار بررسی از دل محتوا بیرون بکشند. اما این کار ممکن است مدت ها زمان ببرد و شاید گوگل هرگز سایت شما را این گونه بررسی نکند.
استفاده از اسکیما مارک آپ می تواند فرایند کار را آسان کند. تجربه ثابت کرده است که چنین اطلاعاتی موجب افزایش نرخ کلیک در سایت می شود.
نحوه استفاده از اسکیما مارک آپ بسیار ساده است. کافی است دستورالعمل استفاده از اسکیما مارک آپ را در وبسایت Schema.org مطالعه کنید.
جالب است که این ابزار تنها به دو روش کار می کند. یکی به شکل کدهای HTML و دیگری به زبان Json-Ld . در صورتی که گزینه اول را انتخاب کنید، تمامی داده ها را می توانید در دو فرمت Microdata یا RDFa به ثبت برسانید.

  • JSON-LD

Json-Ld توسط جاوا اسکریپت ها به صورت کاملا مجزا شناخته می شوند. در این سیستم کدنویس می تواند اسکیماها را در یک نقطه دلخواه قرار دهد. برای مثال می توانید کد زیر را برای سیستم امتیازدهی استفاده کنید:
: