serezka: Ну, если не поднимать вопрос о htm и html, то я всегда ставлю вариант 1.
( /%category%/%postname%.html )
Есть-ли смысл менять - не уверен, т.к. адреса всех страничек - поменяются. нужно-ли это вам...
*.HTML даже не рассматриваем. Вопрос в том - с *.htm или вообще без него?
И в адресе участвуют символы из заголовка постов или цифровой короткий ID, что сократит длину ссылки.
---------- Добавлено 06.11.2016 в 18:54 ----------
Ingref: anru, любой из 4-х вариантов подошёл бы, если бы вы только проектировали структуру сайта. Если сайт уже проиндексирован и трафик терять не хочется, то забейте на урлы.
Сайту 8 лет.
Трафик на уровне 200-300 посетителей в сутки и не растет.
Смена структуры сайта повлияет на увеличение посещаемости?
Цель смены структуры - показать поисковикам наличие тематических разделов на сайте.
Сейчас все URL в корне сайта - думаю, что поисковики видят сборную солянку, а не информацию структурированную по темам.
Вся информация структурирована - 100 рубрик без повторов в названиях, описаниях и именах разделов.
P.S. Все записи по старым адресам будут доступны после смены структуры - проблема с редиректом уже решена.
egos: Внешнее – это обычное перенаправление по протоколу HTTP.
Если вы сами напишете одно такое перенаправление в файле .htaccess, да еще WP сделает перенаправление после вашего, получится уже два. Если же вы напишете внутреннее, а WP его поймет и сделает только одно внешнее – это оптимально. Я ранее сомневался, что WP распознает внутреннее, но по крайней мере установленная у меня версия WP с этим справляется.
NC - отключает проверку регистра символов - учитывая то, что у нас только цифры в ID, флаг не актуален.
QSA - с этим флагом непонятно - добавляет исходные параметры запроса (query string) к замене. Можете пример параметров показать? Для чего нужен этот флаг?
egos: Посмотрите мой последний пост. В установленной у меня версии WP работает и внутреннее перенаправление. Это более оптимальный вариант, т.к. не происходит двойное внешнее перенаправление:
RewriteRule ^(\d+)\.htm$ index.php?p=$1 [L]
Только для чистоты эксперимента не забудьте очистить кэш браузера.
Сейчас задал вопрос в разделе "Оптимизация сайта" - структура для блога Wordpress.
Ожидаю ответ специалистов по оптимизации и продолжу эксперимент.
Думаю, что Ваш вариант будет работать.
P.S. Я просто писал в начале файла .htaccess предложенный Вами код - не надо больше никаких команд до и после кода?
egos: 1. Написал в личном сообщении.
2. Нужно отследить по таблицам базы данных связь между идентификатором поста и слагом категории этого поста, чтобы извлечь слаг для использования в целевом адресе при перенаправлении.
Посмотрел статью. Дело в том, что перенаправление с адресов формата /%post_id%.html на адреса формата /%postname%.html делает сам wordpress без проблем.
Задача в другом!
Сделать доступными записи по старым адресам - после смены структуры сайта.
По новому адресу /%category%/%postname%.htm - будет сам wordpress показывать
А со старых адресов /%post_id%.html - надо сделать глобальный редирект на новые записи.
Как это вижу?
С адреса /?p=%post_id% wordpress сам определяет нахождение поста в любой структуре сайта.
Значит, надо сделать редирект со старых постов /%post_id%.html на /?p=%post_id%
и wordpress определит нахождение записи в новой структуре.
SeVlad: А что, разве ВП сам не перенаправит с такого? (с /%post_id%/ перенаправляет точно)
Версия какая?
ЗЫ. Уж если менять урлы - самое время избавится от 5ти лишних символов аппендицита .html
Wordpress перенаправляет. Проблема в другом
После смены структуры сайта - страницы по старым адресам недоступны
Надо сделать перенаправление для старых адресов на новые адреса страниц
---------- Добавлено 05.11.2016 в 18:52 ----------
egos: Например так:
RewriteRule ^(\d+)\.htm$ /?p=$1 [R=301,L]
Я позавчера по мотивам вашей темы написал статью о перенаправлении со сменой post_id на postname – все работает. Как появится немного свободного времени, может, и с категориями сделаю – нужно посмотреть, как они связаны с постами.
1. Адрес статьи?
2. В этом и проблема - как прописать в цепочке универсальную команду для подстановки категории, как для %post_id%
egos: Можно хаком по маске ^\d+\.htm$ в .htaccess – решение с перенаправлением на /%postname%.htm я уже вижу. На /%category%/%postname%.htm скорее всего будет не намного сложнее, просто я с WP не очень хорошо знаком (поля id и post_name когда-то видел в таблице постов, а вот про категорию что-то не вспомню, но какая-то связь в любом случае должна быть).
Ну, если не поднимать вопрос о htm и html, то я всегда ставлю вариант 1.
( /%category%/%postname%.html )
Есть-ли смысл менять - не уверен, т.к. адреса всех страничек - поменяются. нужно-ли это вам...
*.HTML даже не рассматриваем. Вопрос в том - с *.htm или вообще без него?
И в адресе участвуют символы из заголовка постов или цифровой короткий ID, что сократит длину ссылки.
---------- Добавлено 06.11.2016 в 18:54 ----------
anru, любой из 4-х вариантов подошёл бы, если бы вы только проектировали структуру сайта. Если сайт уже проиндексирован и трафик терять не хочется, то забейте на урлы.
Сайту 8 лет.
Трафик на уровне 200-300 посетителей в сутки и не растет.
Смена структуры сайта повлияет на увеличение посещаемости?
Цель смены структуры - показать поисковикам наличие тематических разделов на сайте.
Сейчас все URL в корне сайта - думаю, что поисковики видят сборную солянку, а не информацию структурированную по темам.
Вся информация структурирована - 100 рубрик без повторов в названиях, описаниях и именах разделов.
P.S. Все записи по старым адресам будут доступны после смены структуры - проблема с редиректом уже решена.
Внешнее – это обычное перенаправление по протоколу HTTP.
Если вы сами напишете одно такое перенаправление в файле .htaccess, да еще WP сделает перенаправление после вашего, получится уже два. Если же вы напишете внутреннее, а WP его поймет и сделает только одно внешнее – это оптимально. Я ранее сомневался, что WP распознает внутреннее, но по крайней мере установленная у меня версия WP с этим справляется.
NC - отключает проверку регистра символов - учитывая то, что у нас только цифры в ID, флаг не актуален.
QSA - с этим флагом непонятно - добавляет исходные параметры запроса (query string) к замене. Можете пример параметров показать? Для чего нужен этот флаг?
Можно еще добавить флаг NC и, возможно, QSA, сделать более точным регулярное выражение.
Если речь идет о внешнем перенаправлении, то его можно написать еще выше, сразу после директивы RewriteEngine.
Что значит "внешнее перенаправление"?
Как лучше?
Чтобы правильно работало и с поисковиками проблем не было...
Посмотрите мой последний пост. В установленной у меня версии WP работает и внутреннее перенаправление. Это более оптимальный вариант, т.к. не происходит двойное внешнее перенаправление:
Только для чистоты эксперимента не забудьте очистить кэш браузера.
Сейчас задал вопрос в разделе "Оптимизация сайта" - структура для блога Wordpress.
Ожидаю ответ специалистов по оптимизации и продолжу эксперимент.
Думаю, что Ваш вариант будет работать.
P.S. Я просто писал в начале файла .htaccess предложенный Вами код - не надо больше никаких команд до и после кода?
Проблема решена!
Как и написал egos
Не знаю, почему раньше не работало - были какие-то глюки...
Как решил проблему?
Задача:
С структуры /%post_id%.htm сделать записи доступными после смены структуры блога
на /%category%/%postname%
Решение задачи:
1. В самом начале файла .htaccess пишем код, который предложил egos
2. В настройках блога "Постоянные ссылки" прописываем /%category%/%postname%
1. Написал в личном сообщении.
2. Нужно отследить по таблицам базы данных связь между идентификатором поста и слагом категории этого поста, чтобы извлечь слаг для использования в целевом адресе при перенаправлении.
Посмотрел статью. Дело в том, что перенаправление с адресов формата /%post_id%.html на адреса формата /%postname%.html делает сам wordpress без проблем.
Задача в другом!
Сделать доступными записи по старым адресам - после смены структуры сайта.
По новому адресу /%category%/%postname%.htm - будет сам wordpress показывать
А со старых адресов /%post_id%.html - надо сделать глобальный редирект на новые записи.
Как это вижу?
С адреса /?p=%post_id% wordpress сам определяет нахождение поста в любой структуре сайта.
Значит, надо сделать редирект со старых постов /%post_id%.html на /?p=%post_id%
и wordpress определит нахождение записи в новой структуре.
А что, разве ВП сам не перенаправит с такого? (с /%post_id%/ перенаправляет точно)
Версия какая?
ЗЫ. Уж если менять урлы - самое время избавится от 5ти лишних символов аппендицита .html
Wordpress перенаправляет. Проблема в другом
После смены структуры сайта - страницы по старым адресам недоступны
Надо сделать перенаправление для старых адресов на новые адреса страниц
---------- Добавлено 05.11.2016 в 18:52 ----------
Например так:
Я позавчера по мотивам вашей темы написал статью о перенаправлении со сменой post_id на postname – все работает. Как появится немного свободного времени, может, и с категориями сделаю – нужно посмотреть, как они связаны с постами.
1. Адрес статьи?
2. В этом и проблема - как прописать в цепочке универсальную команду для подстановки категории, как для %post_id%
Можно хаком по маске ^\d+\.htm$ в .htaccess – решение с перенаправлением на /%postname%.htm я уже вижу. На /%category%/%postname%.htm скорее всего будет не намного сложнее, просто я с WP не очень хорошо знаком (поля id и post_name когда-то видел в таблице постов, а вот про категорию что-то не вспомню, но какая-то связь в любом случае должна быть).
Как правильно прописать перенаправление?
с адреса https://prodaga.com/%post_id%.htm
на адрес https://prodaga.com/?p=%post_id%
Думаю, что такой редирект сделает все записи доступными
Плагин делает редирект по id записи:
https://wordpress.org/plugins/change-permalink-helper/
Установил
Активировал
Сменил структуру ссылок
По старым адресам записи недоступны :(
Отличный инструмент!
Настроил автоматическую рассылку подписчикам при добавлении новых записей на сайт
13% в среднем переходов с каждой рассылки
После установки SSL-сертификата на сайт - подписка еще лучше работает - без дополнительных всплывающих окон.
Достаточно пользователю нажать кнопку РАЗРЕШИТЬ - без сертификата показывается дополнительное окно.
Не надоедает посетителям - Если жмет ЗАПРЕТИТЬ, то больше окно не показывается на других страницах с предложением подписаться