Новая сістэма роўтынг ў Joomla! 3.8

  1. ўвядзенне
  2. Увага!
  3. Змены ў URL
  4. Як ўключыць новы роўтынг ў Joomla! 3.8
  5. Заўвага
  6. Што чакае роўтынг Joomla! у будучыні?
  7. высновы
  8. Заўвага

З выхадам версіі Joomla! 3.8 было зроблена адно з найбольш чаканых паляпшэнняў для гэтай CMS - новая сістэма роўтынг URL адрасоў (спасылак) сайта. Як заўсёды, пры распрацоўцы новай магчымасці была пакінутая сумяшчальнасць са старым варыянтам роўтынг, што дазволіць нармальна функцыянаваць кампанентах, якія яшчэ не перайшлі на новы роутер. Пры гэтым сістэмныя кампаненты (Матэрыялы, Кантакты, Карыстальнікі і Стужкі навін) ужо падтрымліваюць новы роутер з усімі яго магчымасцямі, якія больш падрабязна разгледжаны ніжэй.

ўвядзенне

Новая сістэма роўтынг дазваляе распрацоўнікам спрасціць працэс напісання кода роутера, а адміністратарам выкарыстоўваць больш параметраў роўтынг для налады працэсу фарміравання URL адрасоў (у тым ліку і вельмі важную магчымасць выдалення ID элементаў з URL адрасы).

Пачынаючы з Joomla! 3.8, для кампанентаў, якія падтрымліваюць новы роутер, ёсць магчымасць яго запуску ў адной з трох розных канфігурацый:

  • бягучая сістэма роўтынг (якая будзе заставацца па змаўчанні для новых установак і рэкамендавана пры абнаўленні існуючых сайтаў)
  • новая сістэма роўтынг
  • новая сістэма роўтынг з выдаленым ID элементаў

У выніку абнаўляцца можна не баючыся, што на сайце нечакана змяняцца URL адрасы старонак.

Увага!

Новыя URL адрасы, якія генерыруюцца новай сістэмай роўтынг, не на 100% сумяшчальныя з існуючым роўтарам. У сувязі з гэтым для існуючых сайтаў не рэкамендуецца пераходзіць на новы роутер без папярэдняй дбайнай праверкі ўсіх існуючых URL адрасоў. Пры пераходзе на новы роутер трэба ліквідаваць змены URL альбо выканаць 301 рэдырэкт ( Moved Permanently ) Са старога URL на новы.

Для новых сайтаў рэкамендуецца выкарыстоўваць новую сістэму роўтынг.

Змены ў URL

Разгледзім некалькі прыкладаў URL адрасоў пры уключанай опцыі SEF. Гэта дзве старонкі з набору тэставых матэрыялаў з кожнай з пералічаных вышэй опцый роўтынг:

  • Старонка катэгорыі Animal Photo Gallery
    • Бягучы роўтынг - / article-categories / 72-park-site / photo-gallery / animals
    • Новы роўтынг з ID элементаў - / article-categories / 26-park-site / 28-photo-gallery / 72-animals
    • Новы роўтынг без ID элементаў - / article-categories / park-site / photo-gallery / animals
  • Старонка Koala Article
    • Бягучы роўтынг - / article-categories / 72-park-site / photo-gallery / animals / 25-koala
    • Новы роўтынг з ID элементаў - / article-categories / 26-park-site / 28-photo-gallery / 72-animals / 25-koala
    • Новы роўтынг без ID элементаў - / article-categories / park-site / photo-gallery / animals / koala

Чысла ў URL - гэта ID адпаведных катэгорый і артыкулаў у базе дадзеных Joomla !.

Калі новы роутер і опцыя Remove ID ўключаны, ідэнтыфікатары выдаляюцца з URL старонкі. Гэта дазваляе стварыць больш чыстыя і дружалюбныя URL адрасы, што будзе карысна як для карыстальнікаў сайта, так і для SEO.

Як ўключыць новы роўтынг ў Joomla! 3.8

Роўтынг для URL адрасоў ў Joomla! ўключаецца як заўсёды ў агульных наладах сайта. Калі ж трэба ўключыць яго новы алгарытм працы, напрыклад, для матэрыялаў Joomla !, то трэба зайсці ў налады кампанента матэрыялаў. Для гэтага ў галоўным меню адміністрацыйнай часткі сайта пераходзім у пункт Матэрыялы / Менеджэр матэрыялаў і націскаем на кнопку Налады ў правай верхняй частцы старонкі. Пасля гэтага пераходзім на ўкладку налад Інтэграцыя і бачым новы пункт URL Routing са значэннямі Stable і Experimental.

Пасля гэтага пераходзім на ўкладку налад Інтэграцыя і бачым новы пункт URL Routing са значэннямі Stable і Experimental

Пры выбары Experimental варыянту налады URL Routing становіцца даступным пункт Remove IDs from URLs. Пры ўсталёўцы значэння ў Так, ID элементаў (у дадзеным выпадку катэгорый і матэрыялаў) будуць выдалены з URL адрасы матэрыялу.

Аналагічныя налады даступныя для кампанентаў Кантакты, Карыстальнікі і Стужкі навін.

Заўвага

Яшчэ раз адзначым, што прымяненне новага алгарытму роўтынг Joomla! можа змяніць URL старонкі, у выніку чаго існуючы (і праіндэксаваны пошукавымі сістэмамі) URL старонкі можа аддаваць 404 адказ (старонка не знойдзена). Распрацоўшчыкі працягваюць абмяркоўваць ідэі плана міграцыі, каб захаваць старыя URL адрасы.

Што чакае роўтынг Joomla! у будучыні?

мяркуючы з інтэрв'ю з Hannes Papenberg (Які і з'яўляецца вядучым распрацоўшчыкам новага роутера) у Joomla! 4 плануецца поўнасцю пазбавіцца ад старой сістэмы роўтынг. Гэта цалкам лагічна, паколькі пры змене мажорнай версіі ў рэлізе падтрымка зваротнай сумяшчальнасці зьяўляецца не абавязковай, а выдаленне старога кода спрашчае падтрымку і далейшую распрацоўку CMS. У выніку з выхадам Joomla! 4 распрацоўшчыкі пашырэньні павінны будуць ўлічыць гэтыя змены і ўнесці адпаведныя змены ў свой код, каб забяспечыць падтрымку новай сістэмы роўтынг.

Тут жа Hannes Papenberg акцэнтуе ўвагу на перавагах новага роутера для распрацоўшчыкаў дадаткаў і адміністратараў сайтаў, сярод якіх можна выжелить:

  • менш кода пры напісанні роутера, сам код больш просты і зразумелы
  • роутер пішацца ў выглядзе php класа на аснове базавай, прытрымліваючыся прынцыпаў ААП
  • іншыя распрацоўнікі атрымаюць магчымасць мадыфікацыі паводзін роутера без праўкі файлаў ядра прыкладання
  • больш прадукцыйны код
  • адсутнасць дубляў кантэнту

Пасля выдалення старога роутера ў Joomla! 4 каманда распрацоўшчыкаў плануе надаць увагу пашырэнню апцыянальнага функцыяналу новага роутера.

высновы

Уладальнікам сайтаў перад пачаткам абнаўлення Joomla! да версіі 4 варта праверыць усе пашырэння на карэктнасць працы з новым роўтарам, адладзіць працэс міграцыі старых спасылак на новыя і пераходзіць на новы роўтынг Joomla !. Да гэтага часу ўсе папулярныя кампаненты Joomla! ўжо павінны будуць выкарыстоўваць магчымасці новай сістэмы роўтынг і вырашыць пытанне карэктнага пераезду пры змене URL адрасоў. Панікаваць тут сапраўды не варта, паколькі заўсёды ёсць варыянт 301 рэдырэкту са старых URL на новыя. Пытанне толькі ў аўтаматызацыі працэсу.

Варта таксама адзначыць, што існуючы (стары) алгарытм роўтынг у сістэмных кампанентаў (Матэрыялы, Кантакты, Стужкі навін і г.д.) ужо даўно дазваляюць дамагчыся таго, каб прыбраць ID элемента з URL адрасы старонкі. На гэты конт напісана маса матэрыялаў, шукаць варта ключавое слова sef_advanced_link. Гэтае імя параметру, які можна дадаць у канфігурацыйны файл кампанента і дамагчыся жаданага эфекту. Для тых, хто карыстаецца гэтай магчымасцю, пераход на новы роутер павінен быць абсалютна бязбольны, калі ў новым роутере выбраць параметр выдалення ID элементаў. У гэтым выпадку спасылкі старонак павінны застацца ранейшымі.

Заўвага

Звярніце ўвагу, што пры даданні параметру sef_advanced_link, напрыклад, у кампанент матэрыялаў Joomla! вы ніяк не закранаеце код самага роутера, усё патрэбнае ўжо ёсць у ім. Але поскольу самага параметру sef_advanced_link ў канфігурацыйным файле няма, то ён можа быць знішчаны ў іхных сістэмах Joomla !. Калі ў канфігурацыйны файл кампанента матэрыялаў будуць унесеныя змены распрацоўшчыкамі і ён патрапіць у чарговы рэліз Joomla !, то пасля абнаўлення параметр sef_advanced_link знікне з файла і са старонкі настроек, але (УВАГА!) Не з базы дадзеных, дзе захоўваюцца налады пасля захавання. Атрымліваецца, што пасля абнаўлення Joomla! параметру на старонцы налад няма, але дзейнічаць ён працягвае. Праблемы могуць паўстаць, толькі калі паўторна захаваць налады пасля абнаўлення Joomla !. У гэтым выпадку значэння настроек будуць перапісаны ў базе даных ужо без параметру sef_advanced_link, а ў кодзе будзе выкарыстоўвацца яго значэнне па-змаўчанню - 0. У гэтым выпадку ID элементаў (напрыклад, матэрыялаў на сайце) зноў будуць дададзены ў URL адрасы. Так што будзьце ўважлівыя, захоўваючы налады кампанента матэрыялаў (або іншых сістэмных кампанентаў, дзе неабходна прыбраць ID элементаў з URL) пасля абнаўлення Joomla!

Будучыні?
Будучыні?