All posts by Morten Vadskær

Shoporama gør-shoppen-klar-til-julesalget workshop 2016

Ho ho ho… så skal du sætte kryds i kalenderen d. 29.-30. september 2016. Vi har booket et arbejdsværelse og 20 værelser på Hindsgavl Slot.

Her skal du og 19 andre webshop ejere knokle løs med at få din shop klar til julesalget. Det er ting som:

  • Skrive og opsætte de mails, der skal skydes ud i november og december
  • Bestille jule-grafik til din webshop og gøre klart, så det kan blive sat ind i shoppen
  • Tilpasse title og descriptions så de er jule-klar (måske vi har et trick i ærmet her)
  • Tilpasse Adwords kampagner
  • Sætte Facebook kampagner op

Og mon ikke også der bliver tid til en gang humle :-)

Vi har booket Sasa Kovacevic  fra Obsidian Digital til at komme og give et oplæg om AdWords  markedsføring med tricks til, hvad du kan gøre for dit julesalg på den markedsføringskanal.

Prisen er 2450,- ex moms og trækkes over dit Shoporama abonnement d. 1/9-2016.

Tilmelding på vadskaer@shoporama.dk hvor du angiver navnet på din webshop. Bemærk – arrangementet kun for Shoporama brugere.

Prisen inkluderer

  • Adgang til arbejdsværelse hele dagen og aftenen
  • Kaffe, te og frugt i arbejdsværelset (og altid én Morten, der kan bistå med indsættelse af koder)
  • Frokost og 3-retters aftensmad (drikkevarer for egen regning)
  • Netværk og røverhistorier ad libitum
  • Rigtigt gode chancer for at se et spøgelse (det er jo et slot)

Kom frisk… det bli’r hyggeligt

Sådan laver du dine egne genvejstaster i Shoporama

Nogle har brug for én ting. Andre noget andet. Derfor forsøger vi at gøre Shoporama så fleksibelt som muligt.

Vi har derfor ikke lavet ret mange genvejstaster i Shoporama. Resten må du selv lave (så får du det, som du vil have det).

Lad os antage, du gerne vil lave ALT+S til din genvejstast for “Sendt”. Således du markerer nogle ordrer, klikker ALT+S og så er de skiftet til sendt. Vi skal have fikset to ting:

1) Fundet ud af, hvad den “knap” vi ønsker at aktivere hedder

2) Finde det tal, som “betyder” ALT+S

De to ting skal så “parres” og sættes ind i Shoporamas backend. Lad os se på, hvordan man gør.

1) Gå ind i ordrer og scroll ned til knappen “Sendt”. Afhængig af din browser kan du højreklikke eller holde CMD nede og klikke på den og så vælge “inspect element” eller noget i den retning. Så kan du se knappens html. Som du kan se her, har den et ID, der hedder “btn-sent”. Et ID er unikt for en knap, et link eller en formular. Her er det så en knap. Så nu ved vi, at Sendt-knappen har ID btn-sent.

Genvejstaster Shoporama

 

2. Klik nu på dit firmanavn øverst inde i Shoporama

3. Klik på “Egne genvejstaster”

Egne genvejstaster Shoporama

 

 

 

4. Nu skal vi finde “koden” for ALT+S. Det gør du ved bare at holde ALT nede og klikke på S. Nederst på siden holder vi øje med, hvad du klikker på. Lige når du går ind, er den tom.

Find genvejstast Shoporama

 

 

 

 

Og når du så har klikket på ALT+S vil du se det her

Lav genvejstast Shoporama

 

 

 

5. Sidst skridt er at skrive 83: #btn-sent i feltet “Egne genvejstaster” og derefter klikke Gem.
Lav din egen genvejstast

 

 

 

 

Voila… ny genvejstast, så du kan arbejde hurtigere i Shoporama.

Herunder et par praktiske eksempler

Hæv pengene

Vil du hæve pengene ved at trykke på ALT+g (for gysser), så kan du taste dette ind i egne genvejstaster

71: #btn-capture

Opdater tracking information

Ved at trykke på ALT+t opdaterer du tracking, hvis du sætter dette ind

84: #btn-update-tracking

 

Trapperabat på Shoporama

Du kan godt lave trapperabat på Shoporama. Altså forstået således:

1 x produkt koster 30,- pr. styk

5 x produkt koster 25,- pr. styk

10 x produktet koster 20,- pr. styk

30 x produktet koster 18,- pr. styk

