КампутарыПраграмаванне

Як зрабіць ЧПУ-спасылкі: пакрокавая інструкцыя

Свет інтэрнэту імкліва развіваецца і пакарае ўсё новыя вяршыні. Мільёны сайтаў, сэрвісаў і службаў рады прыняць чарговага карыстальніка на сваіх старонках. Створана велізарная колькасць адрасоў, якія вы атрымалі аўтаматычна. І не заўсёды іх зручна чытаць і запамінаць. Да таго ж бессэнсоўны набор знакаў дрэнна ранжыру пошукавымі сістэмамі. З прычыны гэтага паўстала неабходнасць увесці рэалізацыю кода такім чынам, каб ён мог паўстаць у больш зручным і прыемным воку карыстальніка выглядзе.

Таму ў свеце вэб-распрацовак з'явіўся тэрмін ЧПУ-спасылкі. Пра тое, што гэта такое і як яго рэалізаваць, пойдзе гаворка ў артыкуле.

Што такое ЧПУ-спасылкі

Наогул, ЧПУ - слова жаргоннае, якое азначае человекопонятный урл. Урл - запазычанне ад ангельскага URL, аднастайнага лакатара рэсурсу. Человекопонятный, у сваю чаргу, азначае набор знакаў у адраснай радку, які зручна і лёгка ўспрымаецца. Напрыклад, генераваны адрас старонкі можа выглядаць так: http://example.com/index.php?page=name. Не вельмі зразумела глядзіцца і не показывает структуру сайта. Прысутнічаюць знакі, якія не утрымліваюць сэнсавай нагрузкі і незразумела, што значыць старонка і імя.

Наступны адрас можа выглядаць так: http://example.com/products/new/boat. Тут зразумела, што гаворка аб прадукцыі, прычым новай, а канкрэтна - пра лодцы. Гэта і ёсць человекопонятный урл. Ён значна лепш індэксуецца пошукавымі сістэмамі і паказваецца ў выдачы вышэй за астатніх. А чалавек, які наведаў сайт, зможа зразумець, што зайшоў менавіта ў патрэбны раздзел.

Аднак у ЧПУ-спасылак ёсць некаторыя абмежаванні. Напрыклад, у адрасе нельга выкарыстоўваць рускія сімвалы. Яны пры гэтым замяняюцца на лікавае значэнне і знак адсотка. Таму айчынныя распрацоўшчыкі выкарыстоўваюць транслітарацыю рускіх слоў у лацінку. Напрыклад, так - oborudovanie або produkcia. Таксама аўтаматычна сфарміраваная ЧПУ-спасылка можа павялічыць агульную даўжыню радка.

Для рэалізацыі транслітарацыі і пераўтварэнні да человекопонятным урлам выкарыстоўваюцца спецыяльныя сродкі. Даступныя яны, як правіла, у сістэмах кіравання кантэнту - CMS. Стварэнне ЧПУ-спасылак адбываецца ў іх аўтаматычна, на аснове назвы тавару, артыкула або блога, а таксама часткі, у якім ён размешчаны. У выніку, пры стварэнні новай запісу, дадання тавару фармуецца человекопонятный урл, які добра ўспрымаецца і людзьмі, і машынамі.

Як зрабіць спасылкі ЧПУ ў папулярных CMS

CMS - сістэма кіравання, кантэнтам, якая ў зручным і простым інтэрфейсе дазваляе ў кароткія тэрміны стварыць паўнавартасны сайт. Функцыянал пашыраецца за кошт наяўнасці вялікай колькасці гатовых шаблонаў, модуляў і убудоў. Гэта дазваляе чалавеку далёкаму ад моў праграмавання PHP, JavaScript, HTML і сумежных ім, хутка стварыць свой уласны сайт або блог.

Практычна ўсе сістэмы кіравання кантэнтам валодаюць выдатным наборам інструментаў у выглядзе убудоў для стварэння ЧПУ. Варта падрабязней разгледзець найбольш распаўсюджаныя з іх.

  • WordPress - самая папулярная, па статыстыцы, сістэма кіравання кантэнтам. Яна ўстаноўлена на большасці вядомых блогаў і сайтаў. Славіцца прастатой засваення і ўстаноўкі.
  • Joomla - папулярная менш, але ўсё ж актыўна выкарыстоўваецца сярод распрацоўшчыкаў. Валодае добрым функцыяналам, выбарам кампанентаў, убудоў і модуляў.
  • OpenCart - асобны праект для стварэння інтэрнэт-крамаў. Ўнутрана нагадвае любую CMS, але «заменчаны» пад рашэнне вузкага круга задач.

ЧПУ-спасылкі ў WordPress - прастата рэалізацыі

WordPress з'яўляецца, напэўна, самай простай сістэмай кіравання кантэнтам. Яна здольная значна спрасціць стварэнне сайта або блога з нуля за кароткі час.

Настройка ЧПУ ў WordPress простая і зводзіцца ў асноўным да запампоўкі і ўсталёўцы плагіна Cyr-To-Lat. Ён служыць для пераўтварэння кірылічных радкоў у лацінку.

Для пачатку варта яго знайсці і спампаваць. Рабіць гэта лепш з афіцыйнага сайта WordPress. Так можна пазбегнуць верагоднасці траплення ў плягін шкоднаснага або рэкламнага кода.

  • Пасля запампоўкі архіва яго трэба распакаваць.
  • Затым трэба перамясціць гэтую тэчку ў раздзел wp-content -> plugins. Робіцца гэта, як правіла, з дапамогай любога даступнага FTP мэнэджэра.
  • Зараз трэба зайсці ў адміністрацыйную панэль WordPress, увёўшы лагін і пароль.
  • У раздзеле «Убудовы» трэба знайсці Cyr-To-Lat і актываваць яго. Убудова цяпер усталяваны ў сістэме і ўключаны.

Далей, трэба выканаць наладу структуры спасылак.

  • Для гэтага трэба перайсці ў «Параметры», і там зайсці ў "Сталыя спасылкі».
  • У агульных наладах ёсць некалькі шаблонаў, па якіх можна пабудаваць знешні выгляд спасылкі. Рэкамендуецца выкарыстоўваць тып «Адвольна», які дазваляе наладзіць ўсе, як неабходна. Самая простая канструкцыя для такога пра шаблон - /% category% /% postname% /. Яна азначае, што ў адраснай радку будзе выводзіцца катэгорыя, а затым назва паста.
  • А потым ужо Cyr-To-Lat пераўтворыць усё гэта ў лацінку. У выніку, атрымаецца прыгожая і зразумелая ЧПУ-спасылка ў WordPress.

Акрамя Cyr-To-Lat, можна выкарыстоўваць і аналагі, якія прысутнічаюць на афіцыйным сайце. Напрыклад, такія - WP Translitera, ACF: Rus-To-Lat, Rus-To-Lat Advanced. Ўстаноўка дадзеных убудовах падобная, таму спыняцца на іх асобна не мае сэнсу.

ЧПУ ў Joomla, некалькі варыянтаў стварэння

Joomla трохі больш складаная сістэма кіравання кантэнтам. Гэтак жа, як і WordPress валодае ўласцівасцю ствараць сайты і блогі ў кароткія тэрміны. Яна мае шырокі функцыянал і гнуткасць. Далей, трэба апісаць як зрабіць спасылкі ЧПУ ў дадзенай CMS.

Joomla першапачаткова валодае ўбудаваным функцыяналам для стварэння человекопонятных урлов. ЧПУ-спасылкі ў Joomla 3 можна ўключыць на старонцы агульных налад у раздзеле «Настройкі SEO». Пункт «Уключыць SEF (ЧПУ)» павінен быць усталяваны ў становішча «Так». Такім чынам спасылкі будуць ператвораныя ў больш зразумелы выгляд.

Тут жа можна дадаткова ўсталяваць перанакіраванне урлов, шляхам стварэння ЧПУ-спасылкі ў htaccess. Гэты файл выконвае ролю канфігурацыйнага сховішча вэб-сервера Apache. У ім можна з дапамогай рэгулярных выразаў і дырэктывы RewriteRule змяніць пераўтварэнне спасылкі ў патрэбны урл. Галоўнае адрозненне такога падыходу - гнуткасць. Можна прывесці спасылкі практычна да любога выгляду.

Пункт «Дадаваць суфікс да URL» прыстаўляе ў канцы радка пашырэнне дакумента. Напрыклад, html. Дадзенае пашырэнне мала цікавіць радавога наведвальніка сайта, таму опцыю можна пакінуць у становішчы «Не».

