Коллеги! Столкнулся с очень нестандартной ситуацией, буду рад любому совету:
В robots.txt у меня прописан запрет на обход страниц ?page=, по маске Disallow: /*?page=, чтобы из-за многостраничных комментариев и прочего контента не создавалось дубликатов страниц.
Долгое время жил так, ничего не замечая, но в какой-то момент наш аналитик прислал репорт - гугл ругается на карту сайта (sitemap.xml), мол она не доступна к индексации! Разгадка крылась в следующем: страниц на сайте много (больше 40000), и карта автоматически разбилась на страницы (?page=1,2,3,...), по тем самым пейджам, которые закрыты к индексации гуглом..
Тогда просто увеличил кол-во ссылок на одной странице sitemap, в настройках модуля (использую XML sitemap), и все заработало. Мн-во страниц ушло в индекс, что приятно сказалось на росте посещаемости..
Сейчас же проект развивается, кол-во страниц подкрадывается к 50000 (максимальному пределу ссылок для одной страницы), а в скором времени планирует резко увеличиться до 100000 и более страниц. Подскажите, как быть в данной ситуации? Можно ли ?page= для модуля sitemap заменить на что-то другое (хоть ?pg=)?
Хочется чтобы карта генерировалась так же автоматически, и так же разбивалась на страницы.
Кстати, в robots.txt пробовал делать так:
Disallow: /*?page=
Allow: /*.xml?page=
Не помогает.
Комментарии
У вас проект на шестёрке?
На семерке и выше на страницах пагинации, в том числе комментариев, есть canonical, который по-умолчанию смотрит на первую страницу.
Вообще, современные тренды - это уникализация страниц пагинации и увеличение индекса за счёт этого.
Если уж очень хочется закрывать пагинацию, то можно туда сделать "follow, noindex" через metatags.
Совершенно верно, на шестерке!
Про canonical и "follow, noindex" через metatags - спасибо! Возможно это отличная альтернатива закрытию пагинации из robots!
Тогда не metatags, а nodewords, в те далёкие времена он так звался.
Но бежать сломя голову, резко внедрять canonical - я бы вам не советовал. Нет надежды на вашего аналитика
Ага.. В любом случае это хорошее направление!
А какие риски есть у внедрения canonical (если до этого пагинация и прочее было закрыто от индексации, и дублей на сайте не было замечено)?
Риски такие, что на любом большом проекте нужно 10 раз подумать перед такими изменениями.
А если будете делать вкупе с редизайном, переездом на https, изменениями структуры, редиректами, то потом вообще концов не найдёте
Понял. Будем думать. Благодарю за помощь!
Понравилась задача, накатал костыль для 7ки. Может тоже кому пригодится:
<?php
function mymodule_url_outbound_alter(&$path, &$options, $original_path) {
if ($path == 'sitemap.xml' && isset($options['query']['page'])) {
$path = 'sitemap-' . $options['query']['page'] . '.xml';
unset($options['query']['page']);
}
}
function mymodule_url_inbound_alter(&$path, $original_path, $path_language) {
if (preg_match('|sitemap-(\d+).xml|', $path, $matches)) {
$path = 'sitemap.xml';
$_GET['page'] = $matches[1];
}
}
?>
Протестировал, работает! Спасибо, обязательно пригодится, отличный вариант!!
Запретить GET параметр page:
Disallow: *page=*$