How To Find Missing or Duplicate SEO URLs in OpenCart | Complete Guide

SEO URLs in OpenCart: जब आप OpenCart मैं काम करते हैं, तो कभी-कभी आपके डेटाबेस में टोटल products और उनके SEO URLs के बीच मिसमैच हो सकता है।

Example ke liye, मान लीजिए कि oc_product_description table mein language_id = 1 ke लिए 158 products हैं, लेकिन oc_seo_url table में 159 product-related entries हैं.
इसका मतलब एक ऐसा SEO URL है जो किसी valid product से जुड़ा नहीं है.

ऐसे mismatches से SEO problems हो सकती हैं, जैसे broken links या गलत redirects.
इस article में हम SQL query ka use करके ऐसे extra SEO URLs identify करेंगे jo kisi product se जुड़े नहीं हैं.

OpenCart store को SEO friendly बनाने के लिए, यह ज़रूरी है कि आपकी सभी product URLs सही तरीके से सेट की गई हों। कई बार products के लिए SEO URL missing होते हैं, कुछ duplicate होते हैं या कुछ ऐसे होते हैं जो किसी non-existing product की ओर point करते हैं। इस guide में हम step-by-step देखेंगे कि इन सभी issues को कैसे पहचानें और सुधारें।

SEO URLs in OpenCart ? कहां स्टोर होते हैं?

Table Nameउपयोग / Purpose
oc_url_aliasSEO keyword को system query से map करता है जैसे product_id=123
oc_productसभी product details जैसे status, model आदि
oc_product_descriptionLanguage-specific product name, description वगैरह

तीन मुख्य चेक्स | Three Main Checks?

  • Missing SEO URLs – product मौजूद है पर उसका कोई SEO URL नहीं है
  • Duplicate SEO URLs – एक ही keyword एक से ज्यादा products से जुड़ा है
  • Orphan SEO URLs – SEO keyword किसी ऐसे product को point करता है जो अब मौजूद नहीं है या disable है

Missing SEO URLs – Products जिनका कोई SEO URL नहीं है

SELECT p.product_id, p.model
FROM oc_product p
LEFT JOIN oc_seo_url ua ON ua.query = CONCAT('product_id=', p.product_id)
WHERE ua.seo_url_id IS NULL;
SQL

इससे आपको वे products मिलेंगे जिनका कोई SEO URL नहीं है।

Duplicate SEO URLs – एक ही keyword multiple products से जुड़ा है

SELECT ua.keyword, COUNT(*) AS uses
FROM oc_seo_url ua
WHERE ua.query LIKE 'product_id=%'
GROUP BY ua.keyword
HAVING uses > 1;
SQL

अब देखें कि कौन-कौन से products उस keyword से जुड़े हैं:

SELECT ua.keyword,
       REPLACE(ua.query,'product_id=','') AS product_id,
       pd.name
FROM oc_seo_url ua
JOIN oc_product_description pd
     ON REPLACE(ua.query,'product_id=','') = pd.product_id
WHERE ua.keyword IN (
      SELECT keyword
      FROM oc_seo_url
      WHERE query LIKE 'product_id=%'
      GROUP BY keyword
      HAVING COUNT(*) > 1
);
SQL

Orphan URLs – URLs जो किसी invalid या disabled product को point करते हैं

SELECT ua.seo_url_id, ua.keyword, ua.query
FROM oc_seo_url ua
LEFT JOIN oc_product p ON ua.query = CONCAT('product_id=', p.product_id)
WHERE ua.query LIKE 'product_id=%'
  AND (p.product_id IS NULL OR p.status = 0);
SQL

इन rows को delete किया जा सकता है या किसी active product से जोड़ा जा सकता है।

Admin Panel या Script से Automate करें

  • VQMod / OCMOD से एक admin tool बना सकते हैं
  • या एक simple PHP audit script /admin/ folder में बनाएं:
require_once('config.php');
require_once(DIR_SYSTEM.'startup.php');

$db = new DB\MySQLi(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);

// SQL queries को यहां run करें और output दिखाएं या CSV में export करें
PHP

Problems कैसे Fix करें?

समस्या / Issueसमाधान / Solutionध्यान दें / Note
Missing URLProduct edit → SEO Keyword डालेंUnique रखें per language & store
Duplicate keywordसिर्फ एक product को keyword देंबाकी को नया keyword या 301 redirect दें
Orphan rowDelete या valid product से जोड़ेंEnsure कोई backlink उसपर depend न हो
  • SEO URLs को manage करने के लिए SQL Queries से check करना आसान और तेज़ तरीका है
  • Missing, duplicate और orphan URLs को पहचानना जरूरी है
  • Fix करने के बाद redirects और uniqueness maintain करें
  • Future problems रोकने के लिए preventive measures ज़रूरी हैं
How To Find Missing or Duplicate SEO URLs in OpenCart | Complete Guide
error: Content is protected!! You are not allowed to copy.