Аліасы ў Unicode - дадзены пункт праводзіць транслітарацыю назвы матэрыялу ў лацінку. Гэта трэба для таго, каб замест рускіх літар ці іншых сімвалаў не адлюстроўвалася нешта недарэчнае і нечытэльным.

Альтэрнатыўныя кампаненты для Joomla

Рэалізаваць генератар ЧПУ-спасылак у Joomla таксама можна з дапамогай розных кампанентаў. Напрыклад, адзін з папулярных - JoomSEF. Ён распаўсюджваецца бясплатна і лепш спампоўваць яго з афіцыйнага сайта Joomla.

У яе функцыянал, акрамя пераўтварэнні урлов ў ЧПУ, маецца набор для генеравання метададзеных, пошукавых машын, ключавых слоў, а таксама кіравання дублюе старонкамі. Варта адзначыць наяўную падтрымку кадоўкі UTF-8 і наладу старонкі 404 па сваім меркаванні.

У Joomla 3 магчымыя тры спосабу ўстаноўкі: загрузкай напрамую з кампутара, з каталога сайта і з дапамогай перадачы спасылкі на яго.

Для першага варыянту файл давядзецца спампаваць. Затым абраць у меню адміністрацыйнай панэлі CMS ў «Пашырэньні» і перайсці ў «Менеджэр пашырэньні». З дапамогай кнопкі «Вылучыце файл» трэба паказаць сістэме падрыхтаваны архіў і ўсталяваць яго.

Другі варыянт выкарыстоўваецца рэдка. А вось трэці з'яўляецца самым зручным з іх, так як не патрабуе запампоўкі. Дастаткова ўсяго толькі скапіяваць спасылку на JoomSEF і паказаць яго ў поле «Устанавіць з URL» на аднайменнай ўкладцы. Сістэма сама праверыць яго наяўнасць і пры адпаведнасці ўсіх параметраў ўсталюе.

Варта адзначыць, што для паўнавартаснай працы дапаўненні, трэба каб пункты «Уключыць SEF», «Перанакіраванне URL» і «Дадаваць суфікс да URL» у наладах SEO былі пераведзеныя ў стан «Так».

Усталяваны кампанент адразу ж ўкарэніцца ў сістэму ў актыўным рэжыме і пачне сваю працу. А менавіта, пераўтворыць ўсе наяўныя спасылкі ў больш эстэтычны выгляд.

JoomSEF валодае вялікай колькасцю налад і опцый. З іх дапамогай можна вельмі тонка прывесці ўсе спасылкі сайта практычна да любога неабходнага ўвазе.

JBZoo і человекопонятный урл

Кампанент JBZoo ўяўляе сабой універсальны і магутны інструмент для стварэння інтэрнэт-крам, каталогаў, блогаў і проста сайтаў-візітовак на базе сістэмы кіравання кантэнтам Joomla.

Для ўстаноўкі JBZoo ў Joomla ў ёй ужо павінна прысутнічаць дадатак Zoo.

Часам стандартныя налады SEF ня дацягваюцца да сваіх кампанентаў, каб выканаць пераўтварэнне. Таму для стварэння ЧПУ-спасылак у JBZoo рэкамендуецца ўжываць кампанент sh404SEF. Дадзены прадукт бясплатны і з'яўляецца добрым інструментам для фарміравання спасылак у JBZoo. Вялікая колькасць налад, функцый, падтрымкі розных соцсетей і сэрвісаў.

Ўстаноўка вырабляецца шляхам капіявання спасылкі на архіў, альбо з дапамогай прамой загрузкі файла на сервер, запампаванага папярэдне.

OpenCart і налада ЧПУ

OpenCart - гэта платформа без прывязкі да якой-небудзь сістэме кіравання кантэнтам. Гэта значыць функцыянуе асобна. Яе галоўная скіраванасць - зручнае стварэнне інтэрнэт-крам рознай ступені складанасці. Нягледзячы на тое што сам прадукт бясплатны, многія дапаўненні да яго распаўсюджваюцца на камерцыйнай аснове. Апошняя стабільная версія - 2.0.

ЧПУ-спасылкі ў OpenCart 2 можна сфармаваць з дапамогай ручной налады або жа з дапамогай асобных модуляў.

