{"id":232910,"date":"2023-01-31T14:00:00","date_gmt":"2023-01-31T11:00:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232910"},"modified":"2023-01-31T14:04:49","modified_gmt":"2023-01-31T11:04:49","slug":"como-caducar-los-enlaces-dofollow-automaticamente-funcion-de-gestion-de-enlaces-seo-en-php","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/como-caducar-los-enlaces-dofollow-automaticamente-funcion-de-gestion-de-enlaces-seo-en-php\/","title":{"rendered":"C\u00f3mo caducar los enlaces DoFollow autom\u00e1ticamente (funci\u00f3n de gesti\u00f3n de enlaces SEO en PHP)"},"content":{"rendered":"\n<p>C\u00f3mo caducar los enlaces DoFollow autom\u00e1ticamente (funci\u00f3n de gesti\u00f3n de enlaces SEO en PHP)<\/p>\n<div class=\"sds-iframe-wrapper fitvidsignore\" style=\"position:relative;padding-top:56.25%;max-width:100%;\"><iframe allowfullscreen style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" src=\"\/\/www.facebook.com\/v2.6\/plugins\/like.php\" frameborder=\"0\"><\/iframe><\/div>\n<p>Encuentro la necesidad de administrar los hiperv\u00ednculos en wordpress en un lugar centralizado. Como tengo muchos enlaces dofollow que ya no son v\u00e1lidos (accesibles). Hacer que esos enlaces inv\u00e1lidos no sigan es imprescindible para los prop\u00f3sitos de optimizaci\u00f3n de motores de b\u00fasqueda (SEO): usted es responsable de eliminar los backlinks muertos para evitar el castigo de SEO.<\/p>\n<p>En esta publicaci\u00f3n, veremos las <a href=\"https:\/\/helloacm.com\/php-function-to-get-exchange-rate-between-cryptocurrency-btc-ltc-eth-to-fiat-currency\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">funciones de PHP<\/a> para administrar los enlaces autom\u00e1ticamente, de modo que pueda caducar autom\u00e1ticamente los enlaces o hacer que otros enlaces no sigan en un solo lugar. Puede usarlo en su sitio web y tambi\u00e9n funciona bien en WordPress, por lo que es posible que deba modificar la funci\u00f3n secundaria de su tema de WordPress para aplicar la transformaci\u00f3n de texto\/enlaces.<\/p>\n<p>Primero, la siguiente funci\u00f3n find_links toma una cadena HTML, por lo que puede alimentarla con la salida HTML y analizar\u00e1 la cadena HTML y buscar\u00e1 cada hiperv\u00ednculo:<\/p>\n<table>\n<tbody>\n<tr>\n<td>\n<pre>1\n2\n3\n4\n5\n6\n<\/pre>\n<\/td>\n<td>\n<pre><span>&lt;?php<\/span>\n<span>function<\/span> find_links<span>(<\/span><span>$htmlString<\/span><span>)<\/span><span>{<\/span>\n&nbsp; &nbsp; <span>$pattern<\/span> <span>=<\/span> <span>'\/&lt;a (.*?)href=[\"'](.*?)\/\/(.*?)[\"'](.*?)&gt;(.*?)&lt;\/a&gt;\/i'<\/span><span>;<\/span>\n&nbsp; &nbsp; <span>$htmlString<\/span> <span>=<\/span> <span>preg_replace_callback<\/span><span>(<\/span><span>$pattern<\/span><span>,<\/span> <span>'process_links'<\/span><span>,<\/span> <span>$htmlString<\/span><span>)<\/span><span>;<\/span>\n&nbsp; &nbsp; <span>return<\/span> <span>$htmlString<\/span><span>;<\/span>\n<span>}<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<pre><code>&lt;?php\nfunction find_links($htmlString){\n    $pattern = '\/&lt;a (.*?)href=[\"'](.*?)\/\/(.*?)[\"'](.*?)&gt;(.*?)&lt;\/a&gt;\/i';\n    $htmlString = preg_replace_callback($pattern, 'process_links', $htmlString);\n    return $htmlString;\n}<\/code><\/pre>\n<p>Como puede notar, la expresi\u00f3n regular est\u00e1 llamando a process_links para cada <a href=\"https:\/\/wordpress.mediadoma.com\/es\/uso-de-la-expresion-regular-para-reemplazar-enlaces-externos-en-wordpress-con-fines-de-seo\/\" title=\"hiperv\u00ednculo\">hiperv\u00ednculo<\/a> que ha encontrado. Y a continuaci\u00f3n, puede agregar el dominio de su sitio en la matriz $good_domains. Y puede establecer dominios que caducan y sus fechas de caducidad correspondientes para que los enlaces se conviertan autom\u00e1ticamente en NOFOLLOW.<\/p>\n<table>\n<tbody>\n<tr>\n<td>\n<pre>1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n37\n38\n39\n40\n<\/pre>\n<\/td>\n<td>\n<pre><span>&lt;?php<\/span>\n<span>function<\/span> process_links<span>(<\/span><span>$m<\/span><span>)<\/span><span>{<\/span>\n&nbsp; &nbsp; <span>$good_domains<\/span> <span>=<\/span> <span>array<\/span><span>(<\/span>\n&nbsp; &nbsp; &nbsp; <span>\"<a target=\"_blank\" href=\"https:\/\/helloacm.com\/\" rel=\"nofollow noopener\"><span>helloacm<\/span><span>.<\/span><span>com<\/span><\/a>\"<\/span>\n&nbsp; &nbsp; <span>)<\/span><span>;<\/span>\n&nbsp; &nbsp; \n&nbsp; &nbsp; <span>$expiring_domains<\/span> <span>=<\/span> <span>array<\/span><span>(<\/span>\n&nbsp; &nbsp; &nbsp; &nbsp; <span>\"<a target=\"_blank\" href=\"http:\/\/fakedomain.com\/\" rel=\"nofollow noopener\"><span>fakedomain<\/span><span>.<\/span><span>com<\/span><\/a>\"<\/span> <span>=&gt;<\/span> <span>\"2099-01-01\"<\/span>\n&nbsp; &nbsp; <span>)<\/span><span>;<\/span>\n&nbsp; &nbsp; \n&nbsp; &nbsp; <span>$nofollow<\/span> <span>=<\/span> <span>\"rel=<span>\"<\/span>nofollow<span>\"<\/span>\"<\/span><span>;<\/span>\n&nbsp; &nbsp; <span>$target<\/span> <span>=<\/span> <span>\"target=<span>\"<\/span>blank<span>\"<\/span>\"<\/span><span>;<\/span>\n&nbsp; &nbsp; \n&nbsp; &nbsp; <span>$m<\/span><span>[<\/span><span>2<\/span><span>]<\/span> <span>=<\/span> <span>strtolower<\/span><span>(<\/span><span>$m<\/span><span>[<\/span><span>2<\/span><span>]<\/span><span>)<\/span><span>;<\/span>\n&nbsp; &nbsp; <span>if<\/span> <span>(<\/span><span>(<\/span><span>$m<\/span><span>[<\/span><span>2<\/span><span>]<\/span> <span>!=<\/span> <span>\"https:\"<\/span><span>)<\/span> <span>&amp;&amp;<\/span> <span>(<\/span><span>$m<\/span><span>[<\/span><span>2<\/span><span>]<\/span> <span>!=<\/span> <span>\"http:\"<\/span><span>)<\/span><span>)<\/span> <span>{<\/span>\n&nbsp; &nbsp; &nbsp; &nbsp; <span>$m<\/span><span>[<\/span><span>2<\/span><span>]<\/span> <span>=<\/span> <span>\"\"<\/span><span>;<\/span>\n&nbsp; &nbsp; <span>}<\/span>\n&nbsp; &nbsp; \n&nbsp; &nbsp; <span>\/\/$domain = str_lower(parse_url($m[3], PHP_URL_HOST));<\/span>\n&nbsp; &nbsp; <span>$domain<\/span> <span>=<\/span> getDomainName<span>(<\/span><span>$m<\/span><span>[<\/span><span>3<\/span><span>]<\/span><span>)<\/span><span>;<\/span>\n&nbsp; &nbsp; <span>$curDomain<\/span> <span>=<\/span> <span>$_SERVER<\/span><span>[<\/span><span>'SERVER_NAME'<\/span><span>]<\/span> ?? <span>\"\"<\/span><span>;<\/span>\n&nbsp; &nbsp; \n&nbsp; &nbsp; <span>if<\/span> <span>(<\/span><span>in_array<\/span><span>(<\/span><span>$domain<\/span><span>,<\/span> <span>$good_domains<\/span><span>)<\/span> <span>||<\/span> <span>(<\/span><span>$curDomain<\/span> <span>==<\/span> <span>$domain<\/span><span>)<\/span><span>)<\/span> <span>{<\/span>\n&nbsp; &nbsp; &nbsp; &nbsp; <span>$nofollow<\/span> <span>=<\/span> <span>\"\"<\/span><span>;<\/span>\n&nbsp; &nbsp; <span>}<\/span>\n&nbsp; &nbsp; \n&nbsp; &nbsp; <span>if<\/span> <span>(<\/span><span>$curDomain<\/span> <span>==<\/span> <span>$domain<\/span><span>)<\/span> <span>{<\/span>\n&nbsp; &nbsp; &nbsp; &nbsp; <span>$target<\/span> <span>=<\/span> <span>\"\"<\/span><span>;<\/span>\n&nbsp; &nbsp; <span>}<\/span> &nbsp; &nbsp; &nbsp; \n&nbsp; &nbsp; \n&nbsp; &nbsp; <span>if<\/span> <span>(<\/span><span>in_array<\/span><span>(<\/span><span>$domain<\/span><span>,<\/span> <span>array_keys<\/span><span>(<\/span><span>$expiring_domains<\/span><span>)<\/span><span>)<\/span><span>)<\/span> <span>{<\/span>\n&nbsp; &nbsp; &nbsp; &nbsp; <span>$expiry<\/span> <span>=<\/span> <span>$expiring_domains<\/span><span>[<\/span><span>$domain<\/span><span>]<\/span><span>;<\/span>\n&nbsp; &nbsp; &nbsp; &nbsp; <span>$today<\/span> <span>=<\/span> <span>date<\/span><span>(<\/span><span>\"Y-m-d\"<\/span><span>)<\/span><span>;<\/span> \n&nbsp; &nbsp; &nbsp; &nbsp; <span>if<\/span> <span>(<\/span><span>$today<\/span> <span>&lt;<\/span> <span>$expiry<\/span><span>)<\/span> <span>{<\/span>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>$nofollow<\/span> <span>=<\/span> <span>\"\"<\/span><span>;<\/span>\n&nbsp; &nbsp; &nbsp; &nbsp; <span>}<\/span> &nbsp; &nbsp; &nbsp; &nbsp;\n&nbsp; &nbsp; <span>}<\/span>\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \n&nbsp; &nbsp; <span>return<\/span> <span>\"&lt;a <span>$nofollow<\/span> <span>$target<\/span> href=<span>\"<\/span><span>{$m[2]}<\/span>\/\/<span>{$m[3]}<\/span><span>\"<\/span>&gt;<span>{$m[5]}<\/span>&lt;\/a&gt;\"<\/span><span>;<\/span>\n<span>}<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<pre><code>&lt;?php\nfunction process_links($m){\n    $good_domains = array(\n      \"<\/code><\/pre>\n<p>La funci\u00f3n cambia dos propiedades de un hiperv\u00ednculo: _target, que estar\u00e1 _blank cuando sea un dominio externo, y rel, que se configurar\u00e1 como nofollow autom\u00e1ticamente. Tambi\u00e9n puede agregar l\u00f3gicas para uniformar todas las URL, por ejemplo, reescrituras autom\u00e1ticas de HTTPS, etiquetas de hiperv\u00ednculos, etc.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-155416-61e55ed6698ca.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-155416-61e55ed6698ca.jpg\" alt=\"C\u00f3mo caducar los enlaces DoFollow autom\u00e1ticamente (funci\u00f3n de gesti\u00f3n de enlaces SEO en PHP)\"><\/a><\/p>\n<p>\u2013EOF (<a href=\"https:\/\/helloacm.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">El blog definitivo sobre inform\u00e1tica y tecnolog\u00eda<\/a>) \u2014<\/p>\n<p>Calificaci\u00f3n: 10.0\/ <strong>10<\/strong> (1 voto emitido)<\/p>\n<div class=\"sds-iframe-wrapper fitvidsignore\" style=\"position:relative;padding-top:56.25%;max-width:100%;\"><iframe allowfullscreen style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" src=\"\/\/www.facebook.com\/v2.6\/plugins\/like.php\" frameborder=\"0\"><\/iframe><\/div>\n<p>536 palabras<br \/>\n<strong>\u00daltimo mensaje<\/strong>: <a href=\"https:\/\/helloacm.com\/teaching-kids-programming-converting-spreadsheet-column-titles-to-number\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Ense\u00f1anza de programaci\u00f3n para ni\u00f1os: conversi\u00f3n de t\u00edtulos de columnas de hojas de c\u00e1lculo en n\u00fameros<\/a><br \/>\n<strong>Siguiente mensaje<\/strong>: <a href=\"https:\/\/helloacm.com\/teaching-kids-programmaing-generate-prime-numbers-using-sieve-of-eratosthenes-algorithms\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Ense\u00f1anza de programaci\u00f3n para ni\u00f1os: generaci\u00f3n de n\u00fameros primos utilizando algoritmos de criba de Erat\u00f3stenes<\/a><\/p>\n<p>La URL permanente es: <a href=\"https:\/\/helloacm.com\/how-to-expire-dofollow-links-automatically-seo-links-management-function-in-php\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">C\u00f3mo caducar los enlaces DoFollow autom\u00e1ticamente (Funci\u00f3n de gesti\u00f3n de enlaces SEO en PHP)<\/a> <a href=\"https:\/\/helloacm.com\/how-to-expire-dofollow-links-automatically-seo-links-management-function-in-php\/amp\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">(Versi\u00f3n AMP)<\/a><\/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>C\u00f3mo caducar los enlaces DoFollow autom\u00e1ticamente (funci\u00f3n de gesti\u00f3n de enlaces SEO en PHP)<\/p>\n","protected":false},"author":1,"featured_media":224449,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[892,992,800,1003,840,861],"tags":[1172],"class_list":["post-232910","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-marketing-de-contenidos","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\/232910","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=232910"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/232910\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/224449"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=232910"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=232910"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=232910"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}