<?php /** * Kadence Child Theme Functions * Theme: MIRAMETAL */ /* ============================================ 1. 子主题样式入队 ============================================ */ add_action('wp_enqueue_scripts', 'kadence_child_enqueue_styles', 20); function kadence_child_enqueue_styles() { wp_enqueue_style('kadence-parent-style', get_template_directory_uri() . '/style.css'); wp_enqueue_style('kadence-child-style', get_stylesheet_uri(), array('kadence-parent-style'), '1.0.0'); } /* ============================================ 2. 布局修复:全宽产品列表 + 隐藏侧边栏 ============================================ */ add_action('wp_head', 'mirametal_fix', 999); function mirametal_fix() { ?> <style> html, body { background: #fff !important; } .woocommerce-shop .site-container, .tax-product_cat .site-container, .archive.woocommerce .site-container, .woocommerce-page .site-container, .woocommerce .site-container, #page .site-container, .site-container, .content-container, .container { width: 100% !important; max-width: 100% !important; padding-left: 20px !important; padding-right: 20px !important; box-sizing: border-box !important; } #primary.content-area, .woocommerce #primary, .archive #primary { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; } #secondary, .sidebar, .widget-area { display: none !important; } .woocommerce ul.products, .woocommerce-page ul.products, ul.products { width: 100% !important; display: grid !important; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important; gap: 20px !important; list-style: none !important; padding: 0 !important; } ul.products li.product { width: 100% !important; padding: 10px !important; float: none !important; } ul.products li.product img { width: 100% !important; aspect-ratio: 1/1 !important; object-fit: cover !important; } ul.products li.product .woocommerce-loop-product__title { font-size: 15px !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; } ul.products li.product .price { font-size: 16px !important; font-weight: 600 !important; } ul.products li.product .button { width: 100% !important; text-align: center !important; } @media only screen and (max-width: 767px) { .woocommerce ul.products, .woocommerce-page ul.products, ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; padding-left: 6px !important; padding-right: 6px !important; } ul.products li.product { padding: 6px !important; } .site-container, .content-container, .container { padding-left: 8px !important; padding-right: 8px !important; } } </style> <?php } /* ============================================ 3. Canonical 与 Hreflang 修复 ============================================ */ /** * 产品页:保留 ?lang= 参数的 Canonical * 非产品页:移除 ?lang= 参数(避免重复内容) */ add_filter('rank_math/frontend/canonical', function($canonical) { // 2026-09-07: 英文单语站,canonical 统一不带 ?lang 参数 return remove_query_arg('lang', $canonical); }, 999); /** * 2026-09-07 停用(英文单语站): * 原 fix_mira_multilingual_seo 为产品页输出带 ?lang= 的 canonical 与 fr/de/es/it/pt hreflang, * 与 robots.txt 的 ?lang 屏蔽冲突 → GSC Blocked by robots.txt 噪音 + 多 canonical 错误。 * 若未来启用真实多语言(目录式 URL + 真实翻译),按正规方案重建。 */ /* ============================================ 4. Rank Math BreadcrumbList 修复 ============================================ */ add_filter('rank_math/schema/breadcrumb', function($data) { if (empty($data['itemListElement']) || !is_array($data['itemListElement'])) { return $data; } foreach ($data['itemListElement'] as $key => &$item) { if (isset($item['item']) && is_string($item['item'])) { $url = $item['item']; $name = 'Home'; $path = parse_url($url, PHP_URL_PATH); if (!empty($path) && $path !== '/') { $path = trim($path, '/'); $segments = explode('/', $path); $last = end($segments); $name = ucwords(str_replace(['-', '_'], ' ', $last)); } $item['item'] = [ '@id' => $url, 'name' => $name ]; } elseif (isset($item['item']) && is_array($item['item']) && empty($item['item']['name'])) { $item['item']['name'] = 'Page'; } if (empty($item['name'])) { if (is_array($item['item']) && !empty($item['item']['name'])) { $item['name'] = $item['item']['name']; } else { $item['name'] = 'Page'; } } } return $data; }, 999); /* ============================================ 5. 前端表单(询盘 + 订阅)AJAX ============================================ */ add_action('wp_head', 'mirametal_form_assets', 100); function mirametal_form_assets() { $ajax_url = admin_url('admin-ajax.php'); $nonce = wp_create_nonce('mirametal_form_nonce'); echo '<script> window.MIRAMETAL_AJAX = {url: "' . esc_js($ajax_url) . '", nonce: "' . esc_js($nonce) . '"}; document.addEventListener("DOMContentLoaded", function(){ var md = document.getElementById("mm-md"); function openM() { if (md) { md.style.display = "flex"; document.body.style.overflow = "hidden"; } } function closeM() { if (md) { md.style.display = "none"; document.body.style.overflow = ""; } } var ob = document.getElementById("mm-open"); if (ob) ob.addEventListener("click", openM); var cb = document.getElementById("mm-close"); if (cb) cb.addEventListener("click", closeM); if (md) md.addEventListener("click", function(e){ if (e.target === md) closeM(); }); document.addEventListener("keydown", function(e){ if (e.key === "Escape") closeM(); }); function doSubmit(form, statusEl, type) { var btn = form.querySelector("button[type=submit]"); var fd = new FormData(form); fd.append("action", "mirametal_form"); fd.append("type", type); if (window.MIRAMETAL_AJAX) fd.append("nonce", window.MIRAMETAL_AJAX.nonce); var url = (window.MIRAMETAL_AJAX && window.MIRAMETAL_AJAX.url) || "/wp-admin/admin-ajax.php"; btn.disabled = true; var old = btn.textContent; btn.textContent = "Sending…"; fetch(url, {method:"POST", body:fd, credentials:"same-origin"}) .then(function(r){ return r.json(); }) .then(function(res){ if (res && res.success) { statusEl.textContent = (type === "trade") ? "Thank you! We will reach out within 24 hours." : "Thank you for subscribing!"; statusEl.style.color = "#7fd17f"; form.reset(); } else { statusEl.textContent = (res && res.data && res.data.message) || "Something went wrong. Please email mirametal@lhpv88.shop"; statusEl.style.color = "#e08b8b"; } }) .catch(function(){ statusEl.textContent = "Network error. Please email mirametal@lhpv88.shop"; statusEl.style.color = "#e08b8b"; }) .finally(function(){ btn.disabled = false; btn.textContent = old; }); } var f = document.getElementById("mm-form"), st = document.getElementById("mm-status"); var s = document.getElementById("mm-subscribe"), ss = document.getElementById("mm-sub-status"); if (f && st) f.addEventListener("submit", function(e){ e.preventDefault(); doSubmit(f, st, "trade"); }); if (s && ss) s.addEventListener("submit", function(e){ e.preventDefault(); doSubmit(s, ss, "subscribe"); }); }); </script>' . "\n"; } add_action('wp_ajax_mirametal_form', 'mirametal_form_handler'); add_action('wp_ajax_nopriv_mirametal_form', 'mirametal_form_handler'); function mirametal_form_handler() { check_ajax_referer('mirametal_form_nonce', 'nonce'); $type = isset($_POST['type']) ? sanitize_text_field(wp_unslash($_POST['type'])) : 'trade'; if ($type === 'subscribe') { $email = isset($_POST['email']) ? sanitize_email(wp_unslash($_POST['email'])) : ''; if (empty($email) || !is_email($email)) { wp_send_json_error(array('message' => 'Please enter a valid email address.')); } $subject = 'New MIRAMETAL Newsletter Subscriber'; $body = "Email: {$email}\n\n-- MIRAMETAL Website"; $headers = array('Content-Type: text/plain; charset=UTF-8'); $sent = wp_mail('mirametal@lhpv88.shop', $subject, $body, $headers); if ($sent) { wp_send_json_success(); } else { wp_send_json_error(array('message' => 'Subscription failed. Please email mirametal@lhpv88.shop.')); } return; } $name = isset($_POST['name']) ? sanitize_text_field(wp_unslash($_POST['name'])) : ''; $email = isset($_POST['email']) ? sanitize_email(wp_unslash($_POST['email'])) : ''; $country = isset($_POST['country']) ? sanitize_text_field(wp_unslash($_POST['country'])) : ''; $interest = isset($_POST['interest']) ? sanitize_text_field(wp_unslash($_POST['interest'])) : ''; $message = isset($_POST['message']) ? sanitize_textarea_field(wp_unslash($_POST['message'])) : ''; if (empty($name) || empty($email) || !is_email($email)) { wp_send_json_error(array('message' => 'Please fill in your name and a valid email.')); } $subject = 'New Trade Inquiry from ' . $name; $body = "Name: {$name}\nEmail: {$email}\nCountry/Region: {$country}\nInterested in: {$interest}\n\nMessage:\n{$message}\n\n-- MIRAMETAL Website"; $headers = array( 'Reply-To: ' . $name . ' <' . $email . '>', 'Content-Type: text/plain; charset=UTF-8', ); $sent = wp_mail('mirametal@lhpv88.shop', $subject, $body, $headers); if ($sent) { wp_send_json_success(array('message' => 'Thank you!')); } else { wp_send_json_error(array('message' => 'Submission failed. Please email mirametal@lhpv88.shop.')); } } /* ============================================ 6. Elementor 产品价格 HTML 转义修复 ============================================ */ add_action('wp_footer', 'mirametal_fix_product_price_box_html', 20); function mirametal_fix_product_price_box_html() { if (!function_exists('is_product') || !is_product()) return; ?> <script> (function(){ function mirametalRestorePriceBox(){ var pb = document.getElementById("productPriceBox"); if (!pb || !window._mirametalDefaultPriceHtml) return; var cur = pb.innerHTML || ""; if (cur.indexOf("<del") !== -1 || cur.indexOf("<ins") !== -1) { pb.innerHTML = window._mirametalDefaultPriceHtml; } } function mirametalBind(){ if (!window.jQuery) { setTimeout(mirametalBind, 50); return; } var jq = window.jQuery; var pb = document.getElementById("productPriceBox"); if (pb) window._mirametalDefaultPriceHtml = pb.innerHTML; jq("form.variations_form").on("reset_image.mirametal_fix", function(){ setTimeout(mirametalRestorePriceBox, 0); }); jq("form.variations_form").on("found_variation.mirametal_fix", function(event, variation){ if (variation && variation.price_html) { window._mirametalDefaultPriceHtml = variation.price_html; } }); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", mirametalBind); } else { mirametalBind(); } })(); </script> <?php } /* ============================================ 7. 强制 WooCommerce 前台英文 ============================================ */ add_filter('locale', 'force_woocommerce_english_frontend', 999); function force_woocommerce_english_frontend($locale) { if (!is_admin() || (defined('DOING_AJAX') && DOING_AJAX)) { return 'en_US'; } return $locale; } add_filter('gettext', 'force_translate_shop_chinese', 999, 3); add_filter('ngettext', 'force_translate_shop_chinese', 999, 3); function force_translate_shop_chinese($translated, $text, $domain) { if (is_admin() && !(defined('DOING_AJAX') && DOING_AJAX)) { return $translated; } $replace = array( '促销中' => 'On Sale', '加入购物车' => 'Add to Cart', '选择选项' => 'Select Options', '添加到购物车' => 'Add to Cart', '查看详情' => 'View Details', '快速查看' => 'Quick View', '比较' => 'Compare', ' wishlist' => 'Wishlist', '收藏' => 'Wishlist', '推荐' => 'Recommend', '默认排序' => 'Default sorting', '按热门程度排序' => 'Sort by popularity', '按评分排序' => 'Sort by average rating', '按最新排序' => 'Sort by latest', '按价格排序:从低到高' => 'Sort by price: low to high', '按价格排序:从高到低' => 'Sort by price: high to low', '显示' => 'Showing', '个结果' => 'results', '显示 1–' => 'Showing 1–', '共' => 'of', '原价' => 'Regular price', '售价' => 'Sale price', '不含税' => 'excl. tax', '含税' => 'incl. tax', '开启安全模式' => 'Safe Mode Enabled', '禁用安全模式' => 'Disable Safe Mode', '已成功加载编辑器?' => 'Editor loaded successfully?', '该问题很可能由您的某个插件或主题引起' => 'This issue is likely caused by a plugin or theme', '单击此处进行故障排除' => 'Click here for troubleshooting', '仍然遇到问题?' => 'Still having issues?', '上一页' => 'Previous', '下一页' => 'Next', '首页' => 'Home', '商店' => 'Shop', '产品' => 'Products', ); if (isset($replace[$translated])) { return $replace[$translated]; } return $translated; } /* ── 7b. 评分评论中文→英文 强制翻译 ──────────── */ add_filter('gettext', 'force_translate_rating_chinese', 9999, 3); add_filter('ngettext', 'force_translate_rating_chinese', 9999, 3); function force_translate_rating_chinese($translated, $text, $domain) { if (is_admin() && !(defined('DOING_AJAX') && DOING_AJAX)) { return $translated; } $replace = array( // 基础评分词汇 '评分' => 'Rating', '评价' => 'Reviews', '评论' => 'Reviews', '评论 (' => 'Reviews (', '条评价' => ' reviews', '条评论' => ' reviews', '条用户评价' => ' customer reviews', '用户评价' => 'Customer Reviews', '买家评价' => 'Customer Reviews', '客户评价' => 'Customer Reviews', '产品评价' => 'Product Reviews', '商品评价' => 'Product Reviews', // 评分等级 '好评' => 'Positive', '中评' => 'Neutral', '差评' => 'Negative', '好评率' => 'Positive Rate', '暂无评论' => 'No reviews yet', '暂无评价' => 'No reviews yet', '还没有评论' => 'No reviews yet', '还没有评价' => 'No reviews yet', '还没有评价,来做第一个评价的人吧!' => 'There are no reviews yet.', // 星级 '星级' => 'Star', '一星' => '1 Star', '二星' => '2 Stars', '三星' => '3 Stars', '四星' => '4 Stars', '五星' => '5 Stars', // 评价表单 '您的评分' => 'Your Rating', '您的评价' => 'Your Review', '写下你的评价' => 'Write your review', '添加评价' => 'Add Review', '添加评论' => 'Add Review', '提交评价' => 'Submit Review', '提交评论' => 'Submit Review', '发表评论' => 'Post Review', '发表评价' => 'Post Review', '标题' => 'Title', '内容' => 'Content', '评价内容' => 'Review Content', '评论内容' => 'Review Content', // 排序 '按评分排序' => 'Sort by average rating', '按评价排序' => 'Sort by reviews', // 相关 '的相关评价' => ' reviews', '的相关评论' => ' reviews', '基于' => 'Based on', ); if (isset($replace[$translated])) { return $replace[$translated]; } return $translated; } add_action('wp_footer', 'force_js_translate_chinese', 999); function force_js_translate_chinese() { if (is_admin()) return; ?> <script> (function() { var dict = { // 原有翻译 '促销中': 'On Sale', '加入购物车': 'Add to Cart', '选择选项': 'Select Options', '开启安全模式': 'Safe Mode Enabled', '禁用安全模式': 'Disable Safe Mode', '已成功加载编辑器': 'Editor Loaded Successfully', '该问题很可能由您的某个插件或主题引起': 'This issue is likely caused by a plugin or theme', '单击此处进行故障排除': 'Click here for troubleshooting', '仍然遇到问题?': 'Still having issues?', '推荐': 'Recommend', '显示': 'Showing', '个结果': 'results', '首页': 'Home', '商店': 'Shop', // 评分评论翻译 '评分': 'Rating', '评价': 'Reviews', '评论': 'Reviews', '条评价': ' reviews', '条评论': ' reviews', '暂无评论': 'No reviews yet', '暂无评价': 'No reviews yet', '还没有评论': 'No reviews yet', '还没有评价': 'No reviews yet', '买家评价': 'Customer Reviews', '客户评价': 'Customer Reviews', '产品评价': 'Product Reviews', '好评': 'Positive', '中评': 'Neutral', '差评': 'Negative', '好评率': 'Positive Rate', '您的评分': 'Your Rating', '您的评价': 'Your Review', '添加评价': 'Add Review', '添加评论': 'Add Review', '提交评价': 'Submit Review', '提交评论': 'Submit Review', '写下你的评价': 'Write your review', '基于': 'Based on', '五星': '5 Stars', '四星': '4 Stars', '三星': '3 Stars', '二星': '2 Stars', '一星': '1 Star', '来做第一个评价的人吧': 'Be the first to review' }; function replaceText(node) { if (node.nodeType === 3) { var text = node.nodeValue; for (var cn in dict) { if (text.indexOf(cn) !== -1) { node.nodeValue = text.split(cn).join(dict[cn]); } } } else { for (var i = 0; i < node.childNodes.length; i++) { replaceText(node.childNodes[i]); } } } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', function() { replaceText(document.body); }); } else { replaceText(document.body); } var observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { mutation.addedNodes.forEach(function(node) { if (node.nodeType === 1) replaceText(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); </script> <?php } add_action('init', 'clear_wc_translation_cache'); function clear_wc_translation_cache() { if (!is_admin()) { wp_dequeue_script('wc-cart-fragments'); wp_enqueue_script('wc-cart-fragments'); } } /* ============================================ 8. 导航菜单链接修改 ============================================ */ add_action('wp_footer', function() { }); /* ============================================ 9. Noindex 控制 ============================================ */ add_action('wp_head', 'mira_fix_index_bloat', 1); function mira_fix_index_bloat() { if (isset($_GET['lang']) && !empty($_GET['lang'])) { $u = home_url($_SERVER['REQUEST_URI']); $b = remove_query_arg('lang', $u); echo '<meta name="robots" content="noindex, follow"/>' . "\n"; echo '<link rel="canonical" href="' . esc_url($b) . '"/>' . "\n"; return; } if (function_exists('is_paged') && is_paged()) { echo '<meta name="robots" content="noindex, follow"/>' . "\n"; return; } if (isset($_GET['orderby']) || isset($_GET['min_price']) || isset($_GET['max_price'])) { echo '<meta name="robots" content="noindex, follow"/>' . "\n"; return; } if (function_exists('is_search') && is_search()) { echo '<meta name="robots" content="noindex, follow"/>' . "\n"; return; } } /* ============================================ 10. SEO 综合修复(2026-08-27) ============================================ */ // 10.1 HTTP 强制跳转 HTTPS add_action('template_redirect', function() { if (!is_ssl() && !is_admin() && !wp_doing_ajax()) { wp_redirect('https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], 301); exit; } }, 1); // 10.2 备用 Canonical(Rank Math 未启用时) add_action('wp_head', function() { if (class_exists('RankMath')) return; if (is_singular()) { global $post; $canonical = get_permalink($post->ID); echo '<link rel="canonical" href="' . esc_url($canonical) . '" />' . "\n"; } elseif (is_category() || is_tag() || is_tax()) { $term = get_queried_object(); $term_link = get_term_link($term); if (!is_wp_error($term_link)) { echo '<link rel="canonical" href="' . esc_url($term_link) . '" />' . "\n"; } } elseif (is_post_type_archive()) { $post_type = get_query_var('post_type'); $archive_link = get_post_type_archive_link($post_type); if ($archive_link) { echo '<link rel="canonical" href="' . esc_url($archive_link) . '" />' . "\n"; } } elseif (is_home() || is_front_page()) { echo '<link rel="canonical" href="https://mirametaljewelry.com/" />' . "\n"; } }, 1); // 10.3 补充 Product Schema add_filter('rank_math/json_ld', function($data) { if (function_exists('is_product') && is_product() && (!isset($data['Product']) || empty($data['Product']))) { $product = wc_get_product(get_the_ID()); if ($product) { $data['Product'] = [ '@type' => 'Product', 'name' => $product->get_name(), 'url' => get_permalink($product->get_id()), 'description' => wp_strip_all_tags($product->get_short_description()), 'sku' => $product->get_sku(), 'offers' => [ '@type' => 'Offer', 'price' => $product->get_price(), 'priceCurrency' => get_woocommerce_currency(), 'availability' => $product->is_in_stock() ? 'https://schema.org/InStock' : 'https://schema.org/OutOfStock', ] ]; } } return $data; }, 999); // Sync the custom header cart badge with the Store API without editing Elementor. add_action('wp_footer', function() { if (is_admin()) return; ?> <script> jQuery(function($) { function mirametalSyncCartBadge() { var badge = document.querySelector('.cart-badge'); if (!badge) return; fetch('/wp-json/wc/store/v1/cart', { credentials: 'same-origin' }) .then(function(response) { return response.ok ? response.json() : null; }) .then(function(cart) { if (cart && typeof cart.items_count !== 'undefined') { badge.textContent = String(cart.items_count); } }) .catch(function() {}); } mirametalSyncCartBadge(); $(document.body).on('wc_fragments_refreshed added_to_cart wc_fragments_loaded', mirametalSyncCartBadge); }); </script> <?php }, 99); // Keep the New Arrivals raw HTML widget intact; wpautop breaks its markup. add_filter('the_content', function($content) { if (is_page(8379)) { remove_filter('the_content', 'wpautop'); } return $content; }, -100); // 10.4 OpenGraph 与 Twitter Card add_action('wp_head', function() { if (!is_singular()) return; if (defined('RANK_MATH_VERSION') || class_exists('RankMath')) return; global $post; $title = get_the_title($post->ID); $description = wp_strip_all_tags(get_the_excerpt($post->ID)); $url = get_permalink($post->ID); $image = get_the_post_thumbnail_url($post->ID, 'full'); echo '<meta property="og:type" content="article" />' . "\n"; echo '<meta property="og:title" content="' . esc_attr($title) . '" />' . "\n"; echo '<meta property="og:description" content="' . esc_attr($description) . '" />' . "\n"; echo '<meta property="og:url" content="' . esc_url($url) . '" />' . "\n"; if ($image) { echo '<meta property="og:image" content="' . esc_url($image) . '" />' . "\n"; } echo '<meta name="twitter:card" content="summary_large_image" />' . "\n"; echo '<meta name="twitter:title" content="' . esc_attr($title) . '" />' . "\n"; echo '<meta name="twitter:description" content="' . esc_attr($description) . '" />' . "\n"; if ($image) { echo '<meta name="twitter:image" content="' . esc_url($image) . '" />' . "\n"; } }, 1); // 10.5 robots.txt 站点地图声明 add_filter('robots_txt', function($output) { $output .= "Sitemap: https://mirametaljewelry.com/sitemap.xml\n"; return $output; }); /* ============================================ MIRAMETAL 301 重定向 - 重复内容修复 生成: 2026-09-22 by Codex ============================================ */ add_action('template_redirect', 'mirametal_301_redirects'); function mirametal_301_redirects() { if (is_admin()) return; \ = array( '/moissanite-vs-diamond-wholesale/' => '/moissanite-vs-diamond/', '/moissanite-vs-diamonds-wholesale/' => '/moissanite-vs-diamond/', '/how-to-tell-sterling-silver/' => '/how-to-tell-sterling-silver-real/', '/sterling-silver-vs-plated-silver/' => '/sterling-silver-vs-silver-plated/', '/sterling-silver-vs-silver-plating/' => '/sterling-silver-vs-silver-plated/', '/silver-star-ring-meaning-buying-guide/' => '/silver-star-ring-meaning/', '/symbolic-sterling-silver-jewelry-wholesale-guide/' => '/925-sterling-silver-jewelry-wholesale-guide-2026/', '/silver-jewelry-wholesale-guide/' => '/925-sterling-silver-jewelry-wholesale-guide-2026/', '/the-complete-guide-to-925-sterling-silver-jewelry-in-2026-trends-quality-manufacturing-and-buying-tips/' => '/925-sterling-silver-jewelry-wholesale-guide-2026/', ); \ = rtrim(parse_url(\['REQUEST_URI'], PHP_URL_PATH), '/') . '/'; if (isset(\[\]) && !is_404()) { wp_redirect(home_url(\[\]), 301); exit; } } https://mirametaljewelry.com/post-sitemap.xml 2026-09-22T01:15:09+00:00 https://mirametaljewelry.com/page-sitemap.xml 2026-09-21T12:11:53+00:00 https://mirametaljewelry.com/product-sitemap1.xml 2026-09-22T02:09:26+00:00 https://mirametaljewelry.com/product-sitemap2.xml 2026-09-22T00:51:46+00:00 https://mirametaljewelry.com/category-sitemap.xml 2026-09-22T01:15:09+00:00 https://mirametaljewelry.com/product_cat-sitemap.xml 2026-09-22T02:09:26+00:00