Der findes en stor mængde gennemgange af søgemaskineoptimering af WordPress blogs, men der findes rigtigt mange andre spændende Open Source CMS derude, et af dem er Joomla CMS og det fortjener også en gennemgang.

Joomla CMS er OpenSource og endda et meget populært af slagsen. Joomla bliver primært benyttet til større portaler og til dette formål er det et utroligt godt system. Men ligesom så mange andre CMS systemer, er de ikke optimeret til søgemaskinerne fra barnsben af, derfor har jeg valgt at lave en slavisk gennemgang af de punkter du helt sikkert bør få rettet.

URL struktur –SEF URLs

Joomla benytter per default nogle meget grimme URLs, med en masse parametre i. Da vi er interesseret i at få så høj CTR som muligt er det derfor vigtigt at ændre URL strukturen, så søgeord i URL bliver highlightet og dermed mere synlige.

Lad mig først understrege at SEF URLs som det populært kaldes ikke giver dig nogen nævneværdig fordel i placeringerne på søgeresultaterne.

Lad os komme i gang med SEF URLS

Joomla kommer som default med to forskellige SEF URLs. Der er default metoden som du aktiverer ved at gå til Site -> Global Configuration -> SEO Settings. Klik på Yes i feltet ”Search Engine Friendly URLs”.

Du har nu aktiveret standard SEF URLs i Joomla. Problemet med denne løsning er at ”index.php” nu indgår i alle dine URLs, det gør for det første URL længere, hvilket flere gange er bevist sænker CTR.

Læs også:  Identificer dine besøgendes hensigt

For det andet får du en ekstra mappe i din mappestrukturen på alle dine URLs og dermed smider du indholdet længere ned i hierarkiet. Nu tættere dit indhold er på roden, nu vigtigere er det naturligvis.

Eksempel på standard SEF URL

https://www.eksempel.dk/index.php/guides/1632-ps3-theme-creator

I dette eksempel ser vi først index.php, sektionsnavnet, og så artiklens navn.

Brug af mod_rewrite

Vi vil naturligvis gerne fjerne index.php, og derfor skal vi benytte mod_rewrite. Det kræver selvfølgelig at du kører på en Apache server. Vi skal nu ind og kigge i htaccess filen som ligger i roden af dit Joomla bibliotek. Filen hedder som standard htaccess.txt, den skal du blot omdøbe til .htaccess så den bliver aktiveret. Inden du gør dette, bør du først tjekke om dit webhotel understøtter denne funktion.

Når du har omdøbt din .htaccess fil, går du igen til Site -> Global Configuration -> SEO Settings i administrationspanelet og aktiverer nu ”Use Apache mod_rewrite”.

Tryk gem og du kører nu med de mest rene SEF URLs Joomla kan præstere out of the box.

Med Joomlas core SEF URLs vil du stadig have nogle Ids i dine URLS. Der findes flere komponenter og plugins der kan ændre dette. Jeg vil dog aldrig anbefale at bruge en af disse tredjeparts programmer, jeg har flere gange oplevet af en sådan komponent er gået i stykker og dermed ødelagt alle URLs.

Det er et enormt arbejde at 301 alle dine tidligere SEF URLs til nye, og du mister omkring 20% af værdien når du laver 301. Det er derfor i mine øjne ikke risikoen værd, du opnår ikke bedre placeringer i søgeresultaterne og løber altså den risiko at hele korthuset kan falde sammen.

Læs også:  Google kommandoer & SEO arbejde

Fjern index.php fra dine eksisterende URLs

Kører du allerede med index.php i dine URLs og vil du gerne fjerne denne ligegyldige ekstra attribut, kan du bruge følgende regel i din .htaccess fil.

RedirectMatch permanent index.php/(.*) https://www.domaene.dk/$1

Duplikat indhold

Joomla har som så mange andre CMS en masse duplicate content problemer, og dem skal vi have lukket ned for.

Med og uden WWW

Den første store barriere er at Joomla lader de besøgende tilgå dit site både med WWW og uden. Du vil selvfølgelig gerne have at dit site kun optræder enten med WWW eller uden, for ikke at skabe to ens sites. De to betragtes nemlig som to separate domæner, og dermed har du i søgemaskinernes øjne to sites, med identisk indhold.

For at løse problemet skal vi igen have fat i .htaccess filen, åben den i din favorit editor og indsæt følgende regel, hvis du ønsker at dit domæne skal vises med www prefix.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domaene.dk [NC]
RewriteRule ^(.*) https://www.domaene.dk/$1 [L,R=301]

Vil du køre uden www. Foran domænenavnet, skal du bruge følgende regel:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domaene.dk$
RewriteRule ^(.*) https://domaene.dk/$1 [L,R=301]

Print og PDF skaber problemer

Print og PDF knapperne som er standard i Joomla, skaber også duplicate content. Man kan vælge helt at fjerne dem, men hvis man gerne vil benytte dem bør du sørge for at de ikke bliver indekseret.

Til det skal vi bruge robots.txt, åben filen og indsæt følgende:

Disallow: /index.php?view=article*&format=pdf
Disallow: /index.php?view=article*&print=1*
Disallow: /index.php?option=com_mailto*

Hvis søgemaskinerne allerede viser dine print sider i søgeresultaterne, kan du bruge følgende wildcard i .htaccess til at 301 PDF siderne til den “rigtige” artikel.

RewriteCond %{query_string} ^format=pdf
RewriteRule (.*) https://www.domaene.dk/$1? [R=301,L]

