Подтвердить что ты не робот

Razor Engine - SEO метатеги

Мне нужно разместить уникальные описания и ключевые слова мета-тегов на каждой странице. Пробовал это. Но это не щелчок.

@{
    ViewBag.Title = "Title";
    ViewBag.Description = "Test";
    ViewBag.Keywords = "Test1, Test2, Test3";
}

Как разместить метатеги в MVC 3 Razor Engine?

4b9b3361

Ответ 1

В макете вы можете определить раздел:

<head>
    ...
    @RenderSection("metas")
</head>

и в поле зрения:

@section metas
{
    <meta name="description" content="Test" />
    <meta name="title" content="Title" />
    <meta name="keywords" content="Test1, Test2, Test3" />
    ...
}

или в макете:

<head>
    <meta name="description" content="@ViewBag.Description" />
    <meta name="title" content="@ViewBag.Title" />
    <meta name="keywords" content="@ViewBag.Keywords" />
    ...
</head>

и в представлении:

@{
    ViewBag.Title = "Title";
    ViewBag.Description = "Test";
    ViewBag.Keywords = "Test1, Test2, Test3";
}

Ответ 2

Вы можете сделать то же, что и вы, но вы должны связать их в своем _Layout.cshtml. Добавьте это в свой _Layout.cshtml в разделе <head>:

@if(ViewBag.Description!=null)
{
    <meta name="description" content="@ViewBag.Description" />
}
@if(ViewBag.Keywords!=null)
{
    <meta name="keywords" content="@ViewBag.Keywords" />
}

Ответ 3

Вам нужно выпустить теги <meta> на странице макета, которые используют значения.
Вы можете получить значения в тегах, написав @ViewBag.Description.