Znaczniki „cannonical” są niezbędne wszędzie tam, gdzie jedna strona funkcjonuje pod kilkoma adresami URL. Taka sytuacja może mieć miejsce, gdy np. jedna ze stron w Wordpresie jest stroną główną – wtedy funkcjonuje ona pod adresem strony głównej czyli www.mojadresstrony.pl oraz pod adresem wynikającym z faktu, że jest to jedna ze stron WordPressa (np. www.mojadresstrony.pl/strona-glowna/).
Wskazanie na drugiej stronie (/strona-glowna) adresu „cannonical” określa nam, że dana strona jest kopią strony głównej.
WordPress znacznik „canonical” generuje automatycznie dla każdej ze stron i każda ze stron ma swój znacznik.
Jeśli chcemy to zmienić musimy do naszego pliku functions.php, który znajduje się w katalogu szablonu, dodać następujący kawałek kodu:
<?php
remove_action('wp_head', 'rel_canonical');
add_action('wp_head', 'my_rel_canonical');
function my_rel_canonical() {
if (is_page('strona-glowna') ) {
global $post;
echo "<link rel='canonical' href='http://www.123strona.pl/' />\n";
} else {
rel_canonical();
}
}
?>
Oczywiście musimy odpowiednio zmodyfikować warunek IF oraz adres strony, który znajdzie się w znaczniku cannonial.
opracowane na podstawie stackoverflow.com