استخدم Python لتحليل ملفات SEO و Pivot
نشرت: 2021-08-10يعد مصدر البيانات الرائع لأي محترف تحسين محركات بحث كبير هو بيانات الزحف الخاصة بمحرك البحث الموجودة داخل ملفات السجل. يمكنك تحليل ملفات السجل لتتعرف بالضبط على كيفية قيام محركات البحث بالزحف إلى موقع الويب الخاص بك وفهمه. يمنحك هذا نظرة ثاقبة لا يمكن لأداة تحسين محركات البحث التابعة لجهة خارجية القيام بذلك. إذا كنت ترغب في توفير الوقت والمال ، فحاول أتمتة التحليل والتحقق من الصحة وتمحور بيانات ملف السجل من أجل تحسين محركات البحث باستخدام Python. في هذه المقالة ، سنرشدك عبر خطوات كيفية تحليل ملفات تحسين محركات البحث (SEO) وتحويلها إلى محاور باستخدام Python.

لماذا يجب أن تستخدم Python لتحليل ملفات SEO والمحورية
Python هي لغة برمجة متعددة الأغراض تحتوي على مجموعة متنوعة من التطبيقات عندما يتعلق الأمر بالبيانات وتطوير الويب وتنفيذ الخوارزميات. يساعدك استخدام Python لتحليل بيانات تحسين محركات البحث (SEO) الخاصة بك من ملفات السجل وإدارتها على:
- تحقق من صحة استنتاجاتك من خلال إعطائك دليلًا ملموسًا على كيفية قيام محركات البحث بالزحف إلى موقع الويب الخاص بك ورؤيتها
- رتب نتائجك حسب الأولوية من خلال مساعدتك في معرفة حجم المشكلة ومدى إصلاحها
- ابحث عن أي مشاكل أخرى لا يمكنك رؤيتها في مصادر البيانات الأخرى
على الرغم من وجود العديد من الفوائد لاستخدام بيانات ملف السجل ، إلا أن العديد من خبراء تحسين محركات البحث يبتعدون عنها لعدة أسباب. أولاً ، يعني العثور على البيانات عادةً المرور من خلال فريق التطوير ، الأمر الذي قد يستغرق الكثير من الوقت. أيضًا ، يمكن أن تكون الملفات الأولية كبيرة ويصعب فهمها ، مما يجعل من الصعب تحليل البيانات. أخيرًا ، قد تكون تكلفة الأدوات المصممة لتبسيط العملية باهظة للغاية.
في حين أن هذه كلها مخاوف صحيحة ، إلا أن هناك طريقة أخرى. إذا كان لديك بعض المعرفة بلغات الترميز والبرمجة النصية ، فيمكنك أتمتة العملية. سنرشدك عبر خطوات كيفية استخدام Python لتحليل سجلات الخادم لـ SEO.
كيفية استخدام Python لتحليل ملفات SEO والمحورية
قبل أن تبدأ ، ستحتاج إلى التفكير في التنسيق الذي تريد استخدامه لتحليل بيانات ملف السجل. لديك عدة خيارات ، مثل Apache و Nginx و IIS. بالإضافة إلى ذلك ، تستخدم العديد من مواقع الويب موفري CDN الآن ، مثل Cloudflare و Cloudfront و Akamai ، لتقديم المحتوى من أقرب موقع حافة إلى المستخدم.
في هذه المقالة ، سوف نركز على تنسيق السجل المجمع. ذلك لأن تنسيق السجل المدمج هو الإعداد الافتراضي لـ Nginx وعادة ما يكون الاختيار على خوادم Apache.
إذا كنت لا تعرف نوع التنسيق الذي تتعامل معه ، فهناك خدمات مثل Builtwith و Wappalyzer التي يمكنها إخبارك بمجموعة التكنولوجيا الخاصة بموقع الويب.
إذا كنت لا تزال غير متأكد ، فما عليك سوى فتح أحد الملفات الأولية. قم بمراجع التعليقات المقدمة مع معلومات حول مجالات محددة.
ستحتاج أيضًا إلى التفكير في محرك البحث الذي تريد تضمينه. في هذه المقالة ، سنركز على Google ، لأن Google هو محرك البحث الأكثر هيمنة مع أكثر من 92٪ من حصة السوق العالمية .

