Un slug este o parte a URL-ului atunci când accesați o resursă. Să presupunem că aveți un URL, cum ar fi cel de mai jos, care afișează toate mașinile din sistemul dumneavoastră:
http://localhost/cars
Când doriți să faceți referire la o anumită mașină din sistem, veți furniza următorul URL:
http://localhost/cars/audi-a6/
Observați cum URL-ul este încă foarte logic și foarte prietenos pentru SEO. În ceea ce privește utilizarea slug-ului, acest lucru este la discreția dumneavoastră. Șirul audi-a6 de mai sus poate fi un identificator unic pentru o mașină din sistemul dvs. – să spunem că aveți o bază de date relațională cu următoarele câmpuri:
idcar_namecar_brandcar_unique_identifier
Câmpului car_unique_identifier
ar fi apoi folosit pentru a stoca valorile care sunt afișate în slug; în exemplul pe care l-am specificat mai sus cu o mașină Audi A6, acesta este locul în care ar sta șirul audi-a6.
Puteți să-l utilizați și în alte moduri – de exemplu, dacă aveți un controler de postări care funcționează ca un blog. Titlul pentru o pagină ar putea fi slug-ul pentru aceasta, dacă este codificat URL. Pentru articolul nostru numit „Cele mai bune moduri de a face SEO mai bine”, ați putea furniza următorul URL:
http://localhosts/posts/best-ways-to-make-seo-better
Atunci ați rula url_decode()
pe slug și ați obține șirul de caractere cele mai bune moduri de a face seo mai bine, pe care îl puteți folosi pentru a găsi o postare prin intermediul titlului său.
Nu trebuie să se oprească aici – puteți decide să aveți mai multe slug-uri pentru a reprezenta ceva – să aruncăm o privire la modul în care BBC face acest lucru. Am luat un articol la întâmplare de astăzi, care are următorul URL:
http://www.bbc.co.uk/news/world-africa-24506006
Acesta face legătura cu un articol numit: Uniunea Africană îndeamnă CPI să renunțe la cazurile împotriva liderilor. Modul în care BBC procedează este că utilizează ultima parte a slug-ului world-africa-24506006, care este 24506006, pentru a identifica o intrare unică în sistemul lor. Apoi, cel mai probabil, folosesc world-africa pentru a indica categoria din care face parte o postare (deși este posibil ca aceasta să fie doar o presupunere, este totuși o presupunere educată).
În cele din urmă, să ne imaginăm următoarea tabelă DB, pentru lucrări de cercetare.
idcategorytitle
Puteți avea un exemplu care să funcționeze ca cel de mai jos.
http://localhost/papers
Acest URL reprezintă toate lucrările de cercetare aflate în prezent în sistem. Ați putea apoi să accesați toate lucrările de cercetare privind fizica prin intermediul următorului slug:
http://localhost/papers/physics
Slug-ul nostru este fizica, iar selecția bazei noastre de date arată în prezent ceva de genul:
SELECT *FROM papersWHERE LOWER(papers.category) = 'physics'
Apoi puteți expune următorul URL:
http://localhost/papers/physics/gravitation
Acum slug-ul nostru este compus din fizică și gravitație. Interogarea noastră din spatele scenei poate arăta ceva de genul:
SELECT *FROM papersWHERE LOWER(papers.category) = 'physics'AND LOWER(papers.title) = 'gravitation'
Aceasta ne permite să identificăm în mod unic o intrare în sistemul nostru.
Acum am folosit slugs în mod repetat pentru a ne filtra informațiile. În exemplu, când am rulat URL-ul fără nici un slugs:
http://localhost/papers
Am vrut să enumerăm toate lucrările de cercetare disponibile. Când am rulat URL-ul cu slug-ul physics:
http://localhost/papers/physics
Am vrut să enumerăm toate lucrările de cercetare în domeniul fizicii, restrângând astfel rezultatele noastre. În cele din urmă, atunci când am furnizat două slug-uri, am putut identifica în mod unic o intrare în sistemul nostru.
http://localhost/papers/physics/gravitation
Am fi putut modela acest lucru în mod diferit? Bineînțeles că da! În funcție de cerințele sistemului nostru, putem să normalizăm și să denormalizăm tabelele noastre relaționale. Am fi putut avea un sistem permalink, astfel încât tabelul nostru de mesaje să arate astfel:
id title permalink
Am fi putut avea următoarea intrare:
| 20013 | Gravitation | physics-gravitation-breakthrough |
Expunând astfel URL-ul:
http://localhost/papers/physics-gravitation-breakthrough
În exemplul de mai sus, slug-ul physics-gravitation-breakthrough ne permite să identificăm în mod unic un mesaj prin:
SELECT * FROM papers WHERE papers.permalink = physics-gravitation-breakthrough
.