Когда Бета вебмастер Яндекса пишет ошибку
Неизвестный тег image:image (25 предупреждений)
стр. поз.
8 image:image
12 image:image
…
Можно удалить тег image:image из плагина формирования sitemap. Но это грубо и некорректно, поэтому, применим другое решение.
Вот верное решение:
1 2 3 4 5 6 7 8 9 | add_filter( 'wpseo_sitemap_url', function ($output, $url) { $output = preg_replace("'<image:image[^>]*?>.*?</image:image>'si", '', $output); return $output; }, 10, 2 ); |
Которое любезно опубликовал alkoweb.ru, спасибо ему за это.
Ниже приведено старое решение:
Для плагина WordPress SEO Yoast удалить теги image из Sitemap можно следующим образом:
1 | if ( empty( $url['images'] ) ) { |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | if ( empty( $url['images'] ) ) { $url['images'] = array(); } foreach ( $url['images'] as $img ) { if ( empty( $img['src'] ) ) { continue; } $output .= "\t\t<image:image>\n"; $output .= "\t\t\t<image:loc>" . esc_html( $img['src'] ) . "</image:loc>\n"; if ( ! empty( $img['title'] ) ) { $title = _wp_specialchars( html_entity_decode( $img['title'], ENT_QUOTES, $this->charset ) ); $output .= "\t\t\t<image:title><![CDATA[{$title}]]></image:title>\n"; } if ( ! empty( $img['alt'] ) ) { $alt = _wp_specialchars( html_entity_decode( $img['alt'], ENT_QUOTES, $this->charset ) ); $output .= "\t\t\t<image:caption><![CDATA[{$alt}]]></image:caption>\n"; } $output .= "\t\t</image:image>\n"; } unset( $img, $title, $alt ); $output .= "\t</url>\n"; |
Сохраняем и загружаем файл на сервер, f5 и вуаля, теги image из Sitemap удалены. Отправляем обратную связь с яндекс вебмастер.
Последние две строки комментировать не нужно, получится ерунда… до unset в комменты и всё хорошо будет!
Что то уже нет такого файла, поменяли что-то!
Ещё бы написали что такое закомментировать, или скрин уже исправленного файла.
Мда, очень развернутый ответ, жесть, еще и с ошибками