CakePHP के लिए साइटमैप कैसे बनाएं?




sitemap (3)

मैं एक साइटमैप बनाना चाहता हूं, लेकिन मैं साइटमैप के उपयोग के बारे में बहुत कम जानता हूं। मैं CakePHP का उपयोग करता हूँ Google और गाइड पर बहुत सारे सॉफ्टवेयर हैं, लेकिन मैं अभी भी किसी भी तरह से पूछना चाहता हूं, CakePHP के लिए साइटमैप बनाने का एक आसान तरीका है।

मैंने सर्वर पर वेबसाइट को अपलोड किया है, यह स्थानीय होस्ट पर भरोसा नहीं करता है


इससे भी बेहतर: Router::parseExtensions('xml'); मार्गों के लिए। पीएचपी (टाइपो के बिना)


यह एक अच्छी शुरुआत है, अब बस जोड़ें:

Router::parseExtensions('xml'); मार्गों के लिए

वहां से आप एक मार्ग चाहते हैं जैसे:

Router::connect('/sitemap', array('controller' => 'posts' ....., 'ext' => 'xml')) जो साइट / साइटमैप.एक्सएमएल को नियंत्रक / कार्रवाई जहां साइटमैप है

सही शीर्षकों के साथ एक XML लेआउट बनाएं, और दृश्य फ़ाइल को दृश्य / पोस्ट / एक्सएमएल / फाइल.टीटीपी पर ले जाएं


आपके साथ खेलने और अपनी आवश्यकताओं को समायोजित करने के लिए यहां एक त्वरित उदाहरण है:

अपने नियंत्रक में:

public $components = array('RequestHandler');

public function sitemap()
{
    Configure::write('debug', 0);

    $articles = $this->Article->getSitemapInformation();

    $this->set(compact('articles'));
    $this->RequestHandler->respondAs('xml');
}

आपका "अनुच्छेद" मॉडल:

public function getSitemapInformation()
{
    return $this->find('all', array(/* your query here */));
}

राय:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <?php foreach ($articles as $article): ?>
    <url>
        <loc><?php echo Router::url(/* generate the URLs here */); ?></loc>
        <lastmod><?php echo $time->toAtom(/* last update time here */); ?></lastmod>
        <changefreq>weekly</changefreq>
    </url>
    <?php endforeach; ?>
</urlset>