Я разработал одностраничное приложение, и он работает хорошо, но я хочу разделить содержимое на несколько URL-адресов. На главной странице загружаются фрагменты html с использованием угловых, мне было интересно, обслуживать ли я одни и те же фрагменты до поисковой системы, если отсутствующие элементы <html> и <body> будут влиять на ранжирование поиска негативным образом. Я искал как переполнение Google, так и переполнение стека, но если кто-то спросил об этом, прежде чем он был заглушен другими подобными вопросами.
Я думаю, что я нашел рабочее решение. Используя службу $ locationProvider, сопоставьте URL-адреса (например,/about.html и /faq.html) с фрагментами html (/about-fragment.html и /faq-fragment.html) с аргументом templateUrl:
module.config(["$routeProvider", function($routeProvider) {
$routeProvider
// about page
.when("/about.html", {
"templateUrl" : "about-fragment.html"
})
// faq page
.when("faq.html", {
"templateUrl" : "faq-fragment.html"
});
}]);
Поместите только фрагмент содержимого в файл <файл> -fragment.html, затем скопируйте содержимое в полную оболочку html в <file>.html. Таким образом, пользователи будут видеть тот же контент, что и искатель, но все же взаимодействуют с сайтом как одностраничное приложение. Хорошим последним шагом было бы включить переадресацию javascript на каждую страницу полного контента, чтобы перейти к URL-адресу для одностраничного приложения, а затем использовать угловое для возврата URL-адреса оригиналу - таким образом, пользователь, который добавил в закладки/о нем. html или /faq.html, а затем перейти непосредственно на эту страницу, все равно получите одно и то же одностраничное приложение.