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>