Экономика стран

К сожалению, большинство людей, которые будут ими затронуты почти весь мир, не будут иметь никакого влияния на результат. Вести Экономика Дайджест иностранной прессы за 14 августа.
Вести Экономика Греции снова придется списывать долги Греция не сможет самостоятельно расплатиться по долгам, и понадобится новая реструктуризация долгов, чтобы спасти страну от банкротства.

Yoast SEO Невідомий тег image: image в яндекс вебмайстрів

У чудового плагіна для WordPress він називається SEO by Yoast або навіть іноді WordPress-seo плагін, хороший найвідоміший і став уже стандартом де факто в своїй ніші. Але як завжди у нього знайшовся один фатальний недолік (відомий жарт) але проблема пов'язана не з плагіном, а з Яндексом про це далі і піде мова.

Добу поста описати наступним чином, зареєструвавшись в сервісі для вебмайстрів від яндекса - webmaster.yandex.ru з'явився один цікавий інструмент який покликаний показати можливі проблеми в індексації сайту, він перевіряє багато аспектів в тому числі SitemapXML сайту і якщо у вас карта сайту створюється за допомогою плагіна Yoast SEO то панель яндекс вебмайстер в розділі «Можливі проблеми» видасть що то типо це

«В одному або декількох файлах Sitemap виявлені помилки, які можуть вплинути на обробку файлів індексується роботом.»

»

Якщо подивитися подробиці з'ясується що краулер Яндекса на здатний розпізнати тег xml
рядок з помилкою виглядає як то так

... image: image ...

Звичайно тег не зовсім стандартний (мова XML передбачається можливість розширення синтаксису) і консервативний бот Яндекс не сприймає його як валідний, хоча він цілком валідний і Google його нормально сприймає, тому автори плагіна не використовуючи Яндекс (в їх країні Яндекс не популярний) не бачать проблеми в цьому і нічого не виправляють.

Є два сценарії розвитку подій:

1. так як Яндекс оцінює це як «Можливі проблеми» і синтаксис xml як я з'ясував не порушений, то можна просто забити і нічого дивного не станеться, я сам так робив і нічого страшного не сталося, Яндекс
НЕ пессімізіровал мої сайти через це.

2. Проте хороше рішення - намагатися виправити ситуацію і прибрати всі проблемні для яндекса теги з SitemapXML, цей можна зробити наприклад якщо вам не важлива наявність в будь-якому вигляді індексування гуглом карти сайту вашого сайту саме з доданими картинками.

Трохи погуглити можна можна знайти кілька поганих прикладів вирішення цієї проблеми раз , два , три і холівар на серч

Перших поганий тим що там там пропонується хакнуть Вендорний код плагіна і осадити проблем при кожній оновленні плагіна, які виходять регулярно.

Другий використовує трохи дивний код який створює екземпляр класу WPSEO_Sitemap_Timezone, вже напевно не повинно зламатися але все ж є ймовірність що код цього класу зміниться в подальших що предмет
до помилок до кате сайту які буде важко помітити.

За третин посилання пропонується не використовувати Yoast SEO для створення карти сайту, але мене він подобається не бачу сенсу страждати якщо проблема не в мені а в Яндексі

Тому я вирішив написати свій код який би видалив непотрібний тег і при оновленні точно б нічого не поламав, зробити я це вирішив за допомогою однієї регулярки, анонімної функції і фільтра який знайшов в плагіні Yoast SEO

<? Php / * * Plugin Name: Yoast SEO Helper * Plugin URI: https://alkoweb.ru/?p=1018 * Version: 1.0.0 * Author: petrozavodsky * Author URI: https://alkoweb.ru * / add_filter ( 'wpseo_sitemap_url', function ($ output, $ url) {return preg_replace ( " '&lt;image: image [^>] *?>. *? </ image: image>' si", '', $ output );}, 10, 2);

* Файл можна назвати yoast-seo-helper.php наприклад це не важливо.

Що відбувається після генерації готового XML і прямо перед його висновком моя регулярка вирізає все що знаходиться всередині тега включаючи сам тег, так само вона виріже тег не залежно від наявності у нього атрибутів (а раптом) і вже після цього готовий код віддається клієнту.
Вставити цей сниппет я прийменника в окремий файл розташований в каталозі wp-content / mu-plugins / НЕ вкоем разі не в function.php активної теми як це буває, чому так я вже як то писав в цьому блозі, якщо цікаво можете почитати попередні пости або крайньому випадку запитати в коментарях.

Є цінний додаток про те як перевірити чи працює наш сниппет.

Для цього відключаємо кеш на сайті відкриваємо нове вікно в браузері в режимі інкогніто, дивимося в вебмайстрів Яндекса на який sitemap він лаявся, припустимо це url

https://site.ru/post-sitemap1.xml

значить відкриваємо його в приватній вкладці

view-source: https: //brodude.ru/post-sitemap1.xml [.code]
шукаємо там такий рядок image: image, для надійності шукати можна скориставшись пошуком браузера по вмісту натиснувши (ctrl + f).

code]   шукаємо там такий рядок image: image, для надійності шукати можна скориставшись пошуком браузера по вмісту натиснувши (ctrl + f)

Якщо такого рядка не знайшлося значить у нас все вийшло, натискаємо в вебмайстрів кнопку «перевірити»

PS як підказали в коментарях є спосіб простіше

add_filter ( 'wpseo_xml_sitemap_img', '__return_false');

UPD: Євген в коментарі пише що перший варіант коду теж має свої плюси, думаю можна повірити йому на слово.

Ru/?
Lt;image: image [^>] *?
Навигация сайта
Реклама
Панель управления
Календарь новостей
Популярные новости
Информация
Экономика стран www.mp3area.ru © 2005-2016
При копировании материала, ссылка на сайт обязательна.