Problema con URL
-
Uso desde hace tiempo el plugin «SEO Nofollow External» (https://es.wordpress.org/plugins/seo-nofollow-external/)
Es muy antiguo pero tan sencillo en su concepción que sigue cumpliendo su cometido sin problemas.Solo le he encontrado una pequeña pega que me gustaría resolver. El caso es que el plugin no añade «rel» cuando en la ruta aparece la palabra «release».
No consigo encontrar el motivo ni mucho menos solucionarlo. Acudo por ello a vosotros. A ver si alguien es capaz de encontrar la solución. Gracias.
El código del plugin es muy sencillo:
<?php /* Plugin Name: SEO Nofollow External Plugin URI: http://codeilike.com/nofollow-external Description: Automatically add rel="nofollow" and target="_blank" to all external links. To get started, click the "Activate" link to the left of this description. Author: Ifty Rahman Author URI: http://ifty.info/ Version: 0.1 License: GPL version 2 or later - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html */ // Make All External Link Nofollow add_filter('the_content', 'cil_nofollow_external'); function cil_nofollow_external($content){ return preg_replace_callback('/<a[^>]+/', 'cil_nofollow_callback', $content); } function cil_nofollow_callback($matches){ $link = $matches[0]; $mu_url = get_bloginfo('url'); if (strpos($link, 'rel') === false){ // modificado para add noopener y noreferrer // $link = preg_replace("%(href=\S(?!$mu_url))%i", 'rel="nofollow" $1', $link); $link = preg_replace("%(href=\S(?!$mu_url))%i", 'rel="nofollow noopener noreferrer" $1', $link); }elseif (preg_match("%href=\S(?!$mu_url)%i", $link)){ // modificado para add noopener y noreferrer // $link = preg_replace('/rel=S(?!nofollow)\S*/i', 'rel="nofollow"', $link); $link = preg_replace('/rel=S(?!nofollow)\S*/i', 'rel="nofollow noopener noreferrer"', $link); } return $link; } // Automatically add target="_blank" add_filter('the_content', 'cil_new_tab_link'); function cil_new_tab_link($content){ return preg_replace_callback('/<a[^>]+/', 'cil_target_callback', $content); } function cil_target_callback($matches){ $link = $matches[0]; $mu_url = get_bloginfo('url'); if (strpos($link, 'target') === false){ $link = preg_replace("%(href=\S(?!$mu_url))%i", 'target="_blank" $1', $link); }elseif (preg_match("%href=\S(?!$mu_url)%i", $link)){ $link = preg_replace('/target=S(?!_blank)\S*/i', 'target="_blank"', $link); } return $link; } ?>
Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
- El debate ‘Problema con URL’ está cerrado a nuevas respuestas.