У меня есть небольшой вопрос о заголовке и метаданных Angular. Я импортировал библиотеки в свой angular. Я установил свой заголовок и описание метаданных в конструкторе файлов .ts, подобных этому (конечно, разные заголовки и описания для каждой страницы);
//To set the title
this.titleServ.setTitle("SOME TITLE HERE")
//To set the meta
this.meta.addTag({name: "description", content: "SOME DESCRIPTION HERE"})
Когда я запускаю свой веб-сайт через IIS и проверяю из браузера, я все еще вижу что-то вроде этого;
<title></title>
<base href = "/">
<meta name = "viewport" content = "width=device-width, initial-scale=1">
Как уже было сказано, я не могу увидеть название своей страницы или описание страницы из исходных кодов (но я вижу это из поиска Google и на вкладке Google Chrome). В настоящее время я пытаюсь настроить поисковую оптимизацию. Есть ли здесь какая-то проблема? Я имею в виду, что все учебники, которые я видел, могут видеть заголовок своей страницы из раздела, а также могут видеть мета.
Что я сделал не так или нужно что-то еще сделать, чтобы сайт был виден в google с поиском по некоторым ключевым словам?
@AlekseySolovey Я запустил команду «npm i @ng-toolkit/universal», чтобы иметь рендеринг на стороне сервера, но нужно ли мне что-то большее, чем просто запуск этой команды?
Попробуйте провести хотя бы небольшое исследование. angular.io/guide/universal
Angular по умолчанию является клиентским приложением. Когда вы обслуживаете приложение и просматриваете исходный код HTML, вы, по сути, получаете исходный код index.html
, который находится в корне src
.
Для SEO вам нужно отобразить страницу на сервере. Таким образом, когда браузер получает HTML, он предварительно отображается с определенными элементами данных, включая теги/контент, связанные с SEO.
Это официальное руководство о том, как добавить рендеринг на стороне сервера (Angular Universal) в ваше приложение: https://angular.io/guide/universal
Ключевая часть заключается в том, что для рендеринга на стороне сервера вам необходимо запустить приложение с помощью специальной команды (например, npm run dev:ssr
по умолчанию). Это запустит узел, который будет обрабатывать запросы на стороне сервера.
Я думаю, что любая функция Angular SEO требует рендеринга на стороне сервера (с Angular Universal)