نص الرابط: كيف تكتب رابطًا يستطيع Google استخدامه

نص الرابط يجب أن يسمي الوجهة بين وسمي a مع href حقيقي. إليك اختبار خارج السياق وست خطوات وسكربتًا يجد الروابط التي لا تعطي الزاحف شيئًا.

الزحف والفهرسة⁨5⁩ دقائق للقراءة2336 مشاهدة
نص الرابط: كيف تكتب رابطًا يستطيع Google استخدامه

لكتابة نص الرابط الذي يستطيع Google استخدامه، ضع بين الوسمين وصفًا للوجهة، وتأكد أن العنصر المحيط هو <a> يحمل href حقيقيًا. هذان شرطان منفصلان ويفشلان بشكل منفصل: رابط بكلمات مثالية بلا href ليس رابطًا، ورابط قابل للزحف بلا نص لا يخبر Google إلى أين يتجه.

يفترض هذا الفصل أنك قررت بالفعل أي صفحة تربط بأي صفحة؛ فذلك سؤال بنية، ويُعالج في استراتيجية الربط الداخلي. هنا ننزل مستوى واحدًا إلى العنصر نفسه: href، والكلمات، والبديلان اللذان يسميهما Google عند غياب الكلمات.

ما يقرأه Google فعلًا في الرابط

ثلاثة أشياء، بترتيب تفضيل ثابت. تبدأ صفحة «Make your links crawlable»، التي روجعت في 29 أكتوبر 2026، بقاعدة العنصر: لا يستطيع Google الزحف إلى الرابط إلا إذا كان عنصر <a> يحمل سمة href. ثم يسمي نص الرابط، ثم يذكر بديلين عندما يكون المرساة فارغًا: سمة title، ولملف يحيط بصورة، السمة alt لتلك الصورة. https://developers.google.com/search/docs/crawling-indexing/links-crawlable

الطبقةما يجب أن يكونإذا غاب
العنصر<a> يحمل hrefلا يُزحف إليه كرابط
قيمة hrefعنوان، وليس javascript:…قد «يحاول» Google حله
النصكلمات بين الوسمينبديل بـ title
رابط صورةalt على الصورة الداخليةلا يبقى ما يُقرأ

الترتيب مهم عند الإصلاح بالجملة. رابط أيقونة يحمل aria-label ولا يحمل alt يُقرأ جيدًا لقارئ الشاشة ولا اسم موثقًا له في البحث: aria-label لا يظهر في تلك الصفحة إطلاقًا. إضافة alt إلى الصورة الداخلية تصلح جانب البحث دون تغيير بكسل واحد.

href يحدد وجود الرابط. النص يحدد قيمته.

كيف تكتب نص الرابط المفهوم وحده

ينشر Google الاختبار، ويستغرق نحو ثانيتين لكل رابط: اقرأ نص الرابط وحده، خارج السياق، وتحقق هل هو محدد بما يكفي ليكون مفهومًا بذاته. إن لم تعرف عن ماذا قد تكون الصفحة، فأنت تحتاج نصًا أكثر وصفًا. «اعرف المزيد» يفشل. «اقرأ القصة» يفشل. «قائمة user agents لـ GPTBot» ينجح، وكذلك «سياسة الاسترداد لدينا لعام 2026».

تحذر الصفحة نفسها من الطرفين: نص عام جدًا، ونص «طويل بشكل غريب» ابتلعت فيه الجملة كلها داخل الرابط. استهدف ثلاث إلى ست كلمات تسمي الوجهة. يبقى السياق في الجملة المحيطة، لا داخل المرساة.

التنفيذ: ست خطوات على صفحة واحدة

اعمل صفحة واحدة في كل مرة، بهذا الترتيب. الخطوات من واحد إلى ثلاثة تزيل الروابط التي لا تعطي الزاحف شيئًا، ومن أربعة إلى ستة تحسن التي تعمل بالفعل.

  1. اسرد كل مرساة في الصفحة وحدد شرطين: غياب سمة href، وغياب النص بعد ضغط المسافات. استخدم السكربت أدناه أو وحدة تحكم المتصفح.
  2. لكل مرساة محددة تحيط بصورة، اكتب alt يصف الوجهة لا الصورة. رابط مصغر إلى مقال يجب أن يحمل عنوان المقال.
  3. لكل مرساة محددة هي عنصر تحكم، مثل فاتح قائمة أو زر تصويت أو سهم عرض، اتركها وتحقق أن الوجهة المخفية يمكن الوصول إليها عبر رابط عادي في مكان آخر من الموقع.
  4. بالنسبة إلى المراسي التي تحمل نصًا، طبق اختبار خارج السياق. أعد كتابة الفاشلة لتسمي الوجهة في ثلاث إلى ست كلمات.
  5. اقتصر أي نص رابط يتجاوز نحو 100 حرف على الجزء الذي يسمي الشيء. تحتفظ الجملة المحيطة بالباقي، وصفحة Google تطلب صراحة إبقاء السياق خارج الرابط.
  6. تحقق أنك لم تكرر النص نفسه لوجهتين، ولا نصين لوجهة واحدة. وجهة واحدة، عبارة واحدة، تُستخدم باتساق.

الخطوة السادسة هي التي يتخطاها الناس، وهي التي تتراكم. إذا ربطت ثلاث صفحات بصفحة الأسعار بعبارات «الأسعار» و«الخطط» و«اعرف التكلفة»، فكل عبارة تحمل ثلث الوصف، ويصبح لدى محرك إجابات يحاول فهم تلك الصفحة ثلاثة أسماء جزئية بدلًا من اسم واحد.

المخرج: السكربت وقائمة التحقق

