Сложный вопрос.
У Вас есть сайт, Вы написали много полезных статей.
И решили под эту тематику сделать отдельный домен.
Как не потерять трафик?
Переадресация с плагином Redirection
https://ru.wordpress.org/plugins/redirection/
Настройки:
- редиректы
- группы (да, можно объединять в группы)
- журнал (кто откуда куда перешел)
- 404 ошибки
Плагин работает через WP REST API. Если его отключить – перенаправления работать перестанут.
ВАЖНО:
Всё работает.
Но можно попасть под бан со стороны роботов. Они очень не любят, когда при заходе на сайт получают 301 код с автоматической переадресаций на другой домен.
А если таких статей у Вас 20-30 штук?
С точки зрения логики (некоторых разработчиков) так себя ведет зараженный сайт, переправляя трафик на плохой ресурс.
После бана придется потратить много времени и усилий на объяснения, что второй сайт тоже Ваш. Причем бан (занесение в вирусные базы) автоматический, а снятие бана – ручная долгая переписка со всеми антивирусными ресурсами.
Спойлер: да, миром стали править роботы…
Читаем статью
Имеет смысл оставить старую страницу (точнее – страницу со старым URL) и указать на ней ссылку – что бы пользователь сам сделал лишний клик мышкой.
Создаем кастомный тип записей
Но оставлять фактически пустые страницы в общей структуре сайта очень неудобно:
- они будут мешаться в списке страниц в административной панели
- и на обновленном сайта вообще может быть другая структура, где уже нет старых каталогов в URL
Нам нужно создать свой вид записей – Custom Post, куда мы и сложим пустые страницы с новыми адресами в контенте.
Как создать кастомные записи – читаем по ссылке ниже
https://wp-kama.ru/function/register_post_type
Код можно добавить в function.php или сделать из него плагин
Зачем так сложно? Можно легко найти уже готовый плагин, который это умеет и мышкой все сделать?
Плагин Custom Post Type UI
https://wordpress.org/plugins/custom-post-type-ui/
Устанавливаем, активируем, создаем новый тип записи.
Slug- это словосочетания будет у Вас выполнять несколько ролей:
- это тип пользовательской записи – будет указано в базе
- Вы увидите его в адресной строке при редактировании списка постов mysite.ru/wp-admin/edit.php?post_type=slug
- он же будет участвовать в URL вид mysite.ru/slug/test1/
Помните – нам нужны будут URL под наши хотелки, а не те, которые предлагает WP.
А стандартная схема ЧПУ в кастомной записи будет плохо взаимодействовать с плагинами кастомных УРЛ.
При создании пользовательского типа записи для наших целей необходимо установить rewrite как Fasle – тогда ЧПУ будут отключены.
Можно создать custom post и вручную, через код
Создаем кастомные записи кодом
Код ниже – можно вставить в function.php. Название функции можете придумать свое (выделено красным цветом).
Синим цветом выделены Ваши хотелки по названию типа пользовательской записи.
add_action( 'init', 'tsl_register_post_types' ); function tsl_register_post_types(){ register_post_type( 'link', [ // основное название для типа записи 'label' => null, 'labels' => [ 'name' => 'Links', // вывод названия на сайте 'singular_name' => 'Link', // название для одной записи этого типа 'add_new' => 'Добавить Link', // для добавления новой записи 'add_new_item' => 'Добавление Link', // заголовка у вновь создаваемой записи в админ-панели. 'edit_item' => 'Редактирование Link', // для редактирования типа записи 'new_item' => 'Новое Link', // текст новой записи 'view_item' => 'Смотреть Link', // для просмотра записи этого типа. 'search_items' => 'Искать link', // для поиска по этим типам записи 'not_found' => 'Не найдено', // если в результате поиска ничего не было найдено 'not_found_in_trash' => 'Не найдено в корзине', // если не было найдено в корзине 'parent_item_colon' => '', // для родителей (у древовидных типов) 'menu_name' => 'Link', // название меню ], 'description' => '', 'public' => true, // 'publicly_queryable' => null, // зависит от public // 'exclude_from_search' => null, // зависит от public // 'show_ui' => null, // зависит от public // 'show_in_nav_menus' => null, // зависит от public 'show_in_menu' => null, // показывать ли в меню адмнки // 'show_in_admin_bar' => null, // зависит от show_in_menu 'show_in_rest' => null, // добавить в REST API. C WP 4.7 'rest_base' => null, // $post_type. C WP 4.7 'menu_position' => 5, //позиция в списке в меню в админке 'menu_icon' => 'dashicons-admin-links', 'capability_type' => 'page', //'capabilities' => 'post', // массив дополнительных прав для этого типа записи //'map_meta_cap' => null, // Ставим true чтобы включить дефолтный обработчик специальных прав 'hierarchical' => true, 'supports' => [ 'title', 'editor' ], // 'title','editor','author','thumbnail','excerpt','trackbacks','custom-fields','comments','revisions','page-attributes','post-formats' 'has_archive' => false, 'rewrite' => false, 'permalink_epmask' => EP_NONE, 'query_var' => true, ] ); }
Код создает новый тип записей Link. В админменю появляется пункт Link.
Практически полностью повторяет образец из статьи выше.
За одним изменением.
‘rewrite’ => false,
Установка False отключает ЧПУ и URL-адреса у созданных записей будут неудобными вида
site.ru/?post_type_name=test
Но нам это и надо – потом мы сами сделаем нужный УРЛ для каждой записи.
Не забываем после создания таких записей подключить их к плагину SEO, что бы заблокировать их от поисковых роботов:
- тэга Description нет
- фактически пустая страница с одной ссылкой
Эти страницы нам в поиске не нужны.
Добавление таксономии к кастомным постам
Необходимо параметр taxonomies в массиве установить
для категорий (рубрик)
'taxonomies' => [category],
или для меток
'taxonomies' => [post_tag],
В результате у Вас при редактировании постов появятся соответствующие метаблоки. И Вы сможете свой кастомный пост привязать к соответствующим категориям (или тэгам).
ВАЖНО: практически нигде Вы на сайте этот вывод не увидите. Шаблоны “не знают” про Ваш новый тип постов, а большая часть плагинов по выводу записей работает по умолчанию для post_type=’post’. Необходимо конструировать свой код.
Включение архивов для пользовательских постов
За включение архивов (вывода списка постов в виде “архив рубрики…”) отвечает параметр
'has_archive' => true,
но вот url архива будет зависит от включенных ЧПУ
При ‘rewrite’ => true, Ваш список постов будет по адресу
mysite.ru/link/
При ‘rewrite’ => false, Ваш список постов будет по адресу
mysite.ru/?post_type=link
Плагин для создания пользовательских URL Custom Permalink
https://wordpress.org/plugins/custom-permalinks/
У плагина нет настроек.
После создания записи/страницы WP создает свой URL. Пользователь может ввести свой:
- теперь страница будет открываться по этому новому URL
- старый (оригинальный) URL будет отдавать переадресацию с кодом 301
В административной панели можно посмотреть список созданных URL
При необходимости ненужные URL можно удалить.
Подпишитесь в VKontakte - нажмите кнопку | ||
Подпишитесь в Telegram - нажмите кнопку | ||
Наша группа ODNOKLASSNIKI |
Вы можете сохранить ссылку на эту страницу себе на компьютер в виде htm файла
Пишите на электронную почту (тема и email будут добавлены автоматически в письмо)
В Вашем браузере должна быть настроена обработка ссылок mailto
site_post@bk.ru
или просто скопируйте адрес e-mail
Почитать в разделе
WP плагины

(Читать полностью...)
- Всего статей в разделе: 9
- Показано статей в списке: 8
- Сортировка: название по алфавиту
HTML в URL адресе поста или страницы

(Читать полностью...)
WordPress & FaceBook

(Читать полностью...)
Адаптивные таблицы для WordPress

(Читать полностью...)
Звёздный рейтинг сайта

(Читать полностью...)
Плагин “Калькулятор” для сайта на WP

(Читать полностью...)
Плагины для “хлебных крошек”

(Читать полностью...)
Плагины для SEO WordPress

(Читать полностью...)
Плагины для дополнительной навигации на сайте

(Читать полностью...)