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-праграміст