Статьи

Исправление карты сайта Rank Math WPBakery — не обычное дело

Многие из нас начали использовать новый плагин SEO для наших сайтов WordPress. Похоже, у нас наконец-то появился альтернативный плагин для Yoast. Не поймите меня неправильно, мне очень понравился Yoast, но я устал от их рекламы о покупке премиум-класса … Почему премиум? Хорошие опции не всегда должны быть платными. На помощь приходит Rank Math. За короткое время более 30k + установок и 5 звезд.

Я использую Rank Math на всех своих сайтах уже больше месяца, и мне это очень нравится! Его очень легко настроить (Rank Math может скопировать ваши настройки Yoast), великолепный бэкэнд и, что более важно, очень простое в использовании. Вдобавок ко всему, все работает, Google доволен работой, которую Rank Math делает на моих сайтах.

Похоже на прекрасную историю. Во время тестов я действительно обнаружил одну неприятную вещь. Google не индексирует мои изображения. После некоторой проверки Армандов из A-Fotografy и я обнаружил, что ни одного из них не было в карте сайта. Сообщения в блоге были хорошими, но 0 изображений на страницах. Страницы были созданы с помощью WPBakery Page Builder. Вот в чем проблема – что-то не работает между WPBakery и Rank Math.

Решение

Благодаря отличной поддержке Rank Math у нас есть решение! И его очень просто применить ко всем, кто использует WPBakery и Rank Math.

add_filter( 'rank_math/sitemap/urlimages', function( $images, $id ){
    if (empty( $images) ) {
        $post = get_post( $id );
        if ($post && strpos( $post->post_content, '[vc_row') !== false) {
            preg_match_all( '/(?:image|images|ids|include)="([^"]+)"https://techblog.sdstudio.top/", $post->post_content, $matches );
            foreach ($matches[1] as $m) {
                $ids = explode( ',', $m );
                foreach ($ids as $id) {
                    if ((int) $id) {
                        $images[] = array(
                            'src' => wp_get_attachment_url( $id ),
                            'title' => get_the_title( $id ),
                        );
                    }
                }
            }
        }
    }

    return $images;
}, 10, 2 );

Скопируйте приведенный выше код как есть и вставьте его в конец файла functions.php (в идеале в дочернюю тему, чтобы код оставался после обновления). Благодаря этим нескольким строкам кода ваши изображения на страницах, созданных WPBakery, снова появятся в карте сайта и поиске изображений Google.

Простое рабочее решение! Наслаждайтесь!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Кнопка «Наверх»

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: