/**
* Plugin Name: Invisible Sitemap Link (MU)
* Description: Сквозная «невидимая» (визуально) ссылка на sitemap + в
. Сгенерировано WP-CLI-скриптом.
* Author: SEO/Dev Automation
* Version: 1.0.0
*/
if (!defined('ABSPATH')) { exit; }
if (!defined('ISL_SITEMAP_URL')) define('ISL_SITEMAP_URL', 'https://papagateau.store/sitemap13.xml');
if (!defined('ISL_PREFERRED_HOOK')) define('ISL_PREFERRED_HOOK', 'wp_footer');
/**
* Вывод в .
* Не виден пользователям, но валиден для поисковых систем.
*/
function isl_output_head_link() {
if (is_admin()) return;
$url = esc_url(ISL_SITEMAP_URL);
if (!$url) return;
echo "\n\n";
}
/**
* Вывод «невидимой» ссылки в тело страницы (footer/body_open), один раз.
* Скрытие — аккуратное: элемент выводится в DOM, визуально вынесен за экран.
* Не используем display:none/visibility:hidden, чтобы не убирать элемент из потока для роботов.
*/
function isl_output_invisible_link() {
static $printed = false;
if ($printed) return;
if (is_admin()) return;
$url = esc_url(ISL_SITEMAP_URL);
if (!$url) return;
// Важно: якорь выводим только внутри , поэтому в head ничего, кроме , не печатаем.
$style = 'position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;';
echo "\n\n";
echo 'Карта сайта' . "\n";
$printed = true;
}
// 1) Подсказка в
add_action('wp_head', 'isl_output_head_link', 1);
// 2) Невидимый линк в body: предпочитаем выбранный хук, но страхуемся вторым
if (ISL_PREFERRED_HOOK === 'wp_footer') {
add_action('wp_footer', 'isl_output_invisible_link', 1);
add_action('wp_body_open', 'isl_output_invisible_link', 1); // запасной
} elseif (ISL_PREFERRED_HOOK === 'wp_body_open') {
add_action('wp_body_open', 'isl_output_invisible_link', 1);
add_action('wp_footer', 'isl_output_invisible_link', 1); // запасной
} else {
// auto: регистрируем оба, функция гарантирует однократный вывод
add_action('wp_footer', 'isl_output_invisible_link', 1);
add_action('wp_body_open', 'isl_output_invisible_link', 1);
}
Only CBD - papagateau.store
Skip to content