Dvs. 7 produkter koster 7×25 og 3 produkter koster 3×30,- etc.

Det sættes op således:

1) Find det produkt du vil lave trapperabat på og klik redigér.

2) Vælg fanebladet “Mængderabat”

3) Skriv de antal, der udløser rabatten med komma i feltet “Giv rabat ved følgende antal”. Skal vi tage udgangspunkt i eksemplet herover skal der stå 5,10,30. Klik herefter “Gem og rediger videre”

4) Nu får du felter frem til at skrive styk-pris i. Udfyld alle tre priser og klik “Gem”.

Du har nu trapperabat på dit produkt. (Bemærk du muligvis skal have din udvikler ind over for at kunne vise trapperabatten i din shop).

Facebook markedsføring på Shoporama

Vi har booket Facebook ekspert David Lorentzen til at undervise i Facebook markedsføring og remarketing. Ikke blot kommer han til Shoporama Symposium, men vi har også dedikeret to hele dage til Facebook markedsføring med David. Det ene i Aalborg det andet i København.

David i gang på workshoppen i Aalborg

Du skal ikke høre sådan noget varmluftssnak som “vær autentisk”,  “gå i dialog med dine brugere” og “del din viden og hjælp brugerne”. Der er benhårdt fokus på at forøge dit salg bl.a. vha. remarketing på Facebook. Der er max. 6 deltagere pr. dag, der løber fra 9 til 16. I forløbet vil der være én fra Shoporama, der kan være behjælpelig med indsættelse af evt. koder på din side, så du straks er i gang med at øge salget.

Prisen er 1700,- ex moms for hele dagen inkl. forplejning.

Det er kun for brugere med en kørende Shoporama webshop.

Begge workshops er afviklet

Ønsker du en af pladserne, så send en mail til vadskaer@shoporama.dk

Addwish integration med Shoporama

Addwish er en dansk ønskeseddel, mersalg, opsalg, søgemaskine ting, som man forholdsvis hurtigt kan tilknytte sin shop. Der skal dog en udvikler ind over. Her er opskriften, din udvikler skal bruge og så tager det max en time.

1. Opret dig og indsæt script

Allerførst skal du oprette dig på Addwish. Når du gør dette, får du et script, som du skal sende til din udvikler. Dette skal han indsætte nederst i din global.html fil (lige inden </body> )

2. Berig dine produkter med info

Dernæst skal der lidt kode ind på dine produkter. Det er bare at copy paste den her ind på product.html siden.

<{assign var="newcachename" value="product_addwishcache"|cat:$product->getProductId()}>
                            <{assign var="randomttl" value=43200|mt_rand:86400}>
                            <{get_cache name=$newcachename ttl=$randomttl assign="my_new_cached_data"}>
                            <{if $my_new_cached_data}>
                                <{$my_new_cached_data}>
                            <{else}>
                                <{cache name=$newcachename}>
                                    <span style="display:none" class="addwish-product" data-title="<{$product->getName()|escape}>" <{if $images}>
                                    <{section name="j" loop=$images start=0 max=1}>
                                    data-imgurl="<{$webshop->getUrl()}><{$images[j]->getSrc(770, 770, 'fit')}>" 
                                    <{/section}>
                                <{/if}> data-price="<{$product->getRealPrice()|number_format:2:".":""}>" data-productnumber="<{$product->getProductId()}>" data-url="<{$webshop->getUrl()}>/<{$product->getUrl()}>" data-currency="<{$webshop->getCurrency()}>" <{if $supplier}>data-brand="<{$supplier->getName()}>"<{/if}> <{if $product->getIsInStock()}>data-instock="true"<{else}> data-instock="false"<{/if}> <{if $product->getSalePrice()}> data-previousprice="<{$product->getPrice()|number_format:2:".":""}>"<{/if}> <{if $product->getMetaValue('addwish_score')}>data-score="<{$product->getMetaValue('addwish_score')}>"<{/if}> <{if $product->getMetaValue('addwish_gender')}>data-gender="<{$product->getMetaValue('addwish_gender')}>"<{/if}> <{if $product->getMetaValue('addwish_recurrent')}>data-recurrent="<{$product->getMetaValue('addwish_recurrent')}>"<{/if}>></span>

                                <{/cache}>
                            <{/if}>

Bemærk du kan bruge disse i ekstrafelter på produktet

addwish_score

addwish_gender

addwish_recurrent

Hvis de er på produktet, bliver de vist. Hvis ikke, sker der intet ved det.

3. Konverteringsscript

Ja … så skal vi ha’ lidt kode ind på thanks.html. Lidt afhængig af, hvordan du bruger Google Analytics skal du lige være opmærksom på, at den bliver afviklet. Det tester du naturligvis. Men … her er koden, du skal bruge på kvitteringssiden.

<span style="display:none;" class="addwish-conversion" 
        data-tax="<{$order->getVat()|number_format:2:".":""}>"
        data-ordernumber="<{$order->getWebshopOrderId()}>"
        data-total="<{$order->getPrice()|number_format:2:".":""}>">
         <{assign var="products" value=$order->getProducts()}>
         <{section name="i" loop=$products}>
            <span
                data-unit-price="<{$products[i]->getUnitPrice()|number_format:2:".":""}>"
                data-url="<{$webshop->getUrl()}>/<{$products[i]->getUrl()}>"
                data-productnumber="<{$products[i]->getProductId()}>"
                data-quantity="<{$products[i]->getAmount()|number_format:2:".":""}>"
            ></span>
        <{/section}>

    </span>

4. Et feed til Addwish

Addwish skal bruge et feed med alle dine produkter. Det gøres nemmest således:

Opret en fil med SFTP som du f.eks. kalder addwishfeed.xml. Smid dette deri

<?xml version="1.0" encoding="UTF-8"?>

<{assign var="products" value=$landing_page->getProducts()}>

<products>

<{section name="i" loop=$products}>
    <product>

    <url><{$webshop->getUrl()}>/<{$products[i]->getUrl()}></url>

    <title><{$products[i]->getName()|escape}></title>
    <{assign var="images" value=$products[i]->getImages()}>
    <{if $images}>
        <{section name="j" loop=$images start=0 max=1}>
            <imgurl><{$webshop->getUrl()}><{$images[j]->getSrc(300, 300, 'fit')}></imgurl>
        <{/section}>
    <{/if}>
    <price><{$products[i]->getRealPrice(null, null, true)|number_format:2:".":""}></price>

    <keywords></keywords>

    <description><{$products[i]->getDescription()|escape}></description>

    <{if $products[i]->getSalePrice()}>
    <previousprice><{$products[i]->getPrice(null, null, true)|number_format:2:".":""}></previousprice>
    <{/if}>

    <productnumber><{$products[i]->getOwnId()}></productnumber>

    <currency><{$webshop->getCurrency()}></currency>
    <{assign var="supplier" value=$products[i]->getSupplier()}>
    <{if $supplier}>
        <brand><{$supplier->getName()|escape}></brand>
    <{/if}>
    <instock><{if $products[i]->getIsInStock()}>true<{else}>false<{/if}></instock>

    </product>
<{/section}>
</products>

Opret så en landingsside. Kald den evt. addwish-produkter. Sæt reglerne for de produkter, du vil have med (f.eks. bare realpris > 0 ).

I “eget XML” indtaster du addwishfeed.xml og lige nedenunder har du så URL’en på dit feed, som du skal oplyse Addwish om.

Sæt flueben i “noindex, follow” (vi behøver ikke få denne side indexeret).

5. Opret blank side til Addwish søgeresultater

Her anbefaler jeg at lave en statisk side, der f.eks. hedder searchresults. Sæt et ekstrafelt til “addwishsearch=true” og bed så din udvikler checke på dette på page.html.

Send den URL du beslutter dig for til Addwish.

6. Oplys Addwish om, hvad der er i /basket

Denne simple kode skal du (eller rettere din udvikler) lige smide i din basket.html

<{if $basket}>
    <span style="display:none" class="addwish-basket" data-total="<{$total_price|number_format:2:",":"."}>" data-tax="<{$vat|number_format:2:",":"."}>" data-noshipping="0">

    <{section name="i" loop=$basket}>
    <{assign var="product" value=$basket[i].product}>
         <span 
         data-unit-price="<{$total_price|number_format:2:".":""}>" 
         data-url="<($webshop->getUrl()}><{$product->getUrl()}>" 
         data-productnumber="<{$product->getOwnId()}>" 
         data-quantity="<{$basket[i].amount}>"
         >

         </span>
    <{/section}>

    </span>
<{/if}>

Bemærk hvor der står data-noshipping=”0″ skal du indtaste din grænse for fri fragt. Så har du fri fragt over 399, så skal der stå data-noshipping=”399″.

 

Det var alt – du burde nu være good to go og skal så bare vente på om Addwish kan skaffe flere grunker i kassen til dig.

 

Arbejd hurtigere i din Shoporama shop

Hvis du søger efter produkter eller ordrer i din Shoporama shop, så skal du klikke ind under f.eks. produkter, markere søgefeltet og så taste dit søgeord. Det kan gøres smartere. I eksemplet her bruger jeg Firefox browseren (men det kan sikkert også gøres i din Chrome browser og/eller Safari eller hvad du bruger).

Tricket er, at du bare skriver “p lanterne” i adresselinjen, hvis du vil søge efter “lanterne” blandt produkterne. Eller “o hansen” hvis du vil søge efter “hansen” blandt dine ordrer. For at indstille din browser til det, gør du følgende:

Bogmærk denne URL:

https://www.shoporama.dk/admin/da/product/list?search=%s&has_images=&in_stock=&is_online=&product_list_limit=25#table

Klik på færdig, når du har gjort det.

Genveje Shoporama

 

 

 

 

2) Gå i Bogmærker og klik “Organisér bogmærker”

3) Nu får du dette frem. Klik på “Bogmærkemenuen” til venstre, så du får dit nye bogmærke frem.

Genveje Shoporama

4) Klik på den lille trekant nederst

Genveje Shoporama

5) Nu folder der sig nogle flere muligheder ud. Sæt et p i linjen “stikord”. Klik ned i næste felt. Nu skulle den gerne være gemt.

Genvej til hurtig søgning på Shoporama

Luk vinduet. Gå i adresselinjen og skriv “p [produktnavn]“. Voilá – du har lige sparet et par kliks.

Vil du lave den samme med ordrer, så kan du bruge denne linje (og så skal du skrive o i stedet for p i “stikord”).

https://www.shoporama.dk/admin/da/order/list?voucher_id=&product_id=&search=%s&order_list_limit=25&status=&shipping_id=&del_country_id=&paid=

Kreativt brug af blok caching på din inner_product.html

Vi synes jo, det er fedt, når webshops er hurtige. Derfor lavede vi blok caching.

I nogle tilfælde hiver man et produkts kategorier, varianter på lager eller profilattributter ud på et produkt på en landingsside eller kategori som f.eks. her på Faktorfobis side med soldragter. Det gøres for at man kan lave filteret på klientsiden. Her kan du se i kildekoden, hvordan sådan et produkt ser ud fordi jeg hiver brand, størrelser på lager og diverse kategorier ud. Det er tidskrævende.

Kreativ brug af blok caching

Ville jeg lave blok-caching på det her og bare kalde den “productcache” eller noget, så ville det være samme produkt, der blev vist hver gang. Så det duer ikke. Vi skal give den et unikt navn.  Derfor laver jeg blok cachingen med produktets ID.

Det gør du således:

<{assign var="newcachename" value="product_cache_"|cat:$product->getProductId()}>

Nu har vi en unik cache for hvert produkt. Nice og nifty.

Men … hvis man har sat cachen til at leve 24 timer. Så vil der for hver 24. time være én kunde, der oplevede siden som vældigt langsom (fordi vi skulle opbygge cachen for hvert produkt igen). Det er øv. Langsomme sider er øv.

Så derfor sætter jeg en random TTL, så hvert produkts cache bliver bygget tilfældigt (mellem 12 og 24 timer). Så i stedet for at én kunde oplever en langsom side hvert døgn, så tager alle en bid af “kagen”, men det er så tilpas hurtigt, at alle stadig oplever siden som hurtig. Samtidigt er størrelser på lager nogenlunde opdateret (og max 24 timer bagud). Det gøres sådan:

<{assign var="randomttl" value=43200|mt_rand:86400}>

Så vores samlede kode starter sådan her

<{assign var="newcachename" value="product_cache_"|cat:$product->getProductId()}>
                                                <{assign var="randomttl" value=43200|mt_rand:86400}>
                                                <{get_cache name=$newcachename ttl=$randomttl assign="my_new_cached_data"}>
                                                <{if $my_new_cached_data}>
                                                    <{$my_new_cached_data}>
                                                <{else}>
                                                  <{cache name=$newcachename}>
      // Her bygger du din cache
   <{/cache}>
                                             <{/if}>

Så’n får du mere fart på dine kategorisider :-D

 

 

