Come rimuovere le pagine autore?
Ho sottomesso il mio sito a Google e ora la pagina autore appare nei risultati di ricerca.
http://www.domain.com/author/myusername
Come posso impedire che il mio nome utente e quello degli altri autori appaiano nei risultati di ricerca?
Sarebbe meglio disabilitare completamente il percorso "/author/" poiché non è un blog ma un sito di prodotti (contiene solo pagine).
Ho fatto una ricerca e ho visto che ci sono plugin per fare questo, ma preferirei non installare un plugin (a volte non vengono aggiornati) se c'è un altro modo, ma lo farò se necessario.
Ho anche cercato nel codice sorgente delle pagine e non ho visto alcun link alla pagina autore.

La risposta precedente è valida, ma se si reindirizza alla home page, dovrebbe specificare uno stato 301 e terminare dopo.
add_action('template_redirect', 'my_custom_disable_author_page');
function my_custom_disable_author_page() {
global $wp_query;
if ( is_author() ) {
// Reindirizza alla home page, imposta lo stato a 301 (reindirizzamento permanente).
// La funzione predefinita utilizza un reindirizzamento temporaneo 302.
wp_redirect(get_option('home'), 301);
exit;
}
}
Documentazione di wp_redirect() https://developer.wordpress.org/reference/functions/wp_redirect/

Attualmente utilizzo il plugin Yoast SEO per rimuovere le pagine degli autori. Basta modificare l'opzione per non scansionare/indicizzare quella tassonomia e il gioco è fatto. Non è necessario alcun codice.

Questa non è una buona soluzione per nascondere le pagine degli autori. Se indovini il login dell'autore, verrai reindirizzato, ma se inserisci uno slug di autore inesistente, otterrai un errore 404. L'approccio corretto dovrebbe reindirizzare o restituire 404 in tutti i casi.

Affinché la richiesta di shortlink /?author=1
venga gestita allo stesso modo, la priorità di add_action
dovrebbe essere impostata più bassa del valore predefinito 10. In questo modo verrà eseguita prima dell'hook predefinito redirect_canonical
e quindi non verrà saltata da esso. Senza questa modifica, tale shortlink potrebbe rivelare il nome dell'autore attraverso il reindirizzamento a /author/nomeautore
(che poi verrà reindirizzato alla home per il codice che sto commentando).

Puoi anche aggiungere il reindirizzamento direttamente nel template dell'autore. Nel tuo tema WordPress, modifica il file author.php per reindirizzare gli utenti alla tua homepage. Se il tuo tema non ha un template per le pagine degli autori, crea un file chiamato author.php.
author.php: (Utilizzando la funzione header di PHP)
<?php
//Reindirizza le pagine degli autori alla homepage
header("HTTP/1.1 301 Spostato Permanentemente");
header("Location: /");
die(); // evita ulteriore elaborazione PHP
//Fine del codice
La parte die()
serve per evitare che chiunque utilizzi un client che NON segue l'header di reindirizzo veda il contenuto della pagina, dato che WordPress continuerebbe a costruire la pagina originale dell'autore e inviare la sua risposta al client che la richiede.
AGGIORNAMENTO: WordPress ha alcune funzioni integrate per gestire i reindirizzamenti: wp_redirect() e wp_safe_redirect(). wp_redirect() accetta una stringa come posizione di reindirizzamento e un intero come tipo di reindirizzamento (302 è il valore predefinito). wp_safe_redirect() è uguale a wp_redirect() tranne per il fatto che verifica che la posizione di reindirizzamento sia presente in un elenco di host consentiti.
author.php: (Utilizzando la funzione wp_safe_redirect di WordPress)
<?php
//Reindirizza le pagine degli autori alla homepage con la funzione di reindirizzamento di WordPress
wp_safe_redirect( get_home_url(), 301 );
exit;
//Fine del codice
Ulteriori informazioni
- Gerarchia dei template di WordPress: https://developer.wordpress.org/themes/basics/template-hierarchy/
- Funzione header di PHP: https://www.php.net/manual/en/function.header.php
- Funzione wp_safe_redirect di WordPress: https://codex.wordpress.org/Function_Reference/wp_safe_redirect

Puoi disabilitare l'accesso alle pagine degli autori aggiungendo questo snippet a functions.php:
// Disabilita l'accesso alla pagina autore
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);
// Reindirizza alla homepage
// wp_redirect(get_option('home'));
}
}

Puoi disabilitare l'accesso alle pagine degli autori aggiungendo il seguente codice nel file 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);
}
}