يطبع هذا السكربت كل مرساة في صفحة مباشرة لا تعطي الزاحف شيئًا: بلا href، أو بلا نص وبلا alt للصورة. لا يحتاج إلا إلى Python 3.

import sys, urllib.request
from html.parser import HTMLParser

class Links(HTMLParser):
    def __init__(self):
        super().__init__(convert_charrefs=True)
        self.rows, self.cur = [], None
    def handle_starttag(self, tag, attrs):
        a = dict(attrs)
        if tag == "a":
            self.cur = {"href": a.get("href"), "text": "",
                        "aria": (a.get("aria-label") or "").strip(),
                        "img": (a.get("title") or "").strip()}
        elif tag == "img" and self.cur is not None:
            self.cur["img"] = (a.get("alt") or "").strip()
    def handle_data(self, d):
        if self.cur is not None:
            self.cur["text"] += d
    def handle_endtag(self, tag):
        if tag == "a" and self.cur is not None:
            self.rows.append(self.cur)
            self.cur = None

req = urllib.request.Request(sys.argv[1], headers={"User-Agent": "Mozilla/5.0"})
page = urllib.request.urlopen(req, timeout=30).read().decode("utf-8", "replace")
p = Links()
p.feed(page)
bad = 0
for r in p.rows:
    named = r["text"].strip() or r["img"]
    if r["href"] is None or not named:
        bad += 1
        why = "no href" if r["href"] is None else "no text"
        print(f'{why:8} {(r["text"].strip() or r["aria"] or "")[:40]:40} {(r["href"] or "")[:50]}')
print(f'{bad} of {len(p.rows)} anchors give a crawler nothing')

احفظه باسم linkcheck.py وشغله بالأمر python3 linkcheck.py https://your-site.example/. يقرأ HTML المسلَّم، وهذا هو المقصود: يرى ما يراه الزاحف قبل تشغيل أي سكربت.

الفحصشرط النجاح
العنصركل وجهة تنقل هي <a href>
نص فارغصفر، أو لكل واحد alt صورة
خارج السياقالنص يسمي الوجهة وحده
الطولنحو 3 إلى 8 كلمات، لا الجملة كلها
الاتساقوجهة واحدة، عبارة واحدة
التزاحملا رابطين متلاصقين بلا كلمات بينهما

ثلاث طرق للخطأ

تظهر الثلاث في مواقع إنتاج حقيقية، ولا يبدو أي منها مكسورًا في المتصفح.

  1. زر فتح القائمة ليس رابطًا. غالبًا لا يحمل href بحكم التصميم. هذا مقبول للمشغل وقاتل للصفحات خلفه إن لم تظهر في أي مكان آخر. افحص التذييل وsitemap قبل تغيير القائمة.
  2. رابط أيقونة يحمل aria-label فقط ينجح في تدقيق الوصول ويترك البحث بلا شيء، لأن البديلين الموثقين هما title وalt الصورة. أبقِ aria-label وأضف alt.
  3. نص رابط يتجاوز 100 حرف يعني عادة أن عنوانًا أو فقرة كاملة التفّت داخل الرابط. يطلب Google إبقاء السياق حول الرابط، لا داخله.

أين يتوقف هذا

لا ينقذ نص الرابط صفحة لا يستطيع الزاحف الوصول إليها، ولا يخبرك كم يساوي رابط واحد. تصف وثائق Google ما يقرأه، لكنها لا تنشر وزنًا، ولا قائمة صادقة تستطيع تقديمه. لا نعرف مقدار الوزن الذي يمنحه Google لرابط معين.

إذا كانت صفحات ناقصة من الفهرس، فابدأ طبقة أعلى مع فحص وصول زواحف الذكاء الاصطناعي: الوصول أولًا، والصياغة بعده. يفترض هذا الفصل أيضًا روابط تحريرية عادية؛ أما الروابط المدفوعة والمولدة من المستخدمين فتحتاج تأهيل rel، وهي قاعدة مختلفة.

أسئلة شائعة

كم كلمة يجب أن يحمل نص الرابط؟

لا يعطي Google رقمًا، بل اتجاهين يجب تجنبهما: العام جدًا و«الطويل بشكل غريب». ثلاث إلى ست كلمات تسمي معظم الوجهات، ويحسم اختبار خارج السياق الباقي.

هل أضع الكلمة المفتاحية المستهدفة في كل رابط داخلي؟

لا. الصفحة نفسها تعتبر حشو الكلمات المفتاحية مخالفة لسياسات السبام وتسأل هل يحتاج القارئ هذه الكلمات لفهم الصفحة التالية. الاتساق يتغلب على التكرار: عبارة واحدة لكل وجهة، تُستخدم حيث تناسب الجملة.

هل يكفي aria-label لرابط أيقونة؟

لقارئات الشاشة، نعم. للبحث، ليس مذكورًا في وثائق Google عن نص الروابط، والبديلان الموثقان هما title وalt الصورة الداخلية. في 27 صفحة رئيسية قيست، كان aria-label وحده أكثر طريقة شيوعًا لتسمية رابط بلا نص.

هل تُحتسب الروابط المضافة بـ JavaScript؟

تقول صفحة Google إنها قابلة للزحف «طالما استخدمت ترميز HTML الموضح»، أي أنها تنتهي كـ <a href>. لن يراها السكربت أعلاه: تحقق منها عبر HTML المعروض في أداة فحص URL.

أين يقع هذا العمل في سير العمل؟

بعد تحديد البنية في استراتيجية الربط الداخلي وقبل النشر. يحفظ سير الترويج أثر الصفحات المنشورة والروابط المضافة، لتقارن المراجعة التالية حالة معروفة بحالة أخرى.

جزء من دليل QueryWin · المستوى ⁨2⁩

نص الرابط: كيف تكتب رابطًا يستطيع Google استخدامه