• Всем привет.

    Если в Polylang снять галочку «Исключить язык по-умолчанию из URL», то sitemap.xml появятся ссылки вида https://www.example.com/ru/post-sitemap.xml , и если по ней перейти, то там будет «пусто», а если убрать /ru, то всё будет работать. По этой причине у меня основной язык был скрыт из URL для того, чтобы sitemap работал должным образом. Но

    После 3 часов дебага плагина AIO SEO, я нашёл то место, где добавляется это злосчастное /ru. Проблема кроется в файле: \wp-content\plugins\all-in-one-seo-pack\app\Common\Traits\Helpers\ThirdParty.php :232

    public function localizedUrl( $path ) {
        $url = apply_filters( 'wpml_home_url', home_url( '/' ) );

    Здесь используется фильтр от плагина WPML, который и меняет URL. Решение простое. добавить в тему(other.php или function.php) , или создать свой плагин, который будет заменять wpml_home_url

    
    add_filter('wpml_home_url', 'custom_wpml_home_url');
    function custom_wpml_home_url($url) {
        if ($url === home_url('/')) {
            return $url;
        }
        return home_url('/');
    }

    Теперь можете смело включать отображение основного языка в URL.

    P.S. Чтобы ускорить генерацию *sitemap.xml, можно оптимизировать запрос в файле ll-in-one-seo-pack/app/Common/Sitemap/Query.php , я закомментировал оригинальные строчки

    		// Set defaults.
    		//$fields  = 'p.ID, p.post_title, p.post_content, p.post_excerpt, p.post_type, p.post_password, ';
    		$fields  = 'p.ID, ';
    		$fields .= 'p.post_parent, p.post_date_gmt, p.post_modified_gmt, ap.priority, ap.frequency';
    		$maxAge  = '';
    
    		if ( ! aioseo()->sitemap->helpers->excludeImages() ) {
    			$fields .= ', ap.images';
    		}
    
    		// Order by highest priority first (highest priority at the top),
    		// then by post modified date (most recently updated at the top).
    		//$orderBy = 'ap.priority DESC, p.post_modified_gmt DESC';
    		$orderBy = 'p.post_modified_gmt DESC';
Просмотр 1 ответа (всего 1)
  • Модератор Yui

    (@fierevere)

    永子

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

Просмотр 1 ответа (всего 1)
  • Тема «Совместимость sitemap All in One SEO Pack и Polylang» закрыта для новых ответов.