WordPress по умолчанию создаёт страницы для каждого вложения, существующего на сайте, будь то изображение, аудио или видеозапись. Этот функционал полезен для фотографов, но совершенно бесполезен для нас программистов и не несёт никакой смысловой нагрузки.
Как отключить
Создайте в активной теме вашего сайта шаблон, например, для вывода вложения-изображения image.php и внутри поместите редирект на пост, к которому это вложение прикрепелено:
wp_redirect( get_permalink( $post->post_parent ), 301 ); exit;
Можно пойти дальше и повесить этот же редирект на хук template_redirect, чтобы не создавать лишних шаблонов внутри темы. Для чего в functions.php напишите:
/**
* Редирект со страницы вложения на
* родительский пост
*/
function mihdan_attachment_redirect() {
global $post;
if ( is_attachment() && 0 !== $post->post_parent ) {
wp_redirect( get_permalink( $post->post_parent ), 301 );
exit();
}
}
add_action( 'template_redirect', 'mihdan_attachment_redirect' );
Источник: https://www.kobzarev.com/wordpress/disable-image-attachment-pages-in-wordpress/