WordPress: استبدال روابط mailto في كل الموقع خلال دقائق

دليل كامل للعثور على روابط mailto واستبدالها في موقع WordPress.

لماذا نستبدل روابط mailto في WordPress

المشاكل الشائعة

روابط mailto في WordPress:

  • تعرّض البريد لعناكب الخدش
  • معطلة في بريد iPhone (iOS 26.1)
  • تجربة جوال سيئة
  • لا حماية من البريد العشوائي
  • لا تتبع ولا تحليلات

المواقع الشائعة:

  • قوالب السمة (الرأس، التذييل)
  • عناصر القوائم
  • مناطق الويدجت
  • محتوى الصفحات/المقالات
  • كتل HTML مخصصة
  • توقيعات البريد في السير الذاتية

أين تختبئ روابط mailto في WordPress

مواقع السمة

1. الرأس

  • header.php
  • قوائم التنقل
  • معلومات الاتصال في الشريط العلوي

2. التذييل

  • footer.php
  • ويدجتات التذييل
  • منطقة حقوق النشر/الاتصال

3. الشريط الجانبي

  • sidebar.php
  • مناطق الويدجت
  • ويدجتات الاتصال

4. قوالب الصفحات

  • page.php, single.php
  • قالب صفحة الاتصال
  • قوالب مخصصة

مواقع المحتوى

1. قوائم التنقل

  • المظهر → Menus
  • القائمة الرئيسية
  • قائمة التذييل
  • قائمة الجوال

2. الويدجتات

  • المظهر → Widgets
  • ويدجتات النص
  • ويدجتات HTML
  • ويدجتات مخصصة

3. الصفحات والمقالات

  • صفحة الاتصال
  • صفحة من نحن
  • مقالات المدونة
  • السير الذاتية للمؤلفين

4. الحقول المخصصة

  • حقول ACF
  • صناديق Meta
  • حقول الاتصال المخصصة

نهجا الاستبدال

النهج 1: الاستبدال اليدوي (موصى به أولاً)

الأفضل لـ:

  • مواقع صغيرة (أقل من 50 صفحة)
  • الرغبة بالتحكم بكل استبدال
  • تنظيف لمرة واحدة

الخطوات أدناه.

النهج 2: الاستبدال التلقائي بـ JavaScript (موصى به للمواقع الكبيرة)

الأفضل لـ:

  • مواقع كبيرة (مئات الصفحات)
  • حماية مستمرة
  • حلّ ثبّت وانسَ

انظر مقتطف JavaScript أدناه.

خطوات الاستبدال اليدوي

الخطوة 1: إنشاء النموذج (5 دقائق)

  1. سجّل في SupportRetriever
  2. أكمل الإعداد
  3. أعد نموذج الاتصال
  4. احصل على رابط النموذج: https://supportretriever.com/form/your-form-id
  5. أبقِه جاهزاً للاستبدالات

الخطوة 2: البحث عن روابط mailto (10 دقائق)

البحث في قاعدة البيانات

باستخدام إضافة Search & Replace:

  1. ثبّت إضافة "Better Search Replace" (مجانية)
  2. انتقل إلى Tools → Better Search Replace
  3. ابحث عن: mailto:
  4. حدد كل الجداول
  5. لا تستبدل بعد — ابحث فقط لترى ما لديك
  6. راجع النتائج

البحث في ملفات السمة

  1. انتقل إلى المظهر → محرر السمة
  2. ابحث عن mailto: في:
    • header.php
    • footer.php
    • functions.php
    • ملفات القوالب

فحص القوائم

  1. انتقل إلى المظهر → Menus
  2. تحقق من كل عنصر قائمة
  3. ابحث عن "Custom Links" بعناوين mailto

فحص الويدجتات

  1. انتقل إلى المظهر → Widgets
  2. افتح كل ويدجت
  3. تحقق من ويدجتات النص/HTML لروابط mailto

فحص المحتوى

  1. استخدم Better Search Replace للبحث في محتوى المقالات
  2. أو بحث WordPress: mailto: في المقالات/الصفحات

الخطوة 3: الاستبدال في القوائم (5 دقائق)

لعناصر قائمة التنقل:

  1. انتقل إلى المظهر → Menus
  2. ابحث عن عناصر القائمة التي تحتوي روابط mailto
  3. انقر لتوسيع كل عنصر
  4. استبدل الرابط برابط النموذج:
Old: mailto:support@example.com
New: https://supportretriever.com/form/your-form-id?المصدر=menu
  1. حدّث تسمية التنقل إن لزم:
Old label: support@example.com
New label: Contact Support
  1. احفظ القائمة

الخطوة 4: الاستبدال في الويدجتات (5 دقائق)

لمناطق الويدجت:

  1. انتقل إلى المظهر → Widgets
  2. افتح كل ويدجت نص/HTML
  3. انتقل إلى تبويب "Text" (وليس Visual)
  4. ابحث واستبدل:
<!-- Old -->
<a href="mailto:contact@example.com">تواصل معنا</a>

<!-- New -->
<a href="https://supportretriever.com/form/your-form-id?المصدر=widget">تواصل معنا</a>
  1. احفظ كل ويدجت

الخطوة 5: الاستبدال في ملفات السمة (10 دقائق)

لـ header.php:

  1. انتقل إلى المظهر → محرر السمة
  2. افتح header.php
  3. ابحث عن روابط mailto
  4. استبدل برابط النموذج:
<!-- Old -->
<a href="mailto:<?php echo get_option('admin_email'); ?>">
  Contact
</a>

<!-- New -->
<a href="https://supportretriever.com/form/your-form-id?المصدر=header">
  Contact
</a>
  1. احفظ الملف

لـ footer.php:

<!-- Old -->
<p>البريد الإلكتروني: <a href="mailto:info@example.com">info@example.com</a></p>

<!-- New -->
<p><a href="https://supportretriever.com/form/your-form-id?المصدر=footer">تواصل معنا</a></p>

ملاحظة: فكّر بإنشاء سمة فرعية قبل تعديل ملفات السمة.

الخطوة 6: الاستبدال في المحتوى (10 دقائق)

باستخدام Better Search Replace:

  1. انتقل إلى Tools → Better Search Replace
  2. ابحث عن: mailto:support@example.com
  3. استبدل بـ: https://supportretriever.com/form/your-form-id?المصدر=content
  4. حدد الجداول: wp_posts, wp_postmeta
  5. شغّل كتجربة جافة أولاً
  6. راجع ما سيُغيّر
  7. إن كان جيداً، شغّل فعلياً (ألغِ تحديد "dry run")
  8. شغّل البحث والاستبدال

أو تحرير الصفحات يدوياً:

  1. حرّر كل صفحة/مقالة تحتوي روابط mailto
  2. انتقل إلى "Code editor" (أو تبويب Text)
  3. ابحث واستبدل روابط mailto
  4. حدّث كل صفحة

الخطوة 7: الاستبدال في الحقول المخصصة (إن وُجدت)

إن كنت تستخدم ACF أو حقولاً مخصصة:

  1. انتقل إلى المقالات/الصفحات ذات الحقول المخصصة
  2. حرّر كل واحدة
  3. حدّث حقول البريد برابط النموذج
  4. احفظ التغييرات

طريقة الاستبدال التلقائي بـ JavaScript

متى تستخدمها

استخدم الاستبدال التلقائي بـ JavaScript إذا:

  • لديك مئات الصفحات
  • روابط mailto في أماكن متعددة
  • تريد حماية مستمرة
  • المحتوى الجديد قد يحتوي روابط mailto
  • لا تريد تتبعها كلها يدوياً

التثبيت

الطريقة 1: تذييل السمة (الأبسط)

  1. انتقل إلى المظهر → محرر السمة
  2. افتح footer.php
  3. أضف قبل وسم </body>:
<script>
(function() {
  const FORM_URL = 'https://supportretriever.com/form/your-form-id';
  
  document.querySelectorAll('a[href^="mailto:"]').forEach(link => {
    const originalHref = link.getAttribute('href');
    const emailMatch = originalHref.match(/mailto:([^?]+)/);
    
    if (emailMatch) {
      link.setAttribute('href', FORM_URL + '?المصدر=autoconvert');
      link.setAttribute('data-original-email', emailMatch[1]);
    }
  });
})();
</script>
  1. احفظ الملف

الطريقة 2: إضافة Code Snippets (موصى بها)

  1. ثبّت إضافة Code Snippets (مجانية)
  2. انتقل إلى Snippets → Add New
  3. العنوان: "Replace mailto Links"
  4. الصق هذا الكود:
add_action('wp_footer', function() {
    ?>
    <script>
    (function() {
      const FORM_URL = 'https://supportretriever.com/form/your-form-id';
      
      document.querySelectorAll('a[href^="mailto:"]').forEach(link => {
        const originalHref = link.getAttribute('href');
        const emailMatch = originalHref.match(/mailto:([^?]+)/);
        
        if (emailMatch) {
          link.setAttribute('href', FORM_URL + '?المصدر=autoconvert');
          link.setAttribute('data-original-email', emailMatch[1]);
        }
      });
    })();
    </script>
    <?php
});
  1. فعّل "Only run in frontend"
  2. احفظ المقتطف وفعّله

الطريقة 3: functions.php

فقط إن كنت تستخدم سمة فرعية:

  1. افتح functions.php للسمة الفرعية
  2. أضف هذا الكود:
function replace_mailto_links() {
    ?>
    <script>
    (function() {
      const FORM_URL = 'https://supportretriever.com/form/your-form-id';
      
      document.querySelectorAll('a[href^="mailto:"]').forEach(link => {
        const originalHref = link.getAttribute('href');
        const emailMatch = originalHref.match(/mailto:([^?]+)/);
        
        if (emailMatch) {
          link.setAttribute('href', FORM_URL + '?المصدر=autoconvert');
          link.setAttribute('data-original-email', emailMatch[1]);
        }
      });
    })();
    </script>
    <?php
}
add_action('wp_footer', 'replace_mailto_links');
  1. احفظ الملف

اختبار طريقة JavaScript

  1. زر موقعك
  2. انقر يميناً على رابط mailto سابق
  3. فحص العنصر
  4. تحقق من أن href يشير الآن للنموذج
  5. انقر الرابط للاختبار
  6. تحقق من فتح النموذج

لماذا توجد "إضافات الترميز" (ومتى الاستبدال أفضل)

إضافات ترميز/إخفاء البريد

إضافات شائعة:

  • عنوان البريد الإلكتروني Encoder
  • البريد الإلكتروني Obfuscator
  • Hide My البريد الإلكتروني

ماذا تفعل:

  • ترميز عناوين البريد بـ JavaScript
  • محاولة الإخفاء عن البوتات
  • الإبقاء على وظيفة mailto

مثال ترميز:

// Instead of: support@example.com
// Becomes: &#115;&#117;&#112;&#112;&#111;&#114;&#116;&#64;...

متى الترميز أفضل

استخدم إضافات الترميز إذا:

  • يجب عليك عرض عنوان البريد الفعلي
  • المستخدمون يحتاجون نسخ البريد
  • لا يمكنك استخدام نموذج اتصال
  • وضعك يتطلب بريداً ظاهراً

متى الاستبدال أفضل (معظم الحالات)

استبدل بالنموذج إذا:

  • تريد أقصى حماية من البريد العشوائي (99% مقابل 30%)
  • تجربة الجوال مهمة (مشكلة iOS 26.1)
  • تريد إدارة المحادثات
  • تريد التحليلات
  • تريد حلاً طويل الأمد

مزايا الاستبدال على الترميز:

Feature Encoding Plugin النموذج Replacement
Spam protection 30-40% 99%+
Mobile reliability Poor Excellent
iOS 26.1 compatible No Yes
Accessibility Medium Excellent
User experience Medium Better
Long-term effectiveness Degrades Permanent
Conversation management No Yes
Analytics No Yes

الخلاصة: لمعظم المواقع، الاستبدال بالنماذج يوفر حماية وتجربة مستخدم أفضل من الترميز.

خطوة بخطوة

دليل نصي

مسار التنقل:

Finding mailto in Menu:
WordPress مسؤول → Appearance → Menus → 
Select menu → Expand menu item → 
Look at URL field → Replace if contains "mailto:"

Finding mailto in Widgets:
WordPress مسؤول → Appearance → Widgets →
Click widget to expand → Switch to Text tab →
Find mailto: in HTML → Replace with form URL

Finding mailto in Theme:
WordPress مسؤول → Appearance → Theme تعديلor →
Select header.php or footer.php →
Search page for "mailto:" → Replace each instance →
Click "Update File"

Using Better Search Replace:
WordPress مسؤول → Tools → Better Search Replace →
"Search for" field: mailto:youremail@example.com →
"Replace with" field: https://supportretriever.com/form/your-id →
Select tables: wp_posts →
Check "Run as dry run" → Click "Run Search/Replace" →
Review results → Uncheck dry run → Run again for real

قائمة التحقق

بعد الاستبدال

  • زر الصفحة الرئيسية — تحقق من روابط التذييل/الرأس
  • تحقق من صفحة الاتصال — تأكد من عدم وجود روابط mailto
  • تحقق من قوائم التنقل — كل العناصر تعمل
  • تحقق من ويدجتات الشريط الجانبي — روابط النموذج تعمل
  • اعرض مصدر الصفحة — ابحث عن "mailto:" (يجب ألا تجد شيئاً)
  • اختبر على جهاز جوال — تحقق من فتح الروابط للنموذج
  • اختبر على iPhone — تحقق من عمل إصلاح iOS 26.1
  • أرسل رسالة تجريبية — تحقق من التسليم
  • تحقق من إشعار البريد — تحقق من الاستلام

أوامر الاختبار

البحث عن روابط mailto المتبقية:

  1. اعرض مصدر الصفحة (Ctrl+U / Cmd+U)
  2. ابحث عن "mailto:" (Ctrl+F / Cmd+F)
  3. النتيجة المتوقعة: 0
  4. إن وجدت أيّاً، سجّل الموقع واستبدل

اختبار روابط النموذج:

  1. انقر كل رابط اتصال
  2. تحقق من فتح النموذج
  3. املأ إرسالاً تجريبياً
  4. تحقق من وصول البريد
  5. كرر على الجوال

استكشاف الأخطاء

"ما زلت أرى روابط mailto"

أسباب محتملة:

  • صفحات مخزنة مؤقتاً (امسح الكاش)
  • كاش CDN (امسح كاش CDN)
  • كاش المتصفح (تحديث قوي: Ctrl+Shift+R)
  • مواقع فاتتك (راجع كل المصادر)

الحلول:

  1. امسح كل الكاش
  2. استخدم التصفح الخاص
  3. راجع كل المواقع مرة أخرى

"طريقة JavaScript لا تعمل"

أسباب محتملة:

  • خطأ JavaScript
  • ترتيب تحميل السكربت
  • إضافات متعارضة

التشخيص:

  1. افتح وحدة تحكم المتصفح (F12)
  2. ابحث عن أخطاء
  3. تحقق من تحميل السكربت
  4. تحقق من تعارض jQuery

الحلول:

  • لف في jQuery(document).ready()
  • حمّل السكربت في التذييل (وليس الرأس)
  • عطّل الإضافات واحدةً واحدةً لمعرفة التعارض

"رابط النموذج خاطئ"

الإصلاح:

  1. انتقل إلى لوحة SupportRetriever
  2. انتقل إلى إدارة النماذج
  3. انسخ رابط النموذج الصحيح
  4. حدّث كل المواضع
  5. امسح الكاش

WordPress متعدد المواقع

الاستبدال على مستوى الشبكة

إن كان لديك multisite:

  1. استخدم Better Search Replace على قاعدة بيانات الشبكة
  2. أو شغّل السكربت على كل موقع فرعي
  3. أو أضف JavaScript لسمة الشبكة

اعتبارات:

  • المواقع المختلفة قد تحتاج نماذج مختلفة
  • استخدم البيانات الوصفية لتتبع الموقع: ?site=site1
  • فكّر بنموذج مركزي أو نماذج منفصلة لكل موقع

مواضيع ذات صلة

مستعد لتبسيط الدعم؟
Join thousands using SupportRetriever to manage customer conversations.
جرب مجاناً

استكشف المزيد

تصفح كل المقالات