DELETE FROM KEYWORDS WHERE ID_DOMAINE=36026482DoneDoneDone
URL:russellhobbs.co.za
Cache-Control: max-age=0, must-revalidate, no-cache, no-store
Connection: Upgrade, Keep-Alive
Date: Sat, 02 Nov 2024 10:31:28 GMT
Keep-Alive: timeout=5, max=100
Pragma: no-cache
Upgrade: h2,h2c
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Expires: Thu, 02 Nov 2023 10:31:28 GMT
Location: https://russellhobbs.co.za/
Server: Apache
Set-Cookie: PHPSESSID=v5v5vr1f7cgcqr63plmrae8afk; expires=Sat, 02-Nov-2024 11:31:28 GMT; Max-Age=3600; path=/; domain=russellhobbs.co.za; HttpOnly; SameSite=Lax
X-Magento-Cache-Control: max-age=0, must-revalidate, no-cache, no-store
X-Magento-Cache-Debug: MISS
Content-Security-Policy-Report-Only: font-src *.fontawesome.com *.googleapis.com *.gstatic.com maxcdn.bootstrapcdn.com data: 'self' 'unsafe-inline'; form-action geostag.cardinalcommerce.com geo.cardinalcommerce.com 1eafstag.cardinalcommerce.com 1eaf.cardinalcommerce.com centinelapistag.cardinalcommerce.com centinelapi.cardinalcommerce.com pilot-payflowlink.paypal.com www.paypal.com www.sandbox.paypal.com *.cardinalcommerce.com *.paypal.com 3ds-secure.cardcomplete.com www.clicksafe.lloydstsb.com pay.activa-card.com *.wirecard.com acs.sia.eu *.touchtechpayments.com www.securesuite.co.uk rsa3dsauth.com *.monzo.com *.arcot.com *.wlp-acs.com * https://sandbox.payfast.co.za https://www.payfast.co.za/eng/process 'self' 'unsafe-inline'; frame-ancestors 'self'; frame-src fast.amc.demdex.net *.adobe.com bid.g.doubleclick.net *.youtube.com *.youtube-nocookie.com geostag.cardinalcommerce.com geo.cardinalcommerce.com 1eafstag.cardinalcommerce.com 1eaf.cardinalcommerce.com centinelapistag.cardinalcommerce.com centinelapi.cardinalcommerce.com www.paypal.com www.sandbox.paypal.com pilot-payflowlink.paypal.com player.vimeo.com https://www.google.com/recaptcha/ www.googletagmanager.com c.paypal.com checkout.paypal.com assets.braintreegateway.com pay.google.com *.cardinalcommerce.com *.paypal.com * 'self' 'unsafe-inline'; img-src assets.adobedtm.com amcglobal.sc.omtrdc.net dpm.demdex.net cm.everesttech.net *.adobe.com widgets.magentocommerce.com data: www.googleadservices.com www.google-analytics.com googleads.g.doubleclick.net www.google.com bid.g.doubleclick.net analytics.google.com www.googletagmanager.com *.ftcdn.net *.behance.net t.paypal.com www.paypal.com www.paypalobjects.com fpdbs.paypal.com fpdbs.sandbox.paypal.com *.vimeocdn.com i.ytimg.com *.youtube.com validator.swagger.io https://images.unsplash.com *.google.com *.googleadservices.com *.google-analytics.com *.googletagmanager.com flagpedia.net www.sandbox.paypal.com b.stats.paypal.com dub.stats.paypal.com assets.braintreegateway.com c.paypal.com checkout.paypal.com *.paypal.com data: 'self' 'unsafe-inline'; script-src assets.adobedtm.com *.adobe.com www.googleadservices.com www.google-analytics.com googleads.g.doubleclick.net analytics.google.com www.googletagmanager.com *.newrelic.com *.nr-data.net geostag.cardinalcommerce.com 1eafstag.cardinalcommerce.com geoapi.cardinalcommerce.com 1eafapi.cardinalcommerce.com songbird.cardinalcommerce.com includestest.ccdc02.com www.paypal.com www.sandbox.paypal.com www.paypalobjects.com t.paypal.com s.ytimg.com www.googleapis.com vimeo.com www.vimeo.com *.vimeocdn.com *.youtube.com https://www.gstatic.com/recaptcha/ https://www.google.com/recaptcha/ connect.facebook.net *.googletagmanager.com *.googleadservices.com *.google-analytics.com *.fontawesome.com *.googleapis.com *.gstatic.com maps.googleapis.com js.braintreegateway.com assets.braintreegateway.com c.paypal.com pay.google.com api.braintreegateway.com api.sandbox.braintreegateway.com client-analytics.braintreegateway.com client-analytics.sandbox.braintreegateway.com *.paypal.com songbirdstag.cardinalcommerce.com 'self' 'unsafe-inline' 'unsafe-eval'; style-src *.adobe.com *.fontawesome.com maxcdn.bootstrapcdn.com *.gstatic.com unsafe-inline assets.braintreegateway.com 'self' 'unsafe-inline'; object-src 'self' 'unsafe-inline'; media-src *.adobe.com 'self' 'unsafe-inline'; manifest-src 'self' 'unsafe-inline'; connect-src dpm.demdex.net amcglobal.sc.omtrdc.net www.google-analytics.com www.googleadservices.com analytics.google.com www.googletagmanager.com *.newrelic.com *.nr-data.net vimeo.com geostag.cardinalcommerce.com geo.cardinalcommerce.com 1eafstag.cardinalcommerce.com 1eaf.cardinalcommerce.com centinelapistag.cardinalcommerce.com centinelapi.cardinalcommerce.com www.sandbox.paypal.com www.paypalobjects.com www.paypal.com pilot-payflowlink.paypal.com *.google-analytics.com *.analytics.google.com *.googletagmanager.com stats.g.doubleclick.net www.gstatic.com maps.googleapis.com api.braintreegateway.com api.sandbox.braintreegateway.com client-analytics.braintreegateway.com client-analytics.sandbox.braintreegateway.com *.braintree-api.com *.paypal.com *.cardinalcommerce.com *.google.com google.com 'self' 'unsafe-inline'; child-src assets.braintreegateway.com c.paypal.com *.paypal.com http: https: blob: 'self' 'unsafe-inline'; default-src 'self' 'unsafe-inline' 'unsafe-eval'; base-uri 'self' 'unsafe-inline';
Strict-Transport-Security: max-age=31536000
Content-Security-Policy: upgrade-insecure-requests;
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
X-UA-Compatible: IE=edge
X-Frame-Options: SAMEORIGIN
Location => https://russellhobbs.co.za/
Status => 302
(vide) Tentative en https
<!doctype html>
<html lang="en">
<head >
<meta charset="utf-8"/>
<meta name="title" content="Russell Hobbs SA | Buy Kettles, Toasters, Irons & More Online"/>
<meta name="description" content="At the heart of homes, Russell Hobbs provides high quality and affordable home & kitchen appliances - from kettles to irons, toasters to cookware."/>
<meta name="robots" content="INDEX,FOLLOW"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Russell Hobbs SA | Buy Kettles, Toasters, Irons & More Online</title>
<link rel="stylesheet" type="text/css" media="all" href="https://russellhobbs.co.za/static/version1730383469/frontend/Syncrony/hyvaplus/en_US/css/styles.css" />
<link rel="canonical" href="https://russellhobbs.co.za/" />
<link rel="icon" type="image/x-icon" href="https://russellhobbs.co.za/media/favicon/stores/1/ms-icon-144x144.png" />
<link rel="shortcut icon" type="image/x-icon" href="https://russellhobbs.co.za/media/favicon/stores/1/ms-icon-144x144.png" />
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-PKTV3BDR');</script>
<!-- End Google Tag Manager -->
<meta name="google-site-verification" content="2GChZJu0C7wN_Qh0qdZVJKuKpmPRPqagkTijMZN47qw" />
<link rel="stylesheet" type="text/css" media="all" href="/russellhobbs.css" />
<style>
a.level-0.block.p-2.text-base.text-gray-700.whitespace-nowrap[title="Recipes"] {display: none;}
.mt-auto.pt-3.flex.flex-wrap.justify-center.items-center > button.w-auto.btn.btn-primary.justify-center.text-sm.mr-auto {
display: flex;
}
button#product-addtocart-button {
display: flex;
}
</style> <script>
var BASE_URL = 'https://russellhobbs.co.za/';
var THEME_PATH = 'https://russellhobbs.co.za/static/version1730383469/frontend/Syncrony/hyvaplus/en_US';
var COOKIE_CONFIG = {
"expires": null,
"path": "\u002F",
"domain": ".russellhobbs.co.za",
"secure": false,
"lifetime": "3600",
"cookie_restriction_enabled": false };
var CURRENT_STORE_CODE = 'default';
var CURRENT_WEBSITE_ID = '1';
window.hyva = window.hyva || {}
window.cookie_consent_groups = window.cookie_consent_groups || {}
window.cookie_consent_groups['necessary'] = true;
window.cookie_consent_config = window.cookie_consent_config || {};
window.cookie_consent_config['necessary'] = [].concat(
window.cookie_consent_config['necessary'] || [],
[
'user_allowed_save_cookie',
'form_key',
'mage-messages',
'private_content_version',
'mage-cache-sessid',
'last_visited_store',
'section_data_ids'
]
);
</script>
<script>
'use strict';
(function( hyva, undefined ) {
function lifetimeToExpires(options, defaults) {
var lifetime = options.lifetime || defaults.lifetime;
if (lifetime) {
var date = new Date;
date.setTime(date.getTime() + lifetime * 1000);
return date;
}
return null;
}
function generateRandomString() {
const allowedCharacters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
length = 16;
let formKey = '',
charactersLength = allowedCharacters.length;
for (var i = 0; i < length; i++) {
formKey += allowedCharacters[Math.round(Math.random() * (charactersLength - 1))]
}
return formKey;
}
const cookieTempStorage = {};
const internalCookie = {
get(name) {
const v = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');
return v ? v[2] : null;
},
set(name, value, days, skipSetDomain) {
let expires,
path,
domain,
secure,
samesite;
const defaultCookieConfig = {
expires: null,
path: '/',
domain: null,
secure: false,
lifetime: null,
samesite: 'lax'
};
const cookieConfig = window.COOKIE_CONFIG || {};
expires = days
? lifetimeToExpires({lifetime: 24 * 60 * 60 * days, expires: null}, defaultCookieConfig)
: lifetimeToExpires(window.COOKIE_CONFIG, defaultCookieConfig) || defaultCookieConfig.expires;
path = cookieConfig.path || defaultCookieConfig.path;
domain = !skipSetDomain && (cookieConfig.domain || defaultCookieConfig.domain);
secure = cookieConfig.secure || defaultCookieConfig.secure;
samesite = cookieConfig.samesite || defaultCookieConfig.samesite;
document.cookie = name + "=" + encodeURIComponent(value) +
(expires ? '; expires=' + expires.toGMTString() : '') +
(path ? '; path=' + path : '') +
(domain ? '; domain=' + domain : '') +
(secure ? '; secure' : '') +
(samesite ? '; samesite=' + samesite : 'lax');
},
isWebsiteAllowedToSaveCookie() {
const allowedCookies = this.get('user_allowed_save_cookie');
if (allowedCookies) {
const allowedWebsites = JSON.parse(unescape(allowedCookies));
return allowedWebsites[CURRENT_WEBSITE_ID] === 1;
}
return false;
},
getGroupByCookieName(name) {
const cookieConsentConfig = window.cookie_consent_config || {};
let group = null;
for (let prop in cookieConsentConfig) {
if (!cookieConsentConfig.hasOwnProperty(prop)) continue;
if (cookieConsentConfig[prop].includes(name)) {
group = prop;
break;
}
}
return group;
},
isCookieAllowed(name) {
const cookieGroup = this.getGroupByCookieName(name);
return cookieGroup
? window.cookie_consent_groups[cookieGroup]
: this.isWebsiteAllowedToSaveCookie();
},
saveTempStorageCookies() {
for (const [name, data] of Object.entries(cookieTempStorage)) {
if (this.isCookieAllowed(name)) {
this.set(name, data['value'], data['days'], data['skipSetDomain']);
delete cookieTempStorage[name];
}
}
}
};
hyva.getCookie = (name) => {
const cookieConfig = window.COOKIE_CONFIG || {};
if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) {
return cookieTempStorage[name] ? cookieTempStorage[name]['value'] : null;
}
return internalCookie.get(name);
}
hyva.setCookie = (name, value, days, skipSetDomain) => {
const cookieConfig = window.COOKIE_CONFIG || {};
if (cookieConfig.cookie_restriction_enabled && ! internalCookie.isCookieAllowed(name)) {
cookieTempStorage[name] = {value, days, skipSetDomain};
return;
}
return internalCookie.set(name, value, days, skipSetDomain);
}
hyva.getBrowserStorage = () => {
const browserStorage = window.localStorage || window.sessionStorage;
if (!browserStorage) {
console.warn('Browser Storage is unavailable');
return false;
}
try {
browserStorage.setItem('storage_test', 1);
browserStorage.removeItem('storage_test');
} catch (error) {
console.warn('Browser Storage is not accessible', error);
return false;
}
return browserStorage;
}
hyva.postForm = (postParams) => {
const form = document.createElement("form");
let data = postParams.data;
if (! postParams.skipUenc && ! data.uenc) {
data.uenc = btoa(window.location.href);
}
form.method = "POST";
form.action = postParams.action;
Object.keys(postParams.data).map(key => {
const field = document.createElement("input");
field.type = 'hidden'
field.value = postParams.data[key];
field.name = key;
form.appendChild(field);
});
const form_key = document.createElement("input");
form_key.type = 'hidden';
form_key.value = hyva.getFormKey();
form_key.name="form_key";
form.appendChild(form_key);
document.body.appendChild(form);
form.submit();
}
hyva.getFormKey = function () {
let formKey = hyva.getCookie('form_key');
if (!formKey) {
formKey = generateRandomString();
hyva.setCookie('form_key', formKey);
}
return formKey;
}
hyva.formatPrice = (value, showSign) => {
var formatter = new Intl.NumberFormat(
'en\u002DUS',
{
style: 'currency',
currency: 'ZAR',
signDisplay: showSign ? "always" : "auto"
}
);
return (typeof Intl.NumberFormat.prototype.formatToParts === 'function') ?
formatter.formatToParts(value).map(({type, value}) => {
switch (type) {
case 'currency':
return 'R' || value;
case 'minusSign':
return '- ';
case 'plusSign':
return '+ ';
default :
return value;
}
}).reduce((string, part) => string + part) :
formatter.format(value);
}
const formatStr = function (str, nStart) {
const args = Array.from(arguments).slice(2);
return str.replace(/(%+)([0-9]+)/g, (m, p, n) => {
const idx = parseInt(n) - nStart;
if (args[idx] === null || args[idx] === void 0) {
return m;
}
return p.length % 2
? p.slice(0, -1).replace('%%', '%') + args[idx]
: p.replace('%%', '%') + n;
})
}
hyva.str = function (string) {
const args = Array.from(arguments);
args.splice(1, 0, 1);
return formatStr.apply(undefined, args);
}
hyva.strf = function () {
const args = Array.from(arguments);
args.splice(1, 0, 0);
return formatStr.apply(undefined, args);
}
/**
* Take a html string as `content` parameter and
* extract an element from the DOM to replace in
* the current page under the same selector,
* defined by `targetSelector`
*/
hyva.replaceDomElement = (targetSelector, content) => {
// Parse the content and extract the DOM node using the `targetSelector`
const parser = new DOMParser();
const doc = parser.parseFromString(content, 'text/html');
const contentNode = doc.querySelector(targetSelector);
// Bail if content can't be found
if (!contentNode) {
return;
}
// Extract all the script tags from the new content.
// Script tags won't execute when inserted into a dom-element directly,
// therefore we need to inject them to the head of the document.
const tmpScripts = contentNode.getElementsByTagName('script');
if (tmpScripts.length > 0) {
// Push all script tags into an array
// (to prevent dom manipulation while iterating over dom nodes)
const scripts = [];
for (let i = 0; i < tmpScripts.length; i++) {
scripts.push(tmpScripts[i]);
}
// Iterate over all script tags and duplicate+inject each into the head
for (let i = 0; i < scripts.length; i++) {
let script = document.createElement('script');
script.innerHTML = scripts[i].innerHTML;
document.head.appendChild(script);
// Remove the original (non-executing) node from the page
scripts[i].parentNode.removeChild(scripts[i]);
}
}
// Replace the old DOM node with the new content
document.querySelector(targetSelector).replaceWith(contentNode);
// Reload customerSectionData and display cookie-messages if present
window.dispatchEvent(new CustomEvent("reload-customer-section-data"));
hyva.initMessages();
}
const replace = {['+']: '-', ['/']: '_', ['=']: ','};
hyva.getUenc = () => btoa(window.location.href).replace(/[+/=]/g, match => replace[match]);
let currentTrap;
const focusableElements = (rootElement) => {
const selector = 'button, [href], input, select, textarea, details';
return Array.from(rootElement.querySelectorAll(selector))
.filter(el => el.style.display !== 'none' && !el.disabled && el.tabIndex !== -1)
}
const focusTrap = (e) => {
const isTabPressed = e.key === 'Tab' || e.keyCode === 9;
if (!isTabPressed) return;
const focusable = focusableElements(currentTrap)
const firstFocusableElement = focusable[0]
const lastFocusableElement = focusable[focusable.length - 1]
e.shiftKey
? document.activeElement === firstFocusableElement && (lastFocusableElement.focus(), e.preventDefault())
: document.activeElement === lastFocusableElement && (firstFocusableElement.focus(), e.preventDefault())
};
hyva.releaseFocus = (rootElement) => {
if (currentTrap && (!rootElement || rootElement === currentTrap)) {
currentTrap.removeEventListener('keydown', focusTrap)
currentTrap = null
}
}
hyva.trapFocus = (rootElement) => {
if (!rootElement) return;
hyva.releaseFocus()
currentTrap = rootElement
rootElement.addEventListener('keydown', focusTrap)
const firstElement = focusableElements(rootElement)[0]
firstElement && firstElement.focus()
}
window.addEventListener('user-allowed-save-cookie', () => internalCookie.saveTempStorageCookies())
}( window.hyva = window.hyva || {} ));
</script>
<!-- BEGIN GOOGLE ANALYTICS 4 CODE -->
<script>
(function initGoogleGA(){
const config = {"isCookieRestrictionModeEnabled":false,"currentWebsite":1,"cookieName":"user_allowed_save_cookie","pageTrackingData":{"optPageUrl":"","measurementId":"G-WNH97R9F5R"},"ordersTrackingData":[],"googleAnalyticsAvailable":true};
const anonymize_ip = true;
let allowServices = false,
allowedCookies,
allowedWebsites,
measurementId;
if (typeof hyva === 'undefined' || (!hyva.getBrowserStorage || !hyva.getCookie || !hyva.setCookie)) {
console.warn("Hyvä helpers are not loaded yet. Make sure they are included before this script");
}
if (config.isCookieRestrictionModeEnabled && typeof hyva !== 'undefined') {
allowedCookies = hyva.getCookie(config.cookieName);
if (allowedCookies !== null) {
allowedWebsites = JSON.parse(unescape(allowedCookies));
if (allowedWebsites[config.currentWebsite] === 1) {
allowServices = true;
}
} else {
window.addEventListener('user-allowed-save-cookie', initGoogleGA, { once: true, passive: true });
}
} else {
allowServices = true;
}
if (allowServices) {
measurementId = config.pageTrackingData.measurementId;
if (!window.gtag) {
const gtagScript = document.createElement('script');
gtagScript.type = 'text/javascript';
gtagScript.async = true;
gtagScript.src = 'https://www.googletagmanager.com/gtag/js?id=' + measurementId;
document.head.insertBefore(gtagScript, document.head.children[0]);
window.dataLayer = window.dataLayer || [];
window.gtag = function(){dataLayer.push(arguments)};
gtag('js', new Date());
gtag('set', 'developer_id.dYjhlMD', true);
}
gtag('config', measurementId, { 'anonymize_ip': anonymize_ip });
// Purchase Event
if (config.ordersTrackingData.hasOwnProperty('currency')) {
let purchaseObject = config.ordersTrackingData.orders[0];
purchaseObject['items'] = config.ordersTrackingData.products;
gtag('event', 'purchase', purchaseObject);
}
}
}())
</script>
<!-- END GOOGLE ANALYTICS 4 CODE -->
<script>
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-PKTV3BDR');
</script>
</head>
Russell Hobbs SA | Buy Kettles, Toasters, Irons & More Online
Recherche META Description de la page
At the heart of homes, Russell Hobbs provides high quality and affordable home & kitchen appliances - from kettles to irons, toasters to cookware.
Recherche META Keywords de la page
UPDATE DOMAINES SET server='Apache',redirection='https://russellhobbs.co.za/',Status='200',err='',[TITRE]=N'Russell Hobbs SA | Buy Kettles, Toasters, Irons & More Online',[DESCRIPTION]=N'At the heart of homes, Russell Hobbs provides high quality and affordable home & kitchen appliances - from kettles to irons, toasters to cookware.',[KEYWORDS]=N'' WHERE id=36026482
0 Russell Hobbs SA | Buy Kettles Toasters Irons & More Online At the heart of homes Russell Hobbs provides high quality and affordable home & kitchen appliances - from kettles to irons toasters to cookware.
0. Russell (7)--------->0
1. Hobbs (5)--------->0
2. SA (2)--------->0
3. | (1)--------->0
4. Buy (3)--------->0
5. Kettles (7)--------->0
7. Toasters (8)--------->0
9. Irons (5)--------->0
10. & (5)--------->0
11. More (4)--------->0
12. Online (6)--------->0
13. At (2)--------->0
14. the (3)--------->0
15. heart (5)--------->0
16. of (2)--------->0
17. homes (5)--------->0
21. provides (8)--------->0
22. high (4)--------->0
23. quality (7)--------->0
24. and (3)--------->0
25. affordable (10)--------->0
26. home (4)--------->0
28. kitchen (7)--------->0
29. appliances (10)--------->0
30. - (1)--------->0
31. from (4)--------->0
33. to (2)--------->0
38. cookware (8)--------->0
INSERT INTO KEYWORDS (keyword,id_domaine) VALUES (N'Russell',36026482),(N'Hobbs',36026482),(N'SA',36026482),(N'|',36026482),(N'Buy',36026482),(N'Kettles',36026482),(N'Toasters',36026482),(N'Irons',36026482),(N'&',36026482),(N'More',36026482),(N'Online',36026482),(N'At',36026482),(N'the',36026482),(N'heart',36026482),(N'of',36026482),(N'homes',36026482),(N'provides',36026482),(N'high',36026482),(N'quality',36026482),(N'and',36026482),(N'affordable',36026482),(N'home',36026482),(N'kitchen',36026482),(N'appliances',36026482),(N'-',36026482),(N'from',36026482),(N'to',36026482),(N'cookware',36026482)