Przekierowanie na post, jeżeli na stronie kategorii lub tagu znajduje się jeden wpis

WordPress Blog

Zdarza się, że mamy kategorie lub tagi, w których znajduje się jeden wpis – jedni specjaliści SEO zalecają, aby strony tagów i kategorii były zablokowane dla indeksowania przez wyszukiwarki, a inni wręcz przeciwnie.

Z doświadczenia jednak strony tagów i kategorii mają całkiem dobre pozycje w Google i fakt, czasem następuje kanibalizacja słów kluczowych (tag jest wyżej niż artykuł lub wyświetla się strona tagu zamiast artykułu).

Problem

Posiadałem kilka tagów, które miały całkiem dobre pozycje w Google i były bardzo dobrze klikalne, a przecież czytelnicy chcieli się dostać do artykułu na dany temat, a nie spisu, w którym znajduje się tylko ten jeden wpis i dopiero kliknięcie w kafelek na stronie tagu przekierowywało do treści, która ich interesowała.

Poniższy snippet rozwiązuje ten problem. 

function jcz_jeden_post(){
global $wp_query;
if( is_archive() && $wp_query->post_count == 1 ){
the_post();
$post_url = get_permalink();
wp_redirect( $post_url );
}
}
add_action('template_redirect', 'jcz_jeden_post');

Działa bardzo prosto – Jeżeli na stronie tagu lub kategorii (strony archiwum) znajduje się tylko jeden wpis, przekierowuje do niego.

Jak dodać ten kod do WordPress?

Kod ten dodaj do motywu w pliku functions.php, najlepiej motywu potomnego lub własnej wtyczki funkcyjnej. Przed „?>” na końcu pliku (może tego fragmentu nie być i wtedy po prostu na końcu). Więcej szczegółów w artykule: Własny kod w WordPress.

Oceń ten artykuł jako pierwszy
dHosting najlepszy serwer dla wordpress i nie tylko
Powiązane tematy: WordPress

Na stronie mogą znajdować się linki polecające (affiliacyjne), które pozwalają utrzymać bloga. Zakup z mojego polecenia nie generuje dla Ciebie dodatkowych kosztów, a ja otrzymam prowizje od kwoty zapłaconej.

Przyłącz się do dyskusji