Как отключить страницы вложений в WordPress (решение проблемы)

Привет ребята, в этом посте я разберу решение такой проблемы, как появление в индексе страниц вложений, т.е это пустая страница сайта с картинкой (вашим медиафайлом). Такие страницы само собой в индексе никому не нужны, это мусор.  С этой проблемой я столкнулся буквально на днях, и хочу поделиться с вами двумя способами ее устранения.

Все началось с того, что мне яндекс вебмастер выдал предупреждение, что у ваших страниц нету дескрипшена, и как оказалось, это было 4 страницы, все — страницы вложений, они имеют простой адрес, например сайт.ру/название_медиафайла. Посмотреть такой адрес вы можете в админ панели движка, в разделе медиафайлов (щелкаем на любую картинку и справа будет ссылка «Просмотреть страницу вложения».

Один из двух кодов, которые я привел ниже — вам нужно вставить в functions.php вашей темы.

Вывод 404 ошибки на странице вложения

add_action('template_redirect', 'template_redirect_attachment');
function template_redirect_attachment() {
global $wp_query;
// Если это вложение то устанавливаем 404 ошибку:
if (is_attachment()) {
$wp_query->set_404();
}
}

Редирект со страницы вложения на запись

add_action('template_redirect', 'template_redirect_attachment');
function template_redirect_attachment() {
global $post;
// Если это вложение то перейдем на страницу записи:
if (is_attachment()) {
wp_redirect(get_permalink($post->post_parent));
}
}

Выбирайте тот вариант, что вам больше нравится, вставляйте в тему и забудьте об этой проблеме, если она у вас есть, ну или может появиться. Я бы советовал второй способ — редирект на страницу записи, к которой принадлежит вложение.

Понравилось? Было полезно? Подпишись!

Ваш E-mail

Обсуждение: 4 комментария

  1. не фурычит
    первый вариант — страница отдает код 200, но при этом на самой странице выводится, что страница не существует
    второй вариант — циклический редирект, сама на себя делает

    недавно была такая же проблема, решил просто добавлением
    meta name=»robots» content=»noindex,follow»

    Ответить
    1. Optimiz:

      Перепроверил код, все работает как надо. Возможно ,проблема с вашей темой или плагинами. Проверьте.

      Ответить
  2. Это ценная штука

    Ответить
  3. Ох да, работа с кодами страницы всегда сложное дело. Спасибо за статью, очень интересная и познавательная. Начал заниматься продвижением после прочтения книг

    Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *