|
Server : LiteSpeed System : Linux srv104790275 5.15.0-161-generic #171-Ubuntu SMP Sat Oct 11 08:17:01 UTC 2025 x86_64 User : dewac4139 ( 1077) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /home/sarkas88.com/public_html/wp-content/plugins/wordpress-seo/src/helpers/ |
Upload File : |
<?php
namespace Yoast\WP\SEO\Helpers;
use Yoast\WP\SEO\Values\Robots\User_Agent_List;
/**
* A helper object for the robots txt file.
*/
class Robots_Txt_Helper {
/**
* Holds a list of user agents with directives.
*
* @var User_Agent_List
*/
protected $robots_txt_user_agents;
/**
* Holds an array with absolute URLs of sitemaps.
*
* @var array
*/
protected $robots_txt_sitemaps;
/**
* Constructor for Robots_Txt_Helper.
*/
public function __construct() {
$this->robots_txt_user_agents = new User_Agent_List();
$this->robots_txt_sitemaps = [];
}
/**
* Add a disallow rule for a specific user agent if it does not exist yet.
*
* @param string $user_agent The user agent to add the disallow rule to.
* @param string $path The path to add as a disallow rule.
*
* @return void
*/
public function add_disallow( $user_agent, $path ) {
$user_agent_container = $this->robots_txt_user_agents->get_user_agent( $user_agent );
$user_agent_container->add_disallow_directive( $path );
}
/**
* Add an allow rule for a specific user agent if it does not exist yet.
*
* @param string $user_agent The user agent to add the allow rule to.
* @param string $path The path to add as a allow rule.
*
* @return void
*/
public function add_allow( $user_agent, $path ) {
$user_agent_container = $this->robots_txt_user_agents->get_user_agent( $user_agent );
$user_agent_container->add_allow_directive( $path );
}
/**
* Add sitemap to robots.txt if it does not exist yet.
*
* @param string $absolute_path The absolute path to the sitemap to add.
*
* @return void
*/
public function add_sitemap( $absolute_path ) {
if ( ! \in_array( $absolute_path, $this->robots_txt_sitemaps, true ) ) {
$this->robots_txt_sitemaps[] = $absolute_path;
}
}
/**
* Get all registered disallow directives per user agent.
*
* @return array The registered disallow directives per user agent.
*/
public function get_disallow_directives() {
return $this->robots_txt_user_agents->get_disallow_directives();
}
/**
* Get all registered allow directives per user agent.
*
* @return array The registered allow directives per user agent.
*/
public function get_allow_directives() {
return $this->robots_txt_user_agents->get_allow_directives();
}
/**
* Get all registered sitemap rules.
*
* @return array The registered sitemap rules.
*/
public function get_sitemap_rules() {
return $this->robots_txt_sitemaps;
}
/**
* Get all registered user agents
*
* @return array The registered user agents.
*/
public function get_robots_txt_user_agents() {
return $this->robots_txt_user_agents->get_user_agents();
}
}