Produktanmeldelser på Shoporama

Så fik vi implementeret produktanmeldelser. Der er flere elementer involveret i dem, så derfor denne guide.

Emnerne er:

-Kunne modtage anmeldelser på din webshop

-Bede dine kunder anmelde produkterne

-Vise anmeldelser på dit produkt

Lad os komme i gang.

Side til at modtage anmeldelser

Ja – her skal du så “desværre” betale for en udvikler. Det er selvfølgeligt ærgerligt, men sådan er det at være på et shopsystem, der udvikler sig.

Nå … din udvikler skal lave en fil, der hedder product_review.html

Han/hun kan hente eksempel i vores default tema.  Ganske kort er det siden, hvor din kunde skal anmelde produktet. Den skal blot indeholde dette

Så er der en anmeldelsesside på din webshop.

Få anmeldelserne i hus

For at få dine kunder til at anmelde dine produkter, skal de jo vide, at de kan. Du kan gøre to ting for at gi’ dem besked:

1) Sende dem en mail X timer efter ordren er langt (i stil med din after_purchase.html mail). I mailen er der link til siden, hvor de skal anmelde.

eller

2) Finde de kunder, der har købt bestemte ordrer og maile dem et link til hvor de kan anmelde dit produkt.

Metode 1 gøres ved at oprette en fil ved navn product_review_mail.html. Din udvikler finde eksempel på koden i vores default tema. Dernæst skal du gøre følgende i Shoporama:

-Klik på Indstillinger (tandhjulet)

-Klik på fanebladet Mails

-Under produktanmeldelser sender du, hvor mange timer efter at ordren er lagt, at de skal have mailen. 24 timer = 1 døgn. Så skal de ha’ den efter to uger, er det 24*14 = 336, du skal taste ind.

-Klik “Gem”

Metode 2 kan gøres på flere måder. Her er én af dem:

-Log ind i Shoporama

-Klik på “produkter”

-Find et produkt, du gerne vil have anmeldt. I kolonnen solgt står der, hvor mange du har solgt. Klik på det tal

-Nu ser du alle de ordrer, hvor produktet indgår. Markér dem, du vil sende til.

-Scroll ned i bunden og klik “Send e-mail”

-Nu skriver du en rørende besked om, hvorfor de skal anmelde det.

Produktanmeldelser Shoporama

-Klik på preview e-mails.

-Når du er tilfreds, så klikker du på “Send e-mails” i bunden. Og så er der mails på vej til dine kunder.

Nu skal du vise anmeldelserne på dit produkt

Når anmeldelserne er i hus, skal din udvikler tilføje lidt til filen product.html

Koden ser således ud

<{assign var="reviews" value=$product->getProductReviews()}>

    <{section name="p" loop=$reviews}>
        <{assign var="order" value=$reviews[p]->getOrder()}>

        <p><{$reviews[p]->getRating()}> stjerner ud af 5</p>
        <p>Skrevet af <{$order->getDelName()}> d. <{$reviews[p]->getCreated()|date_format:"%d.%m.%Y"}></p>
        <p><em><{$reviews[p]->getDescription()|escape}></em></p>

        <hr>
    <{/section}>

Du kan hive:

-Kundens navn

-Anmeldelsesdato

og

-Anmeldelsen ud

Voilá – anmeldelser på dine produkter.

Men … for at få fine stjerner ude i SERP, skal du lige angive produktets score. Det kan du gøre således:

<{assign var="reviews" value=$product->getProductReviews()}>
    <{if $reviews}>
        <{assign var="antalreviews" value=0}>
        <{assign var="totalscore" value=0}>
        <{section name="p" loop=$reviews}>
            <{math assign="antalreviews" equation=x+1 x=$antalreviews}>
            <{math assign="totalscore" equation=x+y x=$totalscore y=$reviews[p]->getRating()}>
        <{/section}>
        <{math assign="gennemsnit" equation=x/y x=$totalscore y=$antalreviews}>

        <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
            Fået <span itemprop="ratingValue"><{$gennemsnit|number_format:2:",":"."}></span>/5 stjerner ud af <span itemprop="reviewCount"><{$antalreviews}></span> kundeanmeldelser.
        </div>
    <{/if}>

Og så er det ellers bare at vente til Google belønner dig med stjerner.

Du kan teste dine mikrodata her.

Bonus

Du kan også sortere produkterne på dine landingssider efter bedst ratede produkt.

 