Пачаць наладу ЧПУ першым спосабам можна з рэдагавання канфігурацыйнага файла htaccess вэб-сервера Apache.

  • Для гэтага трэба перайсці ў тэчку сайта праз FTP або існуючы ў адміністрацыйнай памяці файлавы менеджэр.
  • У каранёвым каталогу павінен ляжаць файл .htaccess.txt. Так як ён не аказвае ніякага дзеяння на сістэму з пашырэннем txt, то першае, што трэба зрабіць - перайменаваць яго ў .htaccess. Зараз вэб-сервер будзе чытаць яго дырэктывы і выконваць іх.
  • Зараз трэба перайсці ў налады сайта і на ўкладцы «Сервер» уключыць выкарыстанне ЧПУ.
  • Ўсе змены трэба захаваць.
  • Зараз усе спасылкі павінны зменіцца.

Часам, з прычыны некаторых прычын, многія адрасу ўсё ж не змяняюцца і застаюцца незразумелымі. Для рэалізацыі гэтай задачы можна выкарыстоўваць кампанент SeoPro. Праўда, перад яго устаноўкай прыйдзецца спачатку рэалізаваць OCMOD Multiline Fix. Для гэтага трэба ўручную змяніць код аднаго файла. Знаходзіцца ён па адрасе admin / controller / extension / modification.php. Для яго рэдагавання рэкамендуецца выкарыстоўваць ўтыліту Notepad ++, каб пазбегнуць праблем з кадыроўкамі.

Дадаць трэба ўсяго адзін радок кода ў блок пасля зменнай $ limit. Выглядае яна так:

  • $ Quote = $ operation-> getElementsByTagName ( 'search') -> item (0) -> getAttribute ( 'quote');

Далей, трэба знайсці ўмова:

  • if (! $ limit) {
  • $ Limit = -1;
  • }

і пасля яго дадаць:

  • if ($ quote == 'true') {
  • $ Search = preg_quote ($ search);
  • }

Дадзеныя файлы пасля змены трэба захаваць.

Затым трэба уласна ўсталяваць і сам модуль SeoPro. Запампаваны архіў трэба распакаваць на сэрвэры. Затым выканаць пару запытаў у базу даных з дапамогай phpmyadmin:

  • ALTER TABLE `oc_product_to_category` ADD` main_category` tinyint (1) NOT NULL DEFAULT '0'; ALTER TABLE `oc_product_to_category` ADD INDEX` main_category` ( `main_category`);

Зараз трэба паправіць галоўны файл index.php. У ім цікавіць радок:

  • $ Controller-> addPreAction (new Action ( 'common / seo_url'));

якая замяняецца на:

  • if (! $ seo_type = $ config-> get ( 'config_seo_url_type')) {
  • $ Seo_type = 'seo_url';
  • }
  • $ Controller-> addPreAction (new Action ( 'common /'. $ Seo_type));

Далей, ідзе набор працэдур, звязаных з наладамі ўнутры адмінку. У меню трэба знайсці «Модулі», перайсці ў «Мадыфікатары» і націснуць на абнаўлення. Знаходзячыся тут жа, трэба перайсці да спісу "Модулі» і ў ім ўсталяваць SeoPro. Затым, па націску кнопкі «Рэдагаваць» зайсці ў яго і захаваць. Пасля ўсіх маніпуляцый ўсё павінна зарабіць, калі не, то трэба паспрабаваць ізноў пераўсталяваць модуль. Або звярнуцца па дапамогу да спецыялізаваных форумах.

Рэалізацыя функцыяналу ЧПУ на мове PHP

Большасць сайтаў у Сеткі напісаны на PHP. Ён досыць моцны, зручны і просты ў вывучэнні. Яго праца непрыкметная для карыстальніка, бо апрацоўка PHP-кода адбываецца на боку сервера і браўзэру адпраўляецца ўжо гатовая HTML-старонка, зразумелая яму.

Паказаць рэалізацыю ЧПУ-спасылак на PHP можна на невялікім прыкладзе кода. Аднак для прывядзення радкоў адрасы ў рэальных шматстаронкавых праектах да человекопонятному ўвазе, прыйдзецца павазіцца.

Любы сайт пачынае сваю працу з файла index.php. У тым ліку і генеруе зварот да іншых старонках сайта. Але спачатку трэба крыху змяніць канфігурацыйны файл htaccess. У ім трэба пазначыць або расскомментировать некалькі дырэктыў, як паказана на фота.

Першы радок дазваляе пераўтварыць URL з дапамогай сервера. Другая - ўсталёўвае базавы адрас. Наступныя два радкі выконваюць праверкі на прысутнасць файла і тэчкі. Апошняя перадае кіраванне ў index.php, калі 3 і 4 радок рэалізуюцца без памылак.

