Перейти к содержимому
Русский язык для Invision Community 5

Проблемы с Sitemap (Карта Сайта)

На форуме стоит приложение Sitemap 2.0.0 (от IPS Community Project Developers).

Всё отлично работает, файлы карт своевременно обновляют информацию, поисковики вовремя её получают, нареканий на работу этого приложения не было.

 

Но вот в ГуглеВебМастере заметил что множество тем поисковики находят не через Sitemap, а через другие ссылки. То есть темы есть в индексе, но в сайтмапе их нет, и как я заметил, такие темы которые не в сайтмапе имеют намного меньший вес в индексе.

 

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

Хотя конечно немного как то странно - у меня выставлено максимальное значение - 50 000 тем, но всё равно файл тем генерирует не более 20 000 записей. А на форуме у меня как раз где то именно такое и кол-во тем.

 

Ладно, выключаю что бы в файле помещались все страницы тем и иду в Планировщик и запускаю задачу Генератор Sitemap.

И тут первая беда - через несколько минут вот такое в админке показывается (после того как задача завершена):

post-31497-0-30174100-1546895980_thumb.jpg

 

Ладно, смотрю новый файл сайтмапы по темам - всё норм, все темы форума в списке.

 

НО! Если раньше они имели нормальное ЧПУ (к примеру - /topic/255-geraldika-dlya-rus-tw/), то сейчас без ЧПУ, примерно так - /index.php?showtopic=287

Причём не только файл тем, но и остальные файлы.

 

Подскажите советами по этим ошибкам, а то я совсем уже запутался и не знаю с чего начинать и где копать.

Рекомендованные сообщения

  • Автор

Обновил архив.

Спасибо. Карта страниц links создалась корректно.

А файл что бы и по разделам приложения links можно?

  • Автор

Кстати, значение priority должно быть в разных файлах разное или это не имеет значение?

А файл что бы и по разделам приложения links можно?

Нет смысла, они не несут никакой полезной нагрузки для ПС. Они и так будут индексироваться поисковиками. При желание конечно можно сделать, но мне лень.

Кстати, значение priority должно быть в разных файлах разное или это не имеет значение?

Приоритет устанавливает админ в настройках для каждого компонента, но так как для линкс настройки нет - выставил среднее в 0.5. Оно не обязательно должно быть разное.

  • Автор

При желание конечно можно сделать, но мне лень.

Мне просто хотелось на примере этого файла сделать такие же файлы карт разделов и для других приложений.

 

но так как для линкс настройки нет - выставил среднее в 0.5. Оно не обязательно должно быть разное.

Очень высокое тоже не нужно выставлять?

Мне просто хотелось на примере этого файла сделать такие же файлы карт разделов и для других приложений.

Да пожалуйста. Имя файла, например, links_category.php должно быть в название класса sitemap_sitemap_links_category

Список категорий запрашиваете из таблицы links_cats. В таблице смотрите название полей.

Шаблон для чпу указываете showlinkcat, а ссылку app=links&showlinkcat=ИД

Ну а дальше разберетесь. Считай, тут весь генератор почти написан.

  • Автор

Да пожалуйста. Имя файла, например, links_category.php должно быть в название класса sitemap_sitemap_links_category

Список категории запрашиваете из таблицы links_cats. В таблице смотрите название полей.

Шаблон для чпу указываете showlinkcat, а ссылку app=links&showlinkcat=ИД

Ну а дальше разберетесь. Считай, тут весь генератор почти написан.

Спасибо, буду пробовать.

  • Автор

Карта страниц links создалась корректно.

Поспешил с выводами. ЧПУ формирует некорректно.

 

Вот так:

http://адрес форума.ru/app=links/page__showlink__2169

 

Некорректно и нет сео-титле.

sitemapPlugins.zip

Файлы закинуть в папку с остальными плагинами

Исправил. Проблема была из-за того, что в темплейте чпу showlinks только один вариант амперсанда.

  • Автор

@newbie и @siv1987

Спасибо ребята, отлично работает, ЧПУ формируется корректно. Большое спасибо.

 

Сделал файл карты для главной страницы links, получилось, но вот для категорий links не идёт, пишет ошибку базы данных, где я ошибся? Вот файл карты для категорий links:

links_categories.php

 

P.S. А как создать карту сайта для событий Календаря? Вот для такого к примеру: /calendar/1/event-567

Теперь я понял почему при запуске задачи из админке ссылки генерируются без чпу. А все потому, что в ац шаблоны seoTemplates не загружаются.

Собственно поэтому в последующих версиях функции преобразования friendly url перенесли в sitemap.

Хотя я не вижу ничего плохого если бы оставили только загрузку сео темплейтов чпу.

 

/admin/sources/base/ipsRegistry.php

 

	private static function _fUrlInit()
{
	/**
	 * Fix request uri
	 */
	self::_fixRequestUri();

	/**
	 * Don't run if we are in the ACP.  Also, running this causes problems because it will take any data submitted (including in _POST params)
	 * and then loop over it later in this function, recreating query_string_real, which then breaks the params in the ACP in some cases.
	 * @link	http://community.invisionpower.com/tracker/issue-21539-logout-issue/
	 */
	if( IN_ACP )
	{
		return;
	}

	if ( ipsRegistry::$settings['use_friendly_urls'] )
	{
		/* Grab and store accessing URL */
		self::$_uri = preg_replace( "/s=(&|$)/", '', str_replace( '/?', '/index.php?', $_SERVER['REQUEST_URI'] ) );

		$_urlBits = array();

		/* Grab FURL data... */
		if ( ! IN_DEV AND file_exists( DOC_IPS_ROOT_PATH . 'cache/furlCache.php' ) )
		{
			$templates = array();
			require( DOC_IPS_ROOT_PATH . 'cache/furlCache.php' );
			self::$_seoTemplates = $templates;
		}

Сделал файл карты для главной страницы links, получилось, но вот для категорий links не идёт, пишет ошибку базы данных, где я ошибся?

Откуда эти названия полей, в таблице links_cats совсем другие имена.

У приложения links нет прав доступа, запрос к permission_index делать не нужно. Используйте для примера запрос из генератора sitemap_sitemap_links, джойнить другие таблицы там не требуется. Просто замените имя таблицы и полей.

  • Автор

Откуда эти названия полей, в таблице links_cats совсем другие имена.

У приложения links нет прав доступа, запрос к permission_index делать не нужно. Используйте для примера запрос из генератора sitemap_sitemap_links, джойнить другие таблицы там не требуется. Просто замените имя таблицы и полей.

Сейчас попробую.

  • Автор

Всё равно выпадает в ошибку базы данных: links_categories.php

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.