Giải pháp cho bản đồ trang web quy mô lớn


7

Tôi đang làm việc trên một trang web bán lẻ toàn quốc với hàng ngàn danh mục và trang sản phẩm và khách hàng của tôi muốn chuyển từ một sơ đồ trang web sang nhiều sơ đồ trang web dựa trên phân loại trang. Đây là cách sơ đồ trang web XML mới cho URL sẽ được xây dựng:

XML Sitemap for Category Pages – all category pages can fall into a single sitemap
XML Sitemap for Family Pages – if family pages are < 40,000 they can fall into a single sitemap
XML Sitemap for Product Pages – when product pages reach 40,000 a new XML sitemap would be created.

. Có một giải pháp miễn phí / chuyên nghiệp để tạo sơ đồ trang web dựa trên các quy tắc như vậy không? Cảm ơn


1
Không có gì sẽ ra khỏi hộp và làm chính xác những gì bạn cần, nhưng bạn có thể dễ dàng tạo sơ đồ trang web xml với PHP bằng cơ sở dữ liệu mục của bạn. Nếu bạn muốn, tôi có thể đăng một tập lệnh php nhỏ mà tôi sử dụng để tạo sơ đồ trang web trên một trang web lớn.
Núi Josh

Câu trả lời:


0

Tôi có một trang web lớn mà tôi tạo ra một sơ đồ trang web (thực tế cũng có một số sơ đồ trang web trong lô 40k URL mỗi lần). Đây là phiên bản cơ bản của trình tạo sơ đồ trang web php mà tôi đã viết:

<?php

/* Do some stuff */
/* Connect to mysql etc */

/* create a dom document with encoding utf8 */
    $domtree = new DOMDocument('1.0', 'UTF-8');

/* create the root element of the xml tree */
    $xmlRoot = $domtree->createElement("urlset");
    $xmlRoot -> appendChild(new DomAttr('xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9'));
    $xmlRoot -> appendChild(new DomAttr('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance'));
    $xmlRoot -> appendChild(new DomAttr('xsi:schemaLocation', 'http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd'));

/* append it to the document created */
    $xmlRoot = $domtree->appendChild($xmlRoot);

/* Loop through our database results and create URL entries for each page */
    while ($row = mysql_fetch_array($result)){
        $currentTrack = $domtree->createElement("url");
        $currentTrack = $xmlRoot->appendChild($currentTrack);
        $currentTrack->appendChild($domtree->createElement('loc','https://mysite.com/viewer.php?file='.$row['filename']));
        $currentTrack->appendChild($domtree->createElement('changefreq','weekly'));
        $currentTrack->appendChild($domtree->createElement('priority','1.0'));
    }

/* save the xml sitemap */
    $domtree->formatOutput = true;
    $domtree->preserveWhitespace = false;
    $domtree->save('sitemap.xml'); 

Rõ ràng là milage của bạn sẽ thay đổi và bạn sẽ cần phải làm một số điều để làm điều này cho bạn, nhưng bạn có thể chạy một vòng lặp như thế này để tạo ra một sơ đồ trang web của tất cả các danh mục, sau đó tất cả các sản phẩm, v.v.


Đây là khá nhiều những gì tôi đang tìm kiếm ... cảm ơn cho mã mẫu.
Mukul
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.