Вопрос или проблема
Я сделал быстрый поиск здесь и в Google и не могу найти ничего полезного. Этот вопрос тоже не подходит мне.
Я создаю вебсайты для малых бизнесов/стартапов/личных проектов, которые редко меняют контент. Со своими знаниями HTML/CSS/PHP
я предпочитаю создавать статические страницы с нуля, чтобы контролировать каждый аспект (я понимаю, что могу писать темы для WP, но считаю это излишним и ненужным).
Мне просто не нравится использовать WP, если мне не нужен CMS
, а не конструктор сайтов.
Для моих клиентов, которым нужен блог с какой-то секцией последних новостей (или другим контентом), я предпочитаю настроить WP в подкаталоге и использовать пользовательские PHP
скрипты на основе API
WP для получения постов и медиа так, как мне нравится на моих HTML страницах. Это может быть немного утомительно, но мне нравятся получаемые результаты.
Есть ли что-то неправильное в этом подходе? Или есть идеи, как его улучшить, не используя WP для полного управления сайтом?
Причина следовать стандартам WP в том, чтобы другой разработчик мог взять это позже или передать без проблем.
Проблема в контенте. Я мог бы легко сделать сайт из страниц независимо от ваших плагинов/тем, если база данных была бы настроена в WP. Но вы сохраняете контент по-другому, так что теперь мне нужно конвертировать данные в таблицы WP, писать правила перезаписи и 301. Это много дополнительных работ.
Почему бы не сделать все сразу в WP? Ваш клиент может захотеть переместить, и вы могли бы помочь ему, выглядя при этом как чемпион.
Я думаю, что использование WordPress — хорошая идея. Здесь вы можете создать тему и затем использовать другие возможности CMS.
+вы можете управлять своими метатегами для SEO. +Вы можете легко интегрировать социальные и шэринг плагины +Интеграция Google Analytics с одной модификацией +Обслуживание и модификация просты для вас +Вы можете расширять функционал сайта в любое время, когда захотите. +Многое другое
Надеюсь, это вам поможет.
Я считаю, что это все зависит от того, кто разработчик, какую производительность сервера вы имеете и т. д.
Если нужна абсолютная скорость, ваш хостинг — это общий хостинг, и результаты вашей скорости страниц показывают, что ответ сервера нуждается в улучшении, и/или вы уверены, что статические .html страницы лучше для SEO, я бы сказал, что да, это хорошо — давать WordPress обслуживать блог только в отдельном каталоге.
Если у вас есть сервер, который может справиться с нагрузкой WordPress и всеми мерами по оптимизации скорости (проблем с ответом сервера нет), то я бы сказал, что лучше обрабатывать все изменения страниц внутри сгенерированных страниц/постов WordPress, так как это проще и эффективнее использовать панель управления WordPress для редактирования контента.
Если маленький сайт на WordPress испытывает проблемы с производительностью, значит, он был построен неправильно или, вероятно, использует слишком много плохо написанных плагинов или тем, пытаясь сделать слишком много, что, если это небольшой сайт, скорее всего, излишне. Я регулярно участвую в создании малых и средних сайтов на WordPress, которые имеют высокие оценки Google Pagespeed.
Тем не менее, я понимаю, о чем вы спрашиваете, и в вашей идее нет ничего ‘неправильного’. Лично я бы строил на WordPress, так как это мой предпочтительный вариант, но если ваше предпочтение иное, то нет никакой причины, по которой, если у вас есть возможности, вы не можете сделать это иначе.
Одно, что я бы спросил: так как вы уже используете WordPress в качестве вашей системы управления контентом для некоторого контента, почему бы не использовать его для всего контента? Позвольте вашим клиентам управлять своим контентом в WordPress, а затем используйте ваши скрипты и API, чтобы извлекать контент на статические страницы, которые вы создаете. Пусть они заполнят страницы и посты, а вы просто извлекайте их по мере необходимости в статический сайт.
Я видел это раньше, и это по сути реализация Headless WordPress, как упоминается здесь:
https://www.smashingmagazine.com/2018/10/headless-wordpress-decoupled/
и также что-то подобное здесь:
https://spinupwp.com/gatsby-headless-wordpress/
Несколько месяцев назад я участвовал в плане бюджета для сайта уровня предприятия, и частью этого плана было использование WordPress в качестве Headless CMS для управления контентом, который будет отображаться в полностью индивидуально разработанном веб-приложении и сайте. Так что на самом деле это вовсе не бессмысленно.
То, что вы описываете, называется Headless WordPress или Decoupled WordPress и становится всё более распространенным методом использования WordPress с статическими сайтами.
Больше сайтов используют фронт на Node или хотят использовать генератор статических сайтов для создания статического HTML, например, с помощью Gatsby. Вы также могли слышать о JAMstack, который можно использовать с WordPress. Вот статья в Smashing Magazine о JAMstack и WordPress.
Вы также найдете несколько полезных советов от команды WordPress VIP на Headless WordPress, включая избежание записи в базу данных и корректное управление сбоями запросов. Если вы делаете GET-запрос каждый раз, когда страница загружается, но контент не меняется часто, вам стоит рассмотреть возможность генерации статических файлов из WordPress или хотя бы убедиться, что вы кэшируете запросы.
Ответ или решение
Установка WordPress в подкаталог с статическими HTML-сайтами
Ваша идея установки WordPress в подкаталог, чтобы использовать его только для блога или раздела новостей на статическом сайте, имеет свои преимущества и может быть реализована без особых трудностей. Однако прежде чем перейти к практическим шагам, давайте рассмотрим некоторые аспекты и предложим возможные улучшения подхода.
1. Подход к архитектуре
Вы предпочитаете использовать статические HTML-страницы для сайтов своих клиентов и оставляете WordPress только для динамического контента. Эта стратегия имеет свои плюсы, такие как:
- Контроль над контентом: Вы сохраняете полный контроль над HTML, CSS и PHP, что позволяет вам создавать точно настроенные страницы, не используя дополнительные плагины или темы.
- Оптимизация производительности: Статические страницы обычно загружаются быстрее, так как они не требуют дополнительных запросов к базе данных.
Тем не менее, использование WordPress только в качестве CMS для блога может оказаться сложным для других разработчиков, которые будут работать с вашим кодом в будущем. Это может вызвать проблемы с переносом данных, так как контент будет храниться в разных местах (HTML-страницы и база данных WordPress).
2. Установка WordPress в подкаталоге
Чтобы установить WordPress в подкаталог вашего сайта, выполните следующие шаги:
-
Создайте подкаталог: На вашем сервере создайте директорию для установки WordPress, например,
example.com/blog
. -
Скачайте и установите WordPress:
- Перейдите на официальный сайт WordPress и скачайте последнюю версию.
- Разархивируйте файлы и загрузите их в созданный подкаталог.
-
Настройка базы данных:
- Создайте новую базу данных для WordPress через панель управления хостингом (например, cPanel).
- Создайте пользователя базы данных и предоставьте ему все права на новую базу данных.
-
Настройка wp-config.php:
- Переименуйте файл
wp-config-sample.php
вwp-config.php
и отредактируйте его, указав данные вашей базы данных (имя базы данных, имя пользователя и пароль).
- Переименуйте файл
-
Запустите установку WordPress: Перейдите по адресу
example.com/blog/wp-admin/install.php
и следуйте инструкциям мастера установки.
3. Использование WordPress API для интеграции с HTML
Вы можете использовать REST API WordPress для извлечения постов и медиа. Это даст вам возможность динамически интегрировать контент WordPress в ваши статические HTML-страницы.
Пример использования API для получения последних постов:
fetch('https://example.com/blog/wp-json/wp/v2/posts')
.then(response => response.json())
.then(data => {
data.forEach(post => {
// Здесь вы можете обработать запись и вставить её в ваш HTML
console.log(post.title.rendered);
});
});
4. SEO и производительность
Использование WordPress дает вам доступ к множеству инструментов для SEO и анализа, таких как:
- Легкое управление мета-тегами.
- Интеграция с социальными сетями.
- Простота добавления аналитики, как Google Analytics.
Если ваши клиенты предпочтут расширять функционал, например, добавлять новые страницы или посты, использование WordPress как полноценной CMS может избавить вас от необходимости постоянно обновлять статический контент вручную.
Заключение
Ваш подход к созданию статических страниц с использованием WordPress в подкаталоге имеет право на существование, особенно если вы стремитесь к контролю и высокой производительности. Однако использование WordPress как главной системы управления контентом может упростить управление контентом для ваших клиентов и других разработчиков в будущем.
Рекомендуется рассмотреть возможность применения "безголового" подхода к WordPress, когда WordPress использует REST API для подачи контента на статические страницы, что позволит соединить преимущества обоих методов. Это не только повысит гибкость в управлении контентом, но и упростит процесс для будущих обновлений и переносов.