Как выбрать значения столбца и посчитать записи через объединение в mvc?

Давайте окончательно определим AngularJS и SEO

Google, Yahoo, Bing и другие поисковые системы сканируют сеть традиционными способами с помощью традиционных сканеров. Они запускают роботы , которые сканируют HTML на веб-страницах, собирая информацию на этом пути. Они содержат интересные слова и ищут другие ссылки на другие страницы (эти ссылки, количество их и количество их вступают в игру с SEO).

Итак, почему поисковые системы не работают с сайтами javascript?

Ответ на этот вопрос связан с тем, что роботы поисковой системы работают через безгласные браузеры, и они чаще всего выполняют not имеют механизм рендеринга javascript для рендеринга javascript страницы. Это работает для большинства страниц, так как большинство статических страниц не заботятся о том, чтобы JavaScript отображал свою страницу, поскольку их содержимое уже доступно.

Что можно сделать с этим?

К счастью, сканеры более крупных сайтов начали внедрять механизм, который позволяет нам выполнять сканирование на наших JavaScript-сайтах, но это требует от нас изменения на нашем сайте.

Если мы изменим наш hashPrefix на #! вместо просто #, то современные поисковые системы изменят запрос на использование _escaped_fragment_ вместо #!. (В режиме HTML5, т.е. где у нас есть ссылки без префикса хэша, мы можем реализовать эту же функцию, посмотрев заголовок User Agent в нашем бэкэнд).

То есть вместо запроса из обычного браузера, который выглядит так:

http://www.ng-newsletter.com/#!/signup/page

Поисковая система будет искать страницу с помощью:

http://www.ng-newsletter.com/?_escaped_fragment_=/signup/page

Мы можем установить префикс хеша наших угловых приложений с помощью встроенного метода из ngRoute:

angular.module('myApp', [])
.config(['$location', function($location) {
  $location.hashPrefix('!');
}]);

И, если мы используем html5Mode, нам нужно реализовать это, используя метатег:


Напоминание, мы можем установить html5Mode() с помощью функции $location:

angular.module('myApp', [])
.config(['$location', 
function($location) {
  $location.html5Mode(true);
}]);

Обращение с поисковой системой

У нас есть много возможностей определить, как мы будем иметь дело с доставкой контента в поисковые системы как статическим HTML. Мы можем разместить бэкэнд самостоятельно, мы можем использовать сервис для размещения для нас фоновых функций, мы можем использовать прокси для доставки контента и т. Д. Давайте рассмотрим несколько вариантов:

Самостоятельная

Мы можем написать сервис для обработки работы с обходом нашего собственного сайта с помощью браузера без браузера, например phantomjs или zombiejs, с моментальным снимком страницы с визуализированными данными и сохранением ее как HTML. Всякий раз, когда мы видим строку запроса ?_escaped_fragment_ в запросе на поиск, мы можем доставить статический снимок HTML, который мы взяли на странице, а не на предварительно подготовленную страницу только через JS. Это требует от нас наличия бэкэнд, который поставляет наши страницы с условной логикой посередине. Мы можем использовать что-то вроде prerender.io backend в качестве отправной точки для запуска этого сами. Конечно, нам все равно нужно обрабатывать проксирование и обработку фрагментов, но это хороший старт.

С платной услугой

Самый простой и быстрый способ получить контент в поиске двигатель должен использовать сервис Brombone , seo.js , seo4ajax и prerender.io - хорошие примеры которые будут размещать для вас вышеупомянутый контент-рендеринг. Это хороший вариант времени, когда мы не хотим иметь дело с запуском сервера / прокси. Кроме того, это обычно очень быстро.

Для получения дополнительной информации о Angular и SEO мы написали обширный учебник по этому поводу в http://www.ng-newsletter.com/posts/serious-angular -seo.html , и мы подробно описали его в нашей книге ng-book: The Complete Book on AngularJS. Проверьте это на ng-book.com .

-1
задан James Z 6 March 2019 в 16:54
поделиться

1 ответ

Использование Linq

from x in Table_X
join y in Table_Y on X.YID equals Y.ID 
select new {ID = x.YID , Count = x.Count()}

для получения дополнительной информации проверьте http://pgopishetty.blogspot.com/2016/04/examples-of-different-linq-queries-in-c.html

0
ответ дан AhmadMM 6 March 2019 в 16:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: