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

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

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

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

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

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

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

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

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

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

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

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

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

Сортировка публикаций в архиве по наличию прикрепленного изображения в Wordpress

Февраль 9, 2019 г.

Практическая задача, когда требуется "спрятать" в конец списка публикации, для которых пока нет прикрепленного изображения. Это может быть архив или страница какой то рубрики, таксономии и т.п. Лента таких страниц базируется на результате запроса ...

Читать

Отключаем вывод itok в url картинок Drupal

Август 23, 2016 г.

В Drupal 7 возможность создания миниатюр картинок (т.н. стилей),  включена в ядро. Разработчиков, видимо, заботило преодоление кеширования, и они добавляют к адресу миниатюры хеш-токен - itok. Т.е. адрес картинки выглядит так: [crayon-6af6cd473e66c396812641/] ...

Читать

Как добавить поддержку thumbnail в кастомный тип публикации

Август 16, 2020 г.

У базовых записей WP есть поддержка поля миниатюры, т.н. прикрепленное изображение. Рассмотрим как добавить поле миниатюры в редактор произвольного типа публикации (custom post type). А в конце статьи - пример вставки миниатюры в шаблон вашей публикации. ...

Читать

Получить ID публикации по адресу (slug, path, name) в WP

Февраль 8, 2018 г.

Wordpress API очень разрослось, и почти на каждый случай есть своя функция. И в этой куче функций найти то, что нужно, бывает не просто. Задача - получить ID публикации по её адресу, а вернее значению slug или post_name. В кодексе есть подходящая ...

Читать
 

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

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



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

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

  1. Уставший:

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

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

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

  3. Слава:

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

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

  4. серих:

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

  5. Илья:

    Я для таких задач предпочитаю клирфи про. Удобнее настроить всё в одном плагине, чем каждый раз лезть в functions.php и добавлять код вручную.