Må det vælte ind med gode anmeldelser på din shop :-)

Send mail til en gruppe kunder

Vi har lavet en ny feature, hvor du kan sende en mail hurtigt til en gruppe kunder. Den fungerer således:

1) Klik på ordrer

2) Find de ordrer, du vil sende til. F.eks. ved at vælge alle med en bestemt label (her “forudbestilling”)

Skærmbillede 2016-02-01 kl. 16.38.13

3) Sæt flueben lige under ID/info, så alle ordrerne bliver valgt.

4) Scroll ned i bunden og klik på “Send email”

Skærmbillede 2016-02-01 kl. 16.39.13

 

 

5) Skriv så din mail. Udfyld emne og indhold. Bemærk du kan bruge [NAME], [PRICE], [LINK] og [PAYMENT_LINK] i din mail. Det bliver så erstattet med navn, ordrens totalpris, link til ordren og et betalingslink.

6) Når du har skrevet din mail, klikker du på “Preview e-mails” og du kan så se mailen for hver enkelt kunde.

7) Er du tilfreds med mailen, så klikker du “Send email” allernederst og dine kunder får personaliserede mails.

Regex / regulære udtryk i Shoporama

Denne blog post er skrevet af den erfarne udvikler og webshop-administrator Lars Holmgaard, som er involveret i flere Shoporama shops. Han har lavet de vildeste hacks med Shoporama og fik os overtalt til at lave redirects med regulære udtryk. Det skal et webshop system selvfølgelig have, så det er vi taknemmelige for.
Vi har overtalt ham til at lave en tutorial om emnet og den følger her:

Hvad er regex?

Måske kender du begrebet wildcards, hvor man fx. kan sætte en stjerne ind i stedet for nogle tegn. Jeg synes jeg kan huske fra bibliotekerne i gamle dage at man kunne søge efter “Dennis J*” hvis man ikke lige kunne huske efternavnet på forfatteren Dennis Jürgensen. Så fandt computeren alle de forfattere, der hed Dennis Jensen, Dennis Jørgensen og Dennis Jürgensen. Stjernen erstatter resten af ordet, så man slipper for at gætte på stavemåden. På samme måde kunne man erstatte et enkelt bogstav med et spørgsmålstegn.
Regex fungerer på samme måde. Regex er bare en udvidet nørde-version af stjerne og spørgsmålstegn, så der nu er kommet brede fælge og rævehale på.

Roger. Hvad kan man så bruge regex til?

Regex er ret smart til mange ting, hvor der skal matches et mønster. Det kunne fx. være at du har skiftet shopsystem til Shoporama og gerne vil fortælle Google og dine besøgende at du fremover får nogle lækre og ikke mindst unikke adresser på dine produkter i stedet for de gamle grimme som måske oven i hatten er indekseret med forskellige variabler efter selve url’en. Flere forskellige adresser med samme indhold hedder duplicate content, som du måske har hørt man skal undgå i forbindelse med søgemaskineoptimering.
Lad os sige du har en kategoriside som var indekseret i Google på bl.a. denne adresse fra din gamle shop: /Sprayers.11081/page11081.aspx?recordid11081=788.

Og ja, det er en ægte url fra en webshop – ikke en jeg har fundet på.

Nu skifter du til Shoporama, hvor hver side kun har én url – lige som det skal være. Du laver en ny fin url til din kategori, som du helt enkelt kalder /sprayers.
Alt er godt. Sådan da. I din Google Search Console opdager du efter nogle dage at der er et væld af webadressefejl:
Regulære udtryk i Shoporama

 

 

 

 

 

I praksis har ovenstående 941 fejl den effekt at en bruger fx. søger efter ‘sprayers’, klikker i Googles søgeresultat og lander på en side, der ikke findes mere. En 404-side, som det hedder.

Det er ikke så godt. Det skal fixes. Google skal fortælles, hvor de sider er blevet af. Du skal lave det, der hedder redirects.
Under grafen ser du de url’er som Google har i sit indeks, men som ikke længere findes på din nye shop på samme adresse. Herunder er der vist 10 url’er, der ikke findes mere. Men, der er faktisk 52 i alt, hvilket er helt skandaløst dårligt.

Regex Shoporama

 

 

 

 

 

 

 

 

Kan du se et mønster?

