{"id":232171,"date":"2023-01-17T18:39:00","date_gmt":"2023-01-17T15:39:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232171"},"modified":"2023-01-30T15:17:43","modified_gmt":"2023-01-30T12:17:43","slug":"uso-de-la-expresion-regular-para-reemplazar-enlaces-externos-en-wordpress-con-fines-de-seo","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/uso-de-la-expresion-regular-para-reemplazar-enlaces-externos-en-wordpress-con-fines-de-seo\/","title":{"rendered":"Uso de la expresi\u00f3n regular para reemplazar enlaces externos en WordPress con fines de SEO"},"content":{"rendered":"<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-156929-61e5c8dc63c9f.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-156929-61e5c8dc63c9f.jpg\" alt=\"Uso de la expresi\u00f3n regular para reemplazar enlaces externos en Wordpress con fines de SEO\"><\/a><\/p>\n<p>wordpress-pad<\/p>\n<p>Digamos que queremos poner un REL=NOFOLLOW en todos los enlaces externos en sus publicaciones\/p\u00e1ginas de wordpress, podemos agregar un filtro para analizar el contenido usando la funci\u00f3n de reemplazo <a href=\"https:\/\/helloacm.com\/the-variable-expansion-algorithm-using-regular-expression-in-javascript\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">de expresi\u00f3n regular<\/a>, por ejemplo, preg_replace_callback.<\/p>\n<pre><code>add_filter('the_content','add_utm_string',999);\nfunction add_utm_string($content){\n\u00a0 $content = preg_replace_callback('~hrefs*=s*['\"](.*)['\"]~i', function ($matches) {\n\u00a0 \u00a0 \u00a0$home_url = parse_url(home_url())['host'];\n\u00a0 \u00a0 \u00a0if (stripos($matches[1], $home_url) === false) {\n\u00a0 \u00a0 \u00a0 \u00a0 return 'href=\"'.$matches[1]. '?utm_source='. $home_url. '\" rel=nofollow';\n\u00a0 \u00a0 \u00a0}\n\u00a0 \u00a0 \u00a0return 'href=\"'.$matches[1].'\"';\n\u00a0 }, $content);\n\u00a0 return $content;\n}<\/code><\/pre>\n<p>A\u00f1adimos la funci\u00f3n de filtro add_utm_string al filtro the_content. Luego usamos la funci\u00f3n PHP preg_replace_callback que analiza la cadena HTML de la publicaci\u00f3n\/p\u00e1gina actual de wordpress y reemplaza el hiperv\u00ednculo si es externo.<\/p>\n<p>Usamos lo siguiente para extraer el nombre de dominio actual, por ejemplo <a href=\"https:\/\/helloacm.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">, helloacm.com<\/a> de su sitio de wordpress.<\/p>\n<pre><code>$home_url = parse_url(home_url())['host'];<\/code><\/pre>\n<p>Entonces, podemos excluir nuestros propios enlaces. De lo contrario, a todos los enlaces externos se les agregar\u00e1 la etiqueta &quot;NOFOLLOW&quot; y el par\u00e1metro de consulta ?utm_source. Por supuesto, puede personalizar la creaci\u00f3n de enlaces f\u00e1cilmente.<\/p>\n<p>La funci\u00f3n PHP preg_replace_callback toma el primer par\u00e1metro: Patr\u00f3n de expresi\u00f3n regular, el segundo par\u00e1metro es una funci\u00f3n de devoluci\u00f3n de llamada cuando el patr\u00f3n coincide y el tercer par\u00e1metro es la cadena original.<\/p>\n<p>Este es un ajuste \u00fatil para su plantilla de <a href=\"https:\/\/wordpress.mediadoma.com\/es\/como-optimizar-el-sitio-web-de-wordpress-para-la-velocidad\/\" title=\"wordpress\">wordpress<\/a> (puede agregar la funci\u00f3n PHP anterior a su plantilla de tema functions.php) que mejora su SEO de wordpress.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Uso de la expresi\u00f3n regular para reemplazar enlaces externos en WordPress con fines de SEO<\/p>\n","protected":false},"author":1,"featured_media":237120,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[892,831,992,914,800,1003,840,861],"tags":[1172],"class_list":["post-232171","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-guia-para-principiantes","category-marketing-de-contenidos","category-otro","category-php-2","category-seo-3","category-tutoriales","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/232171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=232171"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/232171\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/237120"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=232171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=232171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=232171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}