جدول الخطورة

فحص الروابط السيئة: مقارنة اللقطات في SQLite

لا يمكن لأي سكريبت أن يصف رابطًا بأنه سام لك. يمكنه أن يخبرك بالنطاقات المرجعية الجديدة، والتي اختفت، والتي تبدو غريبة بما يكفي لقراءتها يدويًا.

خزان حجري مع ألواح طينية وميزان نحاسي يقيس نقاط البيانات

جدول الخطورة للنطاقات المرجعية الجديدة

قواعدنا الخاصة للحكم الأولي، وليست تعريفًا من جوجل
المستوىالإشارةالإجراء
تجاهلنطاق جديد، DR فوق 30، النص المرسى هو علامتك التجارية أو رابط URL عاريسجلها وتقدم
انظر50 أو أكثر من النطاقات الجديدة في أسبوع من نطاق من الدرجة العليا (TLD) لم تستهدفه أبدًاافتح عشرة منها
انظر بعمقنفس النص المرسى المطابق تمامًا على 20 أو أكثر من النطاقات الجديدةفحص سحابة النصوص المرساة، اعثر على المصدر
تصرفشبكة تبدو مدفوعة أو صفحات مخترقة تشير إليكوثق الأمر؛ فكر في ملف رفض فقط إذا كان لديك أيضًا إجراء يدوي
انتظراختفى نطاق هذا الشهرأعد الفحص بعد التحديث الشهري التالي

لماذا المقارنة بدلاً من المسح مرة واحدة

لقطة واحدة تخبرك بما هو موجود. المقارنة تخبرك بما تغير، وهذا هو حيث تظهر المشاكل.

قالت جوجل منذ سنوات، منذ إصدار Penguin 4.0 في سبتمبر 2016 ومرة أخرى في تحديث إعلانات الروابط في ديسمبر 2022، إنها تتجاهل الروابط المزعجة بشكل أساسي بدلاً من معاقبتها. SpamBrain يقوم بهذا العمل. لذا فإن فيضان القمامة هو ضجيج أكثر من كونه تهديدًا، والمقارنة توفر لك بشكل أساسي من التفاعل مع الضجيج.

احتفظ بتاريخك الخاص. المجموعات تتجاوز سجلاتها.

بناء جدول التاريخ في أربع خطوات

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

01

إنشاء الجدول مرة واحدة

قم بتشغيل عبارة إنشاء إذا لم يكن موجودًا مع الأعمدة التي تحتاجها: اليوم، النطاق والنتيجة. احتفظ بها في السكريبت، حتى تتمكن الآلة الجديدة من إعادة بناء نفس الجدول بدون خطوة يدوية.

02

أدرج صفًا واحدًا لكل نطاق لكل يوم

استخدم إدراجًا معلميًا وقم بالالتزام مرة واحدة لكل تشغيل. التزام واحد يمنع الكسر من ترك نصف يوم في الملف.

03

حماية ضد تشغيل ثانٍ

احذف صفوف اليوم قبل الإدراج، أو أضف مفتاحًا فريدًا على اليوم والنطاق. إعادة التشغيل في نفس اليوم ستستبدل الصفوف بدلاً من مضاعفتها.

04

قارن مع اليوم السابق في الملف

اختر أحدث تاريخ سابق مع فلتر max(day)، وليس تاريخ الأمس. تظل المقارنة صحيحة عندما تم تخطي أسبوع.

diff.py

لوحتان ستكونان أنظف. واحدة تكفي لإعداد الهوبي: صف لكل نطاق في تاريخ اللقطة.

python
import json, sqlite3, sys, datetime
db = sqlite3.connect('links.db')
db.execute('create table if not exists snap(day text, dom text, dr int)')
rows = json.load(open(sys.argv[1]))
day = datetime.date.today().isoformat()
db.executemany('insert into snap values (?,?,?)',
               [(day, r.get('domain'), r.get('dr')) for r in rows])
db.commit()
prev = db.execute('select max(day) from snap where day < ?', (day,)).fetchone()[0]
if prev:
    new = db.execute('select dom from snap where day=? except select dom from snap where day=?', (day, prev)).fetchall()
    gone = db.execute('select dom from snap where day=? except select dom from snap where day=?', (prev, day)).fetchall()
    print(len(new), 'new,', len(gone), 'gone')