Hvis nu du ikke havde lært om regex (du får detaljerne senere) så ville du måske begynde at lave redirects til hver enkelt af de 52 url’er som hedder noget med ‘sprayers’ og pege dem ind på kategorisiden /sprayers. Men, det er spild af tid. Det kan nemlig gøres med én linies regex.

Sådan gør du

Jeg vil kort beskrive de mest populære ‘koder’ i regex, så du hurtigt kan komme i gang. Du kan altid undersøge nærmere om der skulle være en kortere og smartere måde at skrive dine regex på, men bare med disse koder kan du komme ret langt.

  • [0-9]+ angiver at her er der en sektion, hvor der kan være cifre fra 0 til 9. Plusset bag de kantede paranteser angiver at der kan være et eller flere cifre.
  • [a-z]* angiver at her er der en sektion, hvor der kan være bogstaver fra a-z. Stjernen bag parantesen angiver at der kan være 0 eller flere bogstaver i modsætning til plusset, hvor der skulle være mindst ét tilfælde af et match.
  • (fisk|lam|rådyr) angiver en gruppe, hvor der enten skal stå fisk, lam eller rådyr.
  • . angiver et hvilket som helst tegn. Punktum kan altså både stå for et tal, et bogstav eller et specialtegn.

For at angive over for regex fortolkeren, hvad der er en kommando og hvad der bare er et tegn, så skal du escape et specialtegn ved at skrive \ foran tegnet. Det skal du fx gøre foran et punktum.

Ovenstående kan du nemt kombinere så du fx. laver et match, der ser sådan her ud:

[a-z0-9.-_]+@[a-z0-9]+\.(com|dk|de|org)

Kan du regne ud, hvad ovenstående regex kan lave et match på? I første kantede parantes kan der stå et eller flere bogstaver, tal eller punktum, bindestreg og underscore. Derefter skal der stå et snabela. Så kommer der et eller flere bogstaver eller tal, derefter et punktum og til sidst skal der enten stå com, dk, de eller org. Denne regex kan dermed bruges til at checke om en tekst ligner en email, hvor afsenderen har en .com, .dk, .de eller .org email adresse. Der findes formentligt email adresser, der ikke passer i netop det regex filter, men så kan man justere det og lave det smartere.

Prøv at sætte regex’en ind på denne side og skriv din email adresse i det store felt nedenunder: http://www.regexr.com/ - bliver teksten blå, så har du lavet et match.

Godt. Du er med nu.

Hvis jeg skulle redirecte alle de fejl-url’er med sprayers over til den nye fine /sprayers url, så ville jeg ganske enkelt klikke her https://www.shoporama.dk/admin/da/redirect/new og skrive sådan:

Smarte redirects i Shoporama

 

 

 

 

 

Husk at sætte kryds i at det er et regular expression du har lavet. Ellers bliver dit redirect tolket som et ganske almindeligt redirect.

Men, der er jo ikke vilde koder i? Nej. Det er slet ikke sikkert det er nødvendigt. Jeg kan se på de url’er der mangler at de alle starter med sprayers.11081 og at det tal nok er ret unikt bundet sammen med den kategori. Derfor kan jeg tillade mig at antage at hvis min regex matcher på sprayers.11081 så matcher den højst sandsynligt korrekt og tager ikke forkerte url’er med.

Ovenstående enkle regex kan løse 52 ud af de 941 fejl, som Google Search Console er stødt på. Hvis resten er noget i samme stil så kan man hurtigt komme de fejl til livs og resten kan man altid redirecte manuelt.

Læg mærke til at du ikke behøver at matche hele udtrykket. Det kommer helt an på, hvor sikker du er i din sag mht de url’er du gerne vil matche. Jeg har på samme shop oplevet tusindevis af url’er, hvor en tilfældig kategori stod forrest og derefter fulgt af et varenummer inde i midten og til sidst en masse parametre. Det eneste unikke var varenummeret – alt andet fulgte et mønster, hvor det kunne være forskellige tal og bogstaver, men på samme pladser. Derfor matchede jeg grupperne med tal og bogstaver op med varenummeret og lavede et redirect over til produktets nye og endelige url på den nye shop.

Som nævnt tidligere, så brug endelig www.regexr.com og test dine udtryk før du implementerer dem. Skriv url’erne i det nederste store felt og øv dig på at skrive korrekte regex inden du implementerer dem i Shoporama. Jeg har fx. brugt regex på http://shop.dandrone.dk og flere andre shops.

Sigt efter at udrydde alle 404-fejl i GSC.

God fornøjelse med det!