Omskriv/Rewrite URL’er i Sitecore til noget mere SEO-venligt
Nogle af jer kender måske til CMSet Sitecore, som er baseret på .NET teknologi ligesom eksempelvis Umbraco (der er mit foretrukne CMS i disse tider :)).
Dog er Sitecore noget større og mere komplekst, og der er uanede muligheder i systemet. Bl.a. ting som arbejdsworkflow imellem brugere, brugerrettigheder og roller, samt håndtering af store sites på flere sprog er nogle af de klare fordele som Sitecore kan give kunden ”out-of-the-box”.
Godt nok er Sitecore ikke helt gratis ligesom Umbraco er, men det vil jeg slet ikke snakke om i dette indlæg.
Jeg har til gengæld et lille tip til alle jer som også benytter jer af Sitecore. Som standard bruger Sitecore faktisk nogle udmærket URL’er, udskrevet efter et hierarkisk system. Et underpunkt til et menupunkt kommer eksempelvis til at hedde: ’www.domæne.dk/produkter/cykellygter’.
Det giver meget god mening. Både for almindelige brugere, men også i Googles øjne.
Problemet
Der opstår dog et problem når man har et menupunkt med et mellemrum i (eksempelvis ’Om os’). For som standard udskriver Sitecore bare et mellemrum i URL’en, og det kommer i mange browsere til at se således ud:
www.domæne.dk/om%20os
Det kan vi mennesker til en hvis grad godt forstå, men det bliver hurtigt svært at huske en URL. Og derudover er det heller ikke optimalt set SEO-mæssigt. Så det skal selvfølgelig laves om, inden et nyt site lanceres. Og heldigvis er det nemt at ændre på.
Løsningen
For at ændre URL’erne skal man ind og kigge i web.cofig-filen i Sitecore.
Her skal man finde den sektion der hedder:
<encodeNameReplacements>
Inde i denne sektion står der i forvejen nogle linjer, men bare lad dem stå.
Du kan nu indsætte dine egne ”URL-Rewrite-regler”.
Hvis vi tager eksemplet med mellemrummet fra før kan du eksempelvis indsætte følgende linje:
<replace mode=”on” find=” ” replaceWith=”-” />
Det vil sige at hver gang der fremkommer et mellemrum(” “) skal det erstattes med en – (bindestreg). Det giver et bedre overblik over URL’erne, både for brugere og for Google.
Du kan gøre det samme med andre tegn og symboler også. Hvis det ønskes, indsætter du bare en linje mere inde i encodeNameReplacements-sektionen. Hvor svært kan det være 🙂
Hej! Great ;-) Det er en af de ting jeg
Søren Søgaard | 22. juli 2009 | 09:03Hej!
Great 😉 Det er en af de ting jeg tager fat på nu da vi alligevel skal til at i gang med en større opgradering. En andet problem opstår dog hvis der er items som har “-” i navnet, så melder den umiddelbart fejl i vores løsning. Her er løsningen så at få luget ud i disse items og samtidig sørge for at der ikke kan bruges “-” i navngivningen fremover.
Ja den med at man ikke skal bruge "-" i
Kim Andersen | 22. juli 2009 | 10:49Ja den med at man ikke skal bruge “-” i sine items navne, er jeg også stødt på. Har du fundet frem til et sted hvor man definerer hvad navnene må indeholde?
Jeps ;-) Har smidt "-" ind i starten af denne streng.
Søren Søgaard | 22. juli 2009 | 10:55Jeps 😉
Har smidt “-” ind i starten af denne streng. Det hjælper dog ikke pdem som allerede er oprettet – kom ind i projektet da det allerede var godt “snavset” til 😉 Så det er den hårde metode og back-to-basic…
Hmm....hvilken streng? Da ikke nede i encodeNameReplacements...
Kim Andersen | 22. juli 2009 | 11:34Hmm….hvilken streng?
Da ikke nede i encodeNameReplacements…
Prøver igen - den åd min indtastning.
Søren Søgaard | 22. juli 2009 | 11:40Prøver igen – den åd min indtastning.
setting name=”InvalidItemNameChars” value=”-/:?"<>|[]” /
Ahh super Søren. Tak for det! Det vil jeg lige få
Kim Andersen | 23. juli 2009 | 00:06Ahh super Søren. Tak for det!
Det vil jeg lige få indsat i en web.config eller to, når jeg kommer tilbage på arbejde efter ferien 🙂
Da sprogversionering også bruger - i sine navne er mit
Rasmus | 10. januar 2011 | 11:33Da sprogversionering også bruger – i sine navne er mit forslag, at man erstatter mellemrum med underscore _ i stedet for bindestreg –
/Rasmus
Hej Kim. Jeg ved ikke, om din blog stadig er aktiv.
Jan | 23. april 2023 | 23:25Hej Kim.
Jeg ved ikke, om din blog stadig er aktiv. Nogle af kommentarerne ser lidt gamle ud. Arbejder du fortsat både med Sitecore og Umbraco? Det kunne være interessant at høre din mening om forskellen mellem de to.