asp.net MVC3 автоматически генерирует мета ключевые слова и описание на основе содержимого страницы - PullRequest
2 голосов
/ 11 апреля 2011

Я работаю над веб-приложением MVC3, используя механизм просмотра бритвы. Я ищу решение для автоматической генерации мета-ключевых слов и описания на моих страницах.

Я уже нашел это решение здесь на stackoverflow, идея выглядит хорошо. Но поскольку я планирую публиковать блоги и т. Д. На своем веб-сайте, я хочу, чтобы мета-ключевые слова и описание создавались автоматически на основе содержимого страницы.

Так далеко, я имею в виду следующие вещи. Допустим, текущий HTML-код выглядит следующим образом:

   <html>
    <head>
    </head>
        <body>
            <header></header>
            <div id="container">
                <div id="sideBar"></div>
                <div id="pageHeader"></div>
                <div id="content">
                    <!--This part contains the dynamic content-->
                </div>
                <div class="clear"></div>
            </div>
            <footer></footer>
        </body>
    </html>

Желаемая ситуация для меня будет что-то вроде ниже;

   <html>
    <head>
        @Html.MetaKeywords()
        @Html.MetaDescription()
    </head>
        <body>
            <header></header>
            <div id="container">
                <div id="sideBar"></div>
                <div id="pageHeader"></div>
                <div id="content">
                    <!--This part contains the dynamic content-->
                </div>
                <div class="clear"></div>
            </div>
            <footer></footer>
        </body>
    </html>

Сказав все это, у меня остались следующие вопросы без ответа, надеюсь, кто-то может помочь.

  1. Ситуация, описанная выше, с HTML-помощниками. Это хороший и логичный подход для генерации ключевых слов и описания на каждой странице на основе контента?
  2. Если это так, есть ли у кого-нибудь опыт и, может быть, хороший пример?
  3. Если нет, есть ли другие хорошие варианты? Иначе как использовать атрибут для каждого действия контроллера? Это все еще вариант, но он не генерирует ключевые слова описание, основанное на содержании моей страницы.

Я надеюсь, что кто-нибудь может мне помочь. Спасибо!

Ответы [ 3 ]

2 голосов
/ 12 апреля 2011

Если я правильно понимаю, вы хотите иметь возможность автоматически генерировать метаданные на основе текста внутри содержимого div?

Я бы попытался передать этот текст / html /моделировать функции MetaKeywords и MetaDescription, позволяя им анализировать / анализировать / искать информацию, которую необходимо поместить в метаданные.

   <html>
    <head>
        @Html.MetaKeywords(Model.ContentText)
        @Html.MetaDescription(Model.ContentText)
    </head>
        <body>
            <header></header>
            <div id="container">
                <div id="sideBar"></div>
                <div id="pageHeader"></div>
                <div id="content">
                    <!--This part contains the dynamic content-->
                </div>
                <div class="clear"></div>
            </div>
            <footer></footer>
        </body>
    </html>
1 голос
/ 12 апреля 2011

Вы должны понимать, что создание содержимого страницы является последним этапом обработки действия, оно выполняется непосредственно в HttpContextBase.Response и, как правило, на сервере никогда не может быть буферизовано все содержимое, оно может быть отправлено клиенту из-за создания.

Вы можете зарегистрировать свой фильтр глобально, как описано здесь http://weblogs.asp.net/gunnarpeipman/archive/2010/08/15/asp-net-mvc-3-global-action-filters.aspx, поэтому вам не нужно указывать атрибут для каждого метода действия.

0 голосов
/ 18 июня 2011

В _layout.cshtml вы можете добавить @Rendersection («header», false) в разделе header !! Ложь на данный момент. Позже вы должны изменить это значение на true или удалить обязательный атрибут.

На каждой странице вы можете использовать сейчас

@section header{
<meta name="Author" content="1SeoAdvies.nl" />;

Here you add every desired meta tag.

}

будьте осторожны, у вас нет метатегов в разделе заголовка на странице _layout.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...