Приветствую вас на сайте Impuls-Web!
В сегодняшней статье мы поговорим с вами о решении одной проблемы WordPress, связанной с дублирующимся контентом.
Смысл данной проблемы заключается в том, что когда вы добавляете на свой сайт какие-то изображения, видео, вложенные файлы, и так далее, WordPress автоматически создает для этого файла отдельную страницу вложения attachment. Выглядит она как обычная страница записи только без текста и в качестве названия страницы используется название файла.
Навигация по статье:
Для каждого загруженного файла создаётся такая attachment-страница или, как её ещё называют, страница вложения с отдельной ссылкой. Далее все эти ссылки индексируются поисковыми системами, засоряют выдачу, и в конечном итоге это может негативно сказаться на продвижении вашего сайта.
Как понять создаются ли у вас отдельные страницы вложений для загруженных файлов?
Чтобы проверить, есть ли на вашем сайте эта проблема или нет нам нужно:
- 1.В административной части сайта заходим в раздел «Медиафайлы» → «Библиотека».
- 2.Далее кликаем по любому медиафайлу и открывшемся всплывающем окне кликаем по ссылке «Посмотреть страницу вложения».
- 3.Если у вас открывается отдельная страница сайта значит для вас эта проблема актуальна и у вас WodPress для каждого отдельного медиафайла по сути создает дублируемый контент, который не приветствуется поисковыми системами.
Если у вас открывается ошибка 404 или происходит перенаправление на главную страницу сайта или на страницу или запись к которой относится данный файл, то значит для вас эта проблема не актуальна. У вас либо в теме уже предусмотрены пути решения этой проблемы, либо стоит один из плагинов, который устраняет данную проблему.
Как избавиться от отдельных страниц для загружаемых файлов?
Итак, для решения данной проблемы нам необходимо будет прописать небольшой фрагмент кода в файл functions.php активной темы.
Для редактирования этого файла мы можем подключиться к сайту по FTP или же воспользоваться встроенным редактором WodPress.
- 1.Перейдем в раздел «Внешний вид» → «Редактор».
- 2.Здесь нам нужно будет открыть файл, который называется «Функции темы functions.php».
- 3.Далее не поленимся скопировать содержимое этого файла и сохраним к себе на компьютер, в качестве резервной копии.
- 4.Прокручиваем в самый конец и смотрим, если у вас в конце данного файла стоит «?>», то мы предложенный фрагмент кода будем вставлять перед ними. Если же у вас в конце файла ничего не стоит, значит, просто добавляем код в самый конец этого файла.
123456789/**Редирект со страницы вложения attachment на страницу 404**/add_action('template_redirect', 'template_redirect_attachment');function template_redirect_attachment() {global $post;if (is_attachment()) {wp_redirect(get_permalink($post->post_parent));$wp_query->set_404();}}
После добавления данного кода у вас при попытке открыть страницу вложения будет открываться ошибка 404, означающая, что на вашем сайте такой страницы не существует.
Так же для решения данной проблемы можно использовать фрагмент кода, который делает перенаправление со страницы вложения на страницу записи, к которой принадлежит даный файл.
Однако, мне этот способ не очень нравится, потому что далеко не все медиафайлы, которые вы загружаете, могут иметь родительскую страницу. Например, вы добавили какое-то изображение и вывели его в слайдере, в подвале, или в сайдбаре, во всплывающей форме, или еще где-то. В этом случае такой скрипт не сможет определить родительскую страницу и в браузере, при попытке открыть эту ссылку может возникать ошибка, и она вообще не будет открываться.
Это тоже не очень хорошо, поэтому мне больше нравиться вариант с перенаправлением на страницу 404.
Если у вас на данный момент уже проиндексированы все эти страницы вложения для каждого медиафайла, то после того, как вы добавите этот фрагмент кода, при последующей переиндексации вашего сайта поисковый робот будет приходить, видеть, что данных страниц уже нет, и постепенно он их выкинет из своей выдачи. Таким образом индекс вашего сайта постепенно очистится от этих мусорных и ненужных ссылок.
Редирект на родительскую страницу или на главную
Так же можно использовать ещё один фрагмент кода, который при переходе по ссылке вложения будет перенаправлять на страницу к которой принадлежит этот файл (на родительскую страницу). В случае если данный файл добавлен в слайдер или всплывающую форму или ещё куда то, то будет происходить перенаправление на главную страницу сайта.
Добавляется этот код точно так же как и предыдущий в файл functions.php активной темы в самом конце.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
/*** Перенаправление на страницу записи или на главную***/ function sar_attachment_redirect() { global $post; if (is_attachment() && isset($post->post_parent) && is_numeric($post->post_parent) && ($post->post_parent != 0) ) { wp_redirect(get_permalink($post->post_parent), 301); exit; } elseif (is_attachment() && isset($post->post_parent) && is_numeric($post->post_parent) && ($post->post_parent < 1) ) { wp_redirect(get_bloginfo('wpurl'), 302); exit; } } function sar_archive_redirect() { global $post; if (is_date()) { wp_redirect(home_url(), 301); exit; } } add_action('template_redirect', 'sar_attachment_redirect' ,1); add_action('template_redirect', 'sar_archive_redirect' ,1); |
Решение проблемы с WordPress Attachment при помощи плагина
Так же, если по каким-то причинам вы не хотите лезть в файлы вашей темы, или же вы внесли данный фрагмент кода, но у вас он не срабатывает, вы можете воспользоваться одним из существующих плагинов.
Например, плагином Attachments Pages Redirect.
- 1.Вставляем название плагина в строку поиска, нажимаем на кнопку «Установить» и «Активировать»
- 2.Данный плагин не имеет каких либо настроек и начинает работать сразу же после его активации.
Для того чтобы проверить его работоспособность нам нужно перейти в библиотеку медиафайлов и просмотреть страницу вложения для одного из выбранных файлов.
Должна открываться или страница на который был вставлен этот файл или, если такая страница не найдена, то происходит редирект на главную.
Видеоинструкция
Вы можете использовать любой из предложенных вариантов решения данной проблемы.
На этом у меня все. Если данная статья была для вас полезной, оставляйте комментарии и делитесь статьей в социальных сетях.
Я желаю вам удачи в борьбе с дублируемым контентом и до встречи в следующих статьях!
С уважением Юлия Гусарь
Мое мнение иное, по поводу отдельной страницы изображения. С недавних пор, есть шаблон страницы image.php, как и tag.php и video.php.
Вот как выглядит данная страница у меня:
У меня эта страница оформлена примитивно, но есть люди, которые делают из этого шаблона перелистывающую галерею просмотра картинок с интересными описаниями, смайликами, шутками и тд. И посетитель может зависать там и смотреть картинки, особенно если это какие-то картины, рисунки, постеры, книги и тд. или даже порно. Так же можно писать комментарии под страницей.
А вот перебрасывание на другие страницы без ведома посетителя, это как раз и не приветствуется. Если человек искал страницу и оказался на 404 странице, то он там оказался не случайно. Прочитав ее он узнает, что страницы, которую он ищет, не существует. А если же он не попал на 404 страницу а оказался на главной, то что он будет делать? Либо попытается искать снова либо психанет и уйдет с сайта.
Для того, чтобы страницы вложения не индексировались, их закрывают в роботе:
Disallow: *?attachment_id=
Спасибо за Ваш комментарий! Закрывать их в robots.txt — это конечно вариант, но беда в том что сейчас поисковые роботы индексируют не только то что Вы разрешаете или запрещаете в этом файле, но у всё что посчитают нужным. У меня были случаи когда эти файлы закрыты в robots, но в поисковую выдачу всё равно попали, тем самым создав там кучу ненужных страниц.
По поводу того что перенаправление не приветствуется. В блоге Яндекса перенаправление советуют использовать для исключения ненужных страниц из выдачи, а так же для решения других задач. Понятное дело что редирект это не универсальное решение всех проблем, и что всё хорошо в меру. Но конкретно для решения данной задачи он подходит.
Если Вам нужны отдельные страницы для каждой картинки или файла — то Вы можете их оформить при помощи image.php и т.д., но далеко не для каждого сайта в них есть смысл. Тем более что посетители навряд ли попадут на эти страницы по тем ссылкам что WordPress генерирует. А вот поисковики попадут.
Ну у меня не индексируются вложения, хотя тема самописная. В админке дефолтных тем есть вариант публикаций. Это позволяет создавать страницы исключительно с картинками. Там и другие есть варианты, но картинки — это дополнительный трафик. Все хорошие картинки, можно выложить в отдельную категорию. Но нужно потрудиться сделать хорошие сео-описания. Тоже самое можно сделать и с видео, если на сайте много видео, например как у вас. Создается шаблон video.php, стилизуется, перелистывание назад вперед, разные примочки для отображения похожих видео (по меткам) и тп. У нас в России это не практикуется по причине неграмотности. Я все собираюсь это сделать с картинками, но пока не доходят руки.
Юлия, здравствуйте!
Я новичок в Вордпрессе, и ваш сайт мне очень помогает. Спасибо большое. То, что вы посоветовали — действительно актуально, и яша действительно все картинки вылавливает как страницы, что для моих проектов не есть хорошо. Но есть еще одна проблема, которую, я бы хотел решить, если вы мне поможете, да и другим пользователям!
У меня на сайте есть 2 меню, дублирующих друг друга: одно основное — второе боковое для удобства посетителей. Соответственно, роботы видят 2 ссылки на одну страницу и дублируют их. Мне бы хотелось одно из меню закрыть для поисковых систем, подскажите, как это лучше сделать?
Здравствуйте, Юлия!
У меня все, как Вы описали: при переходе по ссылке «Посмотреть страницу вложения» действительно открывается отдельная страница. Я добавил Ваш код, который должен был перенаправить на страницу 404, НО… меня перенаправляет на страницу, к которой привязана эта картинка, а если одна и та же картинка на нескольких страницах, то вообще ничего не открывает, выдает ошибку.
Подскажите, как это можно исправить.
А вот после установки плагина, перенаправляет так же на страницу вложения, а с картинки , которая используется несколько раз — на главную.
а что делать если в Ёст сео плагине настройку Медиа файлы ползунок на Нет поставил ? …ваш плагин что с ним делать ? .. или че какие настройки..
Это можно настроить при помощи плагина oll-in seo pack или clearfy