Адреса страниц сайта после перехода на WP из вроде такого: tatata.com/mymy.html, превратились в нечто такое : tatata.com/?p=225.
Естественно, что старый адрес будет выдавать ошибку 404.
Из известных мне трёх существующих возможностей ни одна не нравится.
1. На каждой из двухсот с лишним старых страниц сайта прописать простенький скриптик для переадресации по правильному адресу.(Ломает, да и поисковики не очень-то такие переадресации любят.)
2. Применить сложные системы вроде алгоритма сопоставления метафонов (metaphone matching) и файла простых весовых оценок для перенаправления пользователей при опечатках и орфографических ошибках, а также некорректных ссылках.(Ещё нужно разобраться, да и капризная это штука.)
3. Можно дав на 404-й адрес главной страницы и карты сайта плюнуть, растереть и забыть. Пускай сами ищут.(Однако, не хочется посетителей своих обижать. У меня их и так сотня-полторы в день. Приходят по конкретной ссылочке, по совершенно конкретному вопросу. За что же им такой геморой навешивать?)
Словом, хотелось бы применить какое-то более гуманное(и к себе и к посетителям) решение.
Буду весьма признателен за конструктивные предложения.
видел статью и плагин что-то типа "сохраняем пермалинки". то есть способ автоматического 301 редиректа есть, правда найти сейчас не могу.
Если очень хочется, можно страницам слаги сделать такие же, какие были имена файлов в прошлой жизни.
о кстати, если вы другой движок использовали, то как там генерировались имена статей?
если по стандартам, то меняйте в настройках\постоянных ссылках
пермалинк на /%category%/%postname%.html или на /%postname%.html смотря как у вас на сайте было.
статьи будут отдаваться по тем же адресам, что и раньше.
или структура ссылок ?p=225 больше нравится?
Очень хочется.
Что такое "слаги" и как их сделать такми же, какми были имена файлов в прошлой жизни?
2Flector Раньше, был обычный сайт на HTML. Статика в чистом виде. Называл файлы как хотел.
slug = слаг = ярлык = Постоянная ссылка.
Делать руками, если не устраивает транслитерация заголовка. Но чтобы это работало, надо включать ЧПУ (параметры – Постоянные ссылки), судя по ?p=225 – не включено.
Не включал, ибо не знал что это такое.(Да и сейчас, не очень…)
Если включу, то что произойдёт?
Можно ли дать откат, если что-то не получится?
Уже полно ссылок разошлось в виде "?p=225" и накручивать ошибку на ошибку не хотелось бы.
имхо без шансов – только сидеть и вручную .htaccess править насчет 301 переадресации
ЧПУ – это Человекам Понятные Урлы. Механизм изменения мутных /?p= на вполне осмысленные урлики.
Конец света в отдельно взятом блоге 😀
Шучу. Вместо /?p=123 будет ссылка /raznoe/eto-yz-napisal-s-boduna или /bodun.htm или /raznoe/123.htm и вообще масса вариантов в зависимости от шаблона ЧПУ.
В любой момент можно вернуть все взад. Единственная проблема при смене схемы ЧПУ – расползшиеся ссылки.
Другими словами, перейдя на ЧПУ, я могу руками исправить название файла?
Скажем, "?p=221" на "vova.html" ?
И что станет со всякими внутренними ссылками, именюшками, картой сайта и пр. безобразием?
Гугл по ключу "расползшиеся ссылки" не выдал ничего осмысленного…
Решил сделать 301 переадресацию и прописал в .htaccess :
Всё сработало замечательно!
Однако, при попытке добавить туда ещё и
– стало выдавать ошибку 404 если набираешь старый адрес.
Может, я чего-то не улавливаю?
Может, между записями, должен быть какой-то хитрый разделитель?
пропишите в пермалинках шаблон типа /%category%/%postname%.html
потом идите в управление и в каждой статье меняйте короткую ссылку на то имя страницы, которое у вас было раньше.
ссылки ввида ?p=120 все равно будут работать – просто при открытие такого урла wordpress автоматически сделает редирект на новый адрес. и для поисковиков и для людей.
так что не вижу особо проблемы, лучше уж сразу озаботиться ЧПУ, чем потом страдать когда у вас будут тысячи страниц.
Спасибо, Flector, это я тоже попробую.
Сократил запись до
и всё начало работать нормально.
Таких редиректов получилось 135 строчек. Файл .htaccess вышел перегруженным. Тут мне на помощь пришёл мой дорогой хостер.
Он взял список рабочих редиректов из .htaccess файла и добавили данные редиректы напрямую в конфигурацию http сервиса.
Проблема решилась.
Создал я и свой лист ошибки 404, на всякий случай(как же без ошибок-то).
Всё работает.