Решено Sitemap, Карта сайта

О! Круто! Попробуем )
 
Народ, скажите а xml файл сам автоматический генерируется? в какой директории?
 
Всё работает прекрасно - файл сам появился в корневой директории ) ... правда пока разибраюсь, как исключить из карты сайта файлы ... очень удобное расширение - особенно для моего многоязычного сайта - теперь везде карта сайта автоматом генерируется ... а то ручками запускать скрипт - неудобно!
 
Extension:AutoSitemap
Вроде все было норм. В директории есть сайтмап. Но при загрузке картинок оочень долго стоит на 0%, немного растет и выдает ошибку. Процессер на серваке в этот сильно грузится от 1-2 картинок до 80%)) Отключаю расширение в Локалсетинг, все отлично.

Код:
Error: {"warnings":{"main":{"*":"Unrecognized parameter: 'name'"}},"upload":{"result":"Success","filename":"04-07-109.jpg","imageinfo":{"timestamp":"2017-07-25T09:23:10Z","user":"Arhottechtor-noob","userid":2,"size":68832,"width":527,"height":428,"parsedcomment":"MsUpload","comment":"MsUpload","html":"\u0424\u0430\u0439\u043b \u0441 \u044d\u0442\u0438\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0424\u0430\u0439\u043b:04-07-109.jpg, \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0435\u0433\u043e.\n\n\u0424\u0430\u0439\u043b:04-07-109.jpg \n","canonicaltitle":"\u0424\u0430\u0439\u043b:04-07-109.jpg","url":"https://имя сайта/images/d/da/04-07-109.jpg","descriptionurl":"https://имя сайта/%D0%A4%D0%B0%D0%B9%D0%BB:04-07-109.jpg","descriptionshorturl":"https://имя сайта/index.php?curid=0","sha1":"6918ff7e21e62aff4e9a2ddf7516a2d16e398539","metadata":[{"name":"MEDIAWIKI_EXIF_VERSION","value":2}],"commonmetadata":[],"extmetadata":{"DateTime":{"value":"2017-07-25T09:23:10Z","source":"mediawiki-metadata","hidden":""},"ObjectName":{"value":"04-07-109","source":"mediawiki-metadata","hidden":""}},"mime":"image/jpeg","mediatype":"BITMAP","bitdepth":8}}} Warning: fopen(https://blogs.yandex.ru/pings/?status=success&url=https://имя сайта/sitemap.xml): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in /home/wik90768/имя сайта/extensions/AutoSitemap/AutoSitemap_body.php on line 232 Warning: fopen(https://blogs.yandex.ru/pings/?status=success&url=https://имя сайта/sitemap.xml): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in /home/wik90768/имя сайта/extensions/AutoSitemap/AutoSitemap_body.php on line 232 Warning: fopen(https://blogs.yandex.ru/pings/?status=success&url=https://имя сайта/sitemap.xml): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in /home/wik90768/имя сайта/extensions/AutoSitemap/AutoSitemap_body.php on line 232

Читаю, что то с яндексом связано. Гуглил... выкурил пол пачки.
Отключил и картинки пулей заливаются и страницы грузятся моментально.
Что за ? (имя сайта изменил, там тестовый вариант в прикол. Не все поймут шутку)

Что то с Яндексом связано
Warning: fopen(https://blogs.yandex.ru/pings/?status=success&url=https://имя_сайта/sitemap.xml): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
 
Последнее редактирование:
Вроде все было норм. В директории есть сайтмап. Но при загрузке картинок оочень долго стоит на 0%, немного растет и выдает ошибку. Процессер на серваке в этот сильно грузится от 1-2 картинок до 80%)) Отключаю расширение в Локалсетинг, все отлично.
Выключить Search engines notification как описано в документации по расширению.
Яндекс выпилил эту фичу.
 
Друзья, обнаружил баг этого приложения! - напишу разработчикам
В общем вместе с этим расширением глючно работают два приложения, установленные у меня, а именно расширения:
Flow
MsUpload

