اپنی ویب سائٹ پر SEO کے عمومی تکنیکی مسائل کو کیسے تلاش اور حل کریں۔

فرض کریں کہ آپ نے ایک ویب سائٹ بنائی ہے۔ آپ نے ایک ڈیزائن میں سرمایہ کاری کی، ایک ڈومین خریدا، اور بہت کچھ۔ لیکن ویب سائٹ صرف وہی نہیں ہے جو آپ اسکرین پر دیکھتے ہیں۔ پردے کے پیچھے بہت کچھ ہوتا ہے۔ آپ کو یہ سمجھنے کی ضرورت ہے کہ انٹرنیٹ کیسے کام کرتا ہے اور سرچ انجن آپٹیمائزیشن (SEO) کیسے کام کرتا ہے۔

رفتار بھی اہم ہے۔ ایک سست سائٹ میں بہت خراب SEO ہوسکتا ہے۔ خاص طور پر ان دنوں کیونکہ زیادہ تر لوگ صفحات کے لوڈ ہونے کے انتظار میں زیادہ وقت نہیں گزارتے۔

سائٹ کی رفتار ایک معروف موضوع ہے جس پر غور کرنے کے لیے بہت سے مسائل شامل ہیں، بشمول Largest Contentful Paint (LCP)، Cumulative Layout Shift (CLS)، سرور کی رفتار، اور بہت کچھ۔ لیکن میں ان کو کسی اور مضمون کے لیے محفوظ کروں گا۔

یہ اس مسئلے کے بارے میں ہے جو سرچ انجنوں کو آپ کے صفحات تک رسائی اور پڑھنے سے روکتا ہے۔

میری رائے میں، تکنیکی SEO کا اطلاق عام SEO کے مقابلے میں زیادہ مشکل ہے، جو مواد اور مطلوبہ الفاظ پر مرکوز ہے۔ تکنیکی پہلوؤں کے لیے اکثر ڈویلپر کے علم کی ضرورت ہوتی ہے اور ان تبدیلیوں کی ضرورت پڑ سکتی ہے جو تکنیکی پس منظر کے بغیر کسی حد تک تکلیف دہ ہو سکتی ہیں۔

تکنیکی مسائل عام طور پر کسی کا دھیان نہیں دیتے اور مہینوں تک کسی کا دھیان نہیں رہ سکتے۔ یہ ڈیزائن کا مسئلہ نہیں ہے۔ مثال کے طور پر، آپ اسے صرف اس وقت تلاش کر سکتے ہیں جب آپ Google PageSpeed ​​Insights کا استعمال کرتے ہوئے ایک مخصوص چیک چلاتے ہیں۔

اس ٹیوٹوریل میں، ہم چھوٹی پریکٹس سائٹس پر سب سے زیادہ عام مسائل کو تلاش اور حل کریں گے۔ میں ایک حقیقی ویب سائٹ لینا اور اس کے مالک کو شرمندہ نہیں کرنا چاہتا تھا، اس لیے میں نے ایک پریکٹس سائٹ بنائی جس میں پہلے سے ہی مسائل تھے۔

انڈیکس

شرطیں

آپ کو ساتھ چلنے کے لیے تجربہ کار پروگرامر بننے کی ضرورت نہیں ہے۔ آپ کو ضرورت ہو گی:

  • ایک ویب براؤزر جیسے کروم، فائر فاکس، ایج، یا سفاری۔ اسے پہلے سفاری میں آن کریں۔ ویب ڈویلپرز کے لیے خصوصیات دکھائیں۔ سیٹنگز > ایڈوانسڈ میں۔
  • ٹرمینل: میکوس پر ٹرمینل، ونڈوز پر پاور شیل، یا لینکس پر کوئی ٹرمینل۔
  • curlیہ ایک چھوٹا پروگرام ہے جو ویب صفحات کو ڈاؤن لوڈ کرتا ہے۔ میک او ایس، زیادہ تر لینکس ڈسٹری بیوشنز، ونڈوز 10 (ورژن 1803 یا بعد میں) اور ونڈوز 11 کے ساتھ آتا ہے۔
  • ہم ایک Node.js پریکٹس سائٹ چلاتے ہیں۔ کوڈ کا تجربہ Node.js 26.8 اور curl 8.7 پر کیا گیا ہے۔

ونڈوز پاور شیل میں، ٹائپ کریں: curl.exe اس کے بجائے curlکیونکہ وہاں curl یہ ایک اور کمانڈ کا شارٹ کٹ ہے۔ تبدیلی | grep -i "text" کے ساتھ | Select-String "text"اور /dev/null کے ساتھ NUL.

تکنیکی SEO کیا ہے؟

گوگل کا ایک پروگرام ہے جسے کرالر کہتے ہیں۔ وہ ہمیشہ نئی ویب سائٹس اور نئے صفحات تلاش کرنے کے لیے انٹرنیٹ پر تلاش کرتے رہتے ہیں۔ جب گوگل کو کوئی نیا پتہ معلوم ہوتا ہے، تو وہ صفحہ کو کرال کر سکتا ہے اور صفحہ پر موجود مواد (متن، تصاویر، ویڈیوز) پر کارروائی کر سکتا ہے۔

اگر گوگل یہ طے کرتا ہے کہ صفحہ اشاریہ سازی کے قابل ہے، تو وہ اسے ویب صفحات کے ایک بہت بڑے ڈیٹا بیس میں شامل کر سکتا ہے جسے اشاریہ کہتے ہیں۔ گوگل پھر تلاش کے نتائج کے لیے اپنے انڈیکس میں صفحات پر غور کر سکتا ہے اگر وہ اس سے متعلقہ ہیں جو کوئی تلاش کر رہا ہے۔ تلاش کیسے کام کرتی ہے اس کے لیے گوگل کی گائیڈ اسے تین مراحل کہتی ہے: کرالنگ، انڈیکسنگ، اور سرچنگ۔

لہذا رینگنا اشاریہ سازی کی ضمانت نہیں دیتا، اور اشاریہ سازی نتائج میں پوزیشن کی ضمانت نہیں دیتی۔ وہی گائیڈ کہتا ہے کہ گوگل تین مراحل میں سے کسی کی بھی ضمانت نہیں دیتا، یہاں تک کہ ان صفحات کے لیے جو تمام اصولوں پر عمل کرتے ہیں۔

تکنیکی مسائل کو ٹھیک کرنے سے ضروری نہیں کہ آپ کی سائٹ گوگل پر نمبر 1 پر آئے۔ لیکن آپ جو بھی مسئلہ حل کرتے ہیں وہ آپ کی سائٹ کو بہتر بناتا ہے، اس لیے اس سے آپ کے اونچے درجے کے امکانات بڑھ جاتے ہیں۔

تکنیکی SEO کو عمومی SEO جیسے مطلوبہ الفاظ، بیک لنکس، سوشل میڈیا مشغولیت وغیرہ کے ساتھ مل کر کیا جانا چاہیے۔

حقیقی ویب سائٹس میں یہ مسائل کتنے عام ہیں؟

نیچے دیے گئے نمبر ایک آڈٹ سے آتے ہیں جو میں نے بنایا ہوا سائٹ آڈٹ ٹول استعمال کرتے ہوئے چلایا جاتا ہے۔ ہر ویب سائٹ کو پہلے آڈٹ کے دوران ایک بار شمار کیا جاتا ہے، اور یہ ڈیٹا 25 اکتوبر سے دستیاب ہوگا۔

ایک کرال سائٹ کے متعدد صفحات کو چیک کرتا ہے (اس معاملے میں، اوسطاً 10 صفحات)۔ ایک صفحے کا آڈٹ ایک صفحہ (عام طور پر ہوم پیج) کو چیک کرتا ہے۔

