Плагин Google XML Sitemaps не работает с www, как исправить? (Error loading stylesheet: An unknown error has occurred (805303f4))
Плагин 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-core.php, который лежит в папке плагина google-sitemap-generator, путь по ftp будет выглядеть примерно так site.ru/wp-content/plugins/google-sitemap-generator:
Или можно отредактировать данный файл через админку сайта без использования ftp, но тогда нужно быть более аккуратным и скопировать содержимое файла на всякий случай, если понадобится восстановить первоначальную версию.
Чтобы внести изменения через админку, зайдите на страницу всех плагинов и в настройках плагина Google XML Sitemaps выберите «Изменить»:
Затем в правой колонке выберите файл google-sitemap-generator/sitemap-core.php:
Далее вносим изменения в файл sitemap-core.php. Если вы вносите изменения через FTP, тогда в версии плагина 3.4 вам нужна строка 817, если вносите изменения через админку, то нажмите CTRL+F и ищите кусок кода:
function GetPluginUrl() {
Затем замените этот кусок кода:
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, так и без.
Помните, что при обновлении плагина, файлы будут перезаписаны и придется вносить изменения еще раз.
Первоисточник решения данной проблемы здесь.
После обновления плагина Contact Form 7 сообщение об ошибке (alert) не пропадает при наведении курсора…
Как вывести несколько последних записей из определенной категории В нужном месте добавляем в шаблон код:…
Для того, чтобы добавить в шаблон сайта форму для поиска по сайту, нужно добавить код…
Вышла новая версия WordPress 3.8 «Паркер», названная в честь джазового саксофониста Чарли Паркера: новый дизайн…
2 комментария
Ответить
Спасибо большое за старание , вот только не понял разницы в коде, каковы изменения? И еще вопрос версия WP 4.2.1–c ней как быть? Сасибо. С Ув. Руслан
С версией 4.2.1 не тестировал.
Посмотрите на код который надо заменить, и код, которым надо заменить, видна явная разница.