Для захоўвання адпаведнасці id старонкі і яе ператворанага значэння патрэбна табліца. Таму яе трэба стварыць. У прыватнасці, можна стварыць прасценькую, для разумення працэсу. Яна будзе ўтрымліваць два палі: SEF і page_id. SEF захоўвае назву і мае тып varchar. А page_id - нумары старонак тыпу int.

Цяпер засталося паправіць і сам файл index.php. Гэта ўсяго толькі прыклад і на практыцы канкрэтнага праекта усё можа быць некалькі інакш: $ result = $ _SERVER [ 'REQUEST_URI']. У дадзеным радку ў зменную $ result перадаецца запытаны урл.

  • if (preg_match ( '/([^a-zA-Z0-9\.\/\-\_\#])/', $ result)) {header ( 'HTTP / 1.0 404 Not Found'); echo 'Няслушныя сімвалы ў URL'; exit; }

У гэтым блоку правяраецца наяўнасць сімвалаў, лічбаў і некаторых знакаў. Калі прысутнічае штосьці іншае акрамя пералічаных, то выдаецца старонка 404.

  • $ Array_url = preg_split ( '/(\/|\..*$)/', $ result, -1, PREG_SPLIT_NO_EMPTY);

Тут абвешчаны масіў $ array_url, у які з дапамогай функцыі preg_split змяшчаюцца элементы, якія не маюць нічога лішняга ў ЧПУ.

  • if (! $ array_url) {$ ID_page = 1; } Else {$ sef_value = $ array_url [0];

Тут адбываецца апрацоўка запыту ў выпадку, калі зварот быў выраблена не да канкрэтнай старонцы, а да дамену. Таму трэба ў адказ адправіць id = 1. Таксама на гэтым месцы маецца на ўвазе зварот у базу праекта, які пазнае, ці маецца ў ёй значэнне з зменнай $ sef_value ў полі SEF. Калі нічога не знойдзена, адправіць карыстачу старонку 404. У канцы ідзе апрацоўка атрыманага ў выніку кода адрасы і выдача адпаведных матэрыялаў або элементаў.

Плюсы і мінусы выкарыстання ЧПУ

Перавагі выкарыстання человекопонятных урлов можна пералічыць такім чынам:

  • спасылка візуальна выглядае эстэтычней, чым набор незразумелых знакаў, асабліва на незнаёмых сайтах;
  • запамінанне адрасы адбываецца значна лягчэй;
  • ўвесь шлях і структура сайта становіцца зразумелай;
  • GET параметры, якія перадаюцца звычайным шляхам, выкарыстоўваюць зменныя ў адраснай радку, чаго няма ў ЧПУ, а значыць, не парушаецца бяспека;
  • паляпшэнне навігацыі па сайце;
  • СЕО-аптымізацыя значна паляпшаецца і пошукавыя робаты лепш індэксуюць такі сайт.

Недахопаў значна менш. І самы істотны з іх - гэта налада. Не заўсёды атрымоўваецца прывесці адрасы старонак да человекопонятному ўвазе шляхам штатных або іншых рашэнняў. Часам даводзіцца ўнікаць у код і правіць яго самастойна, што патрабуе ведаў і часу. Другі недахоп не так істотны і тычыцца сайтаў з вялікай наведвальнасцю. З-за фарміравання спасылак на «ляту" павышаецца нагрузка на сайт. Але так як кошт сеткавага абсталявання няўхільна зніжаецца, то такія выдаткі на рэсурсы сервера мала хто лічыць. Увогуле, перавагі значна перавешваюць недахопы, таму нягледзячы на складаную рэалізацыю человекопонятных урлов, выкарыстоўваць іх варта.

заключэнне

У артыкуле разгледжана, якія спасылкі з'яўляюцца ЧПУ, а якія няма. Былі падрабязна распісаны найбольш простыя і хуткія рашэнні праблемы. А таксама некалькі самых даступных варыянтаў складаных падыходаў. У любым выпадку выкарыстанне CMS пры распрацоўцы сайта значна зніжае праца- і часовыя затраты пры аптымізацыі адрасоў старонак. Таму звязак CMS і ЧПУ павінна быць выкарыстана як найбольш эфектыўная альтэрнатыва ручной распрацоўцы.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 be.delachieve.com. Theme powered by WordPress.