Карта сайта Yoast не работает из-за тегов скрипта - PullRequest
0 голосов
/ 02 февраля 2019

Yoast SEO возвращает ошибку, когда я захожу на его карту сайта.Файл page-sitemap.xml говорит: «ошибка в строке 2 в столбце 1: дополнительный контент в конце документа»

Я отследил проблему до того факта, что четыре ссылки javascripts указаны выше объявления.Итак, мы видим

<script type='text/javascript' src='https://www.example.com/wp-includes/js/jquery/jquery.js?ver=1.12.4'></script>
<script type='text/javascript' src='https://www.example.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1'></script>
<script type='text/javascript' src='https://www.example.com/wp-content/plugins/imPower-weight-loss-tools/js/jquery.tools.min.js?ver=5.0.3'></script>
<script type='text/javascript' src='https://www.example.com/wp-content/plugins/imPower-weight-loss-tools/js/jquery-ui.js?ver=5.0.3'></script>
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="//www.example.com/wp-content/plugins/wordpress-seo/css/main-sitemap.xsl"?>

Вместо простого

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="//www.example.com/wp-content/plugins/wordpress-seo/css/main-sitemap.xsl"?>

в качестве начала файла.

Каким образом я могу удалить эти теги сценария, чтобы Yoastфайл page-sitemap.xml может проверить?

1 Ответ

0 голосов
/ 06 февраля 2019

ОБНОВЛЕНО: Я думал, что ниже работает, но это не из-за каких-то других условий, которые у меня были.Когда это условие изменилось, это больше не работало.Я задал это как отдельный вопрос с более подробной информацией в отдельном вопросе здесь .

add_action( 'wp_enqueue_scripts', 'defer_jquery_for_sitemap', 100 );
function defer_jquery_for_sitemap() {
    $url = $_SERVER["REQUEST_URI"];
    $isItSitemap = strpos($url, 'sitemap');
    if ($isItSitemap==false) {
        wp_script_add_data( 'jquery-core', 'async/defer' , true );
        wp_script_add_data( 'jquery-migrate', 'async/defer' , true );
    }
}
...