Du kan også bruge denne funktion på indekserede printsider.

Læs også:  Søgemaskiner og semantik

Linker du internt til din forside med to URLs?

I mange skabeloner er der et præ defineret forside URL. Det kan være dit logo i toppen linker til det, men kan også være direkte fra hovedmenuens ”Forside” link.

Stien hedder ofte /forside, og da vi ikke er interesseret i at have vores forside både på domaene.dk og også på /forside, skal dette redigeres ud af din skabelon. Desværre er det vidt forskelligt hvor dette gøres i din skabelon, så der er du på egne ben.

Har søgemaskinerne allerede indekseret din ekstra forside, bør du lave en 301 på denne URL til roden.

Dette gøres med følgende regel:

Redirect 301 /forside https://www.domaene.dk/

Har du mange artikler på din forside, og derfor fået pagination (sidenummereringslinks), skal disse også omskrives til roden, det kan du gøre med følgende regel

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /forside?start=(.*) HTTP/
RewriteRule ^index.php$ https://www.domaene.dk/? [R=301]

Du kan bruge den samme regel hvis din forside hedder /index.php som også tit er tilfældet. Skift bare forside ud med /index.php

Håber denne guide kunne bruges, og du nu er godt i gang med din Joomla søgemaskineoptimering.

Henrik Bondtofte

Henrik Bondtofte

Inkarneret SEO-specialist, forfatter af Linkbuildingbogen og indehaver af online marketing bureauet Bondtofte & Co.

12 kommentarer

  • rasmus hoeks siger:

    Fint indlæg. Kunne du tænke dig at lave et gæsteindlæg på min side (joomlatutorials.dk), så fang mig endelig.

  • Kristian siger:

    Godt og let forståeligt indlæg.

  • My Charlot siger:

    Tak for et godt og letforståeligt indlæg:
    Jeg har flere spørgsmål, som jeg håber du vil svare på. Har forsøgt at google.
    1. Du skriver:
    “Fjern index.php fra dine eksisterende URLs
    Kører du allerede med index.php i dine URLs og vil du gerne fjerne denne ligegyldige ekstra attribut, kan du bruge følgende regel i din .htaccess fil.
    RedirectMatch permanent index.php/(.*) http://www.domaene.dk/$1
    ———————-
    Kan det omskrives direkte til htm, så jeg bruger koden:
    RedirectMatch permanent index.htm/(.*) http://www.domaene.dk/$1
    ———————-
    2. Med eller uden www
    Jeg har i forvejen dette stående i min .htaccess fil:
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^domaene.dk [NC]
    RewriteRule ^(.*) http://www.domaene.dk/$1 [L,R=301]
    skriver jeg så bare
    RedirectMatch permanent index.htm/(.*) http://www.domaene.dk/$1
    direkte ind eller skal der noget # eller lignende ind i .htaccessfilen?
    Har også noget 404 kode, jeg skal have ind.
    Kan nemlig ikke rigtigt få hverken 303 eller 404 til at virke.
    mvh
    My Charlot

  • Karina Bro siger:

    Hej Henrik
    Tak fordi du vil kigge på mit problem. Jeg har skrevet
    #RedirectMatch permanent index.php/(.*) https://www.funedesign.dk/$1
    #RewriteEngine On
    #RewriteCond %{HTTP_HOST} ^www.funedesign.dk$RewriteRule ^(.*) https://funedesign.dk/$1 [L,R=301]
    i .htaccess. Jeg bruge one.com har det noget at sige?

  • Karina Bro siger:

    Hej igen
    Fandt ud af at problemet lå hos one.com og at det ikke skal stå i bunden hos one.com men efter:
    # Joomla! is Free Software
    ##
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www.funedesign.dk$ [NC]
    RewriteRule ^(.*)$ https://www.funedesign.dk/$1 [R=301,QSA,L]

  • Lækkert med en gennemgang der gør det let forståeligt for de fleste!

  • Kort og præcist gennemgang.
    Super fint. Men det plejer det jo også være her på din blog ;o)

  • Ivan Gjødvad siger:

    Hej Henrik.

    Rigtig fedt indlæg om søgeoptimering af Joomla. Arbejder selv med Joomla.
    SEO er dog et område hvor jeg ikke er særlig stærk. Så den kode hvor man ændre ens domæne kun til at køre på www, er det lige meget hvor i .htaccess filen man placerer denne?

    • Ivan Gjødvad siger:

      Hej Henrik.

      Fandt det selv. Det stod faktisk hvor jeg skulle paste din kode :-)

  • Lars siger:

    Hej Henrik, Tak for en super god artikel.. Jeg har på egen hånd (meget stolt) været igennem de første punkter og træder lidt vande på “Linker du internt til din forside med to URLs?” delen.. Hvordan, uden jeg de store it kundskaber, kan jeg se hvordan det ændres? Sker der noget ved at sætte koden ind anyway? Har nemlig både forside i menuen og link til forsiden i logoet, som det så fint omtaler.. Kan du hjælpe mig på vej ?

  • Morten P siger:

    Tak for et godt indlæg. Ledte på google og fandt dit indlæg, lige hvad jeg manglede.. Har netop kørt de fleste punkter igennem på min nye online casino spil hjemmeside og herefter signet mig op på moz – så er der gode muligheder for at holde lidt øje :) Tak for et godt indlæg.

Skriv en kommentar

Vil du ringes op?

Tilføj dine oplysninger herunder, så vil du blive ringet op.

Læs også:  Genoptagelse i Google