استكشاف أخطاء المقارنة وإصلاحها

العرضالسبب المحتملالإصلاح
مئات من 'الذاهبة' بين عشية وضحاهاتحديث الفهرس غير العينةقارن شهريًا، وليس يوميًا
كل النطاقات تبدو جديدةكان الجدول فارغًا أو تغير تنسيق dayتحقق من select distinct day
عمود DR كله NULLاسم حقل الصف يختلف عن drاطبع صفًا خامًا وعدل
تكرارات بعد إعادة التشغيلأدرج نفس اليوم مرتيناحذف ذلك اليوم أولاً، أو أضف مفتاحًا فريدًا
العدد أقل من totalالتصفح توقف مبكرًاأصلح الحلقة في دليل تشغيل الإجراءات
مزارع يراقب السراخس بعدسة يدوية لمقارنة أنماط النمو

اختيار العتبات من تاريخك الخاص

عتبة منسوخة من مقال مدونة هي تخمين حول موقع شخص آخر. فحص الروابط السيئة يكون مفيدًا فقط بقدر حدوده، وتاريخك الخاص يخبرك بما يبدو طبيعيًا لنطاقك.

ابدأ بتسجيل بضعة أشهر دون اتخاذ أي إجراء. دع الأمور تستقر. ثم اكتب التذبذب الأسبوعي النموذجي. فقط بعد ذلك تضع الحدود في جدول الخطورة.

ابدأ بخط أساس

سجل أعداد الجديد والذاهب لكل تشغيل دون التفاعل معها. شهرين من التسجيل الهادئ يمنحك نطاقًا ينتمي إلى نطاقك ولا أحد آخر.

بمجرد وجود الأساس، تبرز أسبوع سيء واحد ضده، ويمكنك شرح الفرق دون تخمين. هذه هي النقطة الكاملة للأساس.

اختر إنذارًا واحدًا لكل إشارة

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

اكتب الإنذار بجانب إشارته في الكود، حتى لا يختلف الجدول في هذه الصفحة والسكريبت.

راجع الحدود كل ربع سنة

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

حارس المنارة يفحص الأفق بالمنظار ومرساة على طاولة العمل

قراءة جدول الخطورة في الممارسة العملية

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

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

عينة قبل أن تقرر

افتح عشرة من النطاقات المحددة واقرأ الصفحات. الفيضان الذي يتبين أنه مجرد مكنسة دليل هو مشكلة مختلفة عن فيضان المدونات غير ذات الصلة، والصفحات فقط هي التي تميز بينها.

سجل ما قررته

احتفظ بسطر واحد لكل قرار: النطاق، المستوى، ما قمت بفحصه وما فعلته. الشخص التالي الذي يقرأ السجل، بما في ذلك أنت في المستقبل، يحصل على السبب دون اجتماع.

ملخص شهري من تلك الأسطر يستغرق وقتًا قليلاً، وهو مسودة جيدة لمراجعة.

ما لا يمكن لهذا أن يخبرك به

لا يمكنه إثبات أن الرابط يضر بك. لا أحد خارج جوجل يستطيع ذلك، وتقرير الإجراءات اليدوية في Search Console هو المكان الوحيد الذي يتم فيه بيان العقوبة.

كما أنه لا يمكنه رؤية الروابط الأصغر من آخر تحديث. للحصول على أدلة أكثر حداثة، اسأل الأشخاص الذين يديرون موقع الربط، أو اقرأ سجلات الخادم الخاص بك للمحالات. ملاحظتنا حول التوقيت تذهب أعمق.

إذا كنت تريد جانب النصوص المرساة، فإن anchor_cloud يكلف 2 رصيد ويجمع النصوص حسب التكرار، وهو أسرع طريقة للكشف عن تراكم المطابقة التامة.

الروابط التي تصل بين التحديثات

أي شيء أصغر من آخر تحديث مفقود من كلا طرفي المقارنة. الرابط الذي يظهر ويختفي داخل نافذة تحديث واحدة لا يظهر أبدًا، وهذا هو السبب في أن المقارنة يجب أن تعمل شهريًا.

النصوص المرساة التي تبدو خاطئة لك

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

خيارات التخزين لإعداد الهوبي

SQLite هو أبسط قاعدة بيانات لا تزال تجيب على سؤال المقارنة باستعلام واحد. تعيش في ملف واحد، لذا فهي تناسب المستودع أو مجلد النسخ الاحتياطي بدون خادم.

ملفات JSON المؤرخة تعمل أيضًا. أبطأ في الاستعلام، ولكن أسهل في الفتح في محرر نص عندما يبدو شيء ما خاطئًا. بأي حال، انسخ المتجر إلى مكان ثانٍ قبل أي تنظيف، واحتفظ بالنسخة لربع سنة كاملة قبل أن تحذف أي شيء.

عندما يكون ملف واحد كافيًا

جدول واحد مع عمود يوم يغطي موقعًا واحدًا لعدة سنوات. الملف يبقى صغيرًا، والاستعلامات في هذه الصفحة لا تحتاج إلى ضبط.

متى تنتقل إلى خادم

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

حتى ذلك الحين، ملف في المستودع هو أبسط شيء ينجو من تغيير الكمبيوتر المحمول.

ربط المقارنة بوظيفة أسبوعية

قم بتشغيل diff.py مباشرة بعد خطوة اللقطة. اطبع الأعداد، وخرج برمز غير صفري عندما يتجاوز new حدًا اخترته، مثل 200 في أسبوع لموقع صغير. تتحول الوظيفة إلى اللون الأحمر، وترسل لك GitHub بريدًا إلكترونيًا. بسيط.

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

الأسابيع الهادئة هي القاعدة.

أسئلة الروابط السيئة، تجاوب بوضوح

هل هناك فحص موثوق للروابط السيئة؟
لا يمكن لأي أداة أن تصنف رابطًا بأنه ضار بشكل مؤكد، لأن جوجل فقط تعرف كيف تعالج كل واحد منها. يمكن للسكريبت أن يبرز الأنماط التي تستحق القراءة: الفيضات المفاجئة، النصوص المرساة المتكررة المطابقة تمامًا، TLDs الغريبة. أنت تتخذ القرار بعد فتح الصفحات.
هل يجب أن أرفض ما تميزه المقارنة؟
نادرًا. قالت جوجل إنها تتجاهل روابط السبام بشكل كبير، وملف الرفض مخصص للحالات مثل إجراء يدوي أو فوضى روابط مدفوعة سببتها أنت بنفسك. وثق أولاً، وتحقق من Search Console قبل تقديم أي شيء.
كم مرة يجب أن أشغله؟
لقطة أسبوعيًا، مراجعة شهريًا. يتم تحديث الفهرس حوالي مرة واحدة في الشهر، لذا فإن المقارنة اليومية تقارن الجدول بنفسه في الغالب. المراجعة الشهرية تتطابق مع البيانات وتقلل الضجيج.
ما الأعمدة التي يجب أن يحتفظ بها الجدول؟
احتفظ باليوم، والنطاق، و DR وعمود المصدر. أضف النص المرسى فقط إذا كنت تسحب النصوص المرساة أيضًا. الأعمدة الإضافية تبدو شاملة، لكن كل حقل إضافي هو حقل آخر يمكن أن ينحرف بين التشغيلات.
هل يمكنني مقارنة مجموعتين ببعضهما البعض؟
يمكنك مقارنة أعدادها لنفس الموقع، لكن النتائج لن تتطابق. قم بتشغيل المقارنة داخل مصدر واحد، وقارن اتجاه التغيير عبر المصادر، نفس القاعدة التي تنطبق في كل مكان في هذا الموقع.
ماذا لو غادر نطاق ثم عاد الشهر التالي؟
يظهر كذاهب ثم كجديد، وهو ضجيج. احسب العودة بشكل منفصل، أو قارن ثلاثة أشهر في وقت واحد، حتى لا يؤدي نطاق يسقط لمدة تحديث واحد إلى triggering مراجعة.