Принудительно отдать 404
Приветствую всех.
Подскажите, пожалуйста, а есть ли возможность в шаблоне при выполнении определенного условия принудительно отправлять на 404 ошибку?
Т.е. организовать что-то вроде своеобразного редиректа {if условие}отдаем 404{/if}
404 я хочу отдавать вместо несуществующих страниц пагинации "?page=1000" и т.п. Возможно есть более правильный способ блокировки подобных страниц пагинации.
Плагины не предлагайте.
5 ответов
Да, есть. Доработкой плагина есть и возможность изменить код ответа на 404 и возможность подгрузить error.html. В каждой теме дизайна индивидуально. Пример кода вам приводить не буду.
Если страница ?page=1000 закрыта от индексации метатегом noindex, то, на мой взгляд, неважно какой там код ответа 200 или 404 и неважно подгружается ли там шаблон error.html или нет.
Есть один плагин который за пару кликов позволяет внедрить метатег noindex на страницы пагинаций .... но вам его ни в коем случае не рекомендую!
Спасибо. Сарказм, мне кажется, неуместен и не красит вас.
Везде, где это необходимо, у меня проставляется noindex. Зачем мне для этого покупать ваш или какой-либо другой плагин? Проблема в том, что (по моим наблюдениям) тот же Гугл собирает все страницы с noindex и периодически их все равно обходит. Да, он их не индексирует, страницы не влияют на какие-то показатели сайта, сео и т.п. Но на их обход тратится краулинговый бюджет. Таких страниц собираются тысячи и более. Со страницами 404 ситуация более предсказуемая - после пары обходов они выбрасываются и забываются. Повторюсь, что это мое мнение, основанное лишь на моих наблюдениях поведения поисковика. Возможно на самом деле все обстоит не совсем так, и я не прав.
На 99% темах дизайна noindex не проставляется. Если у вас проставляется - хорошо.
- Посмотрел как реализованы страницы вида ?page=9999 у топовых сайтов, гигантов. Везде увидел 200-й код и закрытие страниц через метатег noindex.
- Ни разу ни на одном проекте не сталкивался с тем, чтобы подобные страницы сайта тратили большой краулинговый бюджет. Обычно боты приходят на страницы ?page=33 на которых на данный момент отсутствуют товары только в том случае, если ранее на них были представлены товары (и, соответственно, ранее на страницу выводились ссылки и ее сканирование не было запрещено). Ни разу не замечал чтобы боты приходили на страницу ?page=99999 на которых никогда не было товаров. Проверьте логи вашего сервера. Если подобные посещения у вас имеются - нужно разбираться индивидуально. Это либо ошибки в теме дизайна, либо конкуренты балуются проставлением миллиарда ссылок на миллиард страниц вашего сайта, либо что-то еще нестандартное.
- В целом, не вижу ничего плохого чтобы вместо 200-го кода ответа на подобных страницах сайта выдавать 404-й код ответа с каким-нибудь кастомным сообщением вида "Вы находитесь на 9999 странице категории Телефоны. Здесь нет товаров! Посмотрите 1-ю страницу категории.". Возможно, так действительно делать логичнее и лучше. Подумаю над тем, чтобы включить подобную доработку в один из плагинов, который планирую выпустить. Но вам рекомендовать не буду!
Это вполне нормальная практика, хотя сама идея с 404 кодом, когда происходит выход за пределы диапазона страниц, нравится больше тем, что с "человеческой" точки зрения логичнее. Идешь на несуществующую страницу - лови 404.
Сейчас noindex вполне реализуется кодом в теме дизайна
Гуглобот в поползновениях по таким страницам замечен не был.
У меня примерно так и сделано. Единственное отличие, что индексировать я запрещаю все страницы, кроме первой. Также запрещено индексировать страницы сортировки и пр. При таком раскладе гуглобот все эти страницы собирает в "Покрытие -> Исключено -> Индексирование страницы запрещено тегом noindex" и периодически их обходит в надежде увидеть что-то новое. ))) Но проблема в том, что в этой массе скапливается достаточно большое количество страниц с нереальными номерами (почему Гугл их придумывает - неведомо), которые робот также периодически обходит, получает пустую страницу каталога. Не индексирует ее, но все же сканирует вместо того, чтоб просканировать какую-то нужную страницу.
Где-то здесь уже мелькали рассуждения о том, что на несуществующие страницы пагинации надо бы отдавать 404, но команда Вебасиста сказала, что страницы с гет-параметрами - это не полноценные страницы, поэтому менять никто ничего не будет. То, что для того же Гугла страницы "?page=", "?sku=", "?sort=" вполне полноценны, никого не интересует.