[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.221.188.241: ~ $
<?php
/*
* SiteSEO
* https://siteseo.io/
* (c) SiteSEO Team <support@siteseo.io>
*/

/*
Copyright 2016 - 2024 - Benjamin Denis  (email : contact@seopress.org)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2, as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/

if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

// Titles & metas
// Are we being accessed directly ?
if(!defined('SITESEO_VERSION')) {
	exit('Hacking Attempt !');
}

include_once ABSPATH . 'wp-admin/includes/plugin.php';

//Single CPT Titles
function siteseo_titles_single_titles_option() {
	
	$get_current_cpt = get_post_type();

	$options = siteseo_get_service('TitleOption')->searchOptionByKey('titles_single_titles');
	if( ! empty($options) && isset($options[$get_current_cpt]['title'])) {
		return $options[$get_current_cpt]['title'];
	}
}

//Tax archives Titles
function siteseo_titles_tax_titles_option() {
	$queried_object = get_queried_object();
	$siteseo_get_current_tax = null !== $queried_object ? $queried_object->taxonomy : '';

	$options = siteseo_get_service('TitleOption')->searchOptionByKey('titles_tax_titles');
	if( ! empty($options) && isset($options[$siteseo_get_current_tax]['title'])){
		return $options[$siteseo_get_current_tax]['title'];
	}
}

//Single CPT Description
function siteseo_titles_single_desc_option(){
	
	$siteseo_get_current_cpt = get_post_type();

	$options = siteseo_get_service('TitleOption')->searchOptionByKey('titles_single_titles');
	if( ! empty($options) && isset($options[$siteseo_get_current_cpt]['description'])){
		return $options[$siteseo_get_current_cpt]['description'];
	}
}

//Archive CPT Description
function siteseo_titles_archive_desc_option() {
	$siteseo_get_current_cpt = get_post_type();

	$options = siteseo_get_service('TitleOption')->searchOptionByKey('titles_archive_titles');
	if ( ! empty($options) && isset($options[$siteseo_get_current_cpt]['description'])) {
		return $options[$siteseo_get_current_cpt]['description'];
	}
}

//Tax archives Desc
function siteseo_titles_tax_desc_option() {
	$queried_object = get_queried_object();
	$siteseo_get_current_tax = $queried_object->taxonomy;

	$options = siteseo_get_service('TitleOption')->searchOptionByKey('titles_archive_titles');
	if(!empty($options) && isset($options[$siteseo_get_current_tax]['description'])) {
		return $options[$siteseo_get_current_tax]['description'];
	}
}

//THE Title Tag
function siteseo_titles_the_title() {
	$variables = null;
	$variables = apply_filters('siteseo_dyn_variables_fn', $variables);

	$post									= $variables['post'];
	$term									= $variables['term'];
	$siteseo_titles_title_template		  	= $variables['siteseo_titles_title_template'];
	$siteseo_titles_description_template	= $variables['siteseo_titles_description_template'];
	$siteseo_paged							= $variables['siteseo_paged'];
	$the_author_meta						= $variables['the_author_meta'];
	$sep									= $variables['sep'];
	$siteseo_excerpt						= $variables['siteseo_excerpt'];
	$post_category							= $variables['post_category'];
	$post_tag								= $variables['post_tag'];
	$get_search_query						= $variables['get_search_query'];
	$woo_single_cat_html					= $variables['woo_single_cat_html'];
	$woo_single_tag_html					= $variables['woo_single_tag_html'];
	$woo_single_price						= $variables['woo_single_price'];
	$woo_single_price_exc_tax				= $variables['woo_single_price_exc_tax'];
	$woo_single_sku							= $variables['woo_single_sku'];
	$author_bio								= $variables['author_bio'];
	$siteseo_get_the_excerpt				= $variables['siteseo_get_the_excerpt'];
	$siteseo_titles_template_variables_array = $variables['siteseo_titles_template_variables_array'];
	$siteseo_titles_template_replace_array	= $variables['siteseo_titles_template_replace_array'];
	$siteseo_excerpt_length					= $variables['siteseo_excerpt_length'];
	$page_id								= get_option('page_for_posts');

	$getHomeSiteTitle = siteseo_get_service('TitleOption')->getHomeSiteTitle();
	$getArchivesAuthorTitle = siteseo_get_service('TitleOption')->getArchivesAuthorTitle();
	
	if (is_front_page() && is_home() && isset($post) && '' == get_post_meta($post->ID, '_siteseo_titles_title', true)) { //HOMEPAGE
		if ('' != $getHomeSiteTitle) {
			$siteseo_titles_the_title = esc_attr($getHomeSiteTitle);

			$siteseo_titles_title_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_title);
		}
	} elseif (is_front_page() && isset($post) && '' == get_post_meta($post->ID, '_siteseo_titles_title', true)) { //STATIC HOMEPAGE
		if ('' != $getHomeSiteTitle) {
			$siteseo_titles_the_title = esc_attr($getHomeSiteTitle);

			$siteseo_titles_title_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_title);
		}
	} elseif (is_home() && '' != get_post_meta($page_id, '_siteseo_titles_title', true)) { //BLOG PAGE
		if (get_post_meta($page_id, '_siteseo_titles_title', true)) { //IS METABOXE
			$siteseo_titles_the_title = esc_attr(get_post_meta($page_id, '_siteseo_titles_title', true));

			$siteseo_titles_title_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_title);
		}
	} elseif (is_home() && ('posts' == get_option('show_on_front'))) { //YOUR LATEST POSTS
		include_once ABSPATH . 'wp-admin/includes/plugin.php';
		if (is_plugin_active('polylang/polylang.php') || is_plugin_active('polylang-pro/polylang.php')) {
		}
		if ('' != $getHomeSiteTitle) {
			$siteseo_titles_the_title = esc_attr($getHomeSiteTitle);

			$siteseo_titles_title_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_title);
		}
	} elseif (function_exists('bp_is_group') && bp_is_group()) {
		if ('' != siteseo_get_service('TitleOption')->getTitleBpGroups()) {
			$siteseo_titles_the_title = esc_attr(siteseo_get_service('TitleOption')->getTitleBpGroups());

			$siteseo_titles_title_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_title);
		}
	} elseif (is_singular()) { //IS SINGULAR
		//IS BUDDYPRESS ACTIVITY PAGE
		if (function_exists('bp_is_current_component') && true == bp_is_current_component('activity')) {
			$post->ID = buddypress()->pages->activity->id;
		}
		//IS BUDDYPRESS MEMBERS PAGE
		if (function_exists('bp_is_current_component') && true == bp_is_current_component('members')) {
			$post->ID = buddypress()->pages->members->id;
		}

		//IS BUDDYPRESS GROUPS PAGE
		if (function_exists('bp_is_current_component') && true == bp_is_current_component('groups')) {
			$post->ID = buddypress()->pages->groups->id;
		}

		if (get_post_meta($post->ID, '_siteseo_titles_title', true)) { //IS METABOXE
			$siteseo_titles_the_title = esc_attr(get_post_meta($post->ID, '_siteseo_titles_title', true));

			preg_match_all('/%%_cf_(.*?)%%/', $siteseo_titles_the_title, $matches); //custom fields

			if ( ! empty($matches)) {
				$siteseo_titles_cf_template_variables_array = [];
				$siteseo_titles_cf_template_replace_array   = [];

				foreach ($matches['0'] as $key => $value) {
					$siteseo_titles_cf_template_variables_array[] = $value;
				}

				foreach ($matches['1'] as $key => $value) {
					$siteseo_titles_cf_template_replace_array[] = esc_attr(get_post_meta($post->ID, $value, true));
				}
			}

			preg_match_all('/%%_ct_(.*?)%%/', $siteseo_titles_the_title, $matches2); //custom terms taxonomy

			if ( ! empty($matches2)) {
				$siteseo_titles_ct_template_variables_array = [];
				$siteseo_titles_ct_template_replace_array   = [];

				foreach ($matches2['0'] as $key => $value) {
					$siteseo_titles_ct_template_variables_array[] = $value;
				}

				foreach ($matches2['1'] as $key => $value) {
					$term = wp_get_post_terms($post->ID, $value);
					if ( ! is_wp_error($term)) {
						$terms									   = esc_attr($term[0]->name);
						$siteseo_titles_ct_template_replace_array[] = apply_filters('siteseo_titles_custom_tax', $terms, $value);
					}
				}
			}

			preg_match_all('/%%_ucf_(.*?)%%/', $siteseo_titles_the_title, $matches3); //user meta

			if ( ! empty($matches3)) {
				$siteseo_titles_ucf_template_variables_array = [];
				$siteseo_titles_ucf_template_replace_array   = [];

				foreach ($matches3['0'] as $key => $value) {
					$siteseo_titles_ucf_template_variables_array[] = $value;
				}

				foreach ($matches3['1'] as $key => $value) {
					$siteseo_titles_ucf_template_replace_array[] = esc_attr(get_user_meta(get_current_user_id(), $value, true));
				}
			}

			//Default
			$siteseo_titles_title_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_title);

			//Custom fields
			if ( ! empty($matches) && ! empty($siteseo_titles_cf_template_variables_array) && ! empty($siteseo_titles_cf_template_replace_array)) {
				$siteseo_titles_title_template = str_replace($siteseo_titles_cf_template_variables_array, $siteseo_titles_cf_template_replace_array, $siteseo_titles_title_template);
			}

			//Custom terms taxonomy
			if ( ! empty($matches2) && ! empty($siteseo_titles_ct_template_variables_array) && ! empty($siteseo_titles_ct_template_replace_array)) {
				$siteseo_titles_title_template = str_replace($siteseo_titles_ct_template_variables_array, $siteseo_titles_ct_template_replace_array, $siteseo_titles_title_template);
			}

			//User meta
			if ( ! empty($matches3) && ! empty($siteseo_titles_ucf_template_variables_array) && ! empty($siteseo_titles_ucf_template_replace_array)) {
				$siteseo_titles_title_template = str_replace($siteseo_titles_ucf_template_variables_array, $siteseo_titles_ucf_template_replace_array, $siteseo_titles_title_template);
			}
		} else { //DEFAULT GLOBAL
			$siteseo_titles_single_titles_option = esc_attr(siteseo_titles_single_titles_option());

			preg_match_all('/%%_cf_(.*?)%%/', $siteseo_titles_single_titles_option, $matches); //custom fields

			if ( ! empty($matches)) {
				$siteseo_titles_cf_template_variables_array = [];
				$siteseo_titles_cf_template_replace_array   = [];

				foreach ($matches['0'] as $key => $value) {
					$siteseo_titles_cf_template_variables_array[] = $value;
				}

				foreach ($matches['1'] as $key => $value) {
					$siteseo_titles_cf_template_replace_array[] = esc_attr(get_post_meta($post->ID, $value, true));
				}
			}

			preg_match_all('/%%_ct_(.*?)%%/', $siteseo_titles_single_titles_option, $matches2); //custom terms taxonomy

			if ( ! empty($matches2)) {
				$siteseo_titles_ct_template_variables_array = [];
				$siteseo_titles_ct_template_replace_array   = [];

				foreach ($matches2['0'] as $key => $value) {
					$siteseo_titles_ct_template_variables_array[] = $value;
				}

				foreach ($matches2['1'] as $key => $value) {
					$term = wp_get_post_terms($post->ID, $value);
					if ( ! is_wp_error($term) && isset($term[0])) {
						$terms									   = esc_attr($term[0]->name);
						$siteseo_titles_ct_template_replace_array[] = apply_filters('siteseo_titles_custom_tax', $terms, $value);
					}
				}
			}

			preg_match_all('/%%_ucf_(.*?)%%/', $siteseo_titles_single_titles_option, $matches3); //user meta

			if ( ! empty($matches3)) {
				$siteseo_titles_ucf_template_variables_array = [];
				$siteseo_titles_ucf_template_replace_array   = [];

				foreach ($matches3['0'] as $key => $value) {
					$siteseo_titles_ucf_template_variables_array[] = $value;
				}

				foreach ($matches3['1'] as $key => $value) {
					$siteseo_titles_ucf_template_replace_array[] = esc_attr(get_user_meta(get_current_user_id(), $value, true));
				}
			}

			//Default
			$siteseo_titles_title_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_single_titles_option);

			// Custom fields
			if ( ! empty($matches) && ! empty($siteseo_titles_cf_template_variables_array) && ! empty($siteseo_titles_cf_template_replace_array)) {
				$siteseo_titles_title_template = str_replace($siteseo_titles_cf_template_variables_array, $siteseo_titles_cf_template_replace_array, $siteseo_titles_title_template);
			}

			// Custom terms taxonomy
			if ( ! empty($matches2) && ! empty($siteseo_titles_ct_template_variables_array) && ! empty($siteseo_titles_ct_template_replace_array)) {
				$siteseo_titles_title_template = str_replace($siteseo_titles_ct_template_variables_array, $siteseo_titles_ct_template_replace_array, $siteseo_titles_title_template);
			}

			// User meta
			if ( ! empty($matches3) && ! empty($siteseo_titles_ucf_template_variables_array) && ! empty($siteseo_titles_ucf_template_replace_array)) {
				$siteseo_titles_title_template = str_replace($siteseo_titles_ucf_template_variables_array, $siteseo_titles_ucf_template_replace_array, $siteseo_titles_title_template);
			}
		}
	} elseif (is_post_type_archive() && !is_tax() && siteseo_titles_archive_titles_option()) { //IS POST TYPE ARCHIVE (!is_tax required for TEC)
		$siteseo_titles_archive_titles_option = esc_attr(siteseo_titles_archive_titles_option());

		$siteseo_titles_title_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_archive_titles_option);
	} elseif ((is_tax() || is_category() || is_tag()) && siteseo_titles_tax_titles_option()) { //IS TAX
		$siteseo_titles_tax_titles_option = esc_attr(siteseo_titles_tax_titles_option());

		if (get_term_meta(get_queried_object()->{'term_id'}, '_siteseo_titles_title', true)) {
			$siteseo_titles_title_template = esc_attr(get_term_meta(get_queried_object()->{'term_id'}, '_siteseo_titles_title', true));
			$siteseo_titles_title_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_title_template);
		} else {
			$siteseo_titles_title_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_tax_titles_option);
		}

		preg_match_all('/%%_cf_(.*?)%%/', $siteseo_titles_title_template, $matches); //custom fields

		if ( ! empty($matches)) {
			$siteseo_titles_cf_template_variables_array = [];
			$siteseo_titles_cf_template_replace_array   = [];

			foreach ($matches['0'] as $key => $value) {
				$siteseo_titles_cf_template_variables_array[] = $value;
			}

			foreach ($matches['1'] as $key => $value) {
				$siteseo_titles_cf_template_replace_array[] = esc_attr(get_term_meta(get_queried_object()->{'term_id'}, $value, true));
			}
		}

		// Custom fields
		if ( ! empty($matches) && ! empty($siteseo_titles_cf_template_variables_array) && ! empty($siteseo_titles_cf_template_replace_array)) {
			$siteseo_titles_title_template = str_replace($siteseo_titles_cf_template_variables_array, $siteseo_titles_cf_template_replace_array, $siteseo_titles_title_template);
		}
	} elseif (is_author() && $getArchivesAuthorTitle) { //IS AUTHOR
		$siteseo_titles_archives_author_title_option = esc_attr($getArchivesAuthorTitle);

		preg_match_all('/%%_ucf_(.*?)%%/', $siteseo_titles_archives_author_title_option, $matches); //custom fields

		if ( ! empty($matches)) {
			$siteseo_titles_cf_template_variables_array = [];
			$siteseo_titles_cf_template_replace_array   = [];

			foreach ($matches['0'] as $key => $value) {
				$siteseo_titles_cf_template_variables_array[] = $value;
			}

			foreach ($matches['1'] as $key => $value) {
				$siteseo_titles_cf_template_replace_array[] = esc_attr(get_user_meta(get_current_user_id(), $value, true));
			}
		}

		// Default
		$siteseo_titles_title_template = esc_attr($getArchivesAuthorTitle);

		// User meta
		if ( ! empty($matches) && ! empty($siteseo_titles_cf_template_variables_array) && ! empty($siteseo_titles_cf_template_replace_array)) {
			$siteseo_titles_title_template = str_replace($siteseo_titles_cf_template_variables_array, $siteseo_titles_cf_template_replace_array, $siteseo_titles_title_template);
		}

		$siteseo_titles_title_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_title_template);
	} elseif (is_date() && siteseo_get_service('TitleOption')->getTitleArchivesDate()) { //IS DATE
		$siteseo_titles_archives_date_title_option = esc_attr(siteseo_get_service('TitleOption')->getTitleArchivesDate());

		$siteseo_titles_title_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_archives_date_title_option);
	} elseif (is_search() && siteseo_get_service('TitleOption')->getTitleArchivesSearch()) { //IS SEARCH
		$siteseo_titles_archives_search_title_option = esc_attr(siteseo_get_service('TitleOption')->getTitleArchivesSearch());

		$siteseo_titles_title_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_archives_search_title_option);
	} elseif (is_404() && siteseo_get_service('TitleOption')->getTitleArchives404()) { //IS 404
		$siteseo_titles_archives_404_title_option = esc_attr(siteseo_get_service('TitleOption')->getTitleArchives404());

		$siteseo_titles_title_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_archives_404_title_option);
	}

	// Hook on Title tag - 'siteseo_titles_title'
	if (has_filter('siteseo_titles_title')) {
		$siteseo_titles_title_template = apply_filters('siteseo_titles_title', $siteseo_titles_title_template);
	}

	// Return Title tag
	return $siteseo_titles_title_template;
}

if (apply_filters('siteseo_old_pre_get_document_title', true)) {
	$priority = apply_filters( 'siteseo_titles_the_title_priority', 10 );
	add_filter('pre_get_document_title', 'siteseo_titles_the_title', $priority);

	// Avoid TEC rewriting our title tag on Venue and Organizer pages
	if (is_plugin_active('the-events-calendar/the-events-calendar.php')) {
		if (
			function_exists('tribe_is_event') && tribe_is_event() ||
			function_exists('tribe_is_venue') && tribe_is_venue() ||
			function_exists('tribe_is_organizer') && tribe_is_organizer()
			// function_exists('tribe_is_month') && tribe_is_month() && is_tax() ||
			// function_exists('tribe_is_upcoming') && tribe_is_upcoming() && is_tax() ||
			// function_exists('tribe_is_past') && tribe_is_past() && is_tax() ||
			// function_exists('tribe_is_week') && tribe_is_week() && is_tax() ||
			// function_exists('tribe_is_day') && tribe_is_day() && is_tax() ||
			// function_exists('tribe_is_map') && tribe_is_map() && is_tax() ||
			// function_exists('tribe_is_photo') && tribe_is_photo() && is_tax()
		) {
			add_filter('pre_get_document_title', 'siteseo_titles_the_title', 20);
		}
	}
}

// THE Meta Description
function siteseo_titles_the_description_content() {
	$variables = null;
	$variables = apply_filters('siteseo_dyn_variables_fn', $variables);

	$post											= $variables['post'];
	$term											= $variables['term'];
	$siteseo_titles_title_template					= $variables['siteseo_titles_title_template'];
	$siteseo_titles_description_template			= $variables['siteseo_titles_description_template'];
	$siteseo_paged 									= $variables['siteseo_paged'];
	$the_author_meta 								= $variables['the_author_meta'];
	$sep 											= $variables['sep'];
	$siteseo_excerpt 								= $variables['siteseo_excerpt'];
	$post_category 									= $variables['post_category'];
	$post_tag 										= $variables['post_tag'];
	$post_thumbnail_url 							= $variables['post_thumbnail_url'];
	$get_search_query 								= $variables['get_search_query'];
	$woo_single_cat_html 							= $variables['woo_single_cat_html'];
	$woo_single_tag_html 							= $variables['woo_single_tag_html'];
	$woo_single_price 								= $variables['woo_single_price'];
	$woo_single_price_exc_tax						= $variables['woo_single_price_exc_tax'];
	$woo_single_sku 								= $variables['woo_single_sku'];
	$author_bio 									= $variables['author_bio'];
	$siteseo_get_the_excerpt 						= $variables['siteseo_get_the_excerpt'];
	$siteseo_titles_template_variables_array		= $variables['siteseo_titles_template_variables_array'];
	$siteseo_titles_template_replace_array			= $variables['siteseo_titles_template_replace_array'];
	$siteseo_excerpt_length 						= $variables['siteseo_excerpt_length'];
	$page_id 										= get_option('page_for_posts');
	
	$descriptionOption = siteseo_get_service('TitleOption')->getHomeDescriptionTitle();
	
	if (is_front_page() && is_home() && isset($post) && '' == get_post_meta($post->ID, '_siteseo_titles_desc', true)) { // HOMEPAGE
		if ('' != $descriptionOption) { //IS GLOBAL
			$siteseo_titles_the_description = esc_attr($descriptionOption);

			$siteseo_titles_description_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_description);
		}
	} elseif (is_front_page() && isset($post) && '' == get_post_meta($post->ID, '_siteseo_titles_desc', true)) { // STATIC HOMEPAGE
		if ('' != $descriptionOption && '' == get_post_meta($post->ID, '_siteseo_titles_desc', true)) { // IS GLOBAL
			$siteseo_titles_the_description = esc_attr($descriptionOption);

			$siteseo_titles_description_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_description);
		}
	} elseif (is_home() && '' != get_post_meta($page_id, '_siteseo_titles_desc', true)) { //BLOG PAGE
		if (get_post_meta($page_id, '_siteseo_titles_desc', true)) {
			$siteseo_titles_the_description_meta = esc_html(get_post_meta($page_id, '_siteseo_titles_desc', true));
			$siteseo_titles_the_description	  = $siteseo_titles_the_description_meta;

			$siteseo_titles_description_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_description);
		}
	} elseif (is_home() && ('posts' == get_option('show_on_front'))) { //YOUR LATEST POSTS
		if ('' != $descriptionOption) { //IS GLOBAL
			$siteseo_titles_the_description = esc_attr($descriptionOption);

			$siteseo_titles_description_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_description);
		}
	} elseif (function_exists('bp_is_group') && bp_is_group()) {
		if ('' != siteseo_get_service('TitleOption')->getBpGroupsDesc()) {
			$siteseo_titles_the_description = esc_attr(siteseo_get_service('TitleOption')->getBpGroupsDesc());

			$siteseo_titles_description_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_description);
		}
	} elseif (is_singular()) { //IS SINGLE
		if (get_post_meta($post->ID, '_siteseo_titles_desc', true)) { //IS METABOXE
			$siteseo_titles_the_description = esc_attr(get_post_meta($post->ID, '_siteseo_titles_desc', true));

			preg_match_all('/%%_cf_(.*?)%%/', $siteseo_titles_the_description, $matches); //custom fields

			if ( ! empty($matches)) {
				$siteseo_titles_cf_template_variables_array = [];
				$siteseo_titles_cf_template_replace_array   = [];

				foreach ($matches['0'] as $key => $value) {
					$siteseo_titles_cf_template_variables_array[] = $value;
				}

				foreach ($matches['1'] as $key => $value) {
					$siteseo_titles_cf_template_replace_array[] = esc_attr(get_post_meta($post->ID, $value, true));
				}
			}

			preg_match_all('/%%_ct_(.*?)%%/', $siteseo_titles_the_description, $matches2); //custom terms taxonomy

			if ( ! empty($matches2)) {
				$siteseo_titles_ct_template_variables_array = [];
				$siteseo_titles_ct_template_replace_array   = [];

				foreach ($matches2['0'] as $key => $value) {
					$siteseo_titles_ct_template_variables_array[] = $value;
				}

				foreach ($matches2['1'] as $key => $value) {
					$term = wp_get_post_terms($post->ID, $value);
					if ( ! is_wp_error($term)) {
						$terms									   = esc_attr($term[0]->name);
						$siteseo_titles_ct_template_replace_array[] = apply_filters('siteseo_titles_custom_tax', $terms, $value);
					}
				}
			}

			preg_match_all('/%%_ucf_(.*?)%%/', $siteseo_titles_the_description, $matches3); //user meta

			if ( ! empty($matches3)) {
				$siteseo_titles_ucf_template_variables_array = [];
				$siteseo_titles_ucf_template_replace_array   = [];

				foreach ($matches3['0'] as $key => $value) {
					$siteseo_titles_ucf_template_variables_array[] = $value;
				}

				foreach ($matches3['1'] as $key => $value) {
					$siteseo_titles_ucf_template_replace_array[] = esc_attr(get_user_meta(get_current_user_id(), $value, true));
				}
			}

			// Default
			$siteseo_titles_description_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_description);

			// Custom fields
			if ( ! empty($matches) && ! empty($siteseo_titles_cf_template_variables_array) && ! empty($siteseo_titles_cf_template_replace_array)) {
				$siteseo_titles_description_template = str_replace($siteseo_titles_cf_template_variables_array, $siteseo_titles_cf_template_replace_array, $siteseo_titles_description_template);
			}

			// Custom terms taxonomy
			if ( ! empty($matches2) && ! empty($siteseo_titles_ct_template_variables_array) && ! empty($siteseo_titles_ct_template_replace_array)) {
				$siteseo_titles_description_template = str_replace($siteseo_titles_ct_template_variables_array, $siteseo_titles_ct_template_replace_array, $siteseo_titles_description_template);
			}

			// User meta
			if ( ! empty($matches3) && ! empty($siteseo_titles_ucf_template_variables_array) && ! empty($siteseo_titles_ucf_template_replace_array)) {
				$siteseo_titles_description_template = str_replace($siteseo_titles_ucf_template_variables_array, $siteseo_titles_ucf_template_replace_array, $siteseo_titles_description_template);
			}
		} elseif ('' != siteseo_titles_single_desc_option()) { //IS GLOBAL
			$siteseo_titles_the_description = esc_attr(siteseo_titles_single_desc_option());

			preg_match_all('/%%_cf_(.*?)%%/', $siteseo_titles_the_description, $matches); //custom fields

			if ( ! empty($matches)) {
				$siteseo_titles_cf_template_variables_array = [];
				$siteseo_titles_cf_template_replace_array   = [];

				foreach ($matches['0'] as $key => $value) {
					$siteseo_titles_cf_template_variables_array[] = $value;
				}

				foreach ($matches['1'] as $key => $value) {
					$siteseo_titles_cf_template_replace_array[] = esc_attr(get_post_meta($post->ID, $value, true));
				}
			}

			preg_match_all('/%%_ct_(.*?)%%/', $siteseo_titles_the_description, $matches2); //custom terms taxonomy

			if ( ! empty($matches2)) {
				$siteseo_titles_ct_template_variables_array = [];
				$siteseo_titles_ct_template_replace_array   = [];

				foreach ($matches2['0'] as $key => $value) {
					$siteseo_titles_ct_template_variables_array[] = $value;
				}

				foreach ($matches2['1'] as $key => $value) {
					$term = wp_get_post_terms($post->ID, $value);
					if ( ! is_wp_error($term)) {
						$terms									   = esc_attr($term[0]->name);
						$siteseo_titles_ct_template_replace_array[] = apply_filters('siteseo_titles_custom_tax', $terms, $value);
					}
				}
			}

			preg_match_all('/%%_ucf_(.*?)%%/', $siteseo_titles_the_description, $matches3); //user meta

			if ( ! empty($matches3)) {
				$siteseo_titles_ucf_template_variables_array = [];
				$siteseo_titles_ucf_template_replace_array   = [];

				foreach ($matches3['0'] as $key => $value) {
					$siteseo_titles_ucf_template_variables_array[] = $value;
				}

				foreach ($matches3['1'] as $key => $value) {
					$siteseo_titles_ucf_template_replace_array[] = esc_attr(get_user_meta(get_current_user_id(), $value, true));
				}
			}

			// Default
			$siteseo_titles_description_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_description);

			// Custom fields
			if ( ! empty($matches) && ! empty($siteseo_titles_cf_template_variables_array) && ! empty($siteseo_titles_cf_template_replace_array)) {
				$siteseo_titles_description_template = str_replace($siteseo_titles_cf_template_variables_array, $siteseo_titles_cf_template_replace_array, $siteseo_titles_description_template);
			}

			// Custom terms taxonomy
			if ( ! empty($matches2) && ! empty($siteseo_titles_ct_template_variables_array) && ! empty($siteseo_titles_ct_template_replace_array)) {
				$siteseo_titles_description_template = str_replace($siteseo_titles_ct_template_variables_array, $siteseo_titles_ct_template_replace_array, $siteseo_titles_description_template);
			}

			// User meta
			if ( ! empty($matches3) && ! empty($siteseo_titles_ucf_template_variables_array) && ! empty($siteseo_titles_ucf_template_replace_array)) {
				$siteseo_titles_description_template = str_replace($siteseo_titles_ucf_template_variables_array, $siteseo_titles_ucf_template_replace_array, $siteseo_titles_description_template);
			}
		} else {
			setup_postdata($post);
			if ('' != $siteseo_get_the_excerpt || '' != get_the_content()) { //DEFAULT EXCERPT OR THE CONTENT
				$siteseo_titles_the_description = wp_trim_words(stripslashes_deep(wp_filter_nohtml_kses($siteseo_get_the_excerpt)), $siteseo_excerpt_length);

				$siteseo_titles_description_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_description);
			}
		}
	} elseif (is_post_type_archive() && !is_tax() && siteseo_titles_archive_desc_option()) { //IS POST TYPE ARCHIVE (!is_tax() required for TEC)
		$siteseo_titles_the_description = esc_attr(siteseo_titles_archive_desc_option());

		$siteseo_titles_description_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_description);
	} elseif ((is_tax() || is_category() || is_tag()) && siteseo_titles_tax_desc_option()) { //IS TAX
		$siteseo_titles_the_description = esc_attr(siteseo_titles_tax_desc_option());

		if (get_term_meta(get_queried_object()->{'term_id'}, '_siteseo_titles_desc', true)) {
			$siteseo_titles_description_template = esc_attr(get_term_meta(get_queried_object()->{'term_id'}, '_siteseo_titles_desc', true));
			$siteseo_titles_description_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_description_template);
		} else {
			$siteseo_titles_description_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_description);
		}

		preg_match_all('/%%_cf_(.*?)%%/', $siteseo_titles_the_description, $matches); //custom fields

		if ( ! empty($matches)) {
			$siteseo_titles_cf_template_variables_array = [];
			$siteseo_titles_cf_template_replace_array   = [];

			foreach ($matches['0'] as $key => $value) {
				$siteseo_titles_cf_template_variables_array[] = $value;
			}

			foreach ($matches['1'] as $key => $value) {
				$siteseo_titles_cf_template_replace_array[] = esc_attr(get_term_meta(get_queried_object()->{'term_id'}, $value, true));
			}
		}

		// Custom fields
		if ( ! empty($matches) && ! empty($siteseo_titles_cf_template_variables_array) && ! empty($siteseo_titles_cf_template_replace_array)) {
			$siteseo_titles_description_template = str_replace($siteseo_titles_cf_template_variables_array, $siteseo_titles_cf_template_replace_array, $siteseo_titles_description_template);
		}
	} elseif (is_author() && siteseo_get_service('TitleOption')->getArchivesAuthorDescription()) { //IS AUTHOR
		$siteseo_titles_archives_author_desc_option = esc_attr(siteseo_get_service('TitleOption')->getArchivesAuthorDescription());

		preg_match_all('/%%_ucf_(.*?)%%/', $siteseo_titles_archives_author_desc_option, $matches); //custom fields

		if ( ! empty($matches)) {
			$siteseo_titles_cf_template_variables_array = [];
			$siteseo_titles_cf_template_replace_array   = [];

			foreach ($matches['0'] as $key => $value) {
				$siteseo_titles_cf_template_variables_array[] = $value;
			}

			foreach ($matches['1'] as $key => $value) {
				$siteseo_titles_cf_template_replace_array[] = esc_attr(get_user_meta(get_current_user_id(), $value, true));
			}
		}

		// Default
		$siteseo_titles_description_template = esc_attr(siteseo_get_service('TitleOption')->getArchivesAuthorDescription());

		// User meta
		if ( ! empty($matches) && ! empty($siteseo_titles_cf_template_variables_array) && ! empty($siteseo_titles_cf_template_replace_array)) {
			$siteseo_titles_description_template = str_replace($siteseo_titles_cf_template_variables_array, $siteseo_titles_cf_template_replace_array, $siteseo_titles_description_template);
		}

		$siteseo_titles_description_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_description_template);
	} elseif (is_date() && siteseo_get_service('TitleOption')->getArchivesDateDesc()) { //IS DATE
		$siteseo_titles_the_description = esc_attr(siteseo_get_service('TitleOption')->getArchivesDateDesc());

		$siteseo_titles_description_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_description);
	} elseif (is_search() && siteseo_get_service('TitleOption')->getArchivesSearchDesc()) { //IS SEARCH
		$siteseo_titles_the_description = esc_attr(siteseo_get_service('TitleOption')->getArchivesSearchDesc());

		$siteseo_titles_description_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_description);
	} elseif (is_404() && siteseo_get_service('TitleOption')->getArchives404Desc()) { //IS 404
		$siteseo_titles_the_description = esc_attr(siteseo_get_service('TitleOption')->getArchives404Desc());

		$siteseo_titles_description_template = str_replace($siteseo_titles_template_variables_array, $siteseo_titles_template_replace_array, $siteseo_titles_the_description);
	}
	
	// Hook on meta description - 'siteseo_titles_desc'
	if (has_filter('siteseo_titles_desc')) {
		$siteseo_titles_description_template = apply_filters('siteseo_titles_desc', $siteseo_titles_description_template);
	}
	
	// Return meta desc tag
	return $siteseo_titles_description_template;
}

function siteseo_titles_the_description() {
	if ('' != siteseo_titles_the_description_content()) {
		$html = '<meta name="description" content="' . esc_attr(siteseo_titles_the_description_content()) . '" />';
		$html .= "\n";
		echo wp_kses($html, ['meta' => ['name' => true, 'content' => true]]);
	}
}

if(apply_filters('siteseo_old_wp_head_description', true)) {
	add_action('wp_head', 'siteseo_titles_the_description', 1);
}

// Advanced
// noindex
// Single CPT noindex
function siteseo_titles_single_cpt_noindex_option() {
	$siteseo_get_current_cpt = get_post_type();

	$options = get_option('siteseo_titles_option_name');
	
	if ( ! empty($options) && isset($options['titles_single_titles'][$siteseo_get_current_cpt]['noindex'])) {
		return $options['titles_single_titles'][$siteseo_get_current_cpt]['noindex'];
	}
}

// Archive CPT noindex
function siteseo_titles_archive_cpt_noindex_option() {
	$siteseo_get_current_cpt = get_post_type();

	$options = get_option('siteseo_titles_option_name');
	if ( ! empty($options) && isset($options['titles_archive_titles'][$siteseo_get_current_cpt]['noindex'])) {
		return $options['titles_archive_titles'][$siteseo_get_current_cpt]['noindex'];
	}
}

// Tax archive noindex
function siteseo_titles_tax_noindex_option() {
	$queried_object = get_queried_object();
	$siteseo_get_current_tax = null !== $queried_object ? $queried_object->taxonomy : '';

	if (null !== $queried_object && 'yes' == get_term_meta($queried_object->term_id, '_siteseo_robots_index', true)) {
		return get_term_meta($queried_object->term_id, '_siteseo_robots_index', true);
	} else {
		$options = get_option('siteseo_titles_option_name');
		if ( ! empty($options) && isset($options['titles_tax_titles'][$siteseo_get_current_tax]['noindex'])) {
			return $options['titles_tax_titles'][$siteseo_get_current_tax]['noindex'];
		}
	}
}

// noindex single CPT
function siteseo_titles_noindex_post_option() {
	$_siteseo_robots_index = get_post_meta(get_the_ID(), '_siteseo_robots_index', true);
	if ('yes' == $_siteseo_robots_index) {
		return $_siteseo_robots_index;
	}
}

function siteseo_titles_noindex_bypass() {
	
	//init
	$siteseo_titles_noindex ='';
	$page_id = get_option('page_for_posts');
	if (is_singular() && true === post_password_required()) { //if password required, set noindex
		$siteseo_titles_noindex = 'noindex';
	} else {
		if (siteseo_get_service('TitleOption')->getTitleNoIndex()) { //Single CPT Global Advanced tab
			$siteseo_titles_noindex = siteseo_get_service('TitleOption')->getTitleNoIndex();
		} elseif (is_singular() && siteseo_titles_single_cpt_noindex_option()) { //Single CPT Global
			$siteseo_titles_noindex = siteseo_titles_single_cpt_noindex_option();
		} elseif (is_singular() && siteseo_titles_noindex_post_option()) { //Single CPT Metaboxe
			$siteseo_titles_noindex = siteseo_titles_noindex_post_option();
		} elseif (is_home() && '' != get_post_meta($page_id, '_siteseo_robots_index', true)) { //BLOG PAGE
			$siteseo_titles_noindex = get_post_meta($page_id, '_siteseo_robots_index', true);
		} elseif (is_post_type_archive() && siteseo_titles_archive_cpt_noindex_option()) { //Is POST TYPE ARCHIVE
			$siteseo_titles_noindex = siteseo_titles_archive_cpt_noindex_option();
		} elseif ((is_tax() || is_category() || is_tag()) && siteseo_titles_tax_noindex_option()) { //Is TAX
			$siteseo_titles_noindex = siteseo_titles_tax_noindex_option();
		} elseif (is_author() && siteseo_get_service('TitleOption')->getArchiveAuthorNoindex()) { //Is Author archive
			$siteseo_titles_noindex = siteseo_get_service('TitleOption')->getArchiveAuthorNoindex();
		} elseif (function_exists('bp_is_group') && bp_is_group() && siteseo_get_service('TitleOption')->getTitleBpGroupsNoindex()) { //Is BuddyPress group single
			$siteseo_titles_noindex = siteseo_get_service('TitleOption')->getTitleBpGroupsNoindex();
		} elseif (is_date() && siteseo_get_service('TitleOption')->searchOptionByKey('titles_archives_date_noindex')) { //Is Date archive
			$siteseo_titles_noindex = siteseo_get_service('TitleOption')->searchOptionByKey('titles_archives_date_noindex');
		} elseif (is_search() && siteseo_get_service('TitleOption')->searchOptionByKey('titles_archives_search_title_noindex')) {//Is Search
			$siteseo_titles_noindex = siteseo_get_service('TitleOption')->searchOptionByKey('titles_archives_search_title_noindex');
		} elseif (is_paged() && siteseo_get_service('TitleOption')->searchOptionByKey('titles_paged_noindex')){//Is paged archive
			$siteseo_titles_noindex = siteseo_get_service('TitleOption')->searchOptionByKey('titles_paged_noindex');
		} elseif (is_404()) { //Is 404 page
			$siteseo_titles_noindex = 'noindex';
		} elseif (is_attachment() && siteseo_get_service('TitleOption')->searchOptionByKey('titles_attachments_noindex')) {
			$siteseo_titles_noindex = 'noindex';
		}
	}

	$siteseo_titles_noindex = apply_filters('siteseo_titles_noindex_bypass', $siteseo_titles_noindex);

	//remove hreflang if noindex
	if ('1' == $siteseo_titles_noindex || true == $siteseo_titles_noindex) {
		//WPML
		add_filter('wpml_hreflangs', '__return_false');

		//MultilingualPress v2
		add_filter('multilingualpress.render_hreflang', '__return_false');

		//TranslatePress
		add_filter('trp-exclude-hreflang', '__return_true');
	}
	//Return noindex tag
	return $siteseo_titles_noindex;
}

//nofollow
//Single CPT nofollow
function siteseo_titles_single_cpt_nofollow_option() {
	$siteseo_get_current_cpt = get_post_type();

	$options = get_option('siteseo_titles_option_name');
	if( ! empty($options) && isset($options['titles_single_titles'][$siteseo_get_current_cpt]['nofollow'])) {
		return $options['titles_single_titles'][$siteseo_get_current_cpt]['nofollow'];
	}
}

//Archive CPT nofollow
function siteseo_titles_archive_cpt_nofollow_option() {
	
	$siteseo_get_current_cpt = get_post_type();

	$options = get_option('siteseo_titles_option_name');
	if ( ! empty($options) && isset($options['titles_archive_titles'][$siteseo_get_current_cpt]['nofollow'])) {
		return $options['titles_archive_titles'][$siteseo_get_current_cpt]['nofollow'];
	}
}

//Tax archive nofollow
function siteseo_titles_tax_nofollow_option() {
	$queried_object = get_queried_object();
	$siteseo_get_current_tax = $queried_object->taxonomy;

	if ('yes' == get_term_meta(get_queried_object()->{'term_id'}, '_siteseo_robots_follow', true)) {
		return get_term_meta(get_queried_object()->{'term_id'}, '_siteseo_robots_follow', true);
	} else {
		$options = get_option('siteseo_titles_option_name');
		if ( ! empty($options) && isset($options['titles_tax_titles'][$siteseo_get_current_tax]['nofollow'])) {
			return $options['titles_tax_titles'][$siteseo_get_current_tax]['nofollow'];
		}
	}
}

function siteseo_titles_nofollow_post_option() {
	$_siteseo_robots_follow = get_post_meta(get_the_ID(), '_siteseo_robots_follow', true);
	if ('yes' == $_siteseo_robots_follow) {
		return $_siteseo_robots_follow;
	}
}

function siteseo_titles_nofollow_bypass() {
	
	//init
	$siteseo_titles_nofollow ='';
	$page_id = get_option('page_for_posts');
	
	if (siteseo_get_service('TitleOption')->getTitleNoFollow()) { //Single CPT Global Advanced tab
		$siteseo_titles_nofollow = siteseo_get_service('TitleOption')->getTitleNoFollow();
	} elseif (is_singular() && siteseo_titles_single_cpt_nofollow_option()) { //Single CPT Global
		$siteseo_titles_nofollow = siteseo_titles_single_cpt_nofollow_option();
	} elseif (is_singular() && siteseo_titles_nofollow_post_option()) { //Single CPT Metaboxe
		$siteseo_titles_nofollow = siteseo_titles_nofollow_post_option();
	} elseif (is_home() && '' != get_post_meta($page_id, '_siteseo_robots_follow', true)) { //BLOG PAGE
		$siteseo_titles_nofollow = get_post_meta($page_id, '_siteseo_robots_follow', true);
	} elseif (is_post_type_archive() && siteseo_titles_archive_cpt_nofollow_option()) { //IS POST TYPE ARCHIVE
		$siteseo_titles_nofollow = siteseo_titles_archive_cpt_nofollow_option();
	} elseif ((is_tax() || is_category() || is_tag()) && siteseo_titles_tax_nofollow_option()) { //IS TAX
		$siteseo_titles_nofollow = siteseo_titles_tax_nofollow_option();
	}

	return $siteseo_titles_nofollow;
}

// Date in SERPs
function siteseo_titles_single_cpt_date_option() {
	$siteseo_get_current_cpt = get_post_type();

	$options = get_option('siteseo_titles_option_name');
	if ( ! empty($options) && isset($options['titles_single_titles'][$siteseo_get_current_cpt]['date'])) {
		return $options['titles_single_titles'][$siteseo_get_current_cpt]['date'];
	}
}

function siteseo_titles_single_cpt_date_hook() {
	if ( ! is_front_page() && ! is_home()) {
		if (is_singular() && '1' == siteseo_titles_single_cpt_date_option()) {
			$siteseo_get_current_pub_post_date = get_the_date('c');
			$siteseo_get_current_up_post_date  = get_the_modified_date('c');
			$html = '<meta property="article:published_time" content="' . esc_attr($siteseo_get_current_pub_post_date) . '" />';
			$html .= "\n";

			$html = apply_filters('siteseo_titles_article_published_time', $html);

			echo wp_kses_post($html);

			$html = '<meta property="article:modified_time" content="' . esc_attr($siteseo_get_current_up_post_date) . '" />';
			$html .= "\n";

			$html = apply_filters('siteseo_titles_article_modified_time', $html);

			echo wp_kses_post($html);

			$html = '<meta property="og:updated_time" content="' . esc_attr($siteseo_get_current_up_post_date) . '" />';
			$html .= "\n";

			$html = apply_filters('siteseo_titles_og_updated_time', $html);

			echo wp_kses_post($html);
		}
	}
}
add_action('wp_head', 'siteseo_titles_single_cpt_date_hook', 1);

// thumbnail in Google Custom Search
function siteseo_titles_single_cpt_thumb_gcs_option() {
	$siteseo_get_current_cpt = get_post_type();

	$options = get_option('siteseo_titles_option_name');
	if ( ! empty($options) && isset($options['titles_single_titles'][$siteseo_get_current_cpt]['thumb_gcs'])) {
		return $options['titles_single_titles'][$siteseo_get_current_cpt]['thumb_gcs'];
	}
}

function siteseo_titles_single_cpt_thumb_gcs() {
	if ( ! is_front_page() && ! is_home()) {
		if (is_singular() && '1' == siteseo_titles_single_cpt_thumb_gcs_option()) {
			if (get_the_post_thumbnail_url(get_the_ID())) {
				$html = '<meta name="thumbnail" content="' . get_the_post_thumbnail_url(get_the_ID(), 'thumbnail') . '" />';
				$html .= "\n";

				$html = apply_filters('siteseo_titles_gcs_thumbnail', $html);

				echo wp_kses_post($html);
			}
		}
	}
}
add_action('wp_head', 'siteseo_titles_single_cpt_thumb_gcs', 1);

function siteseo_titles_noarchive_post_option() {
	$_siteseo_robots_archive = get_post_meta(get_the_ID(), '_siteseo_robots_archive', true);
	if ('yes' == $_siteseo_robots_archive) {
		return $_siteseo_robots_archive;
	}
}

function siteseo_titles_noarchive_bypass() {
	$page_id = get_option('page_for_posts');
	if (siteseo_get_service('TitleOption')->getTitleNoArchive()) {
		return siteseo_get_service('TitleOption')->getTitleNoArchive();
	} elseif (is_singular() && siteseo_titles_noarchive_post_option()) {
		return siteseo_titles_noarchive_post_option();
	} elseif (is_home() && '' != get_post_meta($page_id, '_siteseo_robots_archive', true)) { //BLOG PAGE
		return get_post_meta($page_id, '_siteseo_robots_archive', true);
	} elseif (is_tax() || is_category() || is_tag()) {
		if ('yes' == get_term_meta(get_queried_object()->{'term_id'}, '_siteseo_robots_archive', true)) {
			return get_term_meta(get_queried_object()->{'term_id'}, '_siteseo_robots_archive', true);
		}
	}
}

function siteseo_titles_nosnippet_post_option() {
	$_siteseo_robots_snippet = get_post_meta(get_the_ID(), '_siteseo_robots_snippet', true);
	if ('yes' == $_siteseo_robots_snippet) {
		return $_siteseo_robots_snippet;
	}
}

function siteseo_titles_nosnippet_bypass() {
	$page_id = get_option('page_for_posts');
	if (siteseo_get_service('TitleOption')->getTitleNoSnippet()) {
		return siteseo_get_service('TitleOption')->getTitleNoSnippet();
	} elseif (is_singular() && siteseo_titles_nosnippet_post_option()) {
		return siteseo_titles_nosnippet_post_option();
	} elseif (is_home() && '' != get_post_meta($page_id, '_siteseo_robots_snippet', true)) { //BLOG PAGE
		return get_post_meta($page_id, '_siteseo_robots_snippet', true);
	} elseif (is_tax() || is_category() || is_tag()) {
		if ('yes' == get_term_meta(get_queried_object()->{'term_id'}, '_siteseo_robots_snippet', true)) {
			return get_term_meta(get_queried_object()->{'term_id'}, '_siteseo_robots_snippet', true);
		}
	}
}

function siteseo_titles_noimageindex_post_option() {
	$_siteseo_robots_imageindex = get_post_meta(get_the_ID(), '_siteseo_robots_imageindex', true);
	if ('yes' == $_siteseo_robots_imageindex) {
		return $_siteseo_robots_imageindex;
	}
}

function siteseo_titles_noimageindex_bypass() {
	if (siteseo_get_service('TitleOption')->getTitleNoImageIndex()) {
		return siteseo_get_service('TitleOption')->getTitleNoImageIndex();
	} elseif (is_singular() && siteseo_titles_noimageindex_post_option()) {
		return siteseo_titles_noimageindex_post_option();
	} elseif (is_tax() || is_category() || is_tag()) {
		$queried_object = get_queried_object();
		if (null != $queried_object) {
			if ('yes' == get_term_meta($queried_object->term_id, '_siteseo_robots_imageindex', true)) {
				return get_term_meta($queried_object->term_id, '_siteseo_robots_imageindex', true);
			}
		}
	}
}

// Polylang
function siteseo_remove_hreflang_polylang($hreflangs) {
	$hreflangs = [];

	return $hreflangs;
}

if ('0' != get_option('blog_public')) {// Discourage search engines from indexing this site is OFF
	function siteseo_titles_advanced_robots_hook() {
		$siteseo_comma_array = [];

		if ('' != siteseo_titles_noindex_bypass()) {
			$siteseo_titles_noindex = 'noindex';
			// Hook on meta robots noindex - 'siteseo_titles_noindex'
			if (has_filter('siteseo_titles_noindex')) {
				$siteseo_titles_noindex = apply_filters('siteseo_titles_noindex', $siteseo_titles_noindex);
			}
			array_push($siteseo_comma_array, $siteseo_titles_noindex);
		}
		if ('' != siteseo_titles_nofollow_bypass()) {
			$siteseo_titles_nofollow = 'nofollow';
			// Hook on meta robots nofollow - 'siteseo_titles_nofollow'
			if (has_filter('siteseo_titles_nofollow')) {
				$siteseo_titles_nofollow = apply_filters('siteseo_titles_nofollow', $siteseo_titles_nofollow);
			}
			array_push($siteseo_comma_array, $siteseo_titles_nofollow);
		}
		if ('' != siteseo_titles_noarchive_bypass()) {
			$siteseo_titles_noarchive = 'noarchive';
			// Hook on meta robots noarchive - 'siteseo_titles_noarchive'
			if (has_filter('siteseo_titles_noarchive')) {
				$siteseo_titles_noarchive = apply_filters('siteseo_titles_noarchive', $siteseo_titles_noarchive);
			}
			array_push($siteseo_comma_array, $siteseo_titles_noarchive);
		}
		if ('' != siteseo_titles_noimageindex_bypass()) {
			$siteseo_titles_noimageindex = 'noimageindex';
			// Hook on meta robots noimageindex - 'siteseo_titles_noimageindex'
			if (has_filter('siteseo_titles_noimageindex')) {
				$siteseo_titles_noimageindex = apply_filters('siteseo_titles_noimageindex', $siteseo_titles_noimageindex);
			}
			array_push($siteseo_comma_array, $siteseo_titles_noimageindex);
		}
		if ('' != siteseo_titles_nosnippet_bypass()) {
			$siteseo_titles_nosnippet = 'nosnippet';
			// Hook on meta robots nosnippet - 'siteseo_titles_nosnippet'
			if (has_filter('siteseo_titles_nosnippet')) {
				$siteseo_titles_nosnippet = apply_filters('siteseo_titles_nosnippet', $siteseo_titles_nosnippet);
			}
			array_push($siteseo_comma_array, $siteseo_titles_nosnippet);
		}

		// remove hreflang tag from Polylang if noindex
		if (in_array('noindex', $siteseo_comma_array)) {
			add_filter('pll_rel_hreflang_attributes', 'siteseo_remove_hreflang_polylang');
		}

		if ( ! in_array('noindex', $siteseo_comma_array) && ! in_array('nofollow', $siteseo_comma_array)) {
			$siteseo_titles_max_snippet = 'index, follow';
			array_unshift($siteseo_comma_array, $siteseo_titles_max_snippet);
		}

		if (in_array('nofollow', $siteseo_comma_array) && ! in_array('noindex', $siteseo_comma_array)) {
			$siteseo_titles_max_snippet = 'index';
			array_unshift($siteseo_comma_array, $siteseo_titles_max_snippet);
		}

		if (in_array('noindex', $siteseo_comma_array) && ! in_array('nofollow', $siteseo_comma_array)) {
			$siteseo_titles_max_snippet = 'follow';
			array_unshift($siteseo_comma_array, $siteseo_titles_max_snippet);
		}

		// Default meta robots
		$siteseo_titles_robots = '<meta name="robots" content="';

		$siteseo_comma_array = apply_filters('siteseo_titles_robots_attrs', $siteseo_comma_array);

		$siteseo_comma_count = count($siteseo_comma_array);
		for ($i = 0; $i < $siteseo_comma_count; ++$i) {
			$siteseo_titles_robots .= $siteseo_comma_array[$i];
			if ($i < ($siteseo_comma_count - 1)) {
				$siteseo_titles_robots .= ', ';
			}
		}

		$siteseo_titles_robots .= '" />';
		$siteseo_titles_robots .= "\n";

		// new meta robots
		if ( ! in_array('noindex', $siteseo_comma_array)) {
			$siteseo_titles_max_snippet = 'max-snippet:-1, max-image-preview:large, max-video-preview:-1';
			array_push($siteseo_comma_array, $siteseo_titles_max_snippet);

			// Googlebot
			$siteseo_titles_robots .= '<meta name="googlebot" content="';

			$siteseo_comma_array = apply_filters('siteseo_titles_robots_attrs', $siteseo_comma_array);

			$siteseo_comma_count = count($siteseo_comma_array);
			for ($i = 0; $i < $siteseo_comma_count; ++$i) {
				$siteseo_titles_robots .= $siteseo_comma_array[$i];
				if ($i < ($siteseo_comma_count - 1)) {
					$siteseo_titles_robots .= ', ';
				}
			}

			$siteseo_titles_robots .= '" />';
			$siteseo_titles_robots .= "\n";

			// Bingbot
			$siteseo_titles_robots .= '<meta name="bingbot" content="';

			$siteseo_comma_array = apply_filters('siteseo_titles_robots_attrs', $siteseo_comma_array);

			$siteseo_comma_count = count($siteseo_comma_array);
			for ($i = 0; $i < $siteseo_comma_count; ++$i) {
				$siteseo_titles_robots .= $siteseo_comma_array[$i];
				if ($i < ($siteseo_comma_count - 1)) {
					$siteseo_titles_robots .= ', ';
				}
			}

			$siteseo_titles_robots .= '" />';
			$siteseo_titles_robots .= "\n";
		}
		// Hook on meta robots all - 'siteseo_titles_robots'
		if (has_filter('siteseo_titles_robots')) {
			$siteseo_titles_robots = apply_filters('siteseo_titles_robots', $siteseo_titles_robots);
		}
		echo wp_kses($siteseo_titles_robots, ['meta' => ['name' => true, 'content' => true]]);
	}
	add_action('wp_head', 'siteseo_titles_advanced_robots_hook', 1);
}

if(siteseo_get_service('TitleOption')->geNoSiteLinksSearchBox()) {
	function siteseo_titles_nositelinkssearchbox_hook() {
		echo '<meta name="google" content="nositelinkssearchbox" />';
		echo "\n";
	}
	add_action('wp_head', 'siteseo_titles_nositelinkssearchbox_hook', 2);
}

// link rel prev/next
if(siteseo_get_service('TitleOption')->getPagedRel()) {
	function siteseo_titles_paged_rel_hook() {
		global $paged;
		if (get_previous_posts_link()) { ?>
			<link rel="prev" href="<?php echo esc_url(get_pagenum_link($paged - 1)); ?>" />
		<?php }
		if (get_next_posts_link()) { ?>
			<link rel="next" href="<?php echo esc_url(get_pagenum_link($paged + 1)); ?>" />
		<?php }
	}
	add_action('wp_head', 'siteseo_titles_paged_rel_hook', 9);
}

//canonical
function siteseo_titles_canonical_post_option() {
	$_siteseo_robots_canonical = get_post_meta(get_the_ID(), '_siteseo_robots_canonical', true);
	if ('' != $_siteseo_robots_canonical) {
		return $_siteseo_robots_canonical;
	}
}

function siteseo_titles_canonical_term_option() {
	$queried_object = get_queried_object();
	$termId =  null !== $queried_object ? $queried_object->term_id : '';
	if ( ! empty($termId)) {
		$_siteseo_robots_canonical = get_term_meta($termId, '_siteseo_robots_canonical', true);
		if ('' != $_siteseo_robots_canonical) {
			return $_siteseo_robots_canonical;
		}
	}
}

if (function_exists('siteseo_titles_noindex_bypass') && '1' != siteseo_titles_noindex_bypass() && 'yes' != siteseo_titles_noindex_bypass()) {//Remove Canonical if noindex
	$page_id = get_option('page_for_posts');
	if (is_singular() && siteseo_titles_canonical_post_option()) { //CUSTOM SINGLE CANONICAL
		function siteseo_titles_canonical_post_hook() {
			$siteseo_titles_canonical = '<link rel="canonical" href="' . htmlspecialchars(urldecode(siteseo_titles_canonical_post_option())) . '" />';
			//Hook on post canonical URL - 'siteseo_titles_canonical'
			if (has_filter('siteseo_titles_canonical')) {
				$siteseo_titles_canonical = apply_filters('siteseo_titles_canonical', $siteseo_titles_canonical);
			}
			echo wp_kses($siteseo_titles_canonical, ['link' => ['rel' => true, 'href' => true]]) . "\n";
		}
		add_action('wp_head', 'siteseo_titles_canonical_post_hook', 1);
	} elseif (is_home() && '' != get_post_meta($page_id, '_siteseo_robots_canonical', true)) { //BLOG PAGE
		function siteseo_titles_canonical_post_hook() {
			$page_id				   = get_option('page_for_posts');
			$siteseo_titles_canonical = '<link rel="canonical" href="' . htmlspecialchars(urldecode(get_post_meta($page_id, '_siteseo_robots_canonical', true))) . '" />';
			// Hook on post canonical URL - 'siteseo_titles_canonical'
			if (has_filter('siteseo_titles_canonical')) {
				$siteseo_titles_canonical = apply_filters('siteseo_titles_canonical', $siteseo_titles_canonical);
			}
			echo wp_kses($siteseo_titles_canonical, ['link' => ['rel' => true, 'href' => true]]) . "\n";
		}
		add_action('wp_head', 'siteseo_titles_canonical_post_hook', 1, 1);
	} elseif ((is_tax() || is_category() || is_tag()) && siteseo_titles_canonical_term_option()) { // CUSTOM TERM CANONICAL
		function siteseo_titles_canonical_term_hook() {
			$siteseo_titles_canonical = '<link rel="canonical" href="' . htmlspecialchars(urldecode(siteseo_titles_canonical_term_option())) . '" />';
			// Hook on post canonical URL - 'siteseo_titles_canonical'
			if (has_filter('siteseo_titles_canonical')) {
				$siteseo_titles_canonical = apply_filters('siteseo_titles_canonical', $siteseo_titles_canonical);
			}
			echo wp_kses($siteseo_titles_canonical, ['link' => ['rel' => true, 'href' => true]]) . "\n";
		}
		add_action('wp_head', 'siteseo_titles_canonical_term_hook', 1);
	} elseif ( ! is_404()) { // DEFAULT CANONICAL
		function siteseo_titles_canonical_hook() {
			global $wp;

			$current_url = user_trailingslashit(home_url(add_query_arg([], $wp->request)));

			if (is_search()) {
				$siteseo_titles_canonical = '<link rel="canonical" href="' . htmlspecialchars(urldecode(get_home_url() . '/search/' . get_search_query())) . '" />';
			} elseif (is_paged() && is_singular()) {//Paginated pages
				$siteseo_titles_canonical = '<link rel="canonical" href="' . htmlspecialchars(urldecode(get_permalink())) . '" />';
			} elseif (is_paged()) {
				$siteseo_titles_canonical = '<link rel="canonical" href="' . htmlspecialchars(urldecode($current_url)) . '" />';
			} elseif (is_singular()) {
				$siteseo_titles_canonical = '<link rel="canonical" href="' . htmlspecialchars(urldecode(get_permalink())) . '" />';
			} else {
				$siteseo_titles_canonical = '<link rel="canonical" href="' . htmlspecialchars(urldecode($current_url)) . '" />';
			}
			
			// Hook on post canonical URL - 'siteseo_titles_canonical'
			if (has_filter('siteseo_titles_canonical')) {
				$siteseo_titles_canonical = apply_filters('siteseo_titles_canonical', $siteseo_titles_canonical);
			}
			echo wp_kses($siteseo_titles_canonical, ['link' => ['rel' => true, 'href' => true]]) . "\n";
		}
		add_action('wp_head', 'siteseo_titles_canonical_hook', 1);
	}
}

Filemanager

Name Type Size Permission Actions
admin Folder 0755
metaboxes Folder 0755
public Folder 0755
settings Folder 0755
sitemap Folder 0755
admin.php File 2.08 KB 0644
ajax.php File 5.29 KB 0644
dynamic-variables.php File 13.55 KB 0644
functions.php File 20.61 KB 0644
generate_sitemap.php File 1.79 KB 0644
image_seo.php File 348 B 0644
install.php File 806 B 0644
options-advanced-admin.php File 28.15 KB 0644
options-advanced.php File 7.43 KB 0644
options-breadcrumbs.php File 5.77 KB 0644
options-clarity.php File 2.31 KB 0644
options-google-analytics.php File 36.65 KB 0644
options-google-ecommerce.php File 9.94 KB 0644
options-import-export.php File 29.3 KB 0644
options-instant-indexing.php File 10.32 KB 0644
options-matomo.php File 9.05 KB 0644
options-oembed.php File 5.85 KB 0644
options-redirections.php File 6.26 KB 0644
options-sitemap.php File 6.52 KB 0644
options-social.php File 59.07 KB 0644
options-titles-metas.php File 56.91 KB 0644
options.php File 26 KB 0644
social_metas.php File 6.36 KB 0644
tableofcontent.php File 4.53 KB 0644
titles_metas.php File 16.24 KB 0644