{"id":232895,"date":"2023-01-31T14:27:00","date_gmt":"2023-01-31T11:27:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232895"},"modified":"2023-01-31T14:36:19","modified_gmt":"2023-01-31T11:36:19","slug":"hur-man-foerfaller-dofollow-laenkar-automatiskt-seo-links-management-funktion-i-php","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/sv\/hur-man-foerfaller-dofollow-laenkar-automatiskt-seo-links-management-funktion-i-php\/","title":{"rendered":"Hur man f\u00f6rfaller DoFollow-l\u00e4nkar automatiskt (SEO Links Management-funktion i PHP)"},"content":{"rendered":"<p>Hur man f\u00f6rfaller DoFollow-l\u00e4nkar automatiskt (SEO Links Management-funktion i 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>Jag finner ett behov av att hantera hyperl\u00e4nkarna i wordpress p\u00e5 en centraliserad plats. Eftersom jag har m\u00e5nga dofollow-l\u00e4nkar som inte l\u00e4ngre \u00e4r giltiga (tillg\u00e4ngliga). Att g\u00f6ra dessa ogiltiga l\u00e4nkar nofollow \u00e4r ett m\u00e5ste f\u00f6r s\u00f6kmotoroptimering (SEO) &#8211; du \u00e4r ansvarig f\u00f6r att ta bort d\u00f6da bak\u00e5tl\u00e4nkar f\u00f6r att undvika SEO-straff.<\/p>\n<p>I det h\u00e4r inl\u00e4gget kommer vi att titta p\u00e5 <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\">PHP-funktioner<\/a> f\u00f6r att hantera l\u00e4nkarna automatiskt s\u00e5 att du antingen kan automatiskt f\u00f6rfalla l\u00e4nkar eller g\u00f6ra andra l\u00e4nkar No-Follow p\u00e5 ett st\u00e4lle. Du kan anv\u00e4nda det p\u00e5 din webbplats och det fungerar ocks\u00e5 bra i WordPress \u2013 vilket du kan beh\u00f6va f\u00f6r att \u00e4ndra ditt WordPress-temas underordnade funktion f\u00f6r att till\u00e4mpa text\/l\u00e4nktransformationen.<\/p>\n<p>F\u00f6rst tar f\u00f6ljande find_links-funktion en HTML-str\u00e4ng, s\u00e5 du kan mata den med HTML-utdata och den kommer att analysera HTML-str\u00e4ngen och leta efter varje hyperl\u00e4nk:<\/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>Som du kanske m\u00e4rker, kallar regexet tillbaka process_links f\u00f6r varje <a href=\"https:\/\/wordpress.mediadoma.com\/sv\/anvaenda-det-reguljaera-uttrycket-foer-att-ersaetta-externa-laenkar-i-wordpress-foer-seo-aendamaal\/\" title=\"hyperl\u00e4nk\">hyperl\u00e4nk<\/a> den har hittat. Och i det f\u00f6ljande kan du l\u00e4gga till din webbplatsdom\u00e4n i arrayen $good_domains. Och du kan st\u00e4lla in utg\u00e5ende dom\u00e4ner och deras motsvarande utg\u00e5ngsdatum s\u00e5 att l\u00e4nkarna automatiskt blir 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>Funktionen \u00e4ndrar tv\u00e5 egenskaper f\u00f6r en hyperl\u00e4nk: _target som blir _blank n\u00e4r det \u00e4r en extern dom\u00e4n och rel som kommer att st\u00e4llas in p\u00e5 nofollow automatiskt. Du kan ocks\u00e5 l\u00e4gga till logik f\u00f6r att enhetliga alla webbadresser, t.ex. HTTPS-automatiska omskrivningar, hyperl\u00e4nketiketter 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=\"Hur man f\u00f6rfaller DoFollow-l\u00e4nkar automatiskt (SEO Links Management-funktion i PHP)\"><\/a><\/p>\n<p>\u2013EOF (<a href=\"https:\/\/helloacm.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">The Ultimate Computing &amp; Technology Blog<\/a>) \u2014<\/p>\n<p>Betyg: 10,0\/ <strong>10<\/strong> (1 avgiven r\u00f6st)<\/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 ord<br \/>\n<strong>Senaste inl\u00e4gget<\/strong>: <a href=\"https:\/\/helloacm.com\/teaching-kids-programming-converting-spreadsheet-column-titles-to-number\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">L\u00e4ra programmering f\u00f6r barn \u2013 Konvertera rubriker i kalkylbladskolumner till nummer<\/a><br \/>\n<strong>N\u00e4sta inl\u00e4gg<\/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\">L\u00e4ra programmering f\u00f6r barn \u2013 Generera primtal med hj\u00e4lp av Sieve of Eratosthenes-algoritmer<\/a><\/p>\n<p>Den permanenta webbadressen \u00e4r: <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\">Hur man f\u00f6rfaller DoFollow-l\u00e4nkar automatiskt (SEO Links Management-funktion i 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\">(AMP-version)<\/a><\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hur man f\u00f6rfaller DoFollow-l\u00e4nkar automatiskt (SEO Links Management-funktion i 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":[848,999,901,807,1010,868],"tags":[1173],"class_list":["post-232895","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-handledningar","category-innehallsmarknadsforing","category-koda","category-php-9","category-seo-10","category-wordpress-9","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/232895","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=232895"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/232895\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/224449"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=232895"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=232895"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=232895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}