Добрый день, дорогие читатели. На днях один из моих подписчиков попросил помочь ему разобраться с проблемой в индексировании сайта. Его ресурс работает на движке WordPress и он заметил, что WordPress создает страницу для каждой загруженной картинки. Михаилу повезло, что он обратил на это внимание, а ведь многие начинающие вебмастера не в курсе, что такое безобразие может испортить репутацию их сайтам в глазах поисковых систем.
Я с подобной проблемой сталкивался раньше, некоторые из моих сайтов были больны аналогичным недугом. Думаю, что многим решение тоже пригодится, поэтому решил не ограничиваться письмом с рекомендациями для Михаила, а выложить статью в блоге.
Что будет, если не исправить проблему?
Появление отдельных страниц для картинок не что иное как дублирование контента, уже содержащегося на другой странице (в основной статье, куда вставлена иллюстрация). Дубли приводят к ухудшению индексирования ресурса, так как отнимают на себя время индексирующих роботов. Кроме того, они мешают поисковикам правильно ранжировать разные страницы сайта в поиске.
В лучшем случае, траст вашего сайта в глазах поисковиков будет падать и будут проблемы с его продвижением. В худшем — подхватите какой-нибудь фильтр, вплоть до АГС.
Почему появляются страницы с картинками в WordPress
Чаще всего причиной появления этих страниц является ссылка с изображения в статье, создаваемая при загрузке медиафайла, если выбрать целью ссылки страницу вложения.
Для того, чтобы такие ссылки не появлялись в будущем, лучше в поле «Ссылка» ставить «Нет», в крайнем случае отсылать на «Медиафайл».
Но, к сожалению, удаление ссылки в уже проиндексированных изображениях, когда дубли появились в базе поисковиков избавиться от страниц не поможет, так как они физически существуют, а Яндекс и Google об их существовании в курсе.
Как удалить из поиска эти страницы
Для исключения их из поиска нам необходимо их либо полностью удалить, либо сделать переадресацию.
Как удалить физически я не знаю, если вам такой способ знаком, просьба поделиться в комментариях.
Я пошел путем перенаправления со страницы вложения на тот пост, к которому привязан данный медиафайл. При очередном обходе поисковый робот зайдет на страницу картинки и будет перенаправлен на статью с изображением. Со временем он поймет, что на странице редирект и удалит ее из индекса. Произойдет это не сразу, до полного удаления всех дублей может пройти не один месяц (в зависимости от размера проекта).
Делается такое перенаправление с помощью кода, который вставляется в файл functions.php вашей темы. Технически процедура выглядит так:
- Открываем админ панель;
- Переходим в раздел «Внешний вид»-«Редактор»;
- Находим в списке справа файл functions.php и кликаем по нему;
- Вставляем в конце, перед закрывающим тегом «?>» код, приведенный ниже.
Код для удаления страниц изображений в WordPress:
/*** Редирект страниц картинок на запись ***/ add_action('template_redirect', 'template_redirect_attachment'); function template_redirect_attachment() { global $post; // Если это вложение то перейдем на страницу записи: if (is_attachment()) { wp_redirect(get_permalink($post->post_parent)); } }
Плагин Attachment Pages Redirect
Если у вас WordPress создал для каждой картинки на сайте отдельную запись, но влазить в коды вам лень или боитесь, то можете использовать плагин Attachment Pages Redirect, он делает то же самое, что и приведенный выше скрипт — ставит переадресацию на страницу записи к которой прикреплено изображение. Если прикрепленной страницы нет, то идет редирект на главную.
Плагин есть в официальном репозитории WordPress и устанавливается он как обычно, как я рассказывал в этой статье.
Никаких настроек у плагина нет, ставим, активируем и проблема решена.
Если я вам помог — не постесняйтесь рекомендовать блог своим друзьям через социальные сети (кнопочки слева).
Всё просто и ясно. Попробую все варианты. Если ещё возникнут вопросы я опять к вам обращусь.
И ещё вопрос. Можно ли сразу после вставки кода определить, сработал он или нет?
Когда в браузере откроете страницу вложения вместо нее должна открыться страница со статьей, где эта картинка вставлена.
Здравствуйте Дмитрий. Я поставил плагин и он сработал. Теперь у меня нет страниц с одними картинками. Теперь у меня в поиске картинки превратились в полноценные статьи, но их количество не убавилось. Теперь на каждую картинку полноценная статья(((
из поиска лишние страницы будут уходить постепенно, по мере их переиндексации поисковыми роботами, до полной очистки могут уйти месяцы
Дима! Приветствую! Я перешла на https и постепенно, не все картинки меняю на НЕТ — это как мне подсказали, самый лучший вариант СЕО. Конечно, мороки много, у меня почти 500 статей и в каждую статью нужно заглядывать и редактировать. Но зато стало меньше ошибок и на много. А за статью Спасибо! Давненько не была у тебя на блоге.
Добрый день. Подскажите, пожалуйста, у меня интернет-магазин. Обратила внимание, что на каждую метку статей, на каждый атрибут товара, на каждую категорию товара у меня создана своя страница (увидела в яндекс вебмастер). Как можно убрать лишние страницы?
Спасибо.
Либо убрать лишние страницы физически, если это позволяет сделать ваша CMS, либо закрываете ненужные страницы от индексации (говорите поисковикам, что в поиск эти страницы включать не нужно).
Закрыть от индексации можно в файле robots.txt, как это делается смотрите тут — https://biznessystem.ru/delaem-pravilnyj-fajl-robots-txt-dlya-wordpress/
Установили плагин. Теперь страницы с картинкой переправляются на главную страницу сайта. Спасибо!
Еще вопрос: А что делать, если в вебмастере появляется запись типа Images tagged «poslestroitelnaya-uborka» и говорит о дубле.
Пример: uborka-posle-remonta.by/ngg_tag/poslestroitelnaya-uborka/nggallery/page/1
возможно у вас одни и те же данные (картинки) доступны по нескольким адресам — проверьте структуру сайта
судя по примеру могу предположить, что у вас включены теги (метки) и они открыты для индексации, вы можете их убрать совсем или закрыть в файле robots.txt
Извините, не подскажете, какую именно запись в моем случае надо добавить в роботс, т.к. чайник в этом.
Вот в этой статье описана настройка роботса — https://biznessystem.ru/delaem-pravilnyj-fajl-robots-txt-dlya-wordpress/
на первый взгляд надо закрывать раздел ngg_tag, раз он у вас дублем высвечивается в вебмастере
У меня пишет — Страница неизвестна роботу. Ссылок на них в статьях нет.
Значит можно не парится и он не плодит дубли?
так точно, но для надежности заглядывайте периодически в яндекс вебмастер — в случае появления дублей там их увидите сразу
Комментарий не в тему статьи, но накипело. Не смог найти в интернете решение такого вопроса. У меня к адресам страниц добавилась в конец такая приставка #more. И много дублей страниц. Думаю, что из-за этой приставки.
Приставка с решеткой — это не дубль (не новая страница), это якорь (метка, показывающая место на странице, такие же используются для содержания) — это нормально, если используете анонсы статей для вывода на главную и страницы категорий. Такие страницы в индекс не попадают
А по дублям смотрите в яндекс вебмастере какие страницы у вас в индексе лишние.
Чтобы удалить из яндекса страницы (дубли например), зайдите в яндекс мастер выбрав нужный сайт -> инструменты -> удаление страниц из поиска.
Укажите страницы которые надо удалить, и нажмите кнопку удалить. Через некоторое время робот удалит их из своего индекса 🙂
Чтобы удалить из гугла, надо зайти в свой Google Search Console выбрать свой сайт — > Прежние инструменты и отчеты — > Удаления. Вы попадете в инструмент «Удалить URL-адреса». Там нажмите кнопку «Временно скрыть» и вставляйте адреса которые хотите удалить. Они будут скрыты на 90 дней из индекса.
Чтобы они заново не появились, поработайте над своим robots.txt
В вебмастере mail.ru нет такого инструмента, зато там вы можете заказать полную переиндексацию, она находится в главном меню и называется Переиндексация. Щелкаете ссылочку и усё. Этим можно пользоваться 1 раз в неделю.
Ещё раз повторюсь, заранее поработайте на robots.txt чтобы не надо было проделывать всю работу заново. 🙂
Такое редактирование файла functions.php не всегда помогает. Если картинка на главной, то происходит зацикливание редиректа.
Плагин в этом случае сработал хорошо.
functions.php — не помог. Плагин отрабатывает отлично!