Razor Engine - SEO Meta tags

前端 未结 3 1653
名媛妹妹
名媛妹妹 2020-12-24 14:01

I need to place unique description and keywords meta tags to each page. Tried this. But its not clicking.

@{
    ViewBag.Title = \"Title\";
    ViewBag.Descr         


        
相关标签:
3条回答
  • 2020-12-24 14:19

    You can do as you did, but you have to link them in your _Layout.cshtml. Add this to your _Layout.cshtml in the <head> section:

    @if(ViewBag.Description!=null)
    {
        <meta name="description" content="@ViewBag.Description" />
    }
    @if(ViewBag.Keywords!=null)
    {
        <meta name="keywords" content="@ViewBag.Keywords" />
    }
    
    0 讨论(0)
  • 2020-12-24 14:25

    You need to emit <meta> tags in your layout page that use the values.
    You can get the values in the tags by writing @ViewBag.Description.

    0 讨论(0)
  • 2020-12-24 14:26

    In the layout you could define a section:

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

    and in view:

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

    or in the layout:

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

    and in the view:

    @{
        ViewBag.Title = "Title";
        ViewBag.Description = "Test";
        ViewBag.Keywords = "Test1, Test2, Test3";
    }
    
    0 讨论(0)
提交回复
热议问题