Blog Importer registrerer automatisk Shopifys oprindelige 301-omdirigeringer, når du migrerer dine blogindlæg. Dette sikrer en problemfri overførsel af dine placeringer i søgemaskinerne (SEO) fra dit gamle websted til din nye Shopify-butik uden nogen kompleks manuel konfiguration.
Der er dog specifikke webadresse-mønstre, som Shopifys oprindelige funktion ikke kan håndtere.
Ikke-understøttet mønster: Webadresser med forespørgselsparametre
Shopifys standard omdirigeringsfunktion har en strukturel begrænsning: den kan ikke præcist identificere webadresser, der indeholder et ”?” (forespørgselsparametre).
- Understøttet eksempel:
example.com/old-post - Understøttet eksempel (parametre på 2. niveau eller dybere):
example.com/news/?pid=123 - Ikke-understøttet eksempel:
example.com/?pid=123(Parametriserede webadresser direkte under roddomænet)
Disse typer webadresser kan ikke omdirigeres ved hjælp af Blog Importer eller Shopifys standardindstillinger for omdirigering.
Løsningen
For at migrere sider med disse ældre webadressestrukturer, skal du bruge JavaScript på klientsiden til manuelt at omdirigere besøgende til den korrekte side i deres browser.
Hvorfor er JavaScript nødvendigt?
Shopifys oprindelige omdirigeringer behandles på serversiden. Systematisk fjerner Shopify alle oplysninger efter et ”?” i webadressen, hvilket gør det umuligt at omdirigere trafik betinget baseret på parameterforskelle.
For at løse dette har vi brug for “smart routing”: JavaScript læser øjeblikkeligt den fulde webadresse ved indlæsning af siden i den besøgendes browser og omdirigerer dem dynamisk til den rigtige destination.
Sådan implementeres via JavaScript (Eksempelkode)
Placer følgende kode i dit Shopify-temas theme.liquid-fil, umiddelbart før det afsluttende </head>-tag. Opdater variablen redirectMap, så den matcher dine gamle webadresseparametre og deres tilsvarende nye stier.
<script>
(function() {
// Omdirigeringskort: Gamle webadresseparametre 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>