Blog Importer registrerar automatiskt Shopifys inbyggda 301-omdirigeringar när du migrerar dina blogginlägg. Detta säkerställer en smidig överföring av din sökmotorrankning (SEO) från din gamla webbplats till din nya Shopify-butik utan någon komplex manuell konfiguration.
Det finns dock specifika URL-mönster som Shopifys inbyggda funktion inte kan hantera.
Mönster som inte stöds: Webbadresser med frågeparametrar
Shopifys standardfunktion för omdirigering har en strukturell begränsning: den kan inte identifiera webbadresser som innehåller ett ”?” (frågeparametrar) korrekt.
- Exempel som stöds:
example.com/old-post - Exempel som stöds (parametrar på 2:a nivån eller djupare):
example.com/news/?pid=123 - Exempel som inte stöds:
example.com/?pid=123(Parametriserade webbadresser direkt under rotdomänen)
Dessa typer av webbadresser kan inte omdirigeras med Blog Importer eller Shopifys standardinställningar för omdirigering.
Lösningen
För att lyckas migrera sidor med dessa gamla URL-strukturer måste du använda JavaScript på klientsidan för att manuellt dirigera besökare till rätt sida i deras webbläsare.
Varför är JavaScript nödvändigt?
Shopifys inbyggda omdirigeringar bearbetas på serversidan. Systematiskt tar Shopify bort all information som följer ett ”?” i webbadressen, vilket gör det omöjligt att villkorligt dirigera trafik baserat på parameterskillnader.
För att lösa detta behöver vi “smart dirigering”: JavaScript läser direkt den fullständiga webbadressen vid sidladdning i besökarens webbläsare och omdirigerar dem dynamiskt till rätt destination.
Hur man implementerar via JavaScript (Exempelkod)
Placera följande kod i din Shopify-temas theme.liquid-fil, omedelbart före den avslutande </head>-taggen. Uppdatera variabeln redirectMap så att den matchar dina gamla URL-parametrar och deras motsvarande nya sökvägar.
<script>
(function() {
// Omdirigeringskarta: Gamla URL-parametrar till nya sökvägar
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>