Blog Importer registrerer automatisk Shopifys innebygde 301-omdirigeringer når du migrerer blogginnleggene dine. Dette sikrer en smidig overføring av søkemotorrangeringene dine (SEO) fra din gamle side til din nye Shopify-butikk uten kompleks manuell konfigurasjon.

Imidlertid er det spesifikke URL-mønstre som Shopifys innebygde funksjon ikke kan håndtere.

Ikke-støttet mønster: URL-er med spørringsparametere

Shopifys standard omdirigeringsfunksjon har en strukturell begrensning: den kan ikke nøyaktig identifisere URL-er som inneholder et ”?” (spørringsparametere).

  • Støttet eksempel: example.com/old-post
  • Støttet eksempel (parametere på 2. nivå eller dypere): example.com/news/?pid=123
  • Ikke-støttet eksempel: example.com/?pid=123 (Parametriserte URL-er direkte under rotdomenet)

Disse typene URL-er kan ikke omdirigeres ved hjelp av Blog Importer eller Shopifys standard omdirigeringsinnstillinger.

Løsningen

For å lykkes med å migrere sider med disse eldre URL-strukturene, må du bruke klientside-JavaScript for å manuelt rute besøkende til riktig side i nettleseren deres.

Hvorfor er JavaScript nødvendig?

Shopifys innebygde omdirigeringer behandles på serversiden. Systemisk fjerner Shopify all informasjon etter et ”?” i URL-en, noe som gjør det umulig å betinget rute trafikk basert på parameterforskjeller.

For å løse dette trenger vi “smart ruting”: JavaScript leser umiddelbart hele URL-en ved sideinnlasting i den besøkendes nettleser og omdirigerer dem dynamisk til riktig destinasjon.

Hvordan implementere via JavaScript (eksempelkode)

Plasser følgende kode inne i Shopify-temaets theme.liquid-fil, umiddelbart før den avsluttende </head>-taggen. Oppdater variabelen redirectMap for å matche dine gamle URL-parametere og deres tilsvarende nye stier.

<script>
(function() {
  // Redirect map: Gamle URL-parametere til nye stier
  var redirectMap = {
    "?pid=123": "/blogs/news/article-a",
    "?pid=456": "/blogs/news/article-b",
    "?p=789": "/pages/contact"
  };

  var currentQuery = window.location.search;

  if (currentQuery && redirectMap[currentQuery]) {
    window.location.href = redirectMap[currentQuery];
  }
})();
</script>