Главная Новости

XML карта сайта на WordPress без плагинов moneyinnetwork_xml_sitemap

Опубликовано: 21.10.2017

Пару дней назад решил избавиться еще от одного увесистого и прожорливого плагина, который строил XML карту сайта на WordPress , причем, несмотря на множество настроек и отличную репутацию среди вебмастеров, этот плагин никак не хотел добавлять к карте дочерние страницы. Вернее, он их добавлял, но при этом уровень вложенности был не более одной страницы и то работало это как-то избирательно (кстати, соответствующую опцию в настройках я активировал). Плагин этот Google XML Sitemaps (может, у меня версия была не последняя, кто знает).

На эту проблему я обратил внимание несколько дней назад. Причем, очевидной лично для меня она стала в тот момент, когда я реализовал у себя на сайте этот простецкий форум, создал несколько разделов и тем и увидел, что в карте-то sitemap.xml нифига нет моих форумных страниц с темами. Во дела, подумал я, и, имея начальный опыт в программировании на php и mysql, решил-таки, что мне нужна XML карта сайта на WordPress без всяких там плагинов , чтобы я точно знал: что, как, куда, откуда и почему .

Порывшись в закромах интернета, подобных решений не нашел. Все вебмастера в сети, на которых меня выводил “Яша”, использовали готовые “плагинные” решения для XML карт WordPress. Засучив рукава, приступил к ночному ваянию кода (днем-то дела несколько иного плана). Вот, собственно, то, что вышло:

//обсуждение функции построения XML карт сайтов moneyinnetwork_xml_sitemap ведется на сайте автора в теме: //http://moneyinnetwork.ru/forum/sajtostroenie-sistemy-upravleniya-sajtom-seo/vse-o-vordpress-wordpress/xml-karta-sajta-na-wordpress-bez-plaginov-moneyinnetwork_xml_sitemap function moneyinnetwork_xml_sitemap ( $home_priority = '1.0' , $page_priority = '0.6' , $post_priority = '0.6' , $other_priority = '0.3' ) { global $wpdb ; $result = $wpdb - > get_results ( "SELECT ID, post_modified_gmt, post_type FROM $wpdb->posts WHERE post_status='publish' ORDER BY post_modified_gmt DESC" , 'ARRAY_A' ) ; if ( ! empty ($result ) ) { $f = '<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' ; $i = 0 ; foreach ( $result as $row ) { $priority = $other_priority ; if ( $row [ 'post_type' ] == 'page' ) $priority = $page_priority ; if ( $row [ 'post_type' ] == 'post' ) $priority = $post_priority ; if ( $i == 0 ) { $f = $f. '<url><loc>' .get_home_url ( ) .'</loc><lastmod>' .date ( 'c' , strtotime ($row [ 'post_modified_gmt' ] ) ) .'</lastmod><changefreq>daily</changefreq><priority>' .$home_priority. '</priority></url>' ; $i = 1 ; } $f = $f. '<url><loc>' .get_permalink ( $row [ 'ID' ] ) .'</loc><lastmod>' .date ( 'c' , strtotime ($row [ 'post_modified_gmt' ] ) ) .'</lastmod><changefreq>daily</changefreq><priority>' .$priority. '</priority></url>' ; } $f = $f. '</urlset>' ; $fp = fopen ( $_SERVER [ 'DOCUMENT_ROOT' ] .'/sitemap.xml' , 'w' ) ; fwrite ( $fp, $f ) ; fclose ( $fp ) ; $result = wp_remote_get ( 'http://www.google.com/ping?sitemap=' .get_home_url ( ) .'/sitemap.xml' ) ; if ( ! is_wp_error ( $result ) || wp_remote_retrieve_response_code ( $result ) === 200 ) { //Карта успешно отправлена в Google. //Это просто под будущие разработки, если надо, конечно. } } return ; }

Итак, функция moneyinnetwork_xml_sitemap() строит XML карту сайта на WordPress, сохраняет ее в корневой директории сайта и “пингует” (отправляет) ее в Google (“примочка”, наверное, бесполезная, если у Вас есть кабинет вебмастера в Google, где Вы явно прописали карту сайта). Функцию moneyinnetwork_xml_sitemap() “укладываем” к функциям темы, то есть размещаем ее в functions.php.

3D стерео фильмы для 5D
    Как купить билеты на поезд

    Я всегда в последнее время пользуюсь услугами настоящего интернет сайта. Он у меня внушает доверие. И здесь придбати квитки возможно в любое

    Ведущие корпоративов
    Хотя до наступления зимы осталось еще полтора месяца, многие коллективы уже сейчас планируют, как они будут встречать Новый год. Руководство рассматривает суммы, которые могли бы быть потрачены на корпоратив,

    Custom plugins and WordPress themes
    Шаблоны страниц в WordPress являются отличным способом изменить структуру страниц или добавить им функциональности. Создание собственного шаблона страниц может быть не простым делом, особенно для новичков,

    Продукт WooCommerce
    Каждый умный человек в современном мире прекрасно понимает, что в двадцать первом веке просто нельзя упускать возможность узнать или же научиться чему-либо новому. Особенно, если речь касается электронной

    Магазин видеонаблюдения
    При создании системы видеонаблюдения необходим целый ряд определенного оборудования. Для этого сегодня существует огромное количество различных магазинов по продаже специальной техники для организации

    Заказ такси в Киеве от 30 грн
    Если неудачи в жизни для вас нормой, в первую очередь необходимо проанализировать, откуда растут корни ваших проблем. Скорее всего, вы человек неорганизованный и постоянно опаздываете. В мегаполисе это

    Бесплатная раскрутка сайтов ucoz
    Необходимо для себя выяснить, какая цель преследуется при раскрутке Интернет проекта. Здесь всё просто, так как чаще всего это возможность при помощи различных способов и средств увеличить поток посетителей.

    Где купить качественные ссылки
    Большинство информации предлагаемой для изучения информации по продвижению ресурсов, непременно во главу угла ставят использование в интернет ресурсах качественного, уникального контента. Также для продвижения

    Видеонаблюдение Novicam в Екатеринбурге
    По своей сути подключение видеорегистратора к локальной сети совершенно не отличается от подключения обычного компьютера к локальной сети.  Для того что бы система видеонаблюдения начала функционировать

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

rss