Flow - расширение добавления комментариев во вкладке обсуждение, при создании темы она сразу не публикуется, видно, что что-то не так ... обновляешь страницу - тема появляется
MSUpload - загрузка нескольких файлов ... при загрузке файлов выдаётся ошибка, и в описании видно, что ругается на приложение sitemap ... хотя по факту файлы загружаются на сервер, но вот с такими багами

Временно отключил расширение создания карты сайты ... чтобы нормально грузить файлы и создавать темы в обсуждениях!
 
В логах просто куча однотипных ошибок:
Код:
PHP Notice:  Only variables should be assigned by reference in /wiki/extensions/AutoSitemap/AutoSitemap_body.php on line 168

Ругается на:
Код:
    static public function getChangeFreq( $page_id ) {
        global $wgAutoSitemap;

        if ($wgAutoSitemap["freq"] !== "adjust" ) return $wgAutoSitemap["freq"];


        $dbr =& wfGetDB( DB_SLAVE );

        $revision = $dbr->tableName( 'revision' );

        $sql = "SELECT
        MIN(rev_timestamp) AS creation_timestamp,
        COUNT(rev_timestamp) AS revision_count
        FROM $revision WHERE rev_page = $page_id";

        $res = $dbr->query( $sql );
        $count = $dbr->numRows( $res );

        if( $count < 1 ) {
            return "daily";
        } else {
            $item1 =( $dbr->fetchObject( $res ) );
            $cur = time() ;
            $first = wfTimestamp( TS_UNIX, $item1->creation_timestamp );

            $diff = ($cur - $first) / $item1->revision_count ;
            switch( true ) {
                case $diff < 3600: return "hourly";
                case $diff < 24*3600: return "daily";
                case $diff < 7*24*3600: return "weekly";
                case $diff < 30.33*24*3600: return "monthly";
                case $diff < 365.25*24*3600: return "yearly";
                default: return "daily";
            }
        }
    }

Если конкретно, то на:
Код:
$dbr =& wfGetDB( DB_SLAVE );

Мои настройки:
Код:
#Sitemap
wfLoadExtension( 'AutoSitemap' );
$wgAutoSitemap["filename"] = "sitemap.xml"; //default value
$wgAutoSitemap["server"] = "http://site.su";
$wgAutoSitemap["notify"] = [
    'https://www.google.com/webmasters/sitemaps/ping?sitemap=http://site.su/wiki/sitemap.xml',
    'https://www.bing.com/webmaster/ping.aspx?sitemap=http://site.su/wiki/sitemap.xml',
    'https://blogs.yandex.ru/pings/?status=success&url=http://site.su/wiki/sitemap.xml',
];
$wgAutoSitemap["exclude_namespaces"] = [
    NS_TALK,
    NS_USER, 
    NS_USER_TALK,
    NS_PROJECT_TALK,
    NS_IMAGE_TALK,
    NS_MEDIAWIKI, 
    NS_MEDIAWIKI_TALK,
    NS_TEMPLATE,
    NS_TEMPLATE_TALK,
    NS_HELP, 
    NS_HELP_TALK,
    NS_CATEGORY_TALK
]; //default values

$wgAutoSitemap["exclude_pages"] = ['page title to exclude', 'other one'];
$wgAutoSitemap["freq"] = "adjust"; //default
 
Самое простое и на мой взгляд лучшее решение - maintenance/generateSitemap.php
Для автоматизации ставится задача в крон.
А в LocalSettings можно указать какие конкретно типы страниц учитывать, например :
$wgSitemapNamespaces = array( NS_MAIN, NS_CATEGORY );
 
У некоторых просто дешевый хостинг без крона) Вот и изгаляются.
сейчас пользуюсь расширением AutoSitemap, но я так понимаю лучше все же просто настроить крон, настроить то я его настроил, он мне в указанной директории создает 3 файла sitemap-index-sowiki.xml, sitemap-sowiki-NS_0-0.xml, sitemap-sowiki-NS_6-0.xml, я вот только не вьеду к какому файлу показывать путь в robots.txt?
Вот содержание индексного xml https://so-wiki.ru/w/sitemap/sitemap-index-sowiki.xml
 