مسئلہ کتنی بار نمونہ
کینونیکل ٹیگز کے بغیر ایک یا زیادہ صفحات ہیں۔ 64.2% سائٹس 53 کرال شدہ سائٹس، اگست 2025 سے اکتوبر 2026
بالکل اسی عنوان کے ساتھ دو یا زیادہ صفحات 61.8% سائٹس ایک سے زیادہ صفحات بھری ہوئی 34 کرال شدہ سائٹس
میٹا تفصیل کے بغیر کم از کم ایک صفحہ ہے۔ 49.1% سائٹس 53 کرال شدہ سائٹس
ایک یا زیادہ لنکس ایک ایسے صفحے کی طرف لے جاتے ہیں جو 404 لوٹاتا ہے۔ 18.9% سائٹس 53 کرال شدہ سائٹس
بنیادی طور پر JavaScript میں لکھے گئے صفحات صفحات کی تعداد 17.7% 277 سنگل پیج آڈٹس، مئی-اکتوبر 2026
کم از کم ایک صفحہ بغیر عنوان کے ہے۔ 13.2% سائٹس 53 کرال شدہ سائٹس
وہ لنکس جنہیں سرچ انجن پیروی نہیں کر سکتے 8.3% صفحات 278 سنگل پیج آڈٹ
Robots.txt فائل جس میں خرابی ہے یا فائل لوڈ ہونے میں ناکام ہے۔ 7.9% سائٹس 252 سنگل پیج آڈٹس، جولائی-اکتوبر 2026
NOINDEX یا robots.txt کے ذریعے بلاک کیے گئے صفحات صفحات کی تعداد 4.8% 251 سنگل پیج آڈٹس، جولائی-اکتوبر 2026

یہ تمام تکنیکی مسائل ہیں، لیکن ان سب کا وزن ایک جیسا نہیں ہے۔ غائب ہونے والا کینونیکل ٹیگ سب سے اوپر ہے، لیکن گوگل کو کینونیکل ٹیگز کی ضرورت نہیں ہے، لہذا ٹیگ کے بغیر صفحہ خود نہیں ٹوٹے گا۔ جیسا کہ آپ معیارات کے سیکشن میں دیکھ سکتے ہیں، یہ اہم ہے کہ آیا ایک جیسے یا بہت ملتے جلتے مواد تک دو یا زیادہ URLs سے رسائی حاصل کی جا سکتی ہے۔

ڈپلیکیٹ ٹائٹل وہ چیز ہے جو میں نے خود اپنے پاس رکھی تھی۔ کوڈ لکھتے وقت اس طرح کی چیزوں کو یاد کرنا آسان ہے۔ اس لیے ان مسائل کی جانچ کرنے کے لیے ٹولز موجود ہیں۔

آئیے ٹیبل میں موجود ہر سوال پر گہری نظر ڈالتے ہیں تاکہ یہ یقینی بنایا جا سکے کہ وہ سب واضح ہیں۔

  • معیاری ٹیگز غائب ہیں: معیاری ٹیگز بنیادی طور پر ہیں۔ of your HTML. When two or three pages have pretty much the same content, it tells search engines like Google which URL is the original, main version, the one you prefer to get indexed. It’s not required, though: without it, Google picks the main version itself, so it matters mostly for pages that have duplicates.
  • Duplicate titles: it’s really easy to end up with the same title on two pages. You don’t want a duplicated title because it’s not helpful and can confuse Google. Each page should say what it’s about.
  • Missing meta description: this one is really important, because it helps search engines as well as AI tools like ChatGPT. The meta description is there to explain very briefly what the page is about and what it’s for. If you go to Google and search for a website, you’ll see it under the actual link to the site.
  • A link to a 404 page: this basically means you have a broken link (maybe a link you probably don’t use anymore) to a page that isn’t there. So there’s no reason for it to lead to something that doesn’t exist. Use it to lead to something similar, or to something that does exist, so your links remain relevant.
  • A page built mostly with JavaScript: Google can run JavaScript, so this alone doesn’t keep a page out of Google. But the content appears only after the JavaScript loads and runs, which is slower for visitors and one more step that can fail, and not every crawler runs JS. That’s why I prefer server-side rendering for the content that matters most.
  • A link search engines can’t follow: this isn’t a huge deal, and it really depends where the link goes. But say I wrote a really nice article and I want it to help me rank on Google. If search engines can’t follow the link to it, then you invested all this time and energy in this article that relatively few people will likely see.
  • Errors in robots.txt: robots.txt basically helps you talk to search engines. If there are errors in this file, you might stop search engines from crawling pages you do want in search results.
  • A page blocked by noindex or robots.txt: these are two different things. A noindex قاعدہ سرچ انجنوں سے صفحہ کو نتائج سے خارج کرنے کے لیے کہتا ہے، جب کہ robots.txt اصول صرف صفحہ کو رینگنا روکتا ہے۔ ہم بعد میں اس ٹیوٹوریل میں ان دونوں کے بارے میں مزید جانیں گے اور یہ کہ اختلافات کیوں اہم ہیں۔

نرم 404s، ری ڈائریکٹ چینز، اور غلط کینونیکل ٹیگز آڈٹ میں ریکارڈ نہیں کیے جاتے ہیں اور اس لیے ٹیبل میں نہیں ہیں۔

پریکٹس فیلڈ کو کیسے ترتیب دیا جائے۔

ہینڈ آن سائٹ ایک کاسمیٹکس اسٹور کے لیے ایک چھوٹی ویب سائٹ ہے جسے Acme Shoes کہتے ہیں۔ ہر صفحہ میں ایک مسئلہ ہوتا ہے۔ آپ کو کوڈ کی ہر لائن کو سمجھنے کی ضرورت نہیں ہے۔

ایک نیا فولڈر بنائیں اور درج ذیل فائلیں شامل کریں: server.jsدرج ذیل کوڈ پر کلک کریں اور پیسٹ کریں:

// server.js: a tiny practice site with common technical SEO problems built in
const http = require('node:http');

const PORT = 8080;
const BASE = 'http://localhost:' + PORT;

// Builds a simple HTML page. Leave out a field to leave that tag out.
function page({ title, description, canonical, robots, body, script }) {
  return [
    '',
    '',
    '',
    '',
    title && '' + title + '',
    description && '',
    canonical && '',
    robots && '',
    '',
    '',
    body,
    script && '',
    '',
    '',
  ]
    .filter(Boolean)
    .join('\n');
}