1. تحديد الملفات وتحديد التنسيقات
من أجل إجراء تحليل تحسين محركات البحث (SEO) ، ستحتاج إلى ما لا يقل عن 100،000 طلب وما بين أسبوعين وأربعة أسابيع من البيانات لموقع ويب نموذجي. نظرًا لأحجام الملفات ، يتم عادةً تقسيم السجلات إلى أيام فردية. من المرجح أن تتلقى عدة ملفات لمعالجتها.
نظرًا لأنك لا تعرف عدد الملفات التي ستتعامل معها إلا إذا قمت بدمجها قبل تشغيل البرنامج النصي ، فإن الخطوة الأولى هي إنشاء قائمة بجميع الملفات الموجودة في مجلدنا باستخدام وحدة glob. بعد ذلك ، يمكنك إرجاع أي ملف يطابق النمط الذي نحدده. سيتطابق رمز المتابعة مع أي ملف TXT:
استيراد الكرة الأرضية
files = glob.glob ('* txt.')
ومع ذلك ، ليست كل الملفات بتنسيق TXT. يمكن أن تأتي ملفات السجل بأنواع متعددة من تنسيقات الملفات. قد لا تتعرف حتى على امتداد الملف.
من الممكن أيضًا أن يتم تقسيم الملفات التي تتلقاها عبر مجلدات فرعية متعددة ، ولا نريد إضاعة الوقت في نسخها في مكان واحد. لحسن الحظ ، يدعم glob كلاً من عمليات البحث المتكررة وعوامل تشغيل أحرف البدل . هذا يعني أنه يمكنك إنشاء قائمة بجميع الملفات الموجودة داخل مجلد فرعي أو مجلدات فرعية.
files = glob.glob ('** / *. *' ، متكرر = صحيح)
بعد ذلك ، تريد تحديد أنواع الملفات الموجودة في قائمتك. للقيام بذلك ، يمكن الكشف عن نوع MIME لملف معين. يخبرك هذا بنوع الملف الذي تتعامل معه ، بغض النظر عن الامتداد.
يمكنك القيام بذلك باستخدام python-magic ، وهو غلاف حول مكتبة libmagic C ، وإنشاء وظيفة بسيطة.
نقطة تثبيت بيثون ماجيك
نقطة تثبيت libmagic
سحر الاستيراد
def file_type (file_path):
mime = magic.from_file (file_path ، mime = True)
عودة التمثيل الصامت
بعد ذلك ، يمكنك استخدام list comprehension للتنقل بين ملفاتك وتطبيق الوظيفة ، وإنشاء قاموس لتخزين كل من الأسماء والأنواع.
file_types = [file_type (ملف) للملف في الملفات]
file_dict =ict (zip (files، files_types))
أخيرًا ، استخدم وظيفة وحلقة while لاستخراج قائمة من الملفات التي تُرجع نوع MIME من النص / العادي واستبعاد أي شيء آخر.
غير مضغوط = []
def file_identifier (ملف):
للمفتاح ، القيمة في file_dict.items ():
إذا كان الملف بقيمة:
uncompressed.append (مفتاح)
بينما file_identifier ("نص / عادي"):

file_identifier ('نص / عادي') في file_dict

2. استخراج طلبات محرك البحث
بعد تصفية الملفات الموجودة في المجلد أو المجلدات ، فإن خطوتك التالية هي تصفية الملفات نفسها عن طريق استخراج الطلبات التي تهمك فقط.
هذا يلغي الحاجة إلى دمج الملفات باستخدام أدوات مساعدة لسطر الأوامر مثل GREP أو FINDSTR ، ويوفر لك الوقت في البحث عن الأمر الصحيح.
في هذه الحالة ، نظرًا لأنك تريد طلبات Googlebot فقط ، فستبحث عن "Googlebot" لمطابقة جميع وكلاء المستخدم ذوي الصلة.
يمكنك استخدام وظيفة Python المفتوحة لقراءة و / أو كتابة ملفك ووحدة Python regex ، RE ، لإجراء البحث.
3. تحليل الطلبات
هناك عدة طرق يمكنك من خلالها تحليل الطلبات. من أجل هذه المقالة ، سنستخدم محلل CSV المدمج في Pandas وبعض وظائف معالجة البيانات الأساسية من أجل:
- قم بإسقاط الأعمدة غير الضرورية
- تنسيق الطابع الزمني
- قم بإنشاء عمود بعناوين URL كاملة
- إعادة تسمية وإعادة ترتيب الأعمدة المتبقية
بدلاً من ترميز اسم المجال بشكل ثابت ، يمكنك استخدام وظيفة الإدخال لمطالبة المستخدم وحفظه كمتغير.
4. التحقق من صحة الطلبات
من السهل جدًا انتحال وكلاء مستخدم محرك البحث ، مما يجعل التحقق من صحة الطلب جزءًا حيويًا من العملية ، مما يمنعك من استخلاص استنتاجات غير صحيحة من خلال تحليل عمليات الزحف الخاصة بطرف ثالث.
للقيام بذلك ، تحتاج إلى تثبيت مكتبة تسمى dnspython وإجراء DNS عكسي. يمكنك استخدام الباندا لإسقاط عناوين IP المكررة وتشغيل عمليات البحث على DataFrame الأصغر. بعد ذلك ، أعد تطبيق النتائج وقم بتصفية أي طلبات غير صالحة.
يعمل هذا الأسلوب على زيادة سرعة عمليات البحث بشكل كبير والتحقق من صحة ملايين الطلبات في دقائق معدودة.

