По умолчанию, в стоковой установке WordPress формирует постоянные ссылки (permalinks) для постов неотличимые по внешнему виду от статических страниц. Если WP используется как CMS это может быть нежелательно. В случае CMS часто бывает логичней выкладывать статические страницы с пермалинками начиная с корня /, а посты — начиная с некоторого слова, подсказывающего, что пост относится к блогу, например /blog
. Это возможно сделать стандартными средствами вордпресса.
Для того, чтобы настроить WP, чтобы он добавлял префикс /blog
в начале пермалинков делаем следующее:
- В админке
Settings -> Reading
есть возможность настроить статические страницы по умолчанию (front pages) для основного сайта и для блога. Для сайта в случае использования WP как CMS она обычно настроена. Если не настроена, то создаём такую или выбираем из существующих. Для блога — создаем новую пустую и ставим к ней пермалинк/blog
. - Выбираем созданные front pages соотвественно для основного сайта и для блога.
- В
Settings -> Permalinks
меняем формат пермалинков для постов на /blog/%postname%. Предлагаемые по умолчанию настройки RewriteRules в.htaccess
подходят и для нашего случая, их не трогаем. - Там же меняем базовый URL для категорий и тегов, например на
blog/category
иblog/tags
. - Меняем внутренние линки на посты на новые, а также добавляем 301 редиректы со старых постов на новые.
После этого всё работает.
В интернетах находятся и другие how-to по данному вопросу. То, что выше — короткая выжимка из этого.