PATH:
var
/
softaculous
/
sitepad
/
editor
/
site-data
/
plugins
/
siteseo-pro
/
main
<?php /* * SITESEO * https://siteseo.io * (c) SiteSEO Team */ namespace SiteSEOPro; if(!defined('ABSPATH')){ die('Hacking Attempt !'); } class LinksManage{ static function init(){ global $siteseo; if(empty($siteseo->pro['toggle_state_external_links'])){ return; } add_filter('the_content', '\SiteSEOPro\LinksManage::manage_external_links', 999); } static function manage_external_links($content){ if(empty($content)){ return $content; } global $siteseo; $options = $siteseo->pro; $nofollow = !empty($options['external_links_nofollow']) ? $options['external_links_nofollow'] : ''; $sponsored = !empty($options['external_links_sponsored']) ? $options['external_links_sponsored'] : ''; $target_blank = !empty($options['external_links_target_blank']) ? $options['external_links_target_blank'] : ''; $noreferrer = !empty($options['external_links_noreferrer']) ? $options['external_links_noreferrer'] : ''; $exclude_links = !empty($options['external_links_exclude']) ? $options['external_links_exclude'] : ''; // Convert exclude domains to array $exclude_domains = array_filter(array_map('trim', explode(',', $exclude_links))); // Get site host $site_host = parse_url(home_url(), PHP_URL_HOST); libxml_use_internal_errors(true); $dom = new \DOMDocument(); $dom->loadHTML('<?xml encoding="utf-8" ?>' . $content); $links = $dom->getElementsByTagName('a'); foreach($links as $link){ $href = $link->getAttribute('href'); if(empty($href)){ continue; } // Skip anchors, mailto, tel if(strpos($href, '#') === 0 || strpos($href, 'mailto:') === 0 || strpos($href, 'tel:') === 0){ continue; } $link_host = parse_url($href, PHP_URL_HOST); // If no host (relative link), skip if(empty($link_host)){ continue; } // Skip internal links if($link_host === $site_host){ continue; } // Check excluded domains $skip = false; foreach($exclude_domains as $domain){ if(strpos($link_host, $domain) !== false){ $skip = true; break; } } if($skip){ continue; } // Get existing rel values $rel = $link->getAttribute('rel'); $rel_values = array_filter(explode(' ', $rel)); // Add rel attributes if(!empty($nofollow) && !in_array('nofollow', $rel_values)){ $rel_values[] = 'nofollow'; } if(!empty($sponsored) && !in_array('sponsored', $rel_values)){ $rel_values[] = 'sponsored'; } if(!empty($noreferrer)){ if(!in_array('noopener', $rel_values)){ $rel_values[] = 'noopener'; } if(!in_array('noreferrer', $rel_values)){ $rel_values[] = 'noreferrer'; } } // Set rel attribute if(!empty($rel_values)){ $link->setAttribute('rel', implode(' ', $rel_values)); } // Target blank if(!empty($target_blank)){ $link->setAttribute('target', '_blank'); } } // Save HTML $html = $dom->saveHTML(); // Remove unwanted tags added by DOMDocument $body = preg_replace('~<(?:!DOCTYPE|/?(?:html|body))[^>]*>\s*~i', '', $html); return $body; } }
[-] ajax.php
[edit]
[-] linksmanage.php
[edit]
[+]
..
[-] structureddata.php
[edit]
[-] install.php
[edit]
[-] videositemap.php
[edit]
[-] googlenews.php
[edit]
[-] redirectmanager.php
[edit]
[-] rsssitemap.php
[edit]
[-] plugin-update-checker.php
[edit]
[-] llmtxtfile.php
[edit]
[-] tags.php
[edit]
[-] alerts.php
[edit]
[-] breadcrumbs.php
[edit]
[-] registerblocks.php
[edit]
[-] admin.php
[edit]
[-] gscsetup.php
[edit]
[-] googleconsole.php
[edit]
[-] quickedit.php
[edit]
[+]
settings
[-] importschema.php
[edit]
[-] ai.php
[edit]