Угловой универсальный предварительный рендер для SEO [дубликат]

Использование JSONPath было бы одним из самых гибких решений, если вы захотите включить библиотеку: https://github.com/s3u/JSONPath (узел и браузер)

Для вашего случая использования путь json будет:

$..items[1].name

, поэтому:

var secondName = jsonPath.eval(data, "$..items[1].name");

27
задан Hongbo Miao 20 March 2016 в 07:59
поделиться

3 ответа

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

Вы можете сгенерировать этот контент, используя версию контента, содержащую сервер в вашем приложении, или пользовательская логика.

Здесь вы можете найти дополнительную информацию: https://angularu.com/VideoSession/2015sf/angular-2-server-rendering и здесь: https://github.com/angular/universal

25
ответ дан jornare 26 August 2018 в 22:22
поделиться

Обработка серверов не является обязательным для достойного рейтинга google ...

У меня был форум с около 33.000 записей в файлах Sitemap для Google. Этот веб-сайт был написан с использованием веб-форм asp.net и имел приличный поток входящих запросов от Google.

Я переписал все с угловым (развернутая версия - угловая5). На этом веб-сайте была очень плохая мобильная читаемость (что было оскорблено Google, на самом деле это упоминалось в моей поисковой консоли Google). Я использую службы Title и Meta для установки моего названия и метатегов. Все маршруты содержат ключевые слова, извлеченные из фактического содержимого. Я также убедился, что каждый элемент с атрибутом [routeLink] был тегом A, на котором я также указал элемент href (это то, что искатель искал ...) И, конечно же, я уделял большое внимание мобильной читаемости.

Результат: на самом деле я получаю больше входящего трафика, чем раньше, и в консоли поиска я отчетливо вижу, что мои индексированные страницы выросли: из 30k + страниц только 10K были включены в индекс. Теперь у меня почти 25 тыс. Страниц в индексе.

Я не говорю, что рендеринг серверов не имеет значения. Использование универсальных или других методов приведет к увеличению времени загрузки, что, вероятно, приведет к более высокой оценке. Но google определенно может правильно индексировать угловой SPA.

edit: некоторые доказательства: если вы google «3ds max threadripper», вы увидите, что он фактически превосходит один из самых больших аппаратных сайтов в Интернете .

-1
ответ дан Davy 26 August 2018 в 22:22
поделиться

Я только что создал ng2-meta , модуль Angular2, который может изменять метатеги на основе текущего маршрута.


const routes: Routes = [
  {
    path: 'home',
    component: HomeComponent,
    data: {
      meta: {
        title: 'Home page',
        description: 'Description of the home page'
      }
    }
  },
  {
    path: 'dashboard',
    component: DashboardComponent,
    data: {
      meta: {
        title: 'Dashboard',
        description: 'Description of the dashboard page',
        'og:image': 'http://example.com/dashboard-image.png'
      }
    }
  }
];

Вы можете обновлять метатеги от компонентов, сервисов и т. д.


class ProductComponent {
  ...
  constructor(private metaService: MetaService) {}

  ngOnInit() {
    this.product = //HTTP GET for product in catalogue
    metaService.setTitle('Product page for '+this.product.name);
    metaService.setTag('og:image',this.product.imageURL);
  }
}

Хотя это относится к Javascript-совместимым сканерам (например, Google), вы можете установить резервные метатеги для не-Javascript-сканеров, таких как Facebook и Twitter.

<head>
    <meta name="title" content="Website Name">
    <meta name="og:title" content="Website Name">
    <meta name="og:image" content="http://example.com/fallback-image.png">
    ...
</head>

Выполняется поддержка рендеринга на стороне сервера.

8
ответ дан WeNeigh 26 August 2018 в 22:22
поделиться
Другие вопросы по тегам:

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