Hvordan håndteres “+” i URL’er?

Da jeg skrev indlægget om bindestreger og underscore i URL’er, blev jeg efterfølgende spurgt, hvordan det så er med andre former for separatortegn i forhold til SEO. Helt konkret blev der spurgt til “+”, som åbenbart bruges som standard i et par obskure CMS’er og nogle webshops.

Her mange måneder efter, har jeg så fået efterprøvet det. Jeg har gjort det ud fra samme metode, som beskrevet i det førnævnte indlæg. Altså har jeg fundet en ny 3-4 ords sætning, hvor der stort set ingen konkurrence er. Denne sætning er så blevet indsat i en URL og kun i URL’en. Ingen af ordene fra sætningen forefindes andetsteds på siden.

Efterfølgende har jeg ventet på, at Google har indekseret den nye side og prøvet, om den så dukker op ved en specifik søgning på sætningen i citationstegn.

Og konklusionen på SEO-venligheden af “+” som separator i URL’er er:

*trommehvirvel*

– at “+” som separator giver søgbare resultater på samme måde som bindestreger. Så hvis du af uransagelige årsager måtte foretrække et plustegn eller er fanget i et CMS/en webshop, som bruger “+” mellem ordene, er der ingen grund til panik.

Rent personligt synes jeg, at det giver nogle forvirrende URL’er, som er sværere at læse for den normale bruger end bindestregerne, men tænker du kun på søgemaskinerne, kan “+” godt bruges.

PS: For sjovs skyld ville jeg have navngivet dette indlægs URL med plustegn, men det er WordPress ikke så meget for. De bliver faktisk blot ignoreret, når jeg prøver at taste dem i feltet for permalinks. Så skal I efterprøve min test, får I brug for et andet CMS end WordPress.

PPS: Nu jeg alligevel var i gang, dobbeltjekkede jeg lige med et nyt indlæg, om Google måske skulle have skiftet håndtering af underscore og det har de ikke. Der bliver ordene fortsat ikke set som adskilte ord.

