<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<url>
		<loc>https://www.yhljcontainerhouse.com/yihong-container-house-factory-facts/</loc>
		<lastmod>2026-07-01</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.65</priority>
	</url>
	<url>
		<loc>https://www.yhljcontainerhouse.com/container-house-types/</loc>
		<lastmod>2026-07-01</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.65</priority>
	</url>
	<url>
		<loc>https://www.yhljcontainerhouse.com/container-house-cost/</loc>
		<lastmod>2026-07-01</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.65</priority>
	</url>
	<url>
		<loc>https://www.yhljcontainerhouse.com/how-to-import-container-houses-from-china/</loc>
		<lastmod>2026-07-01</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.65</priority>
	</url>
	<url>
		<loc>https://www.yhljcontainerhouse.com/ce-iso-container-house-certifications/</loc>
		<lastmod>2026-07-01</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.65</priority>
	</url>
	<url>
		<loc>https://www.yhljcontainerhouse.com/container-house-wind-load-snow-load/</loc>
		<lastmod>2026-07-01</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.65</priority>
	</url>
	<url>
		<loc>https://www.yhljcontainerhouse.com/container-house-fireproof-wall-panel/</loc>
		<lastmod>2026-07-01</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.65</priority>
	</url>
	<url>
		<loc>https://www.yhljcontainerhouse.com/20ft-vs-40ft-expandable-container-house/</loc>
		<lastmod>2026-07-01</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.65</priority>
	</url>
	<url>
		<loc>https://www.yhljcontainerhouse.com/foldable-vs-detachable-container-house/</loc>
		<lastmod>2026-07-01</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.65</priority>
	</url>
	<url>
		<loc>https://www.yhljcontainerhouse.com/apple-cabin-vs-space-capsule-house/</loc>
		<lastmod>2026-07-01</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.65</priority>
	</url>
	<url>
		<loc>https://www.yhljcontainerhouse.com/expandable-container-house-installation-guide/</loc>
		<lastmod>2026-07-01</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.65</priority>
	</url>
	<url>
		<loc>https://www.yhljcontainerhouse.com/how-many-container-houses-fit-in-40hq/</loc>
		<lastmod>2026-07-01</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.65</priority>
	</url>
	<url>
		<loc>https://www.yhljcontainerhouse.com/container-house-insulation-options/</loc>
		<lastmod>2026-07-01</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.65</priority>
	</url>
	<url>
		<loc>https://www.yhljcontainerhouse.com/es/container-house-types/</loc>
		<lastmod>2026-07-01</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.62</priority>
	</url>
	<url>
		<loc>https://www.yhljcontainerhouse.com/fr/container-house-types/</loc>
		<lastmod>2026-07-01</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.62</priority>
	</url>
	<url>
		<loc>https://www.yhljcontainerhouse.com/ru/container-house-types/</loc>
		<lastmod>2026-07-01</lastmod>
		<changefreq>monthly</changefreq>
		<priority>0.62</priority>
	</url>
</urlset><script id="yhlj-ads-conversion-events-js">
(function(){
  if(document.documentElement.getAttribute('data-yhlj-ads-events-bound') === '1') return;
  document.documentElement.setAttribute('data-yhlj-ads-events-bound','1');
  function clean(text){ return (text || '').replace(/\s+/g,' ').trim().slice(0,120); }
  function productName(){ var h1=document.querySelector('h1'); return h1 ? clean(h1.innerText) : ''; }
  function phoneInputs(root){
    var scope = root || document;
    var fields = Array.prototype.slice.call(scope.querySelectorAll('input[name="form_fields[whatsapp_number]"],#form-field-whatsapp_number,input[type="tel"]'));
    return fields.filter(function(input){
      var label = '';
      var group = input.closest ? input.closest('.elementor-field-group') : null;
      if(group) label = group.innerText || '';
      label += ' ' + (input.getAttribute('placeholder') || '') + ' ' + (input.getAttribute('aria-label') || '') + ' ' + (input.name || '');
      return /phone|whatsapp|tel/i.test(label);
    });
  }
  function normalizePhoneValue(value){
    if(!value) return value;
    var trimmed = String(value).trim();
    if(!trimmed) return trimmed;
    return trimmed.replace(/^\+/, '').replace(/[()\s.]/g, '').replace(/[^\d#*\-]/g, '');
  }
  function normalizeFormPhoneFields(form){
    phoneInputs(form || document).forEach(function(input){
      var before = input.value || '';
      var after = normalizePhoneValue(before);
      if(after && after !== before){
        input.value = after;
        input.setAttribute('data-yhlj-phone-normalized','1');
        input.dispatchEvent(new Event('input', {bubbles:true}));
        input.dispatchEvent(new Event('change', {bubbles:true}));
      }
    });
  }
  function bindPhoneFieldNormalizer(){
    phoneInputs(document).forEach(function(input){
      var group = input.closest ? input.closest('.elementor-field-group') : null;
      if(group && !group.querySelector('.yhlj-phone-format-hint')){
        var hint = document.createElement('div');
        hint.className = 'yhlj-phone-format-hint';
        hint.textContent = 'Use country code digits only, e.g. 8613520983040.';
        hint.setAttribute('style','margin:6px 0 0;color:#64748b;font-size:12px;font-weight:700;line-height:1.35');
        group.appendChild(hint);
      }
    });
    if(document.documentElement.getAttribute('data-yhlj-phone-normalizer-bound') === '1') return;
    document.documentElement.setAttribute('data-yhlj-phone-normalizer-bound','1');
    document.addEventListener('blur', function(e){
      var input = e.target;
      if(!input || !input.matches || phoneInputs(document).indexOf(input) === -1) return;
      normalizeFormPhoneFields(input.form || document);
    }, true);
  }
  function pushEvent(type, label, href, detail){
    var payload = {
      event: type,
      yhlj_event: type,
      yhlj_action: type,
      yhlj_label: label || '',
      yhlj_href: href || '',
      yhlj_page: location.pathname,
      yhlj_product: productName(),
      yhlj_source: 'quick_wins_ads_events'
    };
    if(detail){ Object.keys(detail).forEach(function(key){ payload[key] = detail[key]; }); }
    window.dataLayer = window.dataLayer || [];
    window.dataLayer.push(payload);
    if(typeof window.gtag === 'function'){
      window.gtag('event', type, {
        event_category: 'YHLJ Lead',
        event_label: label || type,
        page_path: location.pathname,
        transport_type: 'beacon'
      });
    }
  }
  document.addEventListener('click', function(e){
    var a = e.target && e.target.closest ? e.target.closest('a[href]') : null;
    if(!a) return;
    var href = a.href || '';
    var type = href.indexOf('wa.me/') !== -1 ? 'whatsapp_click' : (/\/contact(?:-us)?\//.test(href) ? 'quote_click' : '');
    if(!type) return;
    pushEvent(type, clean(a.textContent) || type, href, { yhlj_cta_location: a.getAttribute('data-yhlj-promo') || a.getAttribute('data-yhq-cta') || '' });
  }, true);
  document.addEventListener('submit', function(e){
    var form = e.target;
    if(!form || !form.tagName || form.tagName.toLowerCase() !== 'form') return;
    normalizeFormPhoneFields(form);
    pushEvent('form_submit_intent', clean(form.innerText) || 'contact_form_submit_attempt', form.action || location.href, { yhlj_form_id: form.id || '', yhlj_form_name: form.getAttribute('name') || '' });
  }, true);
  function bindJquerySuccess(){
    if(!window.jQuery || !window.jQuery(document).on || document.documentElement.getAttribute('data-yhlj-jq-success-bound') === '1') return;
    document.documentElement.setAttribute('data-yhlj-jq-success-bound','1');
    window.jQuery(document).on('submit_success', function(event){
      var target = event && event.target ? event.target : document;
      pushEvent('form_submit', clean(target.innerText) || 'elementor_form_submit_success', location.href, { yhlj_form_success: '1' });
    });
  }
  bindPhoneFieldNormalizer();
  bindJquerySuccess();
  setTimeout(bindJquerySuccess, 1200);
  setTimeout(bindPhoneFieldNormalizer, 1200);
})();
</script>