Строит ли php-приложение с функциональностью SPA?

Как создать главную и категории как веб-страницу при помощи одностраничного приложения (SPA), используя данный код JavaScript? Будет ли это влиять на оптимизацию для поисковых систем (SEO)?
  • 15 мая 2024 г. 10:20
Ответы на вопрос 3
Да, PHP-приложение можно строить с функциональностью SPA (Single Page Application). SPA представляет собой веб-приложение, работающее на одной странице, без перезагрузки страницы при каждом запросе. 

Для создания главной страницы и категорий как веб-страницы при помощи одностраничного приложения можно использовать следующий код JavaScript:

```
const router = (path) => {
  if (path === '/') {
    renderHomePage();
  } else if (path === '/categories') {
    renderCategoriesPage();
  }
}

const renderHomePage = () => {
  // логика и шаблон для главной страницы
}

const renderCategoriesPage = () => {
  // логика и шаблон для страницы с категориями
}

const onNavigate = (e) => {
  const path = e.target.getAttribute('href');
  history.pushState(null, '', path);
  router(path);
}

document.addEventListener('DOMContentLoaded', () => {
  router(window.location.pathname);

  const navLinks = document.querySelectorAll('a');
  navLinks.forEach(link => {
    link.addEventListener('click', onNavigate);
  });
});
```

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

Что касается SEO-оптимизации, SPA может иметь некоторые проблемы с индексацией содержимого поисковыми системами из-за того, что всё содержимое загружается динамически через JavaScript. Для улучшения SEO SPA можно использовать техники, такие как prerendering (предварительная отрисовка страницы перед её загрузкой), SSR (серверный рендеринг), создание sitemap.xml и другие методы, чтобы обеспечить индексацию содержимого поисковыми системами.
Делать можно. 

Влиять на сео не будет, потому что не будет никакого сео.

у СПА специально делаются серверым рендерингом страницы чтобы в поиск попадал контент.

В такой схеме контент только дефолтный будет учитываться. Боты не будут по ссылкам кликать чтобы выполнить js код.
Гасить стандартное действие можно у ссылок, но это не освобождает от формирования url в ссылках. 
Параметры в ссылках нужно указывать такие, чтобы оно восстанавливало состояние страницы, если попытаться перейти по ней, а псевдо переход по ссылке менял адрес страницы без фактической перезагрузки (добавлял запись в историю url).
Похожие вопросы