Redirects
Reindirizzamenti consente di creare un connessione diretta tra un richiesta o una parola chiave e un url specifico. Quando si può usare?
Ad esempio, avete un prodotto a sé stante per una categoria e volete fare in modo che i vostri clienti possano ricerca direttamente la pagina del prodotto dalla ricerca, senza passando per pagina di ricerca.
Questa guida sarà divisa in due sezioni. La prima parte è per mostrarvi come creare un reindirizzamento il vostro negozio e la seconda parte passi aggiuntivi che dovrete seguire se avete un negozio API personalizzato negozio.
Creare i reindirizzamenti #
Andare su Search > Redirects > New redirect.
Inserire l’URL del prodotto o altro pagina a cui si vuole che i visitatori siano inviati, quando si preme enter dopo la ricerca.
Aggiungete una o più query che devono causare il reindirizzamento. Queries that match exactly reindirizzerà se l’utente digita quella parola o frase esatta, mentre Queries that contain reindirizzerà se la parola o frase fa parte della ricerca completa.
Fare clic su Save & Close per applicarlo.
Impostazione API #
Se si è integrato direttamente Clerk con l’API, il link di reindirizzamento verrà restituito dagli endpoint
search/predictive
e
search/search
per tutte le query che corrispondono alle regole di reindirizzamento create.
L’URL di reindirizzamento sarà incluso nella chiave redirect
della risposta.
Esempio:
# API Call
curl -X POST \
-H 'Content-Type: application/json' \
-d '{"key": "store_api_key",
"query": "softball",
"language": "english",
"limit": 6,
"visitor": "unique_visitor_id",
"labels": ["Instant Search"]}' \
http://api.clerk.io/v2/search/predictive
# Response
{
"status": "ok",
"query": "softball",
"count": 2,
"result": [
37217,
40058
],
"hits": 2,
"redirect": "https://www.thebaseballgeek.co.uk/softball"
}
Risoluzione dei problemi #
Molti script aggiungono funzionalità al campo di ricerca, quindi se il reindirizzamento non funziona, è molto probabile che un altro script stia sovrascrivendo la funzionalità.
Di seguito è riportato un esempio di come si possa sovrascrivere la funzionalità esistente per forzare i reindirizzamenti di Clerk a essere prioritari. Potrebbe essere necessaria una personalizzazione per la vostra configurazione.
<script>
(function() {
input_selector = document.querySelector('#{{ content.id }}').dataset.instantSearch;
document.querySelectorAll(input_selector).forEach(input=>{
input.addEventListener('keyup', function(event){
{% if redirect %}
var currentRedirect = '{{ redirect }}';
{% else %}
var currentRedirect = undefined;
{% endif %}
if(event.which == 13 || event.which == 'Enter'){
if(currentRedirect != undefined){
event.preventDefault();
window.location.replace(currentRedirect);
}
}
});
});
})();
</script>
Questa pagina è stata tradotta da un'utile intelligenza artificiale, quindi potrebbero esserci errori linguistici. Grazie per la comprensione.