Плагин Google XML Sitemaps не работает с www, как исправить? (Error loading stylesheet: An unknown error has occurred (805303f4))

09.03.2014

Плагин Google XML Sitemaps — отличный плагин для создания карты сайта в формате xml для поисковиков, не путайте с html-картой сайта для пользователей. Но вот проблема в том, что данный плагин выдает ошибку, если в Общих параметрах WordPress вы прописали адрес с www (ошибка выдается в версии 3.4 и ранних версиях). Ошибка выглядит таким образом, при попытке открыть карту сайта по адресу site.ru/sitemap.xml, получаем это:

Ошибка загрузки таблицы стилей: Произошла неизвестная ошибка (805303f4)
http://www.site.ru/wp-content/plugins/google-sitemap-generator/sitemap.xsl

sitemap-error

Для того, чтобы карта сайта отображалась нормально, и поисковики могли получить все содержимое вашего сайта без ошибок, придется немного исправить файлы плагина.

Вносить исправления будем в файл sitemap-core.php, который лежит в папке плагина google-sitemap-generator, путь по ftp будет выглядеть примерно так site.ru/wp-content/plugins/google-sitemap-generator:
sitemap-ftp

Или можно отредактировать данный файл через админку сайта без использования ftp, но тогда нужно быть более аккуратным и скопировать содержимое файла на всякий случай, если понадобится восстановить первоначальную версию.

Чтобы внести изменения через админку, зайдите на страницу всех плагинов и в настройках плагина Google XML Sitemaps выберите «Изменить»:
sitemap-edit

Затем в правой колонке выберите файл google-sitemap-generator/sitemap-core.php:
sitemap-edit-file

Далее вносим изменения в файл sitemap-core.php. Если вы вносите изменения через FTP, тогда в версии плагина 3.4 вам нужна строка 817, если вносите изменения через админку, то нажмите CTRL+F и ищите кусок кода:

function GetPluginUrl() {

sitemap-edit-find

Затем замените этот кусок кода:

function GetPluginUrl() {

//Try to use WP API if possible, introduced in WP 2.6
if (function_exists('plugins_url')) return trailingslashit(plugins_url(basename(dirname(__FILE__))));

//Try to find manually... can't work if wp-content was renamed or is redirected
$path = dirname(__FILE__);
$path = str_replace("\\","/",$path);
$path = trailingslashit(get_bloginfo('wpurl')) . trailingslashit(substr($path,strpos($path,"wp-content/")));
return $path;
}

На этот код:

function GetPluginUrl() {
 
//Try to use WP API if possible, introduced in WP 2.6
//if (function_exists('plugins_url')) return trailingslashit(plugins_url(basename(dirname(__FILE__))));
 
//Try to find manually... can't work if wp-content was renamed or is redirected
$path = dirname(__FILE__);
$path = str_replace("\\","/",$path);
//$path = trailingslashit(get_bloginfo('wpurl')) . trailingslashit(substr($path,strpos($path,"wp-content/")));
$path = trailingslashit(substr($path,strpos($path,"wp-content/")));
return $path;
}

Затем сохраняем изменения, если по ftp — перезаписываем файл. Обязательно заходим в настройки плагина «Генератор XML-карты сайта для WordPress 3.4» и нажимаем «заново построить карту сайта«. После всех этих манипуляций карта сайта sitemap.xml будет доступна как по адресу с www, так и без.

Помните, что при обновлении плагина, файлы будут перезаписаны и придется вносить изменения еще раз.

Скачать плагин Google XML Sitemaps (v.3.4) для сайта с www можно здесь.

Первоисточник решения данной проблемы здесь.

Не уходи, пока не прочитаешь:

Комментарии (2) к “Плагин Google XML Sitemaps не работает с www, как исправить? (Error loading stylesheet: An unknown error has occurred (805303f4))”

  • Руслан

    Спасибо большое за старание , вот только не понял разницы в коде, каковы изменения? И еще вопрос версия WP 4.2.1–c ней как быть? Сасибо. С Ув. Руслан

    Ответить
    • Denis Creative

      С версией 4.2.1 не тестировал.
      Посмотрите на код который надо заменить, и код, которым надо заменить, видна явная разница.

      Ответить

Оставить комментарий