- Home
- Categorie
- Coding e Sistemistica
- WordPress
- WP multi user nofollow
-
WP multi user nofollow
Salve ragazzi,
ho installato wp multi user in una sotto cartella del mio sito e vorrei far indicizzare a google il contenuto dei mini siti che gli utenti creano ma se all'interno di questi mini siti sono presenti collegamenti a siti esterni (post spam o altro) non vorrei che li seguisse.Avevo pensato al disallow: nomesottocartella/ in htaccess
ma questo non và bene perchè non indicizzerebbe il contenuto dei sottositi.Come posso fare?
Grazie in anticipo.
-
Potresti provare con dei plugin cercando con la parola external links per esempio.
-
Se non vuoi utilizzare dei plugin inserisci questo codice nel file function.php e ti aggiungerà il rel nofollow a tutti i link esterni
[PHP]add_filter('the_content', 'my_nofollow');
add_filter('the_excerpt', 'my_nofollow');
function my_nofollow($content) {
return preg_replace_callback('/<a[^>]+/', 'my_nofollow_callback', $content);
}
function my_nofollow_callback($matches) {
$link = $matches[0];
$site_link = get_bloginfo('url');
if (strpos($link, 'rel') === false) {
$link = preg_replace("%(href=\S(?!$site_link))%i", 'rel="nofollow" $1', $link);
} elseif (preg_match("%href=\S(?!$site_link)%i", $link)) {
$link = preg_replace('/rel=\S(?!nofollow)\S*/i', 'rel="nofollow"', $link);
}
return $link;
}[/PHP]
-
Grazie per la risposta.
Per file functions.php ti riferisci al file presente nella cartella wp-admin/admin-functions.php?
Grazie ancora.
-
Non conosco wp multi user, io mi riferivo al file function.php presente all'interno di ogni tema WP
-
Grazie Elmanisero,
Wp MU dalla versione 3 è strutturalmente quasi del tutto simile a WP, infatti ho trovato il file a cui ti riferivi.Ho aggiunto le tue funzioni in fondo alla pagina ma ho notato esaminando il codice html sorgente della pagina web, che in presenza di link esterni non aggiunge l'attributo nofollow. Tu hai già testato questo script su WP?
Grazie ancora,
Alfio.
-
si l'ho testato e funziona
-
Uhm..mi potresti dire in che punto l'hai messo? (anche se non credo sia molto importante)
tu vedi l'attributo no follow in ogni link esterno o lo utilizzi in qualche altro modo?Grazie.
-
Io non lo uso, ho solo fatto una ricerca su google e l'ho testato su un sito in locale.
Come puoi vedere qui sotto ci sono le immagini del file function, del post e del codice sorgente
-
Effettivamente adesso che ho inserito in un commento e in un nuovo post un link compare l'attributo rel valorizzato a nofollow , il problema però rimane nella slidebar infatti i link presenti in questa barra (che puntano ad un sito esterno) non vengono modificati.
Grazie mille elmanisero per il tuo aiuto.
-
In effetti quel codice inserisce il rel nofollow solo nel content della pagina o post, I commenti sono di default con il rel nofollow. Per metterli anche nella sidebar si deve agire sui codici del core di wordpress. Io sconsiglio di modificare il core perchè ogni volta che aggiorni la versione di wordpress cancelli le modifiche ma se proprio lo vuoi fare, se cerchi su google troverai delle guide a tal proposito.