如何更改元标记,使MVC 5中的AJAX和非AJAX请求的页面更加SEO

时间:2016-07-09 08:18:59

标签: asp.net-mvc asp.net-mvc-5 seo asp.net-ajax

我有一些客户端可以使用AJAX或非AJAX请求请求它们的页面,并且为了SEO目的,我需要使用Javascript动态更改AJAX请求的元标记(现在看来是可能的)但我不知道什么是最佳实践这样做?

我的第一个解决方案是这样的:

的观点:

@{
var title = "title";
var keywords = "p1,p2";
var description = "des";
if (Request.IsAjaxRequest()) { Layout = null; }//else i have a default layout for that!
}

@section metas{
    <title>@title</title>
    <meta id="keywords" name="keywords" content="@keywords">
    <meta id="description" name="description" content="@description">
}

<div id="main">
    @{
        if (@Request.IsAjaxRequest())
        {
            <script>
                document.title = "@title";
                document.getElementById('keywords').setAttribute("content", "@keywords");
                document.getElementById('description').setAttribute("content", "@description");
            </script>
        }
    }
  ...

_layout:

<head>
    <meta charset="UTF-8">
    @RenderSection("metas", required: false)
...
  
      <div class="content">
        @RenderBody()
        ....

(视图将作为响应数据发送,并将为id =“content”重写div的内容以用于AJAX请求。)

看起来工作正常,但我不确定这是一个很好的解决方案。

任何帮助欣赏!。

0 个答案:

没有答案