Url rewrite (Pæne urls)

Url rewrite (Pæne urls)

Før når man så en blog post var linket eksmepelvis kim-cv.com/blog.php?id=1 og det funker fint men jeg syntes ikke det så særligt pænt ud, så jeg fandt ud af man kan ændre urls så de ser pænere ud med htacces filen (det funker så kun på Apache server, hvis man køre med en IIS server skal man gøre noget andet)

Som før når man besøgte

kim-cv.com/blog.php?id=1

kan man komme ind på samme blog indlæg via

kim-cv.com/blog/post/1

Jeg har faktisk gjort det over hele sitet næsten, når du går ind på et blog indlæg vil du også kunne se at blog indlæggets titel er i url’en, det er skide godt for SEO search engine optimization.

 

 

Duplicate content problemet

Når man begynder at have flere URL’s som går til samme content så vil Google og andre søgemaskiner tro at man prøver at snyde dem via at have samme content, flere steder på sit website for at få bedre PageRank eller SEO og i mit tilfælde var det helt op til tre måder at komme ind på samme indhold i min blog. Fordi da jeg startede min blog kunne man komme ind via blogId og sideSkilning det ændrede jeg så til id og pageId og nu er det så blog/post/ og blog/page.

Men hva pokker gør man så?

 

HTTP 301

HTTP protokollen har en pæn mængde status koder som jeg ikke vil gå i dybden med, men når du besøger en hjemmeside som fungere fint så får din browser status kode 200, du kender sikkert 404, 404 er fordi dokumentet ikke eksistere.

301 Permanent Move, fortæller den besøgende, inkluderende google bot og andre søgemaskiner, at dokumentet som den prøver at få adgang til er flyttet permanent til en anden destination, man skal så lige huske at give den rigtige destination med hvor dokumentet findes ellers kan det jo være lige meget 🙂

Google har jo indekseret min side med blogId og sideSkilning så med htacces og 301 kan jeg fortælle google at det den prøver at tilgå er flyttet over til den anden url men det er det samme content.

 

Canonical link

Hva hæk? det var min første tanke, har aldrig hørt om det før, men det blev vedtaget i 2009.

På min blog kan man tilgå samme blog post både via

blog.php?id=ID

og

blog/post/ID

Og det samme med blog siderne

blog.php?pageId=ID

blog/page/ID

Men jeg vil gerne have at google kan forstå at det er samme side den tilgår så den ikke tror det er duplicate content OG at jeg gerne vil have at det er den pæne url som kommer frem i Google’s søge resultater.

Så mine blog indlæg kan tilgåes via

blog.php?id=ID

og

blog/post/ID

Men jeg vil have den pæne url skal foretrækkes, så i min blog fil tester jeg først om et par ting.

Ser vi bare på bloggen, så er canonical lig med

<link rel='canonical' href='http://www.kim-cv.com/blog'/>

Alligevel man kan tilgå bloggen både med blog.php og bare /blog, så fortæller via canonical at det er samme side, så det er ikke duplicate content og  Hr. Google du skal bruge den pæne url og ikke blog.php versionen.

Hvis vi så ser på et blog indlæg

<link rel='canonical' href='http://www.kim-cv.com/blog/post/brugUrlId/BrugBlogPostTitel'/>

Det kræver selvfølgelig man bruger et dynamisk sprog såsom PHP eller ASP.net for at teste hvad man er inde på, på siden og tage fat i id’et og evt. hente blog post titlen. Jeg tager blog post titlen med fordi det fortæller hvad url’en handler om og det hjælper lidt på SEO.

Men alligevel vi kan tilgå det samme content fra flere links, to i det her tilfælde, så fortæller vi søgemaskiner at det er samme content, samme side og hvilken url de helst skal bruge.

 

Hvis vi lige vender tilbage til stykket ovenover med HTTP 301 og mit problem med blogId, sideSkilning og Google havde indekseret min side med de gamle parametre. Så læg mærke til jeg har via HTTP 301 fortalt Google at det samme content fra den gamle url er flyttet til den nye url men via canonical fortæller vi at vi vil foretrække en pæn url, det syntes jeg selv er smart 🙂

Så nu venter jeg bare på at Google omdøber mine urls osv, det tager noget tid.

 

 

Blog posts design

Jeg har ændret designet på hvordan mine blog posts ser ud. I toppen har jeg lagt en brunlig gradient hvor blog posten headline er, hvornår blog posten blev skrevet og så nogle social buttons, twitter, facebook, og Google’s g+1 så man kan dele mine blog posts.

 

22 år!

Jeg blev 22 år her for 6 dage siden 🙂

Så har jeg ikke mere at skrive om, tak fordi du læste med.