Intereting Posts
Доступ к данным $ _POST после перенаправления wp_ajax не вызывает действие Открытые метаданные графика не натягиваются на Facebook до тех пор, пока я не запустил эту конкретную ссылку через отладчик Получить локализованное значение Пользовательский порядок таксономии по Добавление Woocommerce в мою собственную тему, как мне это сделать? Почему в моем плагине не работает функция remove_action? Я написал свой плагин. Как отобразить результат функции плагина на боковой панели (виджет?)? Как я могу управлять и ограничивать использование диска для каждого автора? Мобильное меню не отображается Возможности Vs User Meta Тип персонализированного сообщения Динамически обновляет другой настраиваемый тип сообщения Шаблон для другой категории для продукта woocommerce Получать ежемесячные архивы для пользовательских типов сообщений Как сохранить визуальные патчи с сложной структурой URL? Пользовательский шаблон сообщения?

Превращение разбитых URL-адресов в условия поиска?

Я переношу установку Typepad в поддомен WordPress, и большинство ссылок будут разбиты. Перезаписи работают так, чтобы:

http://mainsite.com/blogs 

переписывается

 http://blogs.mainsite.com 

Если передается полная ссылка со статьей, она переписывается как таковая;

 http://mainsite.com/blogs/2014-13-7/article-title.html 

в

 http://blogs.mainsite.com/2014-13-7/article-title.html 

Я ищу способ подачи заголовка статьи в поиск WordPress, поэтому, даже если ссылка сломана, пользователям легко найти закладки.

Solutions Collecting From Web of "Превращение разбитых URL-адресов в условия поиска?"

Вы можете попробовать плагин для этого:

http://wordpress.org/extend/plugins/smart-404/

Читает URL-адрес страницы и пытается найти страницу / сообщение, которое может соответствовать и перенаправлять на нее.

Узнал об этом плагине: http://www.aebeta.com/web-hosting/seo/7-seo-friendly-404-plugin-for-wordpress.html

Почему бы не переадресовать один-на-один? При переносе данных добавьте настраиваемое поле типа «_legacy_url» в WXR или какой-либо механизм, который вы используете для отслеживания старых URL-адресов. Затем проверяйте во время действия template_redirect для взаимно однозначного соответствия, когда WP выдает 404.

 add_action('template_redirect', 'typepad_redirects', 0); function typepad_redirects(){ if(is_404()){ global $wpdb, $wp; $url = esc_attr($wp->request); $result = $wpdb->get_row("SELECT * FROM $wpdb->postmeta WHERE meta_key = '_legacy_url' AND meta_value LIKE '%$url%'"); $redirect_url = get_permalink($result->post_id); if($redirect_url){ wp_redirect($redirect_url, 301); die(); } } }