/** * 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://centromedicoirene.com/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); }