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, 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