بلاگ پر واپس جائیں
3 اکتوبر، 2025Sergei Solod5 منٹ پڑھنے کا وقت

Yandex نے میرے بلاگ کو /en کے بغیر crawl کیا، 308 redirects نے 404 سے بچایا

sitemap میں تقریباً 3000 /en/blog/... صفحات شامل کرنے کے بعد میں نے دیکھا کہ Yandex متعلقہ /blog/... راستے آزما رہا تھا۔ پہلے سے موجود 308 redirects نے ان requests کو 404 پر ختم ہونے سے روک دیا۔ اصل سبق یہ نہیں تھا کہ Yandex نے sitemap “خراب” کر دیا، بلکہ یہ کہ ایک صاف redirect layer URL architecture کو کتنا resilient بنا سکتی ہے۔

SEOYandexSitemap308 RedirectTechnical SEOCrawling

میں نے تقریباً 3000 نئی صفحات کے ساتھ sitemap اپڈیٹ جاری کی، جن کی ساخت /en/blog/... تھی۔ کچھ ہی دیر بعد Yandex Webmaster میں ایک غیر متوقع pattern نظر آیا: Yandex اسی طرح کے راستے /blog/... کے تحت crawl کرنے کی کوشش کر رہا تھا، یعنی /en prefix کے بغیر۔

اگر یہ URLs سیدھا 404 دیتے تو ممکن تھا کہ ہزاروں بے فائدہ crawl attempts غیر موجود paths پر آتے۔ خوش قسمتی سے میں پہلے ہی زبان کے prefix کے بغیر routes سے اصل انگریزی URLs تک مستقل 308 redirects لگا چکا تھا۔

یہ چھوٹی سی defensive routing layer میری توقع سے زیادہ اہم نکلی۔

میں نے حقیقت میں کیا دیکھا

  1. میں نے تقریباً 3000 نئی /en/blog/... صفحات کے ساتھ sitemap شائع کیا۔
  2. اس کے بعد Yandex Webmaster نے دکھایا کہ Yandex متعلقہ /blog/... URLs crawl کرنے کی کوشش کر رہا ہے۔
  3. ان متبادل paths پر پہلے ہی 308 redirects موجود تھے۔
  4. اس لیے requests 404 پر ختم ہونے کے بجائے مطلوبہ /en/blog/... URLs پر پہنچ گئیں۔

میری ابتدائی تحریر میں ایک اہم correction ضروری ہے: میں یہ ثابت نہیں کر سکتا کہ Yandex نے “sitemap غلط parse کیا”۔ میں نے sitemap اپڈیٹ کے بعد غیر متوقع paths دیکھے، مگر صرف timing اندرونی وجہ ثابت نہیں کرتی۔ Search engines URLs کو مختلف signals اور تاریخی sources سے discover کر سکتے ہیں۔ مضبوط evidence کے بغیر درست بات صرف یہ ہے کہ Yandex نے ایسے paths crawl کیے جن کی مجھے توقع نہیں تھی۔

یہ فرق اہم ہے۔ Crawler کا عجیب URL مانگنا observation ہے؛ اس نے وہ URL کیوں چنا، یہ الگ claim ہے۔

308 redirects کیوں مفید تھے

میری redirect logic چھوٹے path کو localized URL کا مستقل alias سمجھتی تھی:

/blog/example-post  -> 308 ->  /en/blog/example-post

اس لیے crawler غیر متوقع URL سے آنے کے باوجود اسی page تک پہنچا جسے میں serve کرنا چاہتا تھا۔

308 Permanent Redirect ایک permanent HTTP redirect ہے جو request method اور body کو برقرار رکھتا ہے۔ عام crawler GET requests میں method preservation عموماً بنیادی فائدہ نہیں ہوتا؛ میرے case میں اہم بات یہ تھی کہ redirect واضح طور پر permanent تھا۔ Yandex Webmaster کی موجودہ documentation 301 اور 308 دونوں کو permanent redirects قرار دیتی ہے۔

redirects پر Yandex Webmaster کی official documentation.

اس کا مطلب یہ نہیں کہ SEO کے لیے 308 ہمیشہ 301 سے بہتر ہے۔ میرے پاس 308 پہلے سے تھے اور انہوں نے بس وہ کام کیا جس کی ضرورت تھی: غیر متوقع URL dead end نہیں بنا۔

Redirect safety net ہے، sitemap fix نہیں

Redirects نے اثر محدود کیا، مگر غیر ضروری crawling کو اچھا نہیں بنا دیا۔ ہر اضافی redirect ایک اضافی request اور hop ہے۔ بہت broad rule URL generation کی غلطی بھی چھپا سکتا ہے اگر آپ غلط URLs کے source کو دیکھنا چھوڑ دیں۔

اگر sitemap خود پرانی یا redirect ہونے والی URLs رکھتا ہو تو صحیح حل sitemap کو درست کرنا اور final URLs دینا ہے۔ Redirects کو old، alternate یا اتفاقاً discover ہونے والے paths کو handle کرنا چاہیے، sloppy URL data کو justify نہیں کرنا چاہیے۔

میرے case میں sitemap پہلے ہی /en/blog/... استعمال کر رہا تھا۔ Redirects صرف اس وقت site کو زیادہ tolerant بناتے تھے جب crawler /blog/... کے ذریعے آتا۔

آج میں کیا check کروں گا

  1. حقیقی deployed sitemap کھولوں گا۔ صرف generator code پر اعتماد نہیں، final file اور sample URLs دیکھوں گا۔
  2. Final responses check کروں گا۔ Index ہونے والی URLs کو ideally بلاوجہ redirect chains کے بغیر اصل page تک جانا چاہیے۔
  3. Predictable alternate paths test کروں گا۔ اگر old یا prefix-less URL کا permanent destination ہے تو mapping واضح اور one-to-one ہو۔
  4. Redirect chains سے بچوں گا۔ A -> B -> C کو سمجھنا A -> C سے مشکل ہے۔
  5. ممکن ہو تو crawler reports کو server-side evidence سے ملاؤں گا۔ Webmaster tools useful ہیں مگر ہمیشہ یہ نہیں بتاتے کہ URL پہلی بار کہاں ملا۔
  6. Crawling سے ranking infer نہیں کروں گا۔ Crawling، indexing، ranking اور traffic الگ مراحل ہیں۔
curl -I https://example.com/blog/example-post

HTTP/2 308
location: https://example.com/en/blog/example-post

یہ illustrative example ہے۔ مقصد exact status اور exact destination verify کرنا ہے، rule کے کام کرنے کا اندازہ لگانا نہیں۔

میں کیا conclude کر سکتا ہوں اور کیا نہیں

میں confirm کر سکتا ہوں کہ موجودہ 308 redirects نے غیر متوقع /blog/... requests کو 404 پر ختم ہونے سے روکا اور مطلوبہ URLs پر بھیجا۔

میں یہ confirm نہیں کر سکتا کہ Yandex کا sitemap parser وجہ تھا۔ میں نے ranking gain، indexing improvement یا کسی خاص مقدار میں “saved” traffic بھی measure نہیں کیا۔ ایسا کہنا evidence سے آگے جانا ہوگا۔

میرے لیے اصل lesson زیادہ محدود مگر زیادہ useful ہے: URL architecture کو system boundaries پر predictable mistakes برداشت کرنے چاہئیں۔ صاف sitemap پہلی دفاعی layer ہے، درست permanent redirects دوسری۔

دونوں موجود ہوں تو ایک غیر متوقع crawler path کے ہزاروں dead URLs بننے کا امکان بہت کم ہو جاتا ہے۔