сейчас пользуюсь расширением AutoSitemap, но я так понимаю лучше все же просто настроить крон, настроить то я его настроил, он мне в указанной директории создает 3 файла sitemap-index-sowiki.xml, sitemap-sowiki-NS_0-0.xml, sitemap-sowiki-NS_6-0.xml, я вот только не вьеду к какому файлу показывать путь в robots.txt?
Вот содержание индексного xml https://so-wiki.ru/w/sitemap/sitemap-index-sowiki.xml
Индекс и указывать, можно еще и редирект на него повесить для верности.
 
Индекс и указывать, можно еще и редирект на него повесить для верности.
нет ли совета, какие разделы включить для вики? или какие лучше дополнительные настройки для генерации сайтмапа?
 
сейчас пользуюсь расширением AutoSitemap, но я так понимаю лучше все же просто настроить крон, настроить то я его настроил, он мне в указанной директории создает 3 файла sitemap-index-sowiki.xml, sitemap-sowiki-NS_0-0.xml, sitemap-sowiki-NS_6-0.xml, я вот только не вьеду к какому файлу показывать путь в robots.txt?
Вот содержание индексного xml https://so-wiki.ru/w/sitemap/sitemap-index-sowiki.xml

AutoSitemap генерирует карту сайта каждый раз после сохранении какой либо страницы. Но вот когда на сайте 15 тыс страниц (Статьи, шаблоны, переводы), время сохранения страницы значительно увеличивается и начинает напрягать. Другими словами, это решение полезно только для небольших сайтов.

Я сейчас хочу перейти на стандартное решение от MW, но не могу понять как мне исключить некоторые неймспейсы. В AutoSitemap это делается довольно просто:
PHP:
$wgAutoSitemap["exclude_namespaces"] = [
    NS_TALK,
    NS_USER,   
    NS_USER_TALK,
    NS_PROJECT_TALK,
    NS_IMAGE_TALK,
    NS_MEDIAWIKI,   
    NS_MEDIAWIKI_TALK,
    NS_TEMPLATE,
    NS_TEMPLATE_TALK,
    NS_HELP,   
    NS_HELP_TALK,
    1198, //Фразы переводов
    1199, //Фразы переводов. Обсуждения.
    NS_CATEGORY_TALK
];

Может есть у кого возможность для примера поделиться настройками стандартного sitemap генератора?
 
AutoSitemap генерирует карту сайта каждый раз после сохранении какой либо страницы. Но вот когда на сайте 15 тыс страниц (Статьи, шаблоны, переводы), время сохранения страницы значительно увеличивается и начинает напрягать. Другими словами, это решение полезно только для небольших сайтов.

Я сейчас хочу перейти на стандартное решение от MW, но не могу понять как мне исключить некоторые неймспейсы. В AutoSitemap это делается довольно просто:
PHP:
$wgAutoSitemap["exclude_namespaces"] = [
    NS_TALK,
    NS_USER,  
    NS_USER_TALK,
    NS_PROJECT_TALK,
    NS_IMAGE_TALK,
    NS_MEDIAWIKI,  
    NS_MEDIAWIKI_TALK,
    NS_TEMPLATE,
    NS_TEMPLATE_TALK,
    NS_HELP,  
    NS_HELP_TALK,
    1198, //Фразы переводов
    1199, //Фразы переводов. Обсуждения.
    NS_CATEGORY_TALK
];

Может есть у кого возможность для примера поделиться настройками стандартного sitemap генератора?
тут мы задаем на какие неймспейсы делать сайтмап (это в локаклсеттингс добавить): https://www.mediawiki.org/wiki/Manual:$wgSitemapNamespaces
тут мы узнаем ИД неймспейсов: https://www.mediawiki.org/wiki/Manual:Namespace
 
  • Like
Реакции: Solj
Назад
Верх