2016-02-03 3 views
0

У меня возникли проблемы с отображением канонических тегов на моем веб-сайте WordPress/WooCommerce.PHP if is_product echo canonical link

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

Это пример кода, который мы имеем в настоящее время. Весь код в нашем файле header.php:

<?php 
    // Achilles Desert Hawk UHP 
    if(is_product(array('245-40-r20-99v-achilles-desert-hawk-uhp-e-c-72', '245-45-r20-99v-achilles-desert-hawk-uhp-e-c-72', '255-45-r20-105v-achilles-desert-hawk-uhp-f-c-72'))) 
    { 
    echo '<link rel="canonical" href="https://tyresdirectuk.co.uk/achilles-tyres/desert-hawk-uhp/" />'; 
    } 

    // General Grabber GT 
    elseif(is_product(array('195-80-r15-96h-general-grabber-gt-e-c-71', '205-70-r15-96h-general-grabber-gt-e-c-71', '205-80-r16-104t-general-grabber-gt-e-c-72', '215-60-r17-96h-general-grabber-gt-e-c-71', '215-65-r16-98h-general-grabber-gt-e-c-71', '215-65-r16-98v-general-grabber-gt-e-c-71', '215-70-r16-100h-general-grabber-gt-e-c-71', '225-55-r17-97v-general-grabber-gt-e-c-71', '225-55-r18-98v-general-grabber-gt-e-c-71', '225-60-r18-100h-general-grabber-gt-e-c-71', '225-65-r17-102v-general-grabber-gt-e-c-71', '225-70-r16-103h-general-grabber-gt-e-c-71', '235-50-r18-97v-general-grabber-gt-e-c-71'))) 
    { 
    echo '<link rel="canonical" href="https://tyresdirectuk.co.uk/general-tyres/grabber-gt/" />'; 
    } 

// Kumho Road Venture AT KL78 
elseif(is_product(array('30-950-r15-104s-kumho-road-venture-at-kl78-f-e-78', '195-80-r15-100s-kumho-road-venture-at-kl78-e-e-74', '205-75-r15-97s-kumho-road-venture-at-kl78-e-e-74', '205-80-r16-104s-kumho-road-venture-at-kl78-e-e-74'))) 
{ 
echo '<link rel="canonical" href="https://tyresdirectuk.co.uk/kumho-tyres/road-venture-at-kl78/" />'; 
} 
?> 

Так в основном, проблема заключается в том, что соответствующие канонические ссылки не выводятся на правильные страницы.

Вот пример: https://tyresdirectuk.co.uk/shop/tyres/205-75-r15-97s-kumho-road-venture-at-kl78-e-e-74/

Это должно иметь следующую строку кода между <head></head> тегами:

<link rel="canonical" href="https://tyresdirectuk.co.uk/kumho-tyres/road-venture-at-kl78/" /> 

, но вместо этого он говорит:

<link rel="canonical" href="https://tyresdirectuk.co.uk/achilles-tyres/desert-hawk-uhp/" /> 

Если кто-нибудь может пожалуйста, сообщите на это было бы очень полезно, поскольку я не могу понять это:

ответ

0

Похоже, ваша функция is_product() возвращает true, когда она должна возвращать false - возможно, всегда true. Таким образом, первая ветвь выполняется вместо остальных.