Automatiske kanoniske lenker for å unngå duplikat innhold

Av

Kanoniske lenker spiller en viktig rolle for å optimere din nettside for søkemotorene. Ved å bruke kanoniske lenker kan du blant annet unngå å straffes for duplikat innhold, ved å fortelle søkemotorer som Google hvilken versjon av et innhold som er den «offisielle» når lignende eller identiske versjoner finnes.

Uten korrekt implementering av disse lenkene, kan nettsteder falle i fellen av duplikat innhold, noe som kan føre til forvirring for søkemotorer og potensielt straffe nettstedets SEO-rangeringer.

Kanoniske lenker (på engelska canonical links eller canonical url) er viktigst å konfigurere riktig når du ”låner” innhold fra en annen nettside, men du kan også bruke det når du viser samme innhold på flere steder på din nettside.

Utfordringene med Duplikat Innhold på Dynamiske Sider

Nylig utviklet vi en nettside som har en side som alltid viser den seneste artikkelen. Da er det to sider på nettsiden som har helt likt innhold – den originale artikkel-siden og siden med seneste artikkelen.

På nettsidene vi utvikler bruker vi utvidelsen All in One SEO (AIOSEO) for å tilpasse og konfigurere sidene for best mulig SEO. Det er enkelt, og håndterer som regel kanoniske lenker. Det gir også et enkelt felt å fylle ut hvis en side er hentet fra et annet sted. Men dette er manuelt, og egner seg ikke bra når du har en siden som endrer innhold dynamisk så som vår ”seneste”-side gjør.

Løsningen?

Automatisk oppdatering av kanoniske lenker via en tilpasset WordPress-kode. Denne artikkelen vil veilede deg gjennom hvordan du implementerer en kode som dynamisk henter URL-en til det siste publiserte innlegget for å oppdatere den kanoniske lenken på en side som viser siste innlegg.

Med denne metoden kan du sikre at søkemotorer forstår hvilket innhold som er mest relevant og oppdatert, og dermed unngå straffen for duplikat innhold. Følg med for en detaljert gjennomgang av en kode som vil styrke nettstedets SEO.

Automatisk Oppdatering av Kanonisk Lenke

Vi lagde en løsning for automatisk oppdatering av kanonisk lenke for Seneste-siden med en funksjon satt inn i vårt WordPress-tema.

function wpb_override_aioseo_canonical($url) {

    // Check if we are on the 'latest' page (adjust the check as necessary)

    if (is_page('latest')) {

        // Query to fetch the latest published post

        $args = array(

            'posts_per_page' => 1,

            'post_type' => 'post',

            'orderby' => 'date',

            'order' => 'DESC'

        );

        $latest_post_query = new WP_Query($args);

        if ($latest_post_query->have_posts()) {

            $latest_post_query->the_post();  // Set up post data for use

            $url = get_permalink();  // Get the permalink of the latest post

        }

        wp_reset_postdata();  // Reset post data after custom query

    }

    return $url;  // Return the modified or original URL

}

add_filter('aioseo_canonical_url', 'wpb_override_aioseo_canonical');

Definisjon av Funksjonen

Funksjonen wpb_override_aioseo_canonical tar i bruk et eksisterende URL-filter fra All in One SEO-utvidelsen (aioseo_canonical_url) for å endre den kanoniske lenken.

Parameteret $url som denne funksjonen mottar, representerer den opprinnelige kanoniske URL-en som er definert av AIOSEO. Målet med funksjonen er å sjekke om den aktuelle siden har en spesifikk endelse (latest i dette tilfelle), og hvis ja, oppdatere $url til URL-en til det siste publiserte innlegget.

Sjekk og spørring

Koden starter med en sjekk if (is_page('latest')), som bestemmer om den nåværende siden er den som er ment å vise det siste innlegget. Hvis det er tilfelle, definerer funksjonen et array med argumenter $args som instruerer WordPress om å hente det nyeste innlegget.

Argumentene spesifiserer at kun det nyeste innlegget skal hentes ('posts_per_page' => 1), sortert etter publiseringsdato i synkende rekkefølge ('orderby' => 'date', 'order' => 'DESC').

$args = array(

    'posts_per_page' => 1,

    'post_type' => 'post',

    'orderby' => 'date',

    'order' => 'DESC'

);

