Wordpress URL को पूर्ण रूप से अक्षम करें


15

मैंने हाल ही में देखा कि Wordpress एक URL को स्वतः पूर्ण करने का प्रयास करता है जब वह इसकी संपूर्णता में प्रस्तुत नहीं होता है। जैसे मेरे पास एक पोस्ट URL है जो इस तरह दिखता है:

http://www.mysite.com/some-post-title

यदि मैं निम्नलिखित URL पर ब्राउज़ करता हूं:

http://www.mysite.com/some-post-ti

मैं देख सकता हूँ कि URL Wordpress के लिए सबमिट किया गया है, लेकिन Wordpress 301 रीडायरेक्ट कर रहा है http://www.mysite.com/some-post-title

मैं इस व्यवहार को कैसे अक्षम कर सकता हूं?


एक परीक्षण समाधान जो पूरे कैनोनिकल URL सिस्टम को अक्षम नहीं करता है, लेकिन केवल स्वत: पूर्ण "अनुमान लगाने" को अक्षम करता है, भाग यहाँ
Hauke ​​P.

जवाबों:


19

मेरा मानना ​​है कि यह redirect_canonicalफंक्शन है template_redirect। आपको इसे इसके साथ अक्षम करने में सक्षम होना चाहिए:

remove_filter('template_redirect', 'redirect_canonical'); 

लेकिन आपको वास्तव में सोचना चाहिए कि क्या आप ऐसा करना चाहते हैं क्योंकि यह काफी जटिल है और कुछ महत्वपूर्ण एसईओ कार्य करता है:

साइट यूआरएल के आधार पर उचित URL पर आने वाले लिंक को पुनर्निर्देशित करता है।

जब वे दोनों एक ही स्थान पर जाते हैं, तो खोज इंजन www.somedomain.com और somedomain.com को दो अलग URL मानते हैं। यह SEO एन्हांसमेंट डुप्लिकेट कंटेंट के लिए आने वाले सभी लिंक को एक या दूसरे में रीडायरेक्ट करके पेनल्टी को रोकता है।

फ़ीड्स, ट्रैकबैक, खोजों, टिप्पणी पॉपअप और व्यवस्थापक URL के लिए पुनर्निर्देशन रोकता है। गैर-बहुत-पर्मलिंक-समर्थन IIS 7, पृष्ठ / पोस्ट पूर्वावलोकन, WP व्यवस्थापक, Trackbacks, robots.txt, खोजों या POST अनुरोधों पर पुनर्निर्देशित नहीं करता है।

जब उपयोगकर्ता किसी ऐसे URL में प्रवेश करता है जो सटीक वर्डप्रेस क्वेरी के आधार पर मौजूद नहीं है, तो सही लिंक खोजने का प्रयास करेगा। इसके बजाय सही पृष्ठ पर जाने के प्रयास में URL या क्वेरी को पार्स करने का प्रयास करेंगे।

http://core.trac.wordpress.org/browser/tags/3.5.1/wp-includes/canonical.php#L13

निम्नलिखित एसईओ घटक के साथ खिलवाड़ के बिना स्वत: पूर्णता को मार सकता है , लेकिन मैं यह वादा नहीं कर सकता। कोड का मुश्किल से परीक्षण किया गया है क्योंकि मैंने इसे अक्षम करने की कभी इच्छा नहीं की है। मुझे वास्तव redirect_canonicalमें कुछ भी सुनिश्चित करने के लिए अध्ययन करना होगा।

function kill_404_redirect_wpse_92103() {
  if (is_404()) {
   add_action('redirect_canonical','__return_false');
  }
}
add_action('template_redirect','kill_404_redirect_wpse_92103',1);

मैंने इस कोड स्निपेट को अपनी /wp-includes/canonical.php फ़ाइल के अंत में जोड़ा और रीडायरेक्ट अभी भी हो रहा है। क्या मुझसे कुछ ग़लत हो रहा है? इस व्यवहार को अक्षम करने में असमर्थ कोई और?
user1380540

4

यह बहुत गैर-जिम्मेदाराना लगता है, यह "अनुमान लगाने" के लिए स्वचालित रूप से होता है। अगर इसे परिभाषित करने के कुछ साधन हैं, जो कि जाने के लिए सही पृष्ठ है, तो मैं इसे और अधिक खोलूंगा।

मेरे पास कई पृष्ठ हैं जो एक अनुक्रम के रूप में बनाए गए हैं, और यह ऑटो-अनुमान गलत तरीके से उन पृष्ठों के साथ जवाब देने के लिए चुन रहा है जो (यादृच्छिक रूप से?) अनुक्रम में कहीं हैं, शुरुआती पृष्ठ के विपरीत।

अद्यतन: यह ज्ञात व्यवहार है, और यहाँ माना जा रहा है: https://core.trac.wordpress.org/ticket/16557


2

FitPM के उत्तर के अनुसरण के रूप में - एक प्लगइन बनाया गया है जो ऑटो-अनुमान व्यवहार को अक्षम करता है।

यह 2 अगस्त, 2017 तक वर्डप्रेस 4.8 पर मेरे लिए ठीक काम करता है। प्लगइन यहाँ है: https://wordpress.org/plugins/disable-url-autocorrect-guessing/

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.