DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > PHP
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

PHP PHP aplikacije, Smarty, PEAR

 
 
Alati teme Način prikaza
Staro 04. 06. 2007.   #1
Pedja
Predrag Supurović
Grand Master
 
Datum učlanjenja: 24.01.2006
Lokacija: Užice
Poruke: 791
Hvala: 3
200 "Hvala" u 12 poruka
Pedja is on a distinguished roadPedja is on a distinguished roadPedja is on a distinguished road
Default Optimalni URL zarad SEO (PHP implementacija)

Razmisljam kako da unapredim jedan svoj mali skript sa optimalnim URL za SEO pa rekoh ne bi bilo lose da se konsultujem sa ljudima koji su se time vec bavili. Temu sam pokrenuo ovde zato sto me interesuje prvenstveno PHP zavisno resenje. Ako moderatori misle da je ipak bolje da se tema nadje u SEO forumu, slobodno prebacite.

Prvi deo problema je odluka kako uopste treba da izgleda optimizovani URL da bi bio najoptimalniji. Za pristup svakom dokumentu uvek imamo dve vrste parametara: fiksni i opcioni.

Fiksni su oni parametri koji su neophodni da bi opcija radila, recimo sam identifikator opcije. Njih nije tesko resiti tako sto se prosto ti parameri navedu u URL-u, na primer: http://nekidomen.com/news/ gde je news parametar koji odredjuje koja opcija se izvrsava i prikazuje. fiksnih parametara moze da bude i vise kao naprimer http://nekidomen.com/album/category1/ gde je album oznaka opcije foto albuma na category1 je oznaka kategorije u okviru albuma koju treba priakzati. S obzirom da su oba parametra neophodna da bi se mogao prikazati dokument, moze se usvojiti pravilo fiksne pozicije svakog od parametara.

Opcioni parametrisu oni koji mogu, ali ne moraju postojati u URL-u. Dobar primer bi recimo bio parametar kojim se odredjuje jezik na kome treba da se prikaze sadrzaj. Ako parametar postoji, dokument se prikazuje u navedenom jeziku, a ako ne postoji, uzima se podrazumevani jezik. Slicno je i sa parametrom koji bi definisao vrstu dokumenta koji se prikazuje, koji moze da odredi da li se prikazuje HTML, print varijanta ili recimo WAP. Samim tim sto opcioni parametar moze, ali ne mora biti naveden, ne moze se usvojiti pravilo o njegovoj fiksnoj poziciji u URL-u.

E sad kako resiti te opcione parametre?

Prenego sto perdjem na taj deo price, jedna napomena. Na pocetku sam naglasio da sam s opredelio na resenje koje ce raditi na PHP-u. Razlog je sto zelim da PHP radi mehanizam parisranja URL-a a ne url_rewrite.

Kao url_rewritepravilo bih koristio

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Ovo je pojednostavljena varijanta dovoljna za ovaj primer. Ukratko ovo pravilo ce svaki URL prevesti u sledeci oblik:

index.php?q=navedena_putanja

Ili na primeru:

http://nekidomen.com/news/
ce postati
http://nekidomen.com/index.php?q=news

a
http://nekidomen.com/
ce postati
http://nekidomen.com/index.php?q=album/category1/

Na ovaj nacin ce PHP u $?GET['q\] dobiti sadrzaj bitnog dela URL-a i moci ce sam da ga parsira.

Razlog zbog koga sam se odlucio na ovaj pristup je taj sto je time iskljucena potreba za naknadnim podesavanjima u .htaccess ako se pojave neki specijalni slucajevi u obliku URL-a a i dobija se nesto vise slobode u oblikovanju URL-a.

Recimo, zaodredjenu vrstu dokumenata broj parametara moze biti fiksan, ali za razlicite vrste dokumenata moze biti razlicit. Petljati se sa tim u .htaccess znacilo bi da se mod_rewrite podesava prema specificnoj strukturi nekog sajta, a to ne smatram dobrim pristupom, koji dodatno komplikuje i prica o opcionim parametrima nakoju cu se sada vratiti.

Ako opcione paramere u URL-u ostavimo kao query, na primer...

http://nekidomen.com/album/category1/?lang=en&doc=print

... onda ce oni biti prosledjeni skriptu kao i svaki drugi get parametri. Problem je sto je pitanje kako bi se to odrazilo na SEO.

Druga mogucnost bi bila da se parameri takodje prosledjuju kao prividne putanje u URL-u, kao recimo...

http://nekidomen.com/album/category1/lang=en/doc=print

... jer bi sada PHP mogao da ih prepozna kao paramere lang i doc i procita njihove zadate vrednosti.

Ili mozda postoji neki treci, bolji, nacin?


Ovde imam jos jednu nedoumicu, vezanu za parametar kojim se odredjuje jezik prikaza. On je po priordi opcioni, ali se uvodjenjem jednog pravila koje se odnosi samo na njega, moze tretirati i kao fiksni. PRavilo bi glasilo da ako je navdena oznaka jezika ona je uvek navedena kao prvi folder iza root adrese sajta. Na primer:

1. http://nekidomen.com/en/album/category1/
2. http://nekidomen.com/sr/album/category1/
3. http://nekidomen.com/album/category1/

Ovo je moguce izvesti ako se preptostvi da ce postojatiunapred definisana lista mogucih oznaka jezika, te ce skript moci lako da prepozna da li je jezik naveden (primeri 1 i 2) ili nije (primer 3).

Koliko se ovakav pristup u definiciji URL-a odrazava na SEO? Umetanje oznake jezika ispred oznaka opcija, prakticno dodaje jedan nivo vise u putanji do dokumenta.

I na kraju ostaje jos jedno pitanje: kako resiti problem opcionih parametara u smislu da, ako je parametar izostavljen (ili je redosled parametara izmenjen) dobija se isti sadrzaj dokumenta iako je URL drugaciji?
Pedja je offline   Odgovorite uz citat
 



Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

Slične teme
Tema Početna poruka teme Forum Odgovori Poslednja poruka
Implementacija kalendara u moj CMS ljtruba Web aplikacije, web servisi i software 1 20. 02. 2010. 19:27
authorize.net implementacija Ivan e-Business 4 07. 09. 2009. 00:30
Implementacija google maps api-ja bokacbl Poslovne ponude i zapošljavanje 0 24. 03. 2009. 09:36
Java i PHP programiranje - implementacija JPOS-a torbica Poslovne ponude i zapošljavanje 0 13. 11. 2007. 22:58
Implementacija Jabbera u sajt? dootzky Web aplikacije, web servisi i software 3 27. 04. 2007. 17:46


Vreme je GMT +2. Trenutno vreme je 14:17.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.