const routes = {
  '/': {
    html: page({
      title: 'Acme Shoes: Running Shoes for Every Runner',
      description: 'Lightweight running shoes for road and trail, with free returns.',
      canonical: '/',
      body: [
        '',
        'Blue Runner',
        'Summer sale',
      ].join('\n'),
    }),
  },
  // Problem: a vague title and no meta description
  '/products/blue-runner': {
    html: page({
      title: 'Acme Shoes',
      canonical: '/products/blue-runner',
      body: '',
    }),
  },
  // Problem: a missing product that still answers "200 OK" (a soft 404)
  '/products/red-runner': {
    html: page({
      title: 'Acme Shoes',
      body: '',
    }),
  },
  // Problem: a redirect chain, /old-sale -> /sale-2025 -> /sale
  '/old-sale': { redirect: '/sale-2025' },
  '/sale-2025': { redirect: "https://www.freecodecamp.org/sale" },
  "https://www.freecodecamp.org/sale": {
    html: page({
      title: 'Summer Sale: Up to 40% Off Running Shoes | Acme Shoes',
      description: "Save up to 40% on last season's running shoes until August 31.",
      canonical: "https://www.freecodecamp.org/sale",
      body: '',
    }),
  },
  // Problem: a noindex header nobody can see in the page itself
  '/about': {
    headers: { 'X-Robots-Tag': 'noindex' },
    html: page({
      title: 'About Acme Shoes',
      description: 'How a two-person workshop became a running shoe brand.',
      canonical: '/about',
      body: '',
    }),
  },
  // Problem: a canonical tag that points to the home page
  '/blog/choosing-trail-shoes': {
    html: page({
      title: 'How to Choose Trail Running Shoes | Acme Shoes',
      description: 'Grip, drop and fit: what to look for in a trail running shoe.',
      canonical: '/',
      body: '',
    }),
  },
  // Problem: the content only exists after JavaScript runs
  '/catalog': {
    html: page({
      title: 'All Running Shoes | Acme Shoes',
      description: 'Browse every Acme running shoe.',
      canonical: '/catalog',
      body: '

Loading...

', script: "fetch('/api/products').then((r) => r.json()).then((products) => {" + "document.getElementById('app').innerHTML = products.map((p) => '

' + p + '

').join('');" + '});', }), }, '/api/products': { type: 'application/json', html: JSON.stringify(['Blue Runner', 'Trail Grip 2', 'City Glide']), }, // Problem: "Disallow: /blog" blocks every path that starts with /blog '/robots.txt': { type: 'text/plain', html: 'User-agent: *\nDisallow: /blog\n', }, }; http .createServer((req, res) => { const path = new URL(req.url, BASE).pathname; const route = routes[path]; if (!route) { res.writeHead(404, { 'Content-Type': 'text/html; charset=utf-8' }); return res.end(page({ title: 'Page not found', body: '' })); } if (route.redirect) { res.writeHead(301, { Location: route.redirect }); return res.end(); } res.writeHead(200, { 'Content-Type': (route.type || 'text/html') + '; charset=utf-8', ...route.headers, }); res.end(route.html); }) .listen(PORT, () => console.log('Practice site running at ' + BASE));

ہر ایک کی اسٹروک routes یہ صفحہ کا پتہ ہے۔ سے شروع ہونے والے تبصرے۔ Problem: مجھے بتائیں کہ ہر صفحے کے ساتھ کیا غلط ہے؟

اسی فولڈر سے سرور شروع کریں۔

node server.js

آپ کو درج ذیل کو چیک کرنا چاہئے:

Practice site running at http://localhost:8080

سرور کو چلتے رہنے دیں اور نیچے دی گئی کمانڈ کے لیے دوسرا ٹرمینل کھولیں۔ کب بدلنا ہے۔ server.jsCtrl+C کا استعمال کرتے ہوئے سرور کو روکیں اور دوبارہ شروع کریں۔

کسی صفحے کے HTTP اسٹیٹس کوڈ کو کیسے چیک کریں۔

جب میں نے ویب سائٹس بنانا شروع کیں تو مجھے ہر طرح کی چھوٹی چھوٹی چیزیں بنانا یاد ہے۔ میں ایک مکمل اسٹیک ڈویلپر ہوں اور میں مسلسل تجربہ کر رہا ہوں۔

ایک بار میں نے دیکھا کہ سرور کی طرف ایک مسئلہ ہے اور نیٹ ورک ٹیب نے 500 کی خرابی واپس کردی۔ ایک اور بار میں نے جان بوجھ کر ایک صفحہ ہٹا دیا کیونکہ میں یہ دیکھنا چاہتا تھا کہ آیا یہ 404 یا کوئی اور مسئلہ پیدا کرے گا۔ آپ جس سائٹ کو بنا رہے ہیں اسے آزما کر آپ نتائج سے بہت کچھ سیکھ سکتے ہیں۔

HTTP اسٹیٹس کوڈ پہلی چیز ہیں جو سرچ انجن پڑھتے ہیں۔ یہ کلائنٹس کے ساتھ بات چیت کرنے کا سرور کا طریقہ ہے، جیسے براؤزر۔ کوڈز کو پانچ رینجز میں تقسیم کیا گیا ہے: 1xx، 2xx، 3xx، 4xx، اور 5xx۔ مثال کے طور پر، 5xx کوڈ سرور کا مسئلہ ہے اور 4xx کوڈ کلائنٹ سائڈ کا مسئلہ ہے۔

404 سب سے عام غلطی ہے۔ اس کا مطلب ہے کہ آپ کی سائٹ پر کوئی صفحہ نہیں مل سکتا۔ مجھے ہمیشہ ایک 404 ملتا ہے اور عام طور پر سائٹ کا لنک رکھنا ہی طے ہوتا ہے۔

یہاں وہ کوڈ ہے جو آپ اس ٹیوٹوریل میں دیکھتے ہیں:

  • 200 OK: صفحہ اس طرح ہے۔
  • 301 Moved Permanently: صفحہ ایک مختلف پتے پر واقع ہے۔
  • 404 Not Found: یہاں کوئی صفحات نہیں ہیں۔

گوگل ان یو آر ایل کو انڈیکس نہیں کرتا ہے جو لوٹتے ہیں: 4xx HTTP اسٹیٹس کوڈز کی دستاویزات کے مطابق یہ کوڈز ہیں۔

اپنی پریکٹس سائٹ کے ہوم پیج کے اسٹیٹس کوڈ کو دیکھنے کے لیے، استعمال کریں: -Iصرف ہیڈرز دکھائیں۔ -sکرل کی ترقی کے اشارے کو چھپاتا ہے۔

curl -sI http://localhost:8080/
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Date: Sun, 25 Oct 2026 17:42:53 GMT
Connection: keep-alive
Keep-Alive: timeout=5

اب ایک ایسے ایڈریس کی درخواست کریں جو درج ذیل ایڈریس میں نہ ہو۔ routesیہ دیکھنے کے لیے کہ صحیح 404 کیسا لگتا ہے:

curl -sI http://localhost:8080/products/does-not-exist
HTTP/1.1 404 Not Found
Content-Type: text/html; charset=utf-8
Date: Sun, 25 Oct 2026 17:42:53 GMT
Connection: keep-alive
Keep-Alive: timeout=5

اپنے براؤزر میں ڈیولپر ٹولز (F12, Cmd+Option+I میک پر) کھولیں۔ نیٹ ورک تھپتھپائیں اور تازہ دم کریں۔ کہ صورت حال کالم ڈسپلے کوڈز۔

سافٹ 404 کیا ہے؟

چیک کریں کہ کون سی مصنوعات اب اسٹور میں دستیاب نہیں ہیں۔

curl -sI http://localhost:8080/products/red-runner
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Date: Sun, 25 Oct 2026 17:42:53 GMT
Connection: keep-alive
Keep-Alive: timeout=5

آپ کا براؤزر اسی صفحہ پر "معذرت، ہمیں وہ پروڈکٹ نہیں مل سکا” کا پیغام دکھائے گا۔

ایک نرم 404 بنیادی طور پر "صفحہ نہیں ملا” ہے، لیکن سرور پھر بھی جواب دیتا ہے۔ 200. پتہ اب بھی موجود ہے، لیکن مواد اب اپ ٹو ڈیٹ نہیں ہے، جو گوگل کو الجھا دیتا ہے۔

اس مسئلے کو حل کرنے کے لیے، گمشدہ صفحات کو اصل صفحات کی واپسی بنائیں۔ 404یہی گوگل تجویز کرتا ہے۔ اسے پریکٹس سائٹ سے حذف کریں۔ '/products/red-runner' سے داخل کریں۔ routes. پھر سرور جواب دیتا ہے۔ 404.

ٹوٹے ہوئے روابط اسی مردہ انجام کی طرف لے جاتے ہیں۔ ہمارے ڈیٹا میں کرال کی گئی 53 سائٹس میں سے، 18.9% کا کم از کم ایک لنک واپس کیے گئے صفحے کا تھا۔ 404.

اس لیے ان چیزوں کے لنک مت چھوڑیں جو موجود نہیں ہیں۔ براہ کرم ملتے جلتے یا موجودہ مواد سے لنک کرنے کے لیے اپ ڈیٹ کریں۔

اگر صفحہ منتقل کر دیا گیا ہے۔ 301 آپ کو آپ کے پرانے پتے سے آپ کے نئے پتے پر بھیج دیا جائے گا۔ کوئی راستہ نہیں 404 یہ صرف ان صفحات کے لیے درست ہے جو واقعی غائب ہو چکے ہیں۔

ری ڈائریکٹ چینز کو کیسے ڈھونڈیں اور ٹھیک کریں۔

ری ڈائریکٹ بنیادی طور پر تب ہوتا ہے جب آپ ایک یو آر ایل (ایسا یو آر ایل جو اب موجود نہیں ہے) کو دوسرے یو آر ایل (ایسا یو آر ایل جو موجود ہے) کو بھیجنا چاہتے ہیں۔ مثال کے طور پر، اگر آپ اپنا ڈومین تبدیل کرتے ہیں تو آپ ری ڈائریکٹ ترتیب دے سکتے ہیں: example-x.com کو example-y.com. آپ ہر ایک کو چاہیں گے جو داخل ہوتا ہے۔ example-x.com ری ڈائریکٹ کیا جائے۔ example-y.com خود بخود

ری ڈائریکٹ ٹھیک ہیں اور مناسب طریقے سے استعمال ہونے پر کافی مددگار ثابت ہو سکتے ہیں۔ کوئی راستہ نہیں 301 اس کا مطلب ہے کہ صفحہ مکمل طور پر منتقل کر دیا گیا ہے۔ کوئی راستہ نہیں 302 اس کا مطلب ہے کہ یہ اقدام عارضی ہے۔ ری ڈائریکٹ پر گوگل کی دستاویزات بتاتی ہیں کہ ہر ایک ری ڈائریکٹ کو کیسے ہینڈل کیا جائے، اور کرالر 10 ری ڈائریکٹ ہوپس تک کی پیروی کرتا ہے۔

تاہم، ایک ری ڈائریکٹ چین اس وقت ہوتا ہے جب ایک پرانا پتہ، جیسا کہ پہلے استعمال شدہ ڈومین، کو ایک نئے ایڈریس پر ری ڈائریکٹ کیا جاتا ہے، اور پھر اس ایڈریس کو دوبارہ ری ڈائریکٹ کیا جاتا ہے، اور دوبارہ… آپ کو تصویر ملتی ہے۔ کچھ ری ڈائریکٹ ایک بڑی بات نہیں ہو سکتی ہے، لیکن 5، 6، یا 7 ایک حقیقی مسئلہ ہو سکتا ہے۔

ذیل میں پہلی کمانڈ زنجیر کے ہر قدم کو دکھاتی ہے۔ دوسرا ایک سطری خلاصہ فراہم کرتا ہے۔

شامل کریں -L تو curl ری ڈائریکٹ کی پیروی کرتا ہے۔

curl -sIL http://localhost:8080/old-sale
HTTP/1.1 301 Moved Permanently
Location: /sale-2025
Date: Sun, 25 Oct 2026 17:42:53 GMT
Connection: keep-alive
Keep-Alive: timeout=5

HTTP/1.1 301 Moved Permanently
Location: /sale
Date: Sun, 25 Oct 2026 17:42:53 GMT
Connection: keep-alive
Keep-Alive: timeout=5

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Date: Sun, 25 Oct 2026 17:42:53 GMT
Connection: keep-alive
Keep-Alive: timeout=5

/old-sale جا رہا ہے۔ /sale-2025یہ ہمیں لاتا ہے: /sale. ایک لائن میں خلاصہ کرنے کے لیے:

curl -sL -o /dev/null -w "%{num_redirects} redirects, ended at %{url_effective}\n" http://localhost:8080/old-sale
2 redirects, ended at http://localhost:8080/sale

-o /dev/null یہ curl کو کہیں بھی صفحہ کا HTML نہ لکھنے کو کہتا ہے، لہذا یہ ٹرمینل کو آباد کیے بغیر صرف سمری لائن پرنٹ کرتا ہے۔ -w وہ خلاصہ لائن کیا کہتی ہے اسے قائم کرتی ہے۔

اسے ٹھیک کرنے کے لیے، آخری صفحہ پر پرانے/اصل پتہ کی وضاحت کریں۔

'/old-sale': { redirect: "https://www.freecodecamp.org/sale" },

سرور کو دوبارہ شروع کریں اور خلاصہ دوبارہ چلائیں۔ اب میں کہتا ہوں۔ 1 redirects, ended at http://localhost:8080/sale.

یہ کیسے چیک کریں کہ آیا robots.txt اہم صفحات کو مسدود نہیں کر رہا ہے۔

robots.txt گوگل (اور اس کے کرالر) جیسے سرچ انجنوں کو یہ بتانے کا آپ کی سائٹ کا طریقہ ہے کہ انہیں کیا براؤز کرنے کی اجازت ہے اور وہ اس تک کہاں رسائی حاصل کر سکتے ہیں۔

پریکٹس سائٹ پر فائلوں پر ایک نظر ڈالیں:

curl -s http://localhost:8080/robots.txt
User-agent: *
Disallow: /blog

Disallow: /blog یہ خطرناک ہے کیونکہ یہ کرالر کو اس سے شروع ہونے والے تمام راستوں کو پڑھنے سے روکتا ہے: /blog. اور عام طور پر، آپ کے مضامین وہ ہیں جو آپ کی سائٹ کو سب سے زیادہ فروغ دیتے ہیں۔

گوگل کی robots.txt دستاویز اسی قسم کی مثالیں فراہم کرتی ہے۔ Disallow: /fish بلاک بھی /fish.html اور /fishheads.

اس کو ٹھیک کرنے کے لیے، یقینی بنائیں کہ صرف وہی آئٹمز جو آپ بلاک کرنا چاہتے ہیں (جیسے ڈرافٹ فولڈر) اصول سے مماثل ہوں۔

User-agent: *
Disallow: /blog-drafts/

مشق کی حد میں html لائن '/robots.txt' اندراج:

html: 'User-agent: *\nDisallow: /blog-drafts/\n',

robots.txt کرالنگ کو کنٹرول کرتا ہے، انڈیکسنگ کو نہیں۔ گوگل کا کہنا ہے کہ یہ گوگل سے آپ کے صفحات کی حفاظت کا طریقہ کار نہیں ہے۔ اس کے لیے آپ کو ضرورت ہو گی: noindex.

robots.txt میں بلاک کردہ URLs تلاش کے نتائج میں ظاہر ہو سکتے ہیں، عام طور پر بغیر کسی وضاحت کے، اگر کوئی دوسرا صفحہ ان سے لنک کرتا ہے۔ گوگل صفحہ کے مواد کو کبھی نہیں پڑھتا ہے۔

حادثاتی NOINDEX کو کیسے تلاش کریں۔

noindex گوگل کو کچھ صفحات کی انڈیکس نہ کرنے کی ہدایت کرتا ہے۔ یہ نقصان دہ ہے اگر یہ ان صفحات پر ظاہر ہوتا ہے جنہیں آپ انڈیکس اور درجہ بندی کرنا چاہتے ہیں، جیسے کہ پروڈکٹ کے صفحات یا ہوم پیجز۔

تاہم، یہ ان صفحات کے لیے مفید ہو سکتا ہے جنہیں درجہ بندی کرنے کی ضرورت نہیں ہے یا آپ کی سائٹ میں زیادہ اضافہ نہیں کرتے، جیسے لاگ ان، سائن ان، اور سائن اپ صفحات۔

noindex یہ صرف اس صورت میں کام کرتا ہے جب کرالر صفحہ پر پہنچ سکے اور قواعد کو پڑھ سکے۔ اگر robots.txt ایک ہی URL کو مسدود کرتا ہے، تو Google کبھی بھی وہ URL نہیں دیکھے گا۔ noindexصفحہ اب بھی تلاش کے نتائج میں ظاہر ہو سکتا ہے۔ تو گوگل پر جو صفحہ آپ چاہتے ہیں اس کے لیے استعمال کریں: noindex صفحہ کو کرال کرنے کے قابل چھوڑ دیں۔

ہمارے ڈیٹا میں 457 میں سے 11 (2.4%) آڈٹ شدہ صفحات۔ noindex روبوٹ میٹا ٹیگ۔ اسے ترتیب دینے کے دو طریقے ہیں، آپ دونوں کو چیک کریں۔

روبوٹ میٹا ٹیگز کو کیسے چیک کریں۔

پہلا طریقہ صفحہ پر ٹیگز کے ذریعے ہے۔ :


صفحہ پر درج ذیل الفاظ تلاش کریں:

curl -s http://localhost:8080/about | grep -i noindex

معلوماتی صفحہ پر کچھ بھی نہیں چھپا ہے۔ صفحہ پر دائیں کلک کریں اور صفحہ کا ماخذ دیکھیں، اور تلاش کرنے کی کوشش کریں۔ noindex.

NOINDEX کو ٹھیک کرنا واقعی آسان ہے۔ بنیادی طور پر، اسے ہٹانے سے سرچ انجن آپ کے صفحات کو انڈیکس کرنے کی اجازت دے گا۔

اسے صفحہ کے کوڈ یا ٹیمپلیٹ، CMS یا SEO پلگ ان کی ترتیبات میں تلاش کریں۔ ورڈپریس میں، ترتیبات ہیں سرچ انجنوں کو اس سائٹ کو انڈیکس کرنے سے روکیں۔ تمام صفحات میں شامل کریں۔

دوسرا طریقہ HTTP ہیڈر ہے۔ کے بارے میں صفحہ پر ہیڈر کو چیک کریں۔

curl -sI http://localhost:8080/about
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
X-Robots-Tag: noindex
Date: Sun, 25 Oct 2026 17:42:59 GMT
Connection: keep-alive
Keep-Alive: timeout=5

ہیڈر صفحہ کے سورس ویو میں ظاہر نہیں ہوتا، صرف جوابی ہیڈر میں۔ 12 میں سے 5 صفحات کو ڈیٹا سے بلاک کر دیا گیا۔ noindex دو کے پاس یہ ہیڈر HTML میں تھا اور تین کو robots.txt کے ذریعے رینگنے سے روک دیا گیا تھا۔

ورک بک میں ترمیم کرنے کے لیے headers لائن میں '/about' اندراج اپنی اصل سائٹ پر اپنے سرور کی ترتیب، ہوسٹنگ فراہم کنندہ کے ہیڈر کی ترتیبات، اور SEO پلگ انز کو چیک کریں۔

اگر آپ کے پاس متعدد صفحات ہیں جو کافی حد تک ایک ہی چیز کے بارے میں بات کرتے ہیں، لیکن کچھ بھی مختلف نہیں ہے، تو آپ شاید ایک مرکزی صفحہ نامزد کرنا چاہیں گے۔ کیننیکل ٹیگز سرچ انجنوں کو بتاتے ہیں کہ صفحہ کس بارے میں ہے۔

ایک ہی صفحہ متعدد پتوں پر موجود ہو سکتا ہے۔

https://example.com/blog/choosing-trail-shoes
https://example.com/blog/choosing-trail-shoes?utm_source=newsletter
https://www.example.com/blog/choosing-trail-shoes

یہ تینوں پتے ایک ہی مضمون کو ظاہر کرتے ہیں۔ پہلا بنیادی پتہ ہے، جو وہ پتہ ہے جسے گوگل تلاش کے نتائج میں ظاہر کرنا چاہتا ہے۔ لہذا تینوں کا ایک ہی کینونیکل ٹیگ ہے جو اس مرکزی صفحہ کی طرف اشارہ کرتا ہے۔


گوگل ?utm_source=newsletter ورژن جانتا ہے کہ صفحہ پہلے پتے کی نقل ہے۔ بیس ایڈریس میں وہی ٹیگ ہے جو اپنی طرف اشارہ کرتا ہے۔ اسے خود حوالہ معیار کہا جاتا ہے اور یہ کہتا ہے: میں مرکزی ورژن ہوں۔

گوگل اسے ایک مضبوط سگنل کے طور پر دیکھتا ہے، نہ کہ کمانڈ کے طور پر۔ اگر آپ کیننیکل ٹیگز استعمال کرتے ہیں تو یہ ایک اچھا خیال ہے اور گوگل تجویز کرتا ہے کہ ہر مرکزی صفحہ کا اپنا حوالہ دینے والا ٹیگ ہو۔

تاہم، آپ کو معیاری ٹیگز استعمال کرنے کی ضرورت نہیں ہے۔ گوگل کا کہنا ہے کہ کسی معیار کی وضاحت کرنے کی ضرورت نہیں ہے۔ اگر کوئی معیاری نہیں ہے، تو وہ ورژن منتخب کریں جسے آپ اپنے صارفین کو دکھانے کے لیے بہترین سمجھتے ہیں۔ کیننیکل ٹیگز ایک اچھا انتخاب ہیں جب ایک سے زیادہ یو آر ایل سے ایک جیسے یا بہت ملتے جلتے مواد تک رسائی حاصل کی جا سکتی ہے، جیسے کہ اوپر دیئے گئے تین پتے۔

لہذا، معیاری ٹیگ کی کمی اپنے آپ میں کوئی عیب نہیں ہے۔ ہمارے ڈیٹا میں آڈٹ کیے گئے 457 صفحات میں سے، 27.1% میں کوئی کیننیکل ٹیگ نہیں تھے۔ اہم بات یہ ہے کہ آیا کوئی ضروری ڈپلیکیٹس ہیں، جیسے کہ ٹریکنگ پیرامیٹرز والے ورژن۔

ہماری پریکٹس سائٹ پر ہمارے ٹریل شو کا مضمون دیکھیں۔

curl -s http://localhost:8080/blog/choosing-trail-shoes | grep -i canonical

مضمون میں کہا گیا ہے کہ ڈیفالٹ ورژن ہوم پیج ہے، اس لیے گوگل ہوم پیج کے بجائے ہوم پیج ڈسپلے کر سکتا ہے یا ٹیگ کو نظر انداز کر سکتا ہے۔

یہ مضمون کسی چیز کی نقل نہیں ہے، یہ بذات خود ایک بنیادی نسخہ ہے۔ اسے ٹھیک کرنے کے لیے، اپنے مضمون کے کینونیکل ٹیگز کو مضمون کی طرف اشارہ کریں۔

canonical: '/blog/choosing-trail-shoes',

ایک اچھا عنوان یا میٹا تفصیل مناسب طوالت کی ہوتی ہے، بہت زیادہ مواد سے بھری نہیں ہوتی، اور صفحے کے مواد کو مختصر طور پر بیان کرتی ہے۔ تعارف کی طرح، یہ صفحہ کے جوہر کی طرح ہے۔

بلیو رنر پروڈکٹ پیج پر ایک نظر ڈالیں۔

curl -s http://localhost:8080/products/blue-runner | grep -i -E "|name=\"description\""
Acme Shoes

عنوان صفحہ کے بارے میں کچھ نہیں کہتا اور نہ ہی کوئی تفصیل کی لائن ہے۔ پاور شیل میں، ہم استعمال کرتے ہیں: | Select-String '|name="description"' اس کے لیے۔

عنوانات اور مواد کے لیے گوگل کے رہنما خطوط کا تقاضا ہے کہ ہر صفحہ کا ایک منفرد، وضاحتی عنوان اور تفصیل ہو۔

عملی سائٹ پر ترمیم کرنے کے لیے: title لائن '/products/blue-runner' استعمال کرتے ہوئے اندراج:

title: 'Blue Runner Road Running Shoe | Acme Shoes',
description: 'A lightweight road running shoe with a cushioned sole and free returns.',

پریکٹس سائٹ کا ہوم پیج دیکھیں:

curl -s http://localhost:8080/




Acme Shoes: Running Shoes for Every Runner





Blue Runner
Summer sale


اس صفحے پر باقی سب کچھ ٹھیک ہے۔ عنوان، تفصیل، کیننیکل ٹیگز، اور اصل بلیو رنر کا لنک۔ کے ساتھ عناصر href. واحد مسئلہ ‘موسم گرما کی فروخت’ ہے۔ .

کوئی راستہ نہیں یہ بنیادی طور پر غیر سیمنٹک HTML ہے۔ دوسرے لفظوں میں، اس کا کوئی مطلب نہیں ہے۔ جسمانی روابط معنی رکھتے ہیں۔ سرچ انجن سمجھ سکتے ہیں کہ یہ ایک لنک ہے، اور اسکرین ریڈرز سمجھ سکتے ہیں کہ یہ ایک لنک ہے۔

کن لنکس کو کرال کرنے کی ضرورت ہے؟ بنیادی طور پر ہر وہ چیز جسے آپ سرچ انجن دیکھنا چاہتے ہیں۔ میرا مطلب ہے وہ پروڈکٹس، مضامین، کورسز اور اسی طرح کی دوسری چیزیں جو آپ بیچتے ہیں۔

گوگل کے لنکنگ رہنما خطوط کے مطابق: کے ساتھ عناصر href.

عملی سائٹ پر ترمیم کرنے کے لیے: میچز:

'Summer sale',

اس بات کا تعین کیسے کریں کہ آیا مواد کو ظاہر کرنے کے لیے جاوا اسکرپٹ کی ضرورت ہے۔

کلائنٹ سائیڈ رینڈرنگ کے ساتھ، JavaScript کو پہلے لوڈ کیا جانا چاہیے، اور اس کے بعد ہی دوسرے مواد کو لوڈ کیا جا سکتا ہے۔

JavaScript عام طور پر مصنوعات کی فہرستیں، قیمتیں، جائزے اور مینو جیسی چیزیں بناتا ہے۔ اس کے بغیر، کلائنٹ کی طرف والے صفحات اکثر صرف لوڈنگ پیغامات یا خالی خانے دکھاتے ہیں۔

گوگل جاوا اسکرپٹ پیش کرتا ہے، لیکن بعد کے مرحلے میں ایسا کرتا ہے۔ صفحات رینڈرنگ کی قطار میں انتظار کرتے ہیں، جس میں کئی سیکنڈ یا اس سے زیادہ وقت لگ سکتا ہے، اور ناکام یا مسدود اسکرپٹس پیش کردہ صفحہ کو بغیر مواد کے چھوڑ سکتے ہیں۔

یہی وجہ ہے کہ سرور سائیڈ رینڈرنگ اب بھی ایک اچھا خیال ہے اور اہم مواد کے لیے میری ترجیح ہے۔ گوگل کی جاوا اسکرپٹ گائیڈ کہتی ہے: سرور سائیڈ رینڈرنگ آپ کی سائٹ کو صارفین اور کرالر کے لیے تیز تر بناتی ہے، اور تمام بوٹس جاوا اسکرپٹ نہیں چلا سکتے۔

ہمارے ڈیٹا میں 277 آڈٹ شدہ صفحات میں سے، 17.7% زیادہ تر JavaScript کے ساتھ بنائے گئے تھے۔ اس کا مطلب یہ نہیں ہے کہ گوگل اس آئٹم کو انڈیکس نہیں کر سکتا، اس کا صرف یہ مطلب ہے کہ اس آئٹم کا بنیادی مواد صحیح طریقے سے چلنے والے JavaScript پر انحصار کرتا ہے۔

سرور سائیڈ رینڈرنگ کے ساتھ، HTML مواد براہ راست براؤزر کو پیش کیا جاتا ہے، اور اس کے بعد ہی JavaScript پیش کیا جاتا ہے۔

گوگل کسی بھی طرح سے بنائے گئے صفحات کو انڈیکس کر سکتا ہے۔ کرالر Chrome کے تازہ ترین ورژنز میں JavaScript چلاتا ہے، اس لیے اسے گوگل کے انڈیکس میں جانے کے لیے سرور سائیڈ رینڈرنگ کی ضرورت نہیں ہے۔

درج ذیل ٹیسٹ اس بات کی تصدیق کرتے ہیں کہ حساس مواد جاوا اسکرپٹ کے بغیر ظاہر ہوتا ہے۔ Google JavaScript چلاتا ہے، لہذا آپ وہ نہیں دیکھیں گے جو Google دیکھتا ہے، لیکن آپ دیکھیں گے کہ JavaScript کے چلنے سے پہلے تمام کرالر کو کیا ملتا ہے۔

کھلا http://localhost:8080/catalog آپ کے براؤزر میں۔ آپ کو تین مصنوعات نظر آئیں گی۔ اب curl کا استعمال کرتے ہوئے ڈاؤن لوڈ کریں، جو JavaScript نہیں چلاتا۔

curl -s http://localhost:8080/catalog | grep -i "trail grip"

کچھ بھی پرنٹ نہیں کیا گیا ہے کیونکہ سرور کی طرف سے بھیجے گئے HTML میں پروڈکٹ کا کوئی نام نہیں ہے۔ اندر , the server only sends:

Loading...

کرل کے بغیر استعمال کریں۔ صفحہ کا ماخذ دیکھیں آپ کے براؤزر میں۔ یہ صفحہ "لوڈ ہو رہا ہے…” اور اسکرپٹ دکھاتا ہے، لیکن پروڈکٹ کا نام ظاہر نہیں کرتا ہے۔ اس کی وجہ یہ ہے کہ براؤزر پروڈکٹ کا نام صرف جاوا اسکرپٹ کے کام کرنے کے بعد شامل کرتا ہے۔

اپنی سائٹ کے صفحہ پر اہم جملوں کے لیے ماخذ تلاش کریں۔

کسی صفحہ کو دیکھنے کے لیے جس طرح سے گوگل رینڈر کرتا ہے، اصل صفحہ پر گوگل کے اپنے ٹولز استعمال کریں۔ سرچ کنسول کے یو آر ایل انسپکشن ٹول کا استعمال کرکے اپنی سائٹ پر لائیو ٹیسٹ کریں (اصلی یو آر ایل ٹیسٹپھر جانچے گئے صفحات دیکھیں) گوگل کی طرف سے پیش کردہ HTML اور اسکرین شاٹس دکھاتا ہے۔

تمام عوامی صفحات کے لیے، رچ رزلٹ ٹیسٹ رینڈر شدہ HTML کو بھی دکھاتا ہے۔ گوگل جاوا اسکرپٹ کے مسائل کو تلاش کرنے کے لیے دونوں کی تجویز کرتا ہے۔ دونوں تک نہیں پہنچ سکتا localhostاسے ایک حقیقی سائٹ پر آزمائیں۔

اگر آپ شروع سے پروڈکٹ کا نام HTML میں دکھانا چاہتے ہیں تو اسے سرور پر رینڈر کریں۔ براہ کرم اوپر کی مصنوعات کی فہرست کو پریکٹس سائٹ میں شامل کریں۔ routes:

const products = ['Blue Runner', 'Trail Grip 2', 'City Glide'];

اپنے کیٹلاگ کو تبدیل کریں۔ body اور script اس طرح کی ایک لائن:

body: '

' + products.map((p) => '

' + p + '

').join('') + '

',

اور '/api/products' اندراج:

html: JSON.stringify(products),

سرور کو دوبارہ شروع کریں اور دوبارہ curl کمانڈ چلائیں۔

Blue Runner

Trail Grip 2

City Glide

یہ کام کرتا ہے کیونکہ سرور اب صفحہ بھیجنے سے پہلے پروڈکٹ کا نام HTML میں لکھتا ہے۔ یہاں تک کہ کرالرز جو JavaScript نہیں چلا سکتے وہ اسے دیکھ سکتے ہیں اور پھر بھی جاوا اسکرپٹ کو انٹرایکٹو حصوں کے لیے استعمال کر سکتے ہیں۔

کیا میں 5 منٹ میں صفحہ چیک کر سکتا ہوں؟

سچ میں، یہ بہت مشکل ہے. مسائل بہت زیادہ ہوسکتے ہیں اور 5 منٹ کافی نہیں ہیں۔

واقعی یہ جاننے کے لیے کہ مسئلہ کیا ہے، آپ کو Google PageSpeed ​​​Insights جیسی کسی چیز میں مکمل اسکین چلانے کی ضرورت ہوگی۔ اگر یہ آپ کی سائٹ ہے تو گوگل سرچ کنسول کا یو آر ایل انسپکشن ٹول بھی استعمال کریں۔

اس ٹیوٹوریل میں کمانڈز ایک اچھی شروعات ہیں۔

  1. curl -sI اسٹیٹس کوڈ اور X-Robots-Tag ہیڈر
  2. curl -sIL ری ڈائریکٹ کا حساب لگانے کے لیے پرانا پتہ استعمال کریں۔
  3. /robots.txtلائن بہ لائن۔
  4. صفحہ کا ماخذ دیکھیں noindex, canonical, </code>, <code>description</code> اور آپ کا اہم مواد۔</li> </ol> <h2 id="heading-conclusion">نتیجہ</h2> <p>اس ٹیوٹوریل میں، ہم نے اپنی پریکٹس سائٹ پر آٹھ مسائل حل کیے، جن میں نرم 404s، ری ڈائریکٹ چینز، robots.txt قواعد، اور پوشیدہ مسائل شامل ہیں۔ <code>noindex</code> ان میں ہیڈر، غلط کینونیکل ٹیگز، مبہم عنوانات اور گمشدہ وضاحتیں، ایسے لنکس جن کی پیروی کرنے والے نہیں کر سکتے، وہ مواد جس کے لیے JavaScript کی ضرورت ہوتی ہے، اور مزید بہت کچھ شامل ہے۔</p> <p>یاد رکھنے کی سب سے اہم چیز ہمیشہ سائٹ کو چیک کرنا ہے۔ اسکین چلائیں، دیکھ بھال کریں اور یقینی بنائیں کہ کوئی رکاوٹ نہیں ہے، خاص طور پر جب آپ کی سائٹ میں بہتری یا تبدیلیاں کی جائیں۔</p> <p>اگر آپ مزید جانا چاہتے ہیں تو، اپنی Next.js سائٹ پر سٹرکچرڈ ڈیٹا (JSON-LD) شامل کرنے کے بارے میں ہمارا ٹیوٹوریل پڑھیں۔</p> <p>اگر آپ اپنے لائیو صفحات پر ان میں سے بہت سے مسائل کو ایک ساتھ چیک کرنا چاہتے ہیں، تو آپ Greadme پیج آڈٹ کا استعمال کر سکتے ہیں، یہ ایک مفت ٹول ہے جو آپ کو سائن اپ کیے بغیر تمام URLs کی جانچ کرنے دیتا ہے۔</p> </p></div> <!--[googlesitekit-end-of-content]--> </div><!-- .entry-content .clear --> </div> </article><!-- #post-## --> <nav class="navigation post-navigation" aria-label="Posts"> <div class="nav-links"><div class="nav-previous"><a title="کیا آپ نے One UI 9 خریدا ہے؟ Samsung Galaxy کے 10 فیچرز آپ کو ضرور آزمانا چاہیے۔" href="https://umang.pk/ur/2026/11/04/%da%a9%db%8c%d8%a7-%d8%a2%d9%be-%d9%86%db%92-one-ui-9-%d8%ae%d8%b1%db%8c%d8%af%d8%a7-%db%81%db%92%d8%9f-samsung-galaxy-%da%a9%db%92-10-%d9%81%db%8c%da%86%d8%b1%d8%b2-%d8%a2%d9%be-%da%a9%d9%88-%d8%b6/" rel="prev"><span class="ast-post-nav" aria-hidden="true"><span aria-hidden="true" class="ahfb-svg-iconset ast-inline-flex svg-baseline"><svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M134.059 296H436c6.627 0 12-5.373 12-12v-56c0-6.627-5.373-12-12-12H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.569 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296z'></path></svg></span> پچھلا</span> <p> کیا آپ نے One UI 9 خریدا ہے؟ Samsung Galaxy کے 10 فیچرز آپ کو ضرور آزمانا چاہیے۔ </p></a></div><div class="nav-next"><a title="مہارت اور مواد کی مارکیٹنگ کے درمیان فرق سب سے مہنگے منقطع ہونے میں سے ایک ہے۔" href="https://umang.pk/ur/2026/11/04/%d9%85%db%81%d8%a7%d8%b1%d8%aa-%d8%a7%d9%88%d8%b1-%d9%85%d9%88%d8%a7%d8%af-%da%a9%db%8c-%d9%85%d8%a7%d8%b1%da%a9%db%8c%d9%b9%d9%86%da%af-%da%a9%db%92-%d8%af%d8%b1%d9%85%db%8c%d8%a7%d9%86-%d9%81%d8%b1/" rel="next"><span class="ast-post-nav" aria-hidden="true">اگلا <span aria-hidden="true" class="ahfb-svg-iconset ast-inline-flex svg-baseline"><svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path d='M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z'></path></svg></span></span> <p> مہارت اور مواد کی مارکیٹنگ کے درمیان فرق سب سے مہنگے منقطع ہونے میں سے ایک ہے۔ </p></a></div></div> </nav><div class="ast-single-related-posts-container ast-container--"><div class="ast-related-posts-title-section"> <h2 class="ast-related-posts-title"> متعلقہ پوسٹس </h2> </div><div class="ast-related-posts-wrapper"> <article class="ast-related-post post-15675 post type-post status-publish format-standard has-post-thumbnail hentry category-blog tag-apple tag-apple-ios tag-apple-ios-10 tag-apple-iphone-ios-10 tag-ios tag-ios-10 tag-ios-10-adoption tag-iphone tag-iphone-ios-10"> <div class="ast-related-posts-inner-section"> <div class="ast-related-post-content"> <div class="ast-related-post-featured-section post-has-thumb"></div> <header class="entry-header related-entry-header"> <h3 class="ast-related-post-title entry-title"> <a href="https://umang.pk/ur/2016/09/15/apple-ios-10-surpasses-ios-9-in-early-adoption-in-just-24-hours/" target="_self" rel="bookmark noopener noreferrer">Apple iOS 10 surpasses iOS 9 in early adoption in just 24 hours</a> </h3> <div class="entry-meta ast-related-cat-style--none ast-related-tag-style--none"> <span class="comments-link"> <a href="https://umang.pk/ur/2016/09/15/apple-ios-10-surpasses-ios-9-in-early-adoption-in-just-24-hours/#respond">ایک تبصرہ چھوڑیں</a> </span> / <span class="ast-taxonomy-container cat-links default"><a href="https://umang.pk/ur/category/blog/" rel="category tag">Blog</a></span> / از<span class="posted-by vcard author" itemtype="https://schema.org/Person" itemscope="itemscope" itemprop="author"> <a title="admin کی تمام پوسٹس دیکھیں" href="https://umang.pk/ur/author/admin/" rel="author" class="url fn n" itemprop="url" > <span class="author-name" itemprop="name" > admin </span> </a> </span> </div> </header> <div class="entry-content clear"> </div> </div> </div> </article> <article class="ast-related-post post-1579 post type-post status-publish format-standard hentry category-blog tag-bollywood tag-outsider tag-pannu tag-tap"> <div class="ast-related-posts-inner-section"> <div class="ast-related-post-content"> <div class="ast-related-post-featured-section ast-no-thumb"></div> <header class="entry-header related-entry-header"> <h3 class="ast-related-post-title entry-title"> <a href="https://umang.pk/ur/2017/03/02/taapsee-pannu-on-being-an-outsider-in-bollywood/" target="_self" rel="bookmark noopener noreferrer">Taapsee Pannu on being an outsider in Bollywood</a> </h3> <div class="entry-meta ast-related-cat-style--none ast-related-tag-style--none"> <span class="comments-link"> <a href="https://umang.pk/ur/2017/03/02/taapsee-pannu-on-being-an-outsider-in-bollywood/#respond">ایک تبصرہ چھوڑیں</a> </span> / <span class="ast-taxonomy-container cat-links default"><a href="https://umang.pk/ur/category/blog/" rel="category tag">Blog</a></span> / از<span class="posted-by vcard author" itemtype="https://schema.org/Person" itemscope="itemscope" itemprop="author"> <a title="admin کی تمام پوسٹس دیکھیں" href="https://umang.pk/ur/author/admin/" rel="author" class="url fn n" itemprop="url" > <span class="author-name" itemprop="name" > admin </span> </a> </span> </div> </header> <div class="entry-content clear"> </div> </div> </div> </article> </div> </div> </main><!-- #main --> </div><!-- #primary --> </div> <!-- ast-container --> </div><!-- #content --> <footer class="site-footer" id="colophon" itemtype="https://schema.org/WPFooter" itemscope="itemscope" itemid="#colophon"> <div class="site-below-footer-wrap ast-builder-grid-row-container site-footer-focus-item ast-builder-grid-row-full ast-builder-grid-row-tablet-full ast-builder-grid-row-mobile-full ast-footer-row-stack ast-footer-row-tablet-stack ast-footer-row-mobile-stack" data-section="section-below-footer-builder"> <div class="ast-builder-grid-row-container-inner"> <div class="ast-builder-footer-grid-columns site-below-footer-inner-wrap ast-builder-grid-row"> <div class="site-footer-below-section-1 site-footer-section site-footer-section-1"> <div class="ast-builder-layout-element ast-flex site-footer-focus-item ast-footer-copyright" data-section="section-footer-builder"> <div class="ast-footer-copyright"><p>Copyright © 2026 Umang</p> </div> </div> </div> </div> </div> </div> </footer><!-- #colophon --> </div><!-- #page --> <template id="tp-language" data-tp-language="ur"></template><script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/ur/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/astra/*","/ur/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script> <div id="ast-scroll-top" tabindex="0" class="ast-scroll-top-icon ast-scroll-to-top-right" data-on-devices="both"> <span class="ast-icon icon-arrow"><svg class="ast-arrow-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" width="26px" height="16.043px" viewbox="57 35.171 26 16.043" enable-background="new 57 35.171 26 16.043" xml:space="preserve"> <path d="M57.5,38.193l12.5,12.5l12.5-12.5l-2.5-2.5l-10,10l-10-10L57.5,38.193z" /> </svg></span> <span class="screen-reader-text">اوپر تک سکرول کریں۔</span> </div> <!-- Koko Analytics v2.5.3 - https://www.kokoanalytics.com/ --> <script> (()=>{var e=window.koko_analytics,s=["utm_source","utm_medium","utm_campaign"],d=/bot|crawl|spider|seo|lighthouse|facebookexternalhit|preview|prerender|headless|phantom|scrapy|python|curl|wget|go-http|okhttp|node-fetch|axios|java\/|libwww|http[-_]?client|monitor|uptime|pingdom|statuscake|validator|scanner/i;function u(){let t={},n=new URLSearchParams(window.location.search),c=new URLSearchParams(window.location.hash.substring(1));return s.forEach(a=>{let o=n.get(a)||c.get(a);o&&(t[a]=o)}),t}function h(t,n){if(typeof navigator.sendBeacon=="function"){navigator.sendBeacon(t,n);return}fetch(t,{method:"POST",body:n,keepalive:!0,credentials:"same-origin"}).catch(()=>{})}e.trackPageview=function(t,n){if(d.test(navigator.userAgent)||window._phantom||window.__nightmare||window.navigator.webdriver||window.Cypress){console.debug("Koko Analytics: Ignoring call to trackPageview because user agent is a bot or this is a headless browser.");return}h(e.url,new URLSearchParams({action:"koko_analytics_collect",pa:t,po:n,r:document.referrer.indexOf(e.site_url)==0?"":document.referrer,m:e.use_cookie?"c":e.method[0],...u()}))};function r(){e.trackPageview(e.path,e.post_id)}function i(){e.autotracked||(r(),e.autotracked=!0)}document.prerendering?document.addEventListener("prerenderingchange",i,{once:!0}):document.visibilityState==="hidden"||document.visibilityState==="prerender"?document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&i()}):i();window.addEventListener("pageshow",t=>{t.persisted&&r()});})(); </script> <script> /(trident|msie)/i.test(navigator.userAgent)&&document.getElementById&&window.addEventListener&&window.addEventListener("hashchange",function(){var t,e=location.hash.substring(1);/^[A-z0-9_-]+$/.test(e)&&(t=document.getElementById(e))&&(/^(?:a|select|input|button|textarea)$/i.test(t.tagName)||(t.tabIndex=-1),t.focus())},!1); </script> <script id="astra-theme-js-js-extra"> var astra = {"break_point":"921","isRtl":"1","is_scroll_to_id":"1","is_scroll_to_top":"1","is_header_footer_builder_active":"1","responsive_cart_click":"flyout","is_dark_palette":""}; //# sourceURL=astra-theme-js-js-extra </script> <script id="astra-theme-js-js" src="https://umang.pk/wp-content/themes/astra/assets/js/minified/frontend.min.js?ver=4.14.2"></script> <script id="googlesitekit-events-provider-content-events-js-before"> window._googlesitekit = window._googlesitekit || {}; window._googlesitekit.contentEvents = {"postID":31903,"isReadableSinglePost":true,"hasVimeoEmbed":false,"wordCount":5672,"estimatedReadTimeSeconds":1430,"isLastPageOfMultiPagePost":true,"readTimeThresholdPercent":85,"minimumReadTimeSeconds":5}; //# sourceURL=googlesitekit-events-provider-content-events-js-before </script> <script id="googlesitekit-events-provider-content-events-js" src="https://umang.pk/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-content-events-90bacb156ab34fa090db.js" defer></script> <script id="wp-emoji-settings" type="application/json"> {"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://umang.pk/wp-includes/js/wp-emoji-release.min.js?ver=7.1.4"}} </script> <script type="module"> /*! This file is auto-generated */ var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); //# sourceURL=https://umang.pk/wp-includes/js/wp-emoji-loader.min.js </script> <nav class="trp-language-switcher trp-floating-switcher trp-ls-dropdown trp-switcher-position-top trp-opposite-language" style="--bg:#ffffff;--bg-hover:#0000000d;--text:#143852;--text-hover:#1d2327;--border:1px solid #1438521a;--border-radius:0px 0px 8px 8px;--flag-radius:2px;--flag-size:18px;--aspect-ratio:4/3;--font-size:14px;--switcher-width:auto;--switcher-padding:10px 0;--transition-duration:0.2s;--top:0px;--right:10vw" role="navigation" aria-label="Website language selector" data-no-translation > <div class="trp-language-switcher-inner"> <a href="https://umang.pk/en_us/2026/11/04/%d8%a7%d9%be%d9%86%db%8c-%d9%88%db%8c%d8%a8-%d8%b3%d8%a7%d8%a6%d9%b9-%d9%be%d8%b1-seo-%da%a9%db%92-%d8%b9%d9%85%d9%88%d9%85%db%8c-%d8%aa%da%a9%d9%86%db%8c%da%a9%db%8c-%d9%85%d8%b3%d8%a7%d8%a6%d9%84/" class="trp-language-item" title="English" data-no-translation><img src="https://umang.pk/wp-content/plugins/translatepress-multilingual/assets/flags/4x3/en_US.svg" class="trp-flag-image" alt="" role="presentation" loading="lazy" decoding="async" width="18" height="14" /><span class="trp-language-item-name">English</span></a> <div class="trp-switcher-dropdown-list" id="trp-switcher-dropdown-list" role="group" aria-label="Available languages" hidden inert > </div> </div> </nav> </body> </html>