Як приховати від індексації всі сторінки певного типу
Актуально для версії 2.9.5
Є кілька варіантів розв'язання цієї задачі:
- 1) проставити біля кожної сторінки галочку "не індексувати"
- 2) проставити галочку "не індексувати" у розділу, щоб його підрозділи втекли від індексації
- 3) на сайті не виводити посилання на ці сторінки та прибрати їх з sitemap за статтею Виняток_з_sitemap.
Але кожен спосіб має значні мінуси:
- 1) якщо сторінок буде дуже багато, то robots може розростись до великих розмірів, після чого не прийматиметься пошуковими системами
- 2) якщо у Вас є сторінка товару, у неї дочірні сторінки фотографій, які потрібно приховати, то Ви ж не будете заради цього приховувати сам товар
- 3) як показує практика, якимись способами пошукові системи однаково знаходять сторінки
Найнадійніший спосіб щось приховати від індексації, це robots.txt.
1) Для зміни uri ми скористаємося подієвою моделлю UMI.CMS та напишемо обробник для події systemCreateElement.
Створимо в директорії /classes/modules/photoalbum файл custom_events.php наступного змісту:
Потім там створимо файл permissions.custom.php наступного змісту:
А тому вже додамо у файл __custom.php код обробника:
2) Тепер перейдемо до кастомізації robots.txt
Створимо в кореневій директорії сайту папку "robots", а в ній файл 1.robots.txt, де 1 це ідентифікатор Вашого домену приблизно такого змісту: