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

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

19 голосов
/ 03 апреля 2011

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

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

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

Ответы [ 3 ]

54 голосов
/ 03 апреля 2011

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

<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";
}
25 голосов
/ 03 апреля 2011

Вы можете делать то же, что и вы, но вы должны связать их в своем _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" />
}
1 голос
/ 03 апреля 2011

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

...