18 meninger om “Hvordan håndteres “+” i URL’er?”

  1. Mon ikke alle værdier som kan url decodes til mellemrum rent faktisk bliver det? tænker fx også %20 – som i givet fald ville give en endnu mere rodet URL, men som enkelte CMS også bruger.

  2. Interessant test, du har foretaget. Ude på min arbejdsplads bliver “+” nemlig benyttet som seperator i virksomhedens eget lille CMS.

    Men ligesom dig synes jeg også nærmere “-” hjælpe på læsevenligheden.

  3. Hej frank
    Det er dejligt at få “bustet” denne myte. Nogen betydning i praksis tror jeg dog ikke det får, for som du selv nævner er “-” som regel at foretrækker for læsevenligheden.

  4. @Martin,
    Det virker plausibelt, men jeg får sikkert også testet %20 ved lejlighed. Hvis nogen af jer er stødt på andre URL-separatorer derude på det store internet, så sig endelig til.

    @Michael Ø,
    Så må du lobbye lidt for, at I får det skiftet. (Omend jeg selvfølgelig lige har taget vinden ud af andre argumenter end de æstetiske)

    @Michael K,
    Jeg kom først i tanke om den vinkel, da jeg havde sat projektet i søen. Jeg tvivler på, at jeg kan sætte en test op, hvor det ikke er alle mulige andre små fnidderfaktorer, der afgør, hvilken side der ranker højst. Uden at skulle afsløre for meget, så er læsbare ord i URL’en ikke det, der rykker mest hvad angår ranking.

    @Mikael,
    En gang imellem bruger jeg en smule tid på at teste den slags ting. Bare sådan, så jeg helt selv ved, hvad der er facts.

  5. @Frank, så vil jeg hellere slåsse for WP til de løsninger 😀

    Ellers benytter vi os iøvrigt af Joomla, der (mig bekendt) også bruger “-” som seperator. Men i det system kan man sikkert selv indstille det.

  6. Hej Potter,
    Ja, sådan skal det nogle gange være i teknik-kategorien. Selvom jeg aldrig bliver nogen programmør, må denne kategori gerne have lidt nørdet præg med detaljepilleri og nogle aldeles ikke-strategiske indlæg hist og her 🙂

  7. Dejligt med fakta på bordet – jeg har som de fleste andre også konsekvent brugt bindestreger.

    Det er i øvrigt værd at bemærke, at moder Google jo også selv bruger plus til at adskille søgeord i URL-strengen.

  8. Super lækkert med denne test, og også din test med bindestreg vs. underscore.

    Det er dog underligt hvorfor google ikke ligestiller – og _ når de er det to klart bedste tegn til at adskille ord med i url’s.

    Men nu er jeg da blevet bekræftet i at jeg benytter en korrekt url opsætning 🙂

  9. Hej Martin,
    Var der ikke noget med, at Google gav sig selv noget nær dumpekarakter i SEO i den benchmark-rapport, de offentliggjorde den anden dag. Så man skal være varsom med at gøre som Google, når man taler SEO. 😉

    Johannes,
    Jeg undrede mig også, men min test viste ganske entydigt, at bindestreg og underscore absolut ikke er ligestillede. Så det må vi hellere indrette os efter.

  10. > Helt konkret blev der spurgt til “+”, som åbenbart bruges som standard
    > i et par obskure CMS’er og nogle webshops.

    Det er ret obskurt at bruge + i filnavne eller directorynavne-delen af en URL, ja, for det burde egenlig ikke være lovligt tegn på serveren.

    Jeg bruger + udelukkende i querystring, og her også fordi det er langt pænere end HEX encoding %20, som en space også kan encodes som.

    > …at “+” som separator giver søgbare resultater på samme måde som
    > bindestreger

    Nu har du selv lavet en test som viser, at Google betragter bindestreg som ord-adskiller i URLer. Iflg. W3C-standarden er + det samme som space, også en ord-adskiller. Så de er næsten nødt til at betragte dem ens hos Google, hvis ikke de vil gå imod enten deres egen “standard” eller W3C-standarden.

    http://www.permadi.com/tutorial/urlEncoding/

    siger lidt om dobbeltrollen for space:

    “Note that because the character is very commonly used, a special code ( the “+” sign) has been reserved as its URL encoding. Thus the string “A B” can be URL encoded as either “A%20B” or “A+B”.”

    Det betyder så selvfølgelig også, at et plus (ikke en space) har sin egen URL-encoding…

    Men ovenstående har faktisk betydning når man så henter den variabels indhold. Sætter man et + i variablen, vil det konverteres til en space, sætter man en bindesteeg, vil det blive konverteret til en bindesteg. Så + er faktisk nemmere, hvis man forventer returneret en space.

  11. Nåhja, nu jeg tænker over det, så vil space i filnavne fungere (det gør det på en Win/ASP), og derfor vil + i filnavndelen af URLen jo også fungere… Keine hexerei.

  12. Jeg vil altid foretrække et skilletegn som har været standard hele tiden, en bindestreg, men når det nu er sagt har vi testet følgende skilletegn udover underscore, de indekseres godt og giver gode placeringer på søgemaskinerne.
    +
    ,
    .
    ;
    !
    ~

  13. Jomen… en bindestreg er ikke en space iflg. w3C, når det handler om URLer, det er alene + og %20. Det er Google, som mener, at en bindestreg er en space, og Google er ikke “standad” (måske en “slags” standard indenfor SEO, men ikke for URLer).

    Google følger bare også W3C samtidig, og accepterer derfor både + og %20 som spaces. Alt andet ville også være ret underligt, når de nu selv er gået med i en standardiseringsgruppe (WHATWG så vidt jeg husker).

    Mht. andre specielle tegn, så kender jeg kommaets funktion, og det er egentlig brugt som array-inddeler i querystring. F.eks. ved GET fra forme. Selv om Google nok(?) vil opfatte det som ord-adskiller. Men et komma i querystring er altså ikke et komma i bogstavelig forstand, det skal man nok passe på med at tro. Hvis det skal opfattes bogstaveligt, skal det URLencodes. Det skal semi-kolon iøvrigt også.

    ! og ~ ved jeg ikke hvilken funktion har i en URL.

  14. En anden vinkel på samme sag er hvis der skal laves filtre i fx Google Analytics. Hvis du ønsker en profil kun for en given mappe, så er det ikke hensigtsmæssigt med +
    Det kan give udfodringer med reg.ex.

  15. Jomen, jeg ville nu heller ikke anbefale + af bl.a. hensynet til læsevenligheden, som der er nævnt.
    Jeg mener man kan escape sin RegEx, jeg ved ikke om det er det du tænker på, eller om det er det at der er to encodings for det samme tegn…?
    Det sidste har jeg selv overvejet lidt om det kan skabe problemer andre steder. Det er nok lidt teoretisk, men

    http://example.com/ord1%20ord2%20ord3.asp
    er nøjagtigt den samme side som
    http://example.com/ord1+ord2+ord3.asp
    Hvordan forholder dette sig til duplicate content?
    Google *bør* faktisk betragte dem som én side, og derfor ikke som et DC-problem. Dvs. google bør *forstå* begge dele som space, ikke som encodings… for det er ikke muligt på serveren at have de to ovennænte som to separate filer. På serveren hedder den fil
    ord1 ord2 ord3.asp
    lige meget hvordan den så er encoded i URLen.

  16. Hej Rune, René og Jacob,
    Tak for at holde liv i debatten og komme med nogle yderligere, gode input.

    Og til Runes sidste spørgsmål, så vil Google se de to url’er med hhv. %20 og + som separate url’er og derfor give et DC-problem. (Uden dog at have tjekket det efter).

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *