Cum să eliminați paginile de autor?
Am trimis site-ul meu către Google și acum pagina de autor apare în rezultatele căutării.
http://www.domain.com/author/myusername
Cum pot preveni ca numele meu și ale altor autori să apară în rezultatele căutării?
Ar fi cel mai bine să dezactivez complet calea "/author/" deoarece nu este un blog ci un site de produse (conține doar pagini).
Am făcut o căutare anterioară și am văzut că există plugin-uri pentru aceasta, dar aș prefera să nu instalez un plugin (uneori nu sunt actualizate) dacă există o altă metodă, dar o voi face dacă trebuie.
De asemenea, am căutat prin codul sursă al paginilor și nu am văzut niciun link către pagina de autor.

Răspunsul de mai sus este bun, dar dacă redirecționezi către pagina principală, ar trebui să specifici un status 301 și să închei scriptul după aceea.
add_action('template_redirect', 'my_custom_disable_author_page');
function my_custom_disable_author_page() {
global $wp_query;
if ( is_author() ) {
// Redirecționează către pagina principală, setează statusul la 301 redirecționare permanentă.
// Funcția utilizează implicit 302 redirecționare temporară.
wp_redirect(get_option('home'), 301);
exit;
}
}
Documentația wp_redirect() https://developer.wordpress.org/reference/functions/wp_redirect/

În prezent folosesc Yoast SEO Plugin pentru a elimina paginile autorului. Doar schimbă opțiunea pentru a nu scana/indexa acea taxonomie și vei fi gata. Nu este necesar cod.

Aceasta nu este o soluție bună pentru ascunderea paginilor autorului. Dacă ghicești login-ul autorului, vei fi redirecționat, dar dacă introduci un slug de autor inexistent, vei primi o eroare 404. Abordarea corectă ar trebui să redirecționeze sau să returneze 404 în toate cazurile.

Pentru ca cererea de scurtătură /?author=1
să fie tratată în același mod, prioritatea add_action
ar trebui să fie setată mai mică decât valoarea implicită 10. Astfel, va fi executată înainte de hook-ul implicit redirect_canonical
și nu va fi sărit de acesta. Fără această setare, o astfel de scurtătură va divulga numele autorului prin redirecționarea către /author/authorname
(care apoi va fi redirecționată către pagina principală conform codului pe care îl comentez).

De asemenea, poți adăuga redirecționarea direct în template-ul autorului. În tema ta WordPress, editează fișierul author.php pentru a redirecționa utilizatorii către pagina principală. Dacă tema ta nu are un template pentru paginile de autor, creează un fișier numit author.php.
author.php: (Folosind funcția php header)
<?php
//Redirecționează paginile de autor către pagina principală
header("HTTP/1.1 301 Moved Permanently");
header("Location: /");
die(); // evită procesarea ulterioară a PHP
//Asta e tot
Partea cu die()
este pentru a evita ca oricine folosește un client care NU urmează antetul de redirecționare să vadă conținutul paginii, deoarece WP ar continua să construiască pagina originală de autor și să trimită răspunsul către clientul care o solicită.
ACTUALIZARE: WordPress are câteva funcții integrate pentru gestionarea redirecționărilor: wp_redirect() și wp_safe_redirect(). wp_redirect() acceptă un șir ca locație de redirecționare și un întreg ca tip de redirecționare (302 este implicit). wp_safe_redirect() este la fel ca wp_redirect(), cu excepția faptului că se asigură că locația de redirecționare se află într-o listă de gazde permise.
author.php: (Folosind funcția WordPress wp_safe_redirect)
<?php
//Redirecționează paginile de autor către pagina principală cu funcția WordPress de redirecționare
wp_safe_redirect( get_home_url(), 301 );
exit;
//Asta e tot
Mai multe informații
- Ierarhia template-urilor WordPress: https://developer.wordpress.org/themes/basics/template-hierarchy/
- Funcția PHP header: https://www.php.net/manual/en/function.header.php
- Funcția WordPress wp_safe_redirect: https://codex.wordpress.org/Function_Reference/wp_safe_redirect

Puteți dezactiva accesul la paginile de autor adăugând acest fragment de cod în fișierul functions.php:
// Dezactivează accesul la pagina de autor
add_action('template_redirect', 'my_custom_disable_author_page');
function my_custom_disable_author_page() {
global $wp_query;
if ( is_author() ) {
$wp_query->set_404();
status_header(404);
// Redirecționează către pagina principală
// wp_redirect(get_option('home'));
}
}

Puteți dezactiva accesul la paginile de autor dacă adăugați următorul cod în fișierul functions.php:
add_action('template_redirect', 'my_custom_disable_author_page');
function my_custom_disable_author_page() {
global $wp_query;
if ( is_author() ) {
$wp_query->set_404();
status_header(404);
}
}
