روابط مختصرة تدوم: نظام لإدارة الروابط المختصرة للمواقع على ووردبريس وAWS
جعفر أبازيد
حين تنشر مؤسّسة إعلامية قصّة عاجلة وتشاركها على وسائل التواصل، يكون العنوان مُحكمًا، أمّا الرابط خلفه فسلسلة طويلة من الرموز مثل %D8%A7%D9%84... لا يقرأها ولا يفهمها أحد. هذا ما يحدث للروابط العربية على وسائل التواصل: يُخزّن ووردبريس الـ slug مُرمَّزًا بصيغة percent-encoded، فيتحوّل العنوان العربي الأنيق إلى جدارٍ من البايتات لحظة مغادرته الموقع.
الحلّ المعتاد في كبرى المؤسّسات الإعلامية هو الروابط المختصرة بنطاقٍ مخصّص: sho.rt/9Kx2a بدل ذلك الجدار. والسؤال الوحيد: هل تشتري الخدمة من مزوّدٍ مثل Bitly، أم تبنيها بنفسك؟ نحن اخترنا الاثنين معًا، لغاية في نفس يعقوب.
القاعدة التي وضعناها: قدرتنا على التحكّم بروابطنا المختصرة يجب ألّا يعتمد أبدًا على شركةٍ لا نملك زمامها. فالرابط المختصر يعيش سنوات في التغريدات وقنوات تيليجرام ورسائل واتساب؛ وإن أوقف المزوّد خدمته أو رفع أسعاره، ماتت تلك الروابط ومعها زياراتها. لذلك يخدم Bitly النطاق المختصر اليوم (من أجل التحليلات وواجهة المحرّرين السهلة)، بينما يقف خلفه حلٌّ داخلي على بنية AWS الخاصّة بنا، متزامنٌ بالكامل وجاهزٌ ليتولّى المهمّة بتغيير سجلّ DNS واحد.
حجر الأساس قرارٌ واحد: معرّفٌ مختصر واحد (short ID) يُولَّد مرّة واحدة في ووردبريس ويُعاد استخدامه في كل مكان: في قاعدة بياناتنا، وDynamoDB، وعلى Bitly. ولأنّ له نفس القيمة في المواضع الثلاثة، يصبح تبديل المزوّد غير مرئيٍّ لمن يملك الرابط. وهذا المعرّف هو ما يجعل الرابط يصمد عبر أيّ ترحيلٍ migration مستقبلي، لأنّ الحلّ يستند إليه لا إلى رابطٍ طويل قد يتغيّر.
هذه نظرة موجزة. أمّا التفاصيل الكاملة، فكّ الروابط على الـ Edge عبر CloudFront وLambda@Edge وDynamoDB، ومسار الكتابة عند النشر، ومعالجة تصادم المعرّفات، وتفاصيل التكامل مع Bitly وكيف نبني حلاً للتحليلات analytics بديلًا عنه، مع الكود والمخطّطات الكاملة، فتجدها في النسخة الإنجليزية:
→ Short links that outlive the vendor: a newsroom URL shortener on WordPress and AWS