Отключение страницы вложения в WordPress

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

Типично, что такие страницы не несут какой то пользы для посетителей сайта, захламляя базу проиндексированных страниц проекта в поисковых системах. Не имея уникальных описаний, комментариев, медиа-страницы могут периодически то выпадать из выдачи, то возвращаться обратно в список, отнимая внимание и ресурсы поисковиков от действительно полезного содержимого вашего сайта.

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

Варианты решения проблемы.

Редирект на родителя

Обычно вложения — это картинки, загруженные для конкретной публикации. Потому один из блоггеров предлагает хитроумное решение — редирект на родительскую статью. Впрочем реализация, которую предлагает автор, не очень удачная — редирект из шаблона, для чего код файла темы оформления attachment.php или image.php он предлагает заменить на следующий:

Если вы хотите добиться подобного результата (перенаправление на статью-родителя), то предлагаю другой вариант. Добавьте в файл functions.php вашей темы код:

Эта реализация не учитывает разные ситуации, но при необходимости их обработку можно добавить. К примеру, если attachment не имеет родителя по той или иной причине, то перенаправление будет произведено опять на адрес страницы вложения (будет зацикленный редирект).

Страница не найдена

Более верный подход, на мой взгляд, состоит в том, чтобы перенаправлять запросы на страницу с кодом 404, если уж мы говорим, что страниц-вложений не должно быть вообще на сайте. Организовать это можно вот так:

Мы пользуемся зацепкой template_redirect, где проверяем тип страницы. Для страниц вложений воспроизводится ошибка 404 и вывод соответствующего шаблона.

Мало букафф? Читайте есчо !

Добавить favicon в шаблон на WP

Февраль 25, 2023 г.

Обычно настройки шаблона позволяют установить иконку через админ панель. Но если такой опции нет, то всегда можно добавить favicon программно. Для начала поместите вашу иконку favicon.png в каталог темы. Современные браузеры поддерживают разные ...

Читать

Powered by wordpress plugin, или нет надо мной твоей власти, Завулон

Сентябрь 30, 2015 г.

Люди далекие от программирования, но пожелавшие заиметь свой блог не каком то livejournal или instagram, а так, чтобы он был совсем свой, "типа как сайт", ...

Читать

SQL скрипт для удаления комментариев не прошедших проверку

Декабрь 8, 2015 г.

Есть у меня несколько сайтов на wordpress, которые я когда то сделал в порыве энтузиазма, а теперь не занимаюсь ими особо. На днях обратил внимание, что один из них содержит > 12000 непроверенных комментариев. Комментарии я давно не публикую сразу, ...

Читать

Как добавить своё поле в попап медиафайла WordPress через class-плагин

Июнь 12, 2025 г.

Иногда стандартных полей WordPress для медиафайлов недостаточно. В этой статье я расскажу, как добавить собственное поле в окно редактирования вложения (attachment) — то самое, что появляется при открытии медиафайла в библиотеке. Мы не просто добавим ...

Читать
 

Комментарии к «Отключение страницы вложения в WordPress»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий:

Много комментариев в “Отключение страницы вложения в WordPress”

  1. Уставший:

    Братан, держи краба, твое решение вопроса с 404 очень помогло. Всех благ тебе!

  2. Александр:

    Спасибо огромное. Редко пишу комментарии, но вариант с 404 оказался именно тем, что я искал, от души :)

  3. Слава:

    Добрый день! А что делать, если я хочу, чтоб гугл показывал картинки в Google Images?? Ваш последний вариант подойдёт? Спасибо

    • Речь идет не о самих картинках, которые конечно же будут индексируются ПС, а о дополнительных страницах вложений, которые формирует WP автоматически.

  4. серих:

    у меня не работает, все сделал верно. что может быть?