Hente og Oppdatere URL

Ved hjelp av argumentene definert ovenfor utfører funksjonen en WP_Query, som henter det nyeste innlegget. Når innlegget er hentet, brukes the_post() for å sette opp postdata slik at get_permalink() kan hente permalinken til dette innlegget. Denne URL-en erstatter så den originale kanoniske URL-en.

$latest_post_query = new WP_Query($args);

if ($latest_post_query->have_posts()) {

    $latest_post_query->the_post();  // Set up post data for use

    $url = get_permalink();  // Get the permalink of the latest post

}

Resetting av Postdata

Etter at den nye URL-en er hentet, er det viktig å tilbakestille WordPress’ postdata ved hjelp av wp_reset_postdata(). Dette sikrer at resten av siden fortsetter å fungere som forventet uten forstyrrelser fra den midlertidige endringen i den globale postdataen.

Returnering av URL

Til slutt returnerer funksjonen den oppdaterte URL-en, hvis det er hentet et nytt innlegg, eller den originale URL-en hvis ikke, via return $url;. Dette sørger for at den kanoniske lenken alltid peker på det mest relevante og oppdaterte innholdet.

return $url;  // Return the modified or original URL

}

add_filter('aioseo_canonical_url', 'wpb_override_aioseo_canonical');

Ved å bruke denne metoden kan nettsteds-eiere effektivt styre hvordan søkemotorer oppfatter og indekserer deres innhold, og dermed oppnå bedre SEO-resultater og unngå duplikat innhold.

Legge til koden i WordPress

Å implementere den tilpassede koden for å håndtere kanoniske lenker krever tilgang til nettstedets temafiler. Her er en trinn-for-trinn veiledning for å legge til koden på en sikker og effektiv måte:

  1. Velg Riktig Fil: Åpne functions.php-filen i ditt aktive WordPress-tema eller child-theme. Det anbefales å bruke et s.k. child-theme for å unngå tap av endringer ved temaoppdateringer.
  2. Legg til Koden: Kopier koden wpb_override_aioseo_canonical og lim den inn i functions.php-filen. Dette vil sikre at funksjonen lastes hver gang nettstedet ditt genereres, og den kanoniske lenken oppdateres korrekt.
  3. Tilpasning for Forskjellige Posttyper: Hvis ditt nettsted inkluderer ulike posttyper (f.eks. innlegg, sider, tilpassede posttyper), kan du tilpasse $args-arrayet i koden for å spesifikt målrette eller ekskludere bestemte posttyper. Dette gjøres ved å endre 'post_type' => 'post' til en annen posttype eller en array av posttyper.
  4. Tilpasning for Spesifikke Sider: Hvis du har flere sider der du ønsker å oppdatere den kanoniske lenken basert på nytt innhold, kan du tilpasse is_page('latest')-kontrollen til å inkludere flere sidetitler eller til og med sidetilstander basert på sidens metadata.

Ved å følge disse trinnene kan du enkelt integrere og tilpasse koden for å møte spesifikke behov på ditt nettsted.

Fordeler med Tilnærmingen

Denne tilnærmingen til å oppdatere kanoniske lenker automatisk gir flere SEO-fordeler:

  • Forbedret søkemotorindeksering: Ved å sørge for at den kanoniske lenken alltid peker på det nyeste innholdet, kan du redusere risikoen for duplikat innhold. Dette hjelper søkemotorer å forstå hvilken side som skal prioriteres i indekseringen, noe som forbedrer nettstedets generelle SEO-ytelse.
  • Bevaring av rangering og relevans: Oppdaterte kanoniske lenker sikrer at all linkjuice og rangeringspotensial er fokusert på det mest aktuelle innholdet. Dette opprettholder relevansen og autoriteten til dine nyeste innlegg, og styrker ditt nettsteds posisjon i søkemotorresultater.

Vi oppfordrer deg til å eksperimentere med og tilpasse denne koden for å finne den beste løsningen for ditt nettsted. Testing og tilpasning basert på ditt nettsteds unike struktur og behov vil sikre at du maksimerer potensialet for din online tilstedeværelse.

Sett i gang i dag for å styrke din SEO-strategi og ta nettstedets ytelse til nye høyder!