SEO (оптимізація) інтернет-магазину надзвичайно важлива і корисна штука. По-перше, вона дозволяє набагато простіше і швидше знаходити потрібну групу товарів клієнтам магазину прямо з пошуковика. А по-друге просунути в топ у видачі пошукової системи набагато простіше по середньо- і низько- частотним запитам.
Власникам інтернет-магазинів часто доводиться стикатися з проблемами, пов'язаними з оптимізацією сторінок фільтрації. Зрозуміло, через відмінності в CMS, кінцева реалізація теж буде неоднакова. Але основні принципи схожі. У цій статті ми зупинимося детальніше на CMS Бітрікс.
Даний пост, дуже сподіваюся, зможе допомогти моїм колегам, чия робота пов'язана з кодом і хто хоч трохи уявляє базові можливості програмування під Бітрікс.
Як такої можливості оптимізувати сторінки фільтрації у Бітрікс немає, але є штатні можливості оптимізувати окремий елемент Інфоблоки і задати йому потрібні нам опис, теги tittle, keywords і h1. Завдання полягає в тому, щоб з мінімальним коддінгом домогтися потрібної нам оптимізації.
Принцип даного методу полягає в тому, що у нас є два окремих Інфоблоки. Перший - звичайний каталог товарів зі своїми категоріями і набором параметрів товарів для фільтрації. Другий же, ми назвемо його «SEO- фільтри», - це інфоблок, елементами якого будуть необхідні нам варіанти фільтрації з їх оптимізації. У цього Інфоблоки необхідно створити властивість для зберігання ID категорії, в якій відбувається фільтрація, а поле символьний код - буде дорівнює url самого фільтра. Так як url фільтра в різних категоріях можуть бути однакові, то потрібно зняти галочку «Якщо код заданий, то перевіряти на унікальність» в настройках Інфоблоки на вкладці «Поля».
Як, сподіваюся стало зрозуміло, зв'язок між фільтрами та елементами Інфоблоки буде URL сторінки фільтрації і ID категорії. Наприклад, у нас є параметр рік виробництва товару і URL фільтра, при включеному чпу виглядає приблизно ось так: / notebooks / acer / filter / year-is- 2012 / apply /. Створюємо елемент Інфоблоки «SEO- фільтри», у якого символьний код вкажемо year-is-2002 і значення властивості id категорії відповідає значенню самої «глибокої» підкатегорії - в нашому випадку «acer».
Далі, в шаблоні категорій нашого каталогу ми можемо перевірити чи існує у нас елемент «SEO- фільтрів» з заданими умовами фільтрації. У змінній $ _REQUEST [ «SMART_FILTER_PATH»] зберігається «year-is- 2012», а в змінній $ arResult [ «VARIABLES»] [ «SECTION_ID»] зберігається id категорії. І методом CIBlockElement :: GetList () з заданим фільтром отримуємо наш оптимізований елемент і поміняємо висновок оптимізації з категорії на висновок оптимізації з нашого елементу.
На практиці можуть з'явитися проблеми з виведенням деяких тегів, наприклад, якщо у вас відбувається кешування h1 до обробки даних з елемента «SEO-фільтра». У такому випадку можна скористатися відкладеним виведенням інформації у Бітрікс за допомогою функцій $ APPLICATION-> ShowViewContent (); Більш докладний опис роботи з відкладеними функціями тут .
Або задавайте питання в коментарях, а я постараюся відповісти.
Олексій Анісімов
Web-програміст