5. محور البيانات
بعد التحقق من الصحة ، لديك مجموعة بيانات نظيفة وسهلة الفهم. يمكنك البدء في تدوير هذه البيانات لتحليل نقاط الاهتمام بسهولة أكبر.
يمكنك البدء بتجميع بسيط باستخدام وظائف groupby و agg في Pandas لإجراء حساب لعدد الطلبات الخاصة برموز الحالة المختلفة.
status_code = logs_filtered.groupby ("كود الحالة"). agg ("الحجم")
لتكرار نوع العد الذي تستخدمه في Excel ، تحتاج إلى تحديد دالة مجمعة لـ "الحجم" ، وليس "العد". إذا كنت تستخدم count ، فسوف تستدعي الوظيفة في جميع الأعمدة داخل DataFrame ، ويتم التعامل مع القيم الخالية بشكل مختلف. ستؤدي إعادة تعيين الفهرس إلى استعادة الرؤوس لكلا العمودين ، ويمكن إعادة تسمية العمود الأخير إلى شيء أكثر صلة.
إذا كنت تريد معالجة بيانات أكثر تقدمًا ، فإن الجداول المحورية المضمنة في Pandas تقدم وظائف مماثلة لـ Excel ، مما يجعل التجميعات المعقدة ممكنة بسطر واحد فقط من التعليمات البرمجية. في أبسط مستوياتها الأساسية ، تتطلب الوظيفة DataFrame وفهرسًا محددًا (أو فهارس إذا كان الفهرس المتعدد مطلوبًا) وتعيد القيم المقابلة.
لمزيد من التحديد ، يمكن الإعلان عن القيم المطلوبة ويمكن تطبيق التجميعات (المجموع ، المتوسط ، إلخ) باستخدام المعلمة aggfunc. يمكن أن تساعدك معلمة الأعمدة أيضًا في عرض القيم أفقيًا للحصول على إخراج أوضح.
دمج النطاقات
بالنسبة لنقاط البيانات مثل البايت ، والتي قد تحتوي على العديد من القيم الرقمية المختلفة ، ستحتاج إلى تجميع البيانات. للقيام بذلك ، حدد الفواصل الزمنية الخاصة بك داخل قائمة ثم استخدم وظيفة القطع لفرز القيم في سلال ، مع تحديد np.inf للقبض على أي شيء يتعلق بالقيمة القصوى المعلنة.
6. التصدير
أخيرًا ، تحتاج إلى تصدير بيانات السجل والمحور. لتسهيل التحليل ، ستحتاج إلى تصدير بياناتك إلى ملف Excel بدلاً من CSV. تدعم ملفات XLSX أوراق متعددة ، مما يعني أنه يمكنك دمج جميع إطارات البيانات في ملف واحد. يمكنك تحقيق ذلك باستخدام التفوق. ستحتاج إلى تحديد كائن ExcelWriter لأنك تضيف أكثر من ورقة واحدة إلى نفس المصنف. بالإضافة إلى ذلك ، عندما تقوم بتصدير عدد كبير من النقاط المحورية ، فإنه يساعد في تبسيط الأمور عن طريق تخزين إطارات البيانات وأسماء الأوراق في قاموس واستخدام حلقة for.
ضع في اعتبارك أن حد صف Excel هو 1،048،576. نظرًا لأنك تقوم بتصدير كل طلب ، فقد يتسبب ذلك في حدوث مشكلات إذا كانت لديك عينات كبيرة. لا يوجد حد لملفات CSV ، لذلك يمكن استخدام عبارة if لإضافة تصدير CSV كإجراء احتياطي. بعد ذلك ، إذا كان طول ملف السجل DataFrame يزيد عن 1،048،576 ، فسيتم تصديره كملف CSV. هذا يمنع البرنامج النصي من الفشل ولا يزال يدمج المحاور في تصدير واحد.

تحليل وتحريك ملفات تحسين محركات البحث باستخدام تصميم تحسين محركات البحث في شيكاغو
على الرغم من أن استخدام Python لتحليل ملفات SEO وتحريكها يعد مهارة مفيدة ، إلا أنه من الصعب أيضًا إتقانها. إذا كنت بحاجة إلى مساعدة بشأن ملفات تحسين محركات البحث ، فاتصل بخبراء بيانات تحسين محركات البحث في SEO Design Chicago اليوم للحصول على المساعدة!
أسئلة وأجوبة:
- ما هي لغة بايثون؟
- كيف يمكنني استخدام Python لتحليل ملفات SEO الخاصة بي وتحويلها إلى محاور؟
- لماذا يجب علي استخدام Python لتحليل ملفات SEO الخاصة بي وتحويلها إلى محاور؟
- كيف يمكنني استخراج طلبات محرك البحث باستخدام Python؟
- هل أحتاج إلى معرفة كيفية البرمجة لتحليل ملفات تحسين محركات البحث الخاصة بي وتحريكها على محاور؟
