URL, Resources, SEO

от IvanK

Откакто се запознах със идеята за “pretty urls”, започнах сериозно да се замислям по въпроса как най-добре да представям един ресуср във мрежата – колко ли много различни начина не съм видял вече. Всички те, обаче, се въртят покрай два главни проблема -

  1. Човек е глупав и иска всичко да му е ясно – така че адрес от рода на /browse.php?c1=1&c6=1&c32=1&c33=1&c8=1&c36=1 няма да му хареса много, къде къде по яко щеше да бъде ако това беше /films/category/latest например
  2. Компютъра обаче обича числа – /posts/31 е къде-къде по-добре за компа, отколкото /posts/check-out-the-new-shit.

Защо /posts/check-out-the-new-shit не става?

Има един фундаментален принцип, измислен още от онези очилати професори в зората на компютърната теория – идентификатора на нещо не трябва да се състои от съдържанието – не случайно използваме уникални ID та в таблиците в базите данни – идентификатора не трябва да се променя и трябва да е уникален. “check-out-the-new-shit” обаче е нещо което 100% на някой ще му скимне да смени, което води до промяна на линка, и стария линк се чупи, водейки до прословутия link rot .

Ко’ да правим сега? Когато първоначално мислех по темата, изглеждаше че всъшност всичко се свежда до това кое ти е по важно – четими линкове, или стабилни линкове. След това доиде Ruby on Rails и предложи елегантно решение – защо да избираме като може да напишем и двете – /posts/31-check-out-the-new-shit и воаля – програмата чете 31 и захвърля останалото, а пък потребитлят може да си прочете заглавието в линка. Но и тук имаше нещо гнило – ами ако напиша във адреса /posts/31-golem-kur? Или още по-лошо – разпространя този линк – Google веднага ще напъха сайта в калъпа (той май има голям зъб на порно сайтовете), пък и противоречи на друг професорски принцип – че един ресурс трябва да има само един уникален адрес. Така че това решение пак се оказа кофти… в този момент спрях да мисля по темата и си казах няма смисъл – /posts/31 е достатъчно добро и всичко останало само води до главоболия …

И днес попаднах на това – Transparent opaque changeable permanent URLs , който предлагат гениална идея – потребителя прави заявка до /posts/31-golem-kur, програмата проверява във базата дали “golem-kur” отговаря на 31 – и ако не – праща 301 Permanently Moved redirect до /posts/31-check-out-the-new-shit – и всчки са щасливи и радостни хем има id, хем има заглавие, хем имаме уникалност на ресурса – само /posts/31-check-out-the-new-shit ще отговаря със 200 ОК

Коментирай