Поддержка WooCommerce Woocomerce со страниц товара не даёт 404 ошибку

  • Суть проблемы такая. Есть сайт основанный на woocomerce. Если зайти на страницу товара и добавить любой текст к ссылке, то выдаёт 200, а не 404 ошибку. От этого и проблемы с поисковиками)) они ищут большое кол-во страниц. Как поправить?

    • Тема изменена 1 неделя, 6 дн. назад пользователем  SeVlad. Причина: перенос в подходящий раздел
Просмотр 1 ответа — с 1 по 1 (всего 1)
  • Нашел частичное решение, но всё равно не на всём товаре работает. Часть товара даёт ещё 200 ответ
    Бот гугла и дальше генерирует страницы добавляя ID
    /category/gazpromneft/masla-motornye-gost/?id=8.33036095906277E+22
    /category/gazpromneft/masla-motornye-gost/?id=2.20059884050789E+21

    function fix_missing_404_on_paginated_page() {
        global $wp_query,$page,$paged;
     
        if (!isset($page)) $page = get_query_var('page');
        if (!isset($paged)) $paged = get_query_var('paged');
        if (is_page() || is_single()) {
            $realpagescount = count( explode( '<!--nextpage-->', $wp_query->post->post_content ) );
     
            if ( (isset($page) && isset($realpagescount) && $page >= $realpagescount) || (is_paged() && isset($paged) && $paged >=0 ) ){
            //wp_redirect( home_url() );
                nocache_headers();
                status_header( '404' );
                $wp_query->is_404=true;
                $wp_query->is_single=false;
                $wp_query->is_singular=false;
                $wp_query->post_count=0;
                $wp_query->page=0;
                $wp_query->query['page']='';
                $wp_query->query['posts']=array();
                $wp_query->query['post']=array();
                $wp_query->posts=array();
                $wp_query->post=array();
                $wp_query->queried_object=array();
                $wp_query->queried_object_id=0;
                locate_template('404.php', true);
                exit;
            }
        }
    }
    add_action('template_redirect', 'fix_missing_404_on_paginated_page');
Просмотр 1 ответа — с